Datenpunkte in Treemap- und Sunburst-Diagrammen unter Android anpassen

Unter den verschiedenen PowerPoint‑Diagrammtypen gibt es zwei „hierarchische“ Typen – Treemap und Sunburst‑Diagramm (auch bekannt als Sunburst‑Graph, Sunburst‑Diagramm, Radial‑Diagramm, Radial‑Graph oder Multi‑Level‑Kreisdiagramm). Diese Diagramme zeigen hierarchische Daten, die als Baum strukturiert 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 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 Blatt‑Knoten definieren, während andere Spalten hierarchische Datenpunkte definieren:

todo:image_alt_text

Beginnen wir damit, 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 erforderlich ist, Datenpunkte des Diagramms zu formatieren, sollten wir Folgendes verwenden:

IChartDataPointLevelsManager, IChartDataPointLevel Klassen und die Methode IChartDataPoint.getDataPointLevels bieten Zugriff zum Formatieren von Datenpunkten der Treemap‑ und Sunburst‑Diagramme. IChartDataPointLevelsManager wird verwendet, um mehrstufige Kategorien zuzugreifen – es stellt den Container von IChartDataPointLevel-Objekten dar. Im Grunde ist es ein Wrapper für IChartCategoryLevelsManager mit den speziell für Datenpunkte hinzugefügten Eigenschaften. Die Klasse IChartDataPointLevel verfügt über zwei Methoden: getFormat und getDataLabel , die 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);

todo:image_alt_text

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);

todo:image_alt_text

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();
}

todo:image_alt_text

FAQ

Kann ich die Reihenfolge (Sortierung) der Segmente in Sunburst/Treemap ändern?

Nein. PowerPoint sortiert Segmente automatisch (in der Regel absteigend nach Wert und 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?

Diagrammfarben erben das Thema/Palette der Präsentation, 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 Export 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 berechnen, um ein benutzerdefiniertes Overlay über dem Diagramm zu platzieren?

Ja. Nachdem das Diagrammlayout validiert wurde, stehen für Elemente die tatsächlichen x- und y-Werte zur Verfügung (z. B. für ein DataLabel), was eine präzise Positionierung von Overlays ermöglicht.