Datenpunkte in Treemap- und Sunburst-Diagrammen mit Java anpassen
Unter den verschiedenen PowerPoint-Diagrammtypen gibt es zwei „hierarchische“ Typen – Treemap und Sunburst‑Diagramm (auch bekannt als Sunburst‑Grafik, Sunburst‑Diagramm, Radial‑Diagramm, Radial‑Grafik oder Mehrstufiges Kreisdiagramm). 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 for 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:
Beginnen wir mit dem Hinzufügen eines neuen Sunburst‑Diagramms zur Präsentation:
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();
}
Siehe auch
Falls es nötig ist, Datenpunkte des Diagramms zu formatieren, sollten wir das Folgende verwenden:
Die Klassen IChartDataPointLevelsManager, IChartDataPointLevel und die Methode IChartDataPoint.getDataPointLevels bieten Zugriff zum Formatieren von Datenpunkten von Treemap‑ und Sunburst‑Diagrammen.
[IChartDataPointLevelsManager] wird verwendet, um mehrstufige Kategorien zuzugreifen – es repräsentiert den Container von [IChartDataPointLevel]-Objekten.
Im Grunde ist es ein Wrapper für IChartCategoryLevelsManager mit den speziell für Datenpunkte hinzugefügten Eigenschaften.
Die Klasse [IChartDataPointLevel] 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);
Datenpunkt‑Beschriftung 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 für Datenpunkt‑Zweig festlegen
Farbe des “Steam 4”‑Zweigs ä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 wird durch Vorverarbeitung der Daten erreicht.
Wie wirkt sich das Präsentationsthema auf die Farben von Segmenten und Beschriftungen aus?
Diagrammfarben übernehmen das Thema/Palette der Präsentation, sofern Sie nicht explizit Füllungen/Schriften festlegen. Für konsistente Ergebnisse sollten Sie solide Füllungen und Textformatierungen auf den erforderlichen Ebenen fixieren.
Wird der Export nach PDF/PNG benutzerdefinierte Zweigfarben und Beschriftungseinstellungen beibehalten?
Ja. Beim Exportieren der Präsentation werden Diagrammeinstellungen (Füllungen, Beschriftungen) in den Ausgabedateien beibehalten, da Aspose.Slides das Diagramm mit den angewendeten Formatierungen rendert.
Kann ich die tatsächlichen Koordinaten einer Beschriftung/eines Elements berechnen, um benutzerdefinierte Overlays über dem Diagramm zu platzieren?
Ja. Nach der Validierung des Diagrammlayouts stehen für Elemente die tatsächlichen x- und y-Koordinaten zur Verfügung (zum Beispiel für ein DataLabel), was eine präzise Platzierung von Overlays ermöglicht.