Datenpunkte von Treemap- und Sunburst-Diagramm

Unter den verschiedenen Typen von PowerPoint-Diagrammen gibt es zwei “hierarchische” Typen - Treemap und Sunburst Diagramm (auch bekannt als Sunburst-Diagramm, Sunburst-Diagramm, Radialdiagramm, Radialgraph oder Multi-Level-Kreisdiagramm). Diese Diagramme zeigen hierarchische Daten an, die als Baum organisiert sind - von Blättern bis zur Spitze des Zweigs. Blätter werden durch die Serien-Datenpunkte definiert, und jede nachfolgende verschachtelte Gruppierungsebene wird durch die entsprechende Kategorie definiert. Aspose.Slides für C++ ermöglicht die Formatierung von Datenpunkten im Sunburst-Diagramm und Treemap in C++.

Hier ist ein Sunburst-Diagramm, bei dem die Daten in der Spalte Series1 die Blattknoten definieren, während andere Spalten hierarchische Datenpunkte definieren:

todo:image_alt_text

Lass uns beginnen, ein neues Sunburst-Diagramm zur Präsentation hinzuzufügen:

auto pres = System::MakeObject<Presentation>();
auto chart = pres->get_Slides()->idx_get(0)->get_Shapes()->AddChart(ChartType::Sunburst, 100.0f, 100.0f, 450.0f, 400.0f);
// ...

Wenn es notwendig ist, die Datenpunkte des Diagramms zu formatieren, sollten wir Folgendes verwenden:

IChartDataPointLevelsManagerIChartDataPointLevel Klassen  und IChartDataPoint::get_DataPointLevels() Methode  bieten Zugriff zur Formatierung von Datenpunkten von Treemap- und Sunburst-Diagrammen.  IChartDataPointLevelsManager wird verwendet, um auf mehrere Kategorien zuzugreifen - es repräsentiert den Container von  IChartDataPointLevel Objekten. Im Grunde genommen ist es ein Wrapper für  IChartCategoryLevelsManager mit den speziellen Eigenschaften, die für Datenpunkte hinzugefügt wurden.  Die Klasse IChartDataPointLevel hat zwei Methoden: get_Format() und  get_Label() , die Zugriff auf die entsprechenden Einstellungen bieten.

Datenpunktwert anzeigen

Zeige den Wert des Datenpunktes “Leaf 4” an:

auto dataPoints = chart->get_ChartData()->get_Series()->idx_get(0)->get_DataPoints();
dataPoints->idx_get(3)->get_DataPointLevels()->idx_get(0)->get_Label()->get_DataLabelFormat()->set_ShowValue(true);

todo:image_alt_text

Datenpunkt-Label und Farbe festlegen

Setze das Datenpunkt-Label von “Branch 1”, um den Seriennamen (“Series1”) anstelle des Kategorienamens anzuzeigen. Dann setze die Textfarbe auf Gelb:

auto branch1Label = dataPoints->idx_get(0)->get_DataPointLevels()->idx_get(2)->get_Label();
branch1Label->get_DataLabelFormat()->set_ShowCategoryName(false);
branch1Label->get_DataLabelFormat()->set_ShowSeriesName(true);

branch1Label->get_DataLabelFormat()->get_TextFormat()->get_PortionFormat()->get_FillFormat()->set_FillType(FillType::Solid);
branch1Label->get_DataLabelFormat()->get_TextFormat()->get_PortionFormat()->get_FillFormat()->get_SolidFillColor()->set_Color(Color::get_Yellow());

todo:image_alt_text

Datenpunkt-Zweigfarbe festlegen

Ändere die Farbe des Zweigs “Stem 4”:

auto pres = System::MakeObject<Presentation>();
auto chart = pres->get_Slides()->idx_get(0)->get_Shapes()->AddChart(ChartType::Sunburst, 100.0f, 100.0f, 450.0f, 400.0f);
auto dataPoints = chart->get_ChartData()->get_Series()->idx_get(0)->get_DataPoints();

auto stem4branch = dataPoints->idx_get(9)->get_DataPointLevels()->idx_get(1);
stem4branch->get_Format()->get_Fill()->set_FillType(FillType::Solid);
stem4branch->get_Format()->get_Fill()->get_SolidFillColor()->set_Color(Color::get_Red());

pres->Save(u"pres.pptx", SaveFormat::Pptx);

todo:image_alt_text