Points de données du diagramme Treemap et du diagramme Sunburst

Parmi les autres types de graphiques PowerPoint, il existe deux types “hiérarchiques” - Treemap et Sunburst (également connu sous le nom de Graphique Sunburst, Diagramme Sunburst, Diagramme Radial, Graphique Radial ou Graphique à Secteurs Multi-niveaux). Ces graphiques affichent des données hiérarchiques organisées en tant qu’arbre - des feuilles au sommet de la branche. Les feuilles sont définies par les points de données de la série, et chaque niveau de regroupement imbriqué suivant est défini par la catégorie correspondante. Aspose.Slides pour C++ permet de formater les points de données du graphique Sunburst et du Treemap en C++.

Voici un graphique Sunburst, où les données de la colonne Series1 définissent les nœuds feuilles, tandis que les autres colonnes définissent les points de données hiérarchiques :

todo:image_alt_text

Commençons par ajouter un nouveau graphique Sunburst à la présentation :

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

S’il est nécessaire de formater les points de données du graphique, nous devrions utiliser les éléments suivants :

IChartDataPointLevelsManagerIChartDataPointLevel classes  et IChartDataPoint::get_DataPointLevels() méthode  fournissent un accès au formatage des points de données des Treemap et des graphiques Sunburst.  IChartDataPointLevelsManager est utilisé pour accéder aux catégories multi-niveaux - il représente le conteneur des  IChartDataPointLevel objets. Il s’agit essentiellement d’un wrapper pour  IChartCategoryLevelsManager avec les propriétés ajoutées spécifiques aux points de données.  La classe IChartDataPointLevel a deux méthodes : get_Format() et  get_Label() qui fournissent un accès aux paramètres correspondants.

Afficher la valeur du point de données

Afficher la valeur du point de données “Feuille 4” :

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

Définir l’étiquette et la couleur du point de données

Définir l’étiquette de données “Branche 1” pour afficher le nom de la série (“Series1”) au lieu du nom de la catégorie. Ensuite, définir la couleur du texte sur jaune :

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

Définir la couleur de la branche du point de données

Changer la couleur de la branche “Tige 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