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 :
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);
// ...
Voir aussi
S’il est nécessaire de formater les points de données du graphique, nous devrions utiliser les éléments suivants :
IChartDataPointLevelsManager, IChartDataPointLevel 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);
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());
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);