Points de données des graphiques Treemap et Sunburst
Parmi les autres types de graphiques PowerPoint, il existe deux types « hiérarchiques » – le graphique Treemap et le graphique Sunburst (également appelé Graphique Sunburst, Diagramme Sunburst, Graphique radial, Graphe radial ou Diagramme circulaire à plusieurs niveaux). Ces graphiques affichent des données hiérarchiques organisées sous forme d’arbre – des feuilles jusqu’au sommet de la branche. Les feuilles sont définies par les points de données de la série, et chaque niveau d’agrégation imbriqué suivant est défini par la catégorie correspondante. Aspose.Slides pour .NET permet de formater les points de données des graphiques Sunburst et 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 :
using (Presentation pres = new Presentation())
{
IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.Sunburst, 100, 100, 450, 400);
// ...
}
Voir aussi
Si vous devez formater les points de données du graphique, vous devez utiliser les éléments suivants :
IChartDataPointLevelsManager, IChartDataPointLevel classes et IChartDataPoint.DataPointLevels propriété fournissent l’accès pour formater les points de données des graphiques Treemap et Sunburst. IChartDataPointLevelsManager est utilisé pour accéder aux catégories à plusieurs niveaux – il représente le conteneur des objets IChartDataPointLevel. En gros, c’est un wrapper pour IChartCategoryLevelsManager avec les propriétés ajoutées spécifiques aux points de données. La classe IChartDataPointLevel possède deux propriétés : Format et DataLabel qui fournissent l’accès aux paramètres correspondants.
Afficher la valeur du point de données
Afficher la valeur du point de données “Leaf 4” :
IChartDataPointCollection dataPoints = chart.ChartData.Series[0].DataPoints;
dataPoints[3].DataPointLevels[0].Label.DataLabelFormat.ShowValue = true;
Définir le libellé et la couleur du point de données
Définir le libellé du point de données “Branch 1” pour afficher le nom de la série (“Series1”) au lieu du nom de la catégorie. Puis définir la couleur du texte en jaune :
IDataLabel branch1Label = dataPoints[0].DataPointLevels[2].Label;
branch1Label.DataLabelFormat.ShowCategoryName = false;
branch1Label.DataLabelFormat.ShowSeriesName = true;
branch1Label.DataLabelFormat.TextFormat.PortionFormat.FillFormat.FillType = FillType.Solid;
branch1Label.DataLabelFormat.TextFormat.PortionFormat.FillFormat.SolidFillColor.Color = Color.Yellow;
Définir la couleur de la branche du point de données
Modifier la couleur de la branche “Stem 4” :
using (Presentation pres = new Presentation())
{
IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.Sunburst, 100, 100, 450, 400);
IChartDataPointCollection dataPoints = chart.ChartData.Series[0].DataPoints;
IChartDataPointLevel stem4branch = dataPoints[9].DataPointLevels[1];
stem4branch.Format.Fill.FillType = FillType.Solid;
stem4branch.Format.Fill.SolidFillColor.Color = Color.Red;
pres.Save("pres.pptx", SaveFormat.Pptx);
}
FAQ
Puis-je changer l’ordre (tri) des segments dans Sunburst/Treemap ?
Non. PowerPoint trie les segments automatiquement (généralement par valeurs décroissantes, dans le sens des aiguilles d’une montre). Aspose.Slides reproduit ce comportement : vous ne pouvez pas modifier l’ordre directement ; vous devez le faire en prétraitant les données.
Comment le thème de la présentation influence-t-il les couleurs des segments et des libellés ?
Les couleurs du graphique héritent du thème/palette de la présentation sauf si vous définissez explicitement des remplissages/polices. Pour des résultats cohérents, verrouillez les remplissages solides et le formatage du texte aux niveaux requis.
L’exportation en PDF/PNG préservera-t-elle les couleurs de branche personnalisées et les paramètres de libellé ?
Oui. Lors de l’exportation de la présentation, les paramètres du graphique (remplissages, libellés) sont conservés dans les formats de sortie car Aspose.Slides rend le graphique avec le formatage appliqué.
Puis-je calculer les coordonnées réelles d’un libellé/élément pour placer une superposition personnalisée au‑dessus du graphique ?
Oui. Après validation de la mise en page du graphique, ActualX/ActualY sont disponibles pour les éléments (par exemple, un DataLabel), ce qui facilite le positionnement précis des superpositions.