Ajouter des lignes de tendance aux graphiques de présentation dans .NET
Ajouter une ligne de tendance
Aspose.Slides for .NET fournit une API simple pour gérer différentes lignes de tendance de graphiques :
- Créez une instance de la classe Presentation.
- Obtenez la référence d’une diapositive par son indice.
- Ajoutez un graphique avec des données par défaut ainsi que le type souhaité (cet exemple utilise ChartType.ClusteredColumn).
- Ajout d’une ligne de tendance exponentielle pour la série 1 du graphique.
- Ajout d’une ligne de tendance linéaire pour la série 1 du graphique.
- Ajout d’une ligne de tendance logarithmique pour la série 2 du graphique.
- Ajout d’une ligne de tendance moyenne mobile pour la série 2 du graphique.
- Ajout d’une ligne de tendance polynomiale pour la série 3 du graphique.
- Ajout d’une ligne de tendance de puissance pour la série 3 du graphique.
- Enregistrez la présentation modifiée dans un fichier PPTX.
Le code suivant est utilisé pour créer un graphique avec des lignes de tendance.
// Création d'une présentation vide
Presentation pres = new Presentation();
// Création d'un graphique à colonnes groupées
IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 20, 20, 500, 400);
// Ajout d'une ligne de tendance exponentielle pour la série 1 du graphique
ITrendline tredLinep = chart.ChartData.Series[0].TrendLines.Add(TrendlineType.Exponential);
tredLinep.DisplayEquation = false;
tredLinep.DisplayRSquaredValue = false;
// Ajout d'une ligne de tendance linéaire pour la série 1 du graphique
ITrendline tredLineLin = chart.ChartData.Series[0].TrendLines.Add(TrendlineType.Linear);
tredLineLin.TrendlineType = TrendlineType.Linear;
tredLineLin.Format.Line.FillFormat.FillType = FillType.Solid;
tredLineLin.Format.Line.FillFormat.SolidFillColor.Color = Color.Red;
// Ajout d'une ligne de tendance logarithmique pour la série 2 du graphique
ITrendline tredLineLog = chart.ChartData.Series[1].TrendLines.Add(TrendlineType.Logarithmic);
tredLineLog.TrendlineType = TrendlineType.Logarithmic;
tredLineLog.AddTextFrameForOverriding("New log trend line");
// Ajout d'une ligne de tendance moyenne mobile pour la série 2 du graphique
ITrendline tredLineMovAvg = chart.ChartData.Series[1].TrendLines.Add(TrendlineType.MovingAverage);
tredLineMovAvg.TrendlineType = TrendlineType.MovingAverage;
tredLineMovAvg.Period = 3;
tredLineMovAvg.TrendlineName = "New TrendLine Name";
// Ajout d'une ligne de tendance polynomiale pour la série 3 du graphique
ITrendline tredLinePol = chart.ChartData.Series[2].TrendLines.Add(TrendlineType.Polynomial);
tredLinePol.TrendlineType = TrendlineType.Polynomial;
tredLinePol.Forward = 1;
tredLinePol.Order = 3;
// Ajout d'une ligne de tendance de puissance pour la série 3 du graphique
ITrendline tredLinePower = chart.ChartData.Series[1].TrendLines.Add(TrendlineType.Power);
tredLinePower.TrendlineType = TrendlineType.Power;
tredLinePower.Backward = 1;
// Enregistrement de la présentation
pres.Save("ChartTrendLines_out.pptx", SaveFormat.Pptx);
Ajouter une ligne personnalisée
Aspose.Slides for .NET fournit une API simple pour ajouter des lignes personnalisées dans un graphique. Pour ajouter une ligne simple et pleine à une diapositive sélectionnée de la présentation, suivez les étapes ci‑dessous :
- Créez une instance de la classe Presentation
- Obtenez la référence d’une diapositive en utilisant son Index
- Créez un nouveau graphique en utilisant la méthode AddChart exposée par l’objet Shapes
- Ajoutez un AutoShape de type Line en utilisant la méthode AddAutoShape exposée par l’objet Shapes
- Définissez la couleur des lignes de la forme.
- Enregistrez la présentation modifiée sous forme de fichier PPTX
Le code suivant est utilisé pour créer un graphique avec des lignes personnalisées.
using (Presentation pres = new Presentation())
{
IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 100, 100, 500, 400);
IAutoShape shape = chart.UserShapes.Shapes.AddAutoShape(ShapeType.Line, 0, chart.Height / 2, chart.Width, 0);
shape.LineFormat.FillFormat.FillType = FillType.Solid;
shape.LineFormat.FillFormat.SolidFillColor.Color = Color.Red;
pres.Save("AddCustomLines.pptx", SaveFormat.Pptx);
}
FAQ
Que signifient « forward » et « backward » pour une ligne de tendance ?
Elles représentent les longueurs de la ligne de tendance projetées en avant/en arrière : pour les graphiques de dispersion (XY) — en unités d’axe ; pour les graphiques non‑dispersion — en nombre de catégories. Seules les valeurs non négatives sont autorisées.
La ligne de tendance sera‑t‑elle conservée lors de l’exportation de la présentation au format PDF ou SVG, ou lors du rendu d’une diapositive en image ?
Oui. Aspose.Slides convertit les présentations en PDF/SVG et rend les graphiques en images ; les lignes de tendance, faisant partie du graphique, sont conservées pendant ces opérations. Une méthode est également disponible pour exporter une image du graphique lui‑même.