créer des graphiques dans powerpoint ppt C#

Les graphiques sont utilisés pour résumer et représenter visuellement les données dans les présentations PowerPoint. Par conséquent, PowerPoint fournit une large gamme de types de graphiques pour visualiser les données. Parmi tous, les types de graphiques les plus couramment utilisés incluent les graphiques à secteurs, les graphiques linéaires, les graphiques à barres, les histogrammes, les graphiques boursiers, etc. Dans cet article, vous apprendrez à créer ces graphiques dans des présentations PowerPoint à l’aide de C#.

API C# pour créer des graphiques dans PowerPoint

Aspose.Slides for .NET est une bibliothèque de classes C# qui vous permet de créer et de manipuler des présentations PowerPoint à partir d’applications .NET. De plus, l’API vous permet de créer et d’ajouter des graphiques aux présentations de manière transparente. Aspose.Slides for .NET peut être téléchargé en tant que DLL ou installé via NuGet.

PM> Install-Package Aspose.Slides

Créer un histogramme dans PowerPoint PPT à l’aide de C#

Dans cette section, vous apprendrez à créer un histogramme et à ajouter des catégories et des séries pour remplir ce graphique. Voici les étapes pour effectuer cette opération.

À des fins de démonstration, l’exemple de code suivant montre comment créer un histogramme dans une présentation PowerPoint à l’aide de C#.

// Instancier la classe de présentation qui représente le fichier PPTX
Presentation pres = new Presentation();

// Accéder à la première diapositive
ISlide sld = pres.Slides[0];

// Ajouter un graphique avec des données par défaut
IChart chart = sld.Shapes.AddChart(ChartType.ClusteredColumn, 0, 0, 500, 500);

// Tableau de réglage Titre
chart.ChartTitle.AddTextFrameForOverriding("Sample Title");
chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True;
chart.ChartTitle.Height = 20;
chart.HasTitle = true;

// Définir la première série sur Afficher les valeurs
chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true;

// Définition de l'index de la feuille de données du graphique
int defaultWorksheetIndex = 0;

// Obtenir la feuille de calcul des données du graphique
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;

// Supprimer les séries et catégories générées par défaut
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();
int s = chart.ChartData.Series.Count;
s = chart.ChartData.Categories.Count;

// Ajout de nouvelles séries
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.Type);
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.Type);

// Ajout de nouvelles catégories
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 1, 0, "Caetegoty 1"));
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 2, 0, "Caetegoty 2"));
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 3, 0, "Caetegoty 3"));

// Prendre la première série de graphiques
IChartSeries series = chart.ChartData.Series[0];

// Remplir maintenant les données de la série
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 1, 1, 20));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 2, 1, 50));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 3, 1, 30));

// Définition de la couleur de remplissage pour les séries
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = System.Drawing.Color.Blue;


// Prendre la deuxième série de graphiques
series = chart.ChartData.Series[1];

// Remplir maintenant les données de la série
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 1, 2, 30));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 2, 2, 10));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 3, 2, 60));

// Définition de la couleur de remplissage pour les séries
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = Color.Orange;

// La première étiquette affichera le nom de la catégorie
IDataLabel lbl = series.DataPoints[0].Label;
lbl.DataLabelFormat.ShowCategoryName = true;

lbl = series.DataPoints[1].Label;
lbl.DataLabelFormat.ShowSeriesName = true;

// Afficher la valeur pour la troisième étiquette
lbl = series.DataPoints[2].Label;
lbl.DataLabelFormat.ShowValue = true;
lbl.DataLabelFormat.ShowSeriesName = true;
lbl.DataLabelFormat.Separator = "/";

// Enregistrer la présentation avec le graphique
pres.Save("column-chart.pptx", SaveFormat.Pptx);

Voici la capture d’écran de l’histogramme résultant.

créer un graphique à colonnes dans powerpoint en C#

Créer un graphique en nuage de points dans PowerPoint PPT à l’aide de C#

Voici les étapes pour créer un nuage de points dans la présentation PowerPoint à l’aide de C#.

  • Créez une nouvelle présentation à l’aide de la classe Presentation.
  • Obtenez la référence des diapositives dans l’objet ISlide.
  • Ajoutez un type de graphique ScatterWithSmoothLines avec des données par défaut et obtenez sa référence dans l’objet IChart.
  • Accédez au classeur de données de graphique dans l’objet IChartDataWorkbook et effacez la série par défaut.
  • Ajoutez une nouvelle série aux données du graphique.
  • Accédez à chaque série dans l’objet IChartSeries et ajoutez des points de données à la série.
  • Définissez le marqueur de la série à l’aide de la propriété IChartSeries.Marker.
  • Enregistrez la présentation à l’aide de la méthode Presentation.Save(String, SaveFormat).

L’exemple de code suivant montre comment créer un nuage de points dans des présentations PowerPoint à l’aide de C#.

// Instancier la classe de présentation qui représente le fichier PPTX
Presentation pres = new Presentation();

// Accéder à la première diapositive
ISlide sld = pres.Slides[0];

// Ajouter un graphique avec des données par défaut
IChart chart = sld.Shapes.AddChart(ChartType.ScatterWithSmoothLines, 0, 0, 400, 400);

// Obtention de l'index de feuille de calcul de données de graphique par défaut
int defaultWorksheetIndex = 0;

// Obtenir la feuille de calcul des données du graphique
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;

// Supprimer la série de démonstration
chart.ChartData.Series.Clear();

// Ajouter une nouvelle série
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.Type);
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 1, 3, "Series 2"), chart.Type);

// Prendre la première série de graphiques
IChartSeries series = chart.ChartData.Series[0];

// Ajoutez un nouveau point (1:3) ici.
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 2, 1, 1), fact.GetCell(defaultWorksheetIndex, 2, 2, 3));

// Ajouter un nouveau point (2:10)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 3, 1, 2), fact.GetCell(defaultWorksheetIndex, 3, 2, 10));

// Modifier le type de série
series.Type = ChartType.ScatterWithStraightLinesAndMarkers;

// Modification du marqueur de série de graphiques
series.Marker.Size = 10;
series.Marker.Symbol = MarkerStyleType.Star;

// Prendre la deuxième série de graphiques
series = chart.ChartData.Series[1];

// Ajoutez un nouveau point (5:2) ici.
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 2, 3, 5), fact.GetCell(defaultWorksheetIndex, 2, 4, 2));

// Ajouter un nouveau point (3:1)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 3, 3, 3), fact.GetCell(defaultWorksheetIndex, 3, 4, 1));

// Ajouter un nouveau point (2:2)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 4, 3, 2), fact.GetCell(defaultWorksheetIndex, 4, 4, 2));

// Ajouter un nouveau point (5:1)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 5, 3, 5), fact.GetCell(defaultWorksheetIndex, 5, 4, 1));

// Modification du marqueur de série de graphiques
series.Marker.Size = 10;
series.Marker.Symbol = MarkerStyleType.Circle;

// Enregistrer la présentation avec le graphique
pres.Save("scattered-chart.pptx", SaveFormat.Pptx);

La capture d’écran suivante montre le nuage de points résultant.

créer un graphique dispersé dans powerpoint en C#

Créer un graphique à secteurs dans PowerPoint PPT à l’aide de C#

Voici les étapes pour créer un graphique à secteurs dans une présentation PowerPoint à l’aide de C#.

L’exemple de code suivant montre comment créer un graphique à secteurs dans une présentation PowerPoint à l’aide de C#.

// Instancier la classe de présentation qui représente le fichier PPTX
Presentation presentation = new Presentation();

// Accéder à la première diapositive
ISlide slides = presentation.Slides[0];

// Ajouter un graphique avec des données par défaut
IChart chart = slides.Shapes.AddChart(ChartType.Pie, 100, 100, 400, 400);

// Tableau de réglage Titre
chart.ChartTitle.AddTextFrameForOverriding("Sample Title");
chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True;
chart.ChartTitle.Height = 20;
chart.HasTitle = true;

// Définir la première série sur Afficher les valeurs
chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true;

// Définition de l'index de la feuille de données du graphique
int defaultWorksheetIndex = 0;

// Obtenir la feuille de calcul des données du graphique
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;

// Supprimer les séries et catégories générées par défaut
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();

// Ajout de nouvelles catégories
chart.ChartData.Categories.Add(fact.GetCell(0, 1, 0, "First Qtr"));
chart.ChartData.Categories.Add(fact.GetCell(0, 2, 0, "2nd Qtr"));
chart.ChartData.Categories.Add(fact.GetCell(0, 3, 0, "3rd Qtr"));

// Ajout de nouvelles séries
IChartSeries series = chart.ChartData.Series.Add(fact.GetCell(0, 0, 1, "Series 1"), chart.Type);

// Remplir maintenant les données de la série
series.DataPoints.AddDataPointForPieSeries(fact.GetCell(defaultWorksheetIndex, 1, 1, 20));
series.DataPoints.AddDataPointForPieSeries(fact.GetCell(defaultWorksheetIndex, 2, 1, 50));
series.DataPoints.AddDataPointForPieSeries(fact.GetCell(defaultWorksheetIndex, 3, 1, 30));

// Ne fonctionne pas dans la nouvelle version
// Ajouter de nouveaux points et définir la couleur du secteur
// series.IsColorVaried = true;
chart.ChartData.SeriesGroups[0].IsColorVaried = true;

IChartDataPoint point = series.DataPoints[0];
point.Format.Fill.FillType = FillType.Solid;
point.Format.Fill.SolidFillColor.Color = Color.Orange;
// Réglage de la bordure du secteur
point.Format.Line.FillFormat.FillType = FillType.Solid;
point.Format.Line.FillFormat.SolidFillColor.Color = Color.Gray;
point.Format.Line.Width = 3.0;
//point.Format.Line.Style = LineStyle.ThinThick ;
//point.Format.Line.DashStyle = LineDashStyle.DashDot ;

IChartDataPoint point1 = series.DataPoints[1];
point1.Format.Fill.FillType = FillType.Solid;
point1.Format.Fill.SolidFillColor.Color = Color.BlueViolet;

// Réglage de la bordure du secteur
point1.Format.Line.FillFormat.FillType = FillType.Solid;
point1.Format.Line.FillFormat.SolidFillColor.Color = Color.Blue;
point1.Format.Line.Width = 3.0;
//point1.Format.Line.Style = LineStyle.Single ;
//point1.Format.Line.DashStyle = LineDashStyle.LargeDashDot ;

IChartDataPoint point2 = series.DataPoints[2];
point2.Format.Fill.FillType = FillType.Solid;
point2.Format.Fill.SolidFillColor.Color = Color.YellowGreen;

// Réglage de la bordure du secteur
point2.Format.Line.FillFormat.FillType = FillType.Solid;
point2.Format.Line.FillFormat.SolidFillColor.Color = Color.Red;
point2.Format.Line.Width = 2.0;
//point2.Format.Line.Style = LineStyle.ThinThin;
//point2.Format.Line.DashStyle = LineDashStyle.LargeDashDotDot ;

// Créez des étiquettes personnalisées pour chacune des catégories pour les nouvelles séries
IDataLabel lbl1 = series.DataPoints[0].Label;

// lbl.ShowCategoryName = true ;
lbl1.DataLabelFormat.ShowValue = true;

IDataLabel lbl2 = series.DataPoints[1].Label;
lbl2.DataLabelFormat.ShowValue = true;
lbl2.DataLabelFormat.ShowLegendKey = true;
lbl2.DataLabelFormat.ShowPercentage = true;

IDataLabel lbl3 = series.DataPoints[2].Label;
lbl3.DataLabelFormat.ShowSeriesName = true;
lbl3.DataLabelFormat.ShowPercentage = true;

// Affichage des lignes de repère pour le graphique
//series.Labels.DefaultDataLabelFormat.ShowLeaderLines = true ;

// Définition de l'angle de rotation pour les secteurs du graphique à secteurs
chart.ChartData.SeriesGroups[0].FirstSliceAngle = 180;

// Enregistrer la présentation avec le graphique
presentation.Save("pie-chart.pptx", SaveFormat.Pptx);

Voici la capture d’écran du graphique à secteurs généré.

créer un graphique à secteurs dans powerpoint en C#

Ajouter un graphique d’histogramme dans PowerPoint PPTX à l’aide de C#

Voici les étapes pour créer un histogramme dans les présentations PowerPoint à l’aide d’Aspose.Slides for .NET.

  • Créez une instance de la classe Presentation.
  • Obtenir la référence d’une diapositive dans l’objet ISlide par son index.
  • Ajoutez un graphique Histogramme avec les données par défaut.
  • Effacez les séries et catégories par défaut.
  • Accédez au classeur de données de graphique dans l’objet IChartDataWorkbook.
  • Ajoutez une nouvelle série et obtenez sa référence dans l’objet IChartSeries.
  • Ajoutez des points de données à la série.
  • Définissez le type d’agrégation de l’axe du graphique.
  • Enregistrez la présentation à l’aide de la méthode Presentation.Save(String, SaveFormat).

L’exemple de code suivant montre comment créer un histogramme à l’aide de C#.

// Charger ou créer une présentation
using (Presentation pres = new Presentation())
{
    // Ajouter un histogramme
    IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.Histogram, 50, 50, 500, 400);
    chart.ChartData.Categories.Clear();
    chart.ChartData.Series.Clear();

    // Accéder au classeur de données de graphique
    IChartDataWorkbook wb = chart.ChartData.ChartDataWorkbook;

    // Effacer le classeur
    wb.Clear(0);

    // Ajouter une série de graphiques
    IChartSeries series = chart.ChartData.Series.Add(ChartType.Histogram);
    series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A1", 15));
    series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A2", -41));
    series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A3", 16));
    series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A4", 10));
    series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A5", -23));
    series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A6", 16));

    chart.Axes.HorizontalAxis.AggregationType = AxisAggregationType.Automatic;

    // Enregistrer la présentation
    pres.Save("histogram-chart.pptx", SaveFormat.Pptx);
}

Voici la capture d’écran du graphique d’histogramme créé.

créer un graphique d'histogramme dans powerpoint en C#

Créer un graphique boursier dans PowerPoint à l’aide de C#

Le graphique boursier est également l’un des types de graphiques couramment utilisés dans les présentations PowerPoint. Voici les étapes pour créer un graphique boursier.

  • Créez une nouvelle présentation PowerPoint à l’aide de la classe Presentation.
  • Obtenir la référence de la diapositive dans un objet ISlide à l’aide de l’index de la diapositive.
  • Ajoutez le graphique OpenHighLowClose à la diapositive et obtenez sa référence dans l’objet IChart.
  • Effacez les séries et catégories par défaut.
  • Accédez aux données du graphique dans l’objet IChartDataWorkbook.
  • Ajoutez de nouvelles séries et catégories au graphique.
  • Accédez à chaque série de graphiques et ajoutez des points de données.
  • Spécifiez le format HiLowLines.
  • Enregistrez la présentation à l’aide de la méthode Presentation.Save(String, SaveFormat).

L’exemple de code suivant montre comment ajouter un graphique boursier à une présentation PowerPoint à l’aide de C#.

// Charger ou créer une présentation
using (Presentation pres = new Presentation())
{
    // Ajouter un graphique
    IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.OpenHighLowClose, 50, 50, 600, 400, false);

    // Effacer les catégories et les séries
    chart.ChartData.Series.Clear();
    chart.ChartData.Categories.Clear();

    // Accéder au classeur de données de graphique
    IChartDataWorkbook wb = chart.ChartData.ChartDataWorkbook;

    // Ajouter des catégories
    chart.ChartData.Categories.Add(wb.GetCell(0, 1, 0, "A"));
    chart.ChartData.Categories.Add(wb.GetCell(0, 2, 0, "B"));
    chart.ChartData.Categories.Add(wb.GetCell(0, 3, 0, "C"));

    // Ajouter une série
    chart.ChartData.Series.Add(wb.GetCell(0, 0, 1, "Open"), chart.Type);
    chart.ChartData.Series.Add(wb.GetCell(0, 0, 2, "High"), chart.Type);
    chart.ChartData.Series.Add(wb.GetCell(0, 0, 3, "Low"), chart.Type);
    chart.ChartData.Series.Add(wb.GetCell(0, 0, 4, "Close"), chart.Type);

    // Ajouter des points de données
    IChartSeries series = chart.ChartData.Series[0];

    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 1, 1, 72));
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 2, 1, 25));
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 3, 1, 38));

    series = chart.ChartData.Series[1];
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 1, 2, 172));
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 2, 2, 57));
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 3, 2, 57));

    series = chart.ChartData.Series[2];
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 1, 3, 12));
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 2, 3, 12));
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 3, 3, 13));

    series = chart.ChartData.Series[3];
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 1, 4, 25));
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 2, 4, 38));
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 3, 4, 50));

    // Définir si le graphique a des barres haut/bas
    chart.ChartData.SeriesGroups[0].UpDownBars.HasUpDownBars = true;

    // Spécifier le format de ligne haut/bas
    chart.ChartData.SeriesGroups[0].HiLowLinesFormat.Line.FillFormat.FillType = FillType.Solid;

    foreach (IChartSeries ser in chart.ChartData.Series)
    {
        ser.Format.Line.FillFormat.FillType = FillType.NoFill;
    }

    // Enregistrer la présentation
    pres.Save("stock-chart.pptx", SaveFormat.Pptx);
}

Voici la capture d’écran du graphique boursier créé.

créer un graphique boursier dans powerpoint en C#

Plus de types de graphiques

Outre les graphiques mentionnés ci-dessus, il existe également d’autres types de graphiques que vous pouvez ajouter aux présentations PowerPoint. Pour en savoir plus sur les types de graphiques pris en charge, vous pouvez consulter cet article de documentation.

Obtenez une licence API gratuite

Vous pouvez obtenir une licence temporaire gratuite afin d’essayer l’API sans limitation d’évaluation.

Conclusion

Dans cet article, vous avez appris à créer des graphiques dans des présentations PowerPoint à l’aide de C#. De plus, le guide étape par étape et les exemples de code ont montré comment ajouter des histogrammes, des nuages de points, des camemberts, des histogrammes et des graphiques boursiers. Vous pouvez en savoir plus sur Aspose.Slides for .NET en utilisant documentation.

Voir également