Anpassen von Datenpunkten in Treemap- und Sunburst-Diagrammen mit Java
Unter den anderen Arten von PowerPoint‑Diagrammen gibt es zwei „hierarchische“ Typen – Treemap und Sunburst‑Diagramm (auch bekannt als Sunburst‑Graph, Sunburst‑Diagramm, Radial‑Chart, Radial‑Graph oder Multi Level Pie Chart). Diese Diagramme zeigen hierarchische Daten, die als Baum organisiert sind – von den Blättern bis zur Spitze des Astes. Blätter werden durch die Datenpunkte der Serie definiert, und jede nachfolgende verschachtelte Gruppierungsebene wird durch die entsprechende Kategorie bestimmt. Aspose.Slides für Java ermöglicht das Formatieren von Datenpunkten des Sunburst‑Diagramms und des Treemap‑Diagramms in Java.
Hier ist ein Sunburst‑Diagramm, bei dem die Daten in der Spalte Series1 die Blattknoten definieren, während die anderen Spalten hierarchische Datenpunkte definieren:
Lassen Sie uns ein neues Sunburst‑Diagramm zur Präsentation hinzufügen:
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Sunburst, 100, 100, 450, 400);
// ...
} finally {
if (pres != null) pres.dispose();
}
Falls es nötig ist, Datenpunkte des Diagramms zu formatieren, sollten wir das Folgende verwenden:
IChartDataPointLevelsManager, IChartDataPointLevel Klassen und IChartDataPoint.getDataPointLevels Methode bieten Zugriff zum Formatieren von Datenpunkten der Treemap‑ und Sunburst‑Diagramme. IChartDataPointLevelsManager wird zum Zugriff auf mehrstufige Kategorien verwendet – es stellt den Container von IChartDataPointLevel Objekten dar. Im Grunde ist es ein Wrapper für IChartCategoryLevelsManager mit eigenschaften, die speziell für Datenpunkte hinzugefügt wurden. IChartDataPointLevel Klasse hat zwei Methoden: getFormat und getDataLabel , die Zugriff auf die entsprechenden Einstellungen ermöglichen.
Wert eines Datenpunkts anzeigen
Wert des Datenpunkts „Leaf 4“ anzeigen:
IChartDataPointCollection dataPoints = chart.getChartData().getSeries().get_Item(0).getDataPoints();
dataPoints.get_Item(3).getDataPointLevels().get_Item(0).getLabel().getDataLabelFormat().setShowValue(true);
Datenpunktbeschriftung und -farbe festlegen
Setzen Sie die Datenbeschriftung von „Branch 1“ so, dass der Serienname („Series1“) anstelle des Kategorienamens angezeigt wird. Anschließend die Textfarbe auf Gelb setzen:
IDataLabel branch1Label = dataPoints.get_Item(0).getDataPointLevels().get_Item(0).getLabel();
branch1Label.getDataLabelFormat().setShowCategoryName(false);
branch1Label.getDataLabelFormat().setShowSeriesName(true);
branch1Label.getDataLabelFormat().getTextFormat().getPortionFormat().getFillFormat().setFillType(FillType.Solid);
branch1Label.getDataLabelFormat().getTextFormat().getPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.YELLOW);
Farbe eines Datenpunktzweigs festlegen
Farbe des Zweigs „Steam 4“ ändern:
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Sunburst, 100, 100, 450, 400);
IChartDataPointCollection dataPoints = chart.getChartData().getSeries().get_Item(0).getDataPoints();
IChartDataPointLevel stem4branch = dataPoints.get_Item(9).getDataPointLevels().get_Item(1);
stem4branch.getFormat().getFill().setFillType(FillType.Solid);
stem4branch.getFormat().getFill().getSolidFillColor().setColor(Color.RED);
pres.save("pres.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
FAQ
Kann ich die Reihenfolge (Sortierung) der Segmente in Sunburst/Treemap ändern?
Nein. PowerPoint sortiert Segmente automatisch (typischerweise nach absteigenden Werten, im Uhrzeigersinn). Aspose.Slides spiegelt dieses Verhalten wider: Sie können die Reihenfolge nicht direkt ändern; Sie erreichen dies durch Vorverarbeiten der Daten.
Wie beeinflusst das Präsentationsthema die Farben von Segmenten und Beschriftungen?
Diagrammfarben erben das theme/palette, sofern Sie nicht explizit Füllungen/Schriften festlegen. Für konsistente Ergebnisse sollten Sie feste Füllungen und Textformatierungen auf den erforderlichen Ebenen festlegen.
Wird der Export nach PDF/PNG benutzerdefinierte Zweigfarben und Beschriftungseinstellungen beibehalten?
Ja. Beim Exportieren der Präsentation bleiben Diagrammeinstellungen (Füllungen, Beschriftungen) in den Ausgabedateien erhalten, da Aspose.Slides das Diagramm mit den angewendeten Formatierungen rendert.
Kann ich die tatsächlichen Koordinaten einer Beschriftung/eines Elements berechnen, um ein benutzerdefiniertes Overlay über dem Diagramm zu platzieren?
Ja. Nach der Validierung des Diagrammlayouts sind die tatsächlichen x‑ und y‑Koordinaten für Elemente (z. B. ein DataLabel) verfügbar, was bei der präzisen Positionierung von Overlays hilft.