Anpassen von Datenpunkten in Treemap- und Sunburst-Diagrammen unter Android
Unter den anderen PowerPoint‑Diagrammtypen 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 definiert. Aspose.Slides für Android via 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 beginnen, ein neues Sunburst‑Diagramm zur Präsentation hinzuzufü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();
}
Wenn es notwendig ist, Datenpunkte des Diagramms zu formatieren, sollten wir Folgendes verwenden:
IChartDataPointLevelsManager, IChartDataPointLevel Klassen und die Methode IChartDataPoint.getDataPointLevels bieten Zugriff zum Formatieren von Datenpunkten von Treemap‑ und Sunburst‑Diagrammen. IChartDataPointLevelsManager wird verwendet, um mehrstufige Kategorien zuzugreifen – er stellt den Container der IChartCategoryLevelsManager Objekte dar. Die Klasse IChartDataPointLevel hat zwei Methoden: getFormat und getDataLabel welche Zugriff auf die entsprechenden Einstellungen bieten.
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-Label und -Farbe festlegen
Setzen Sie das Datenlabel von “Branch 1” so, dass der Serienname (“Series1”) anstelle des Kategorienamens angezeigt wird. Dann 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 Datenpunkt‑Zweigs 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 (in der Regel absteigend nach Wert, im Uhrzeigersinn). Aspose.Slides spiegelt dieses Verhalten wider: Sie können die Reihenfolge nicht direkt ändern; Sie erreichen dies durch Vorverarbeitung der Daten.
Wie beeinflusst das Präsentationsthema die Farben von Segmenten und Beschriftungen?
Die Diagrammfarben übernehmen das theme/palette der Präsentation, sofern Sie keine Füllungen/Schriften explizit setzen. Für konsistente Ergebnisse sollten Sie solide Füllungen und Textformatierungen auf den erforderlichen Ebenen fixieren.
Wird beim Export nach PDF/PNG die benutzerdefinierte Zweigfarbe und Beschriftungseinstellungen beibehalten?
Ja. Beim Exportieren der Präsentation bleiben die Diagrammeinstellungen (Füllungen, Beschriftungen) in den Ausgabeformaten erhalten, da Aspose.Slides das Diagramm mit den angewendeten Formatierungen rendert.
Kann ich die tatsächlichen Koordinaten einer Beschriftung/eines Elements für eine benutzerdefinierte Überlagerung über dem Diagramm berechnen?
Ja. Nachdem das Diagrammlayout validiert wurde, stehen für Elemente die tatsächlichen x- und y-Werte zur Verfügung (z. B. ein DataLabel), was die präzise Positionierung von Überlagerungen erleichtert.