Uzyskaj rzeczywistą pozycję etykiety danych wykresu w slajdach Java
Wprowadzenie do uzyskiwania rzeczywistej pozycji etykiety danych wykresu w slajdach Java
W tym samouczku dowiesz się, jak pobrać rzeczywistą pozycję etykiet danych wykresu za pomocą Aspose.Slides dla Java. Stworzymy program w języku Java, który wygeneruje prezentację PowerPoint z wykresem, dostosuje etykiety danych, a następnie doda kształty reprezentujące pozycje tych etykiet danych.
Warunki wstępne
Zanim zaczniesz, upewnij się, że w projekcie Java masz skonfigurowaną bibliotekę Aspose.Slides for Java.
Krok 1: Utwórz prezentację programu PowerPoint
Najpierw utwórzmy nową prezentację PowerPoint i dodajmy do niej wykres. W dalszej części samouczka dostosujemy etykiety danych wykresu.
// Ścieżka do katalogu dokumentów.
String dataDir = "Your Document Directory";
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 500, 400);
chart.validateChartLayout();
} finally {
if (pres != null) pres.dispose();
}
Krok 2: Dostosuj etykiety danych
Teraz dostosujmy etykiety danych dla serii wykresów. Ustalimy ich położenie i pokażemy wartości.
try {
// ... (poprzedni kod)
for (IChartSeries series : chart.getChartData().getSeries()) {
series.getLabels().getDefaultDataLabelFormat().setPosition(LegendDataLabelPosition.OutsideEnd);
series.getLabels().getDefaultDataLabelFormat().setShowValue(true);
}
// ... (pozostał kod)
} finally {
if (pres != null) pres.dispose();
}
Krok 3: Uzyskaj rzeczywistą pozycję etykiet danych
tym kroku będziemy iterować po punktach danych serii wykresów i pobierać rzeczywistą pozycję etykiet danych, które mają wartość większą niż 4. Następnie dodamy elipsy, aby przedstawić te pozycje.
try {
// ... (poprzedni kod)
for (IChartSeries series : chart.getChartData().getSeries()) {
for (IChartDataPoint point : series.getDataPoints()) {
if (point.getValue().toDouble() > 4) {
float x = point.getLabel().getActualX();
float y = point.getLabel().getActualY();
float w = point.getLabel().getActualWidth();
float h = point.getLabel().getActualHeight();
IAutoShape shape = chart.getUserShapes().getShapes().addAutoShape(ShapeType.Ellipse, x, y, w, h);
shape.getFillFormat().setFillType(FillType.Solid);
shape.getFillFormat().getSolidFillColor().setColor(com.aspose.cells.Color.fromArgb(100, 0, 255, 0).d());
}
}
}
// ... (pozostał kod)
} finally {
if (pres != null) pres.dispose();
}
Krok 4: Zapisz prezentację
Na koniec zapisz wygenerowaną prezentację do pliku.
try {
// ... (poprzedni kod)
pres.save(dataDir + "GetActualPositionOFChartDatalabel.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Kompletny kod źródłowy funkcji Uzyskaj rzeczywistą pozycję etykiety danych wykresu w slajdach Java
// Ścieżka do katalogu dokumentów.
String dataDir = "Your Document Directory";
Presentation pres = new Presentation();
try
{
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 500, 400);
for (IChartSeries series : chart.getChartData().getSeries())
{
series.getLabels().getDefaultDataLabelFormat().setPosition(LegendDataLabelPosition.OutsideEnd);
series.getLabels().getDefaultDataLabelFormat().setShowValue(true);
}
chart.validateChartLayout();
for (IChartSeries series : chart.getChartData().getSeries())
{
for (IChartDataPoint point : series.getDataPoints())
{
if (point.getValue().toDouble() > 4)
{
float x = point.getLabel().getActualX();
float y = point.getLabel().getActualY();
float w = point.getLabel().getActualWidth();
float h = point.getLabel().getActualHeight();
IAutoShape shape = chart.getUserShapes().getShapes().addAutoShape(ShapeType.Ellipse, x, y, w, h);
shape.getFillFormat().setFillType(FillType.Solid);
shape.getFillFormat().getSolidFillColor().setColor(com.aspose.cells.Color.fromArgb(100, 0, 255, 0).d());//DO ZROBIENIA
}
}
}
pres.save(dataDir + "GetActualPositionOFChartDatalabel", SaveFormat.Pptx);
}
finally
{
if (pres != null) pres.dispose();
}
Wniosek
W tym samouczku nauczyłeś się pobierać rzeczywistą pozycję etykiet danych wykresu w Java Slides za pomocą Aspose.Slides for Java. Możesz teraz wykorzystać tę wiedzę, aby ulepszyć swoje prezentacje programu PowerPoint za pomocą niestandardowych etykiet danych i wizualnych reprezentacji ich pozycji.
Często zadawane pytania
Jak dostosować etykiety danych na wykresie?
Aby dostosować etykiety danych na wykresie, możesz użyć opcjisetDefaultDataLabelFormat
metodę na serii wykresów i ustaw właściwości, takie jak pozycja i widoczność. Na przykład:
for (IChartSeries series : chart.getChartData().getSeries()) {
series.getLabels().getDefaultDataLabelFormat().setPosition(LegendDataLabelPosition.OutsideEnd);
series.getLabels().getDefaultDataLabelFormat().setShowValue(true);
}
Jak mogę dodać kształty reprezentujące pozycje etykiet danych?
Można iterować po punktach danych serii wykresów i używać metodygetActualX
, getActualY
, getActualWidth
, IgetActualHeight
metody etykiety danych, aby uzyskać jej pozycję. Następnie możesz dodawać kształty za pomocąaddAutoShape
metoda. Oto przykład:
float x = point.getLabel().getActualX();
float y = point.getLabel().getActualY();
float w = point.getLabel().getActualWidth();
float h = point.getLabel().getActualHeight();
IAutoShape shape = chart.getUserShapes().getShapes().addAutoShape(ShapeType.Ellipse, x, y, w, h);
Jak zapisać wygenerowaną prezentację?
Wygenerowaną prezentację możesz zapisać za pomocą plikusave
metoda. Podaj żądaną ścieżkę pliku i plikSaveFormat
jako parametry. Na przykład:
pres.save(dataDir + "GetActualPositionOFChartDatalabel.pptx", SaveFormat.Pptx);