Erstellen Sie Diagramme in Powerpoint PPT C#

Diagramme werden verwendet, um die Daten innerhalb der PowerPoint Präsentationen zusammenzufassen und visuell darzustellen. Daher bietet PowerPoint eine große Auswahl an Diagrammtypen, um die Daten zu visualisieren. Zu den am häufigsten verwendeten Diagrammtypen gehören Tortendiagramme, Liniendiagramme, Balkendiagramme, Histogramme, Aktiendiagramme usw. In diesem Artikel erfahren Sie, wie Sie diese Diagramme in PowerPoint Präsentationen mit C# erstellen.

C# API zum Erstellen von Diagrammen in PowerPoint

Aspose.Slides for .NET ist eine C# Klassenbibliothek, mit der Sie PowerPoint Präsentationen in .NET Anwendungen erstellen und bearbeiten können. Darüber hinaus ermöglicht Ihnen die API das nahtlose Erstellen und Hinzufügen von Diagrammen zu den Präsentationen. Aspose.Slides for .NET kann als DLL heruntergeladen oder über NuGet installiert werden.

PM> Install-Package Aspose.Slides

Säulendiagramm in PowerPoint PPT mit C# erstellen

In diesem Abschnitt erfahren Sie, wie Sie ein Säulendiagramm erstellen und Kategorien und Reihen hinzufügen, um dieses Diagramm zu füllen. Im Folgenden sind die Schritte zum Ausführen dieses Vorgangs aufgeführt.

Zur Veranschaulichung zeigt das folgende Codebeispiel, wie Sie mit C# ein Säulendiagramm in einer PowerPoint Präsentation erstellen.

// Instanziieren Sie die Presentation klasse , die die PPTX Datei darstellt
Presentation pres = new Presentation();

// Greifen Sie auf die erste Folie zu
ISlide sld = pres.Slides[0];

// Diagramm mit Standarddaten hinzufügen
IChart chart = sld.Shapes.AddChart(ChartType.ClusteredColumn, 0, 0, 500, 500);

// Diagrammtitel einstellen
chart.ChartTitle.AddTextFrameForOverriding("Sample Title");
chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True;
chart.ChartTitle.Height = 20;
chart.HasTitle = true;

// Legen Sie die erste Reihe auf Werte anzeigen fest
chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true;

// Festlegen des Index des Diagrammdatenblatts
int defaultWorksheetIndex = 0;

// Abrufen des Diagrammdaten-Arbeitsblatts
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;

// Löschen Sie standardmäßig generierte Serien und Kategorien
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();
int s = chart.ChartData.Series.Count;
s = chart.ChartData.Categories.Count;

// Hinzufügen neuer Serien
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);

// Hinzufügen neuer Kategorien
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"));

// Nehmen Sie die erste Diagrammreihe
IChartSeries series = chart.ChartData.Series[0];

// Füllen Sie jetzt Seriendaten aus
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));

// Füllfarbe für Serien festlegen
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = System.Drawing.Color.Blue;


// Nehmen Sie die zweite Diagrammserie
series = chart.ChartData.Series[1];

// Füllen Sie jetzt Seriendaten aus
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));

// Füllfarbe für Serien festlegen
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = Color.Orange;

// Das erste Etikett wird den Kategorienamen anzeigen
IDataLabel lbl = series.DataPoints[0].Label;
lbl.DataLabelFormat.ShowCategoryName = true;

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

// Wert für drittes Label anzeigen
lbl = series.DataPoints[2].Label;
lbl.DataLabelFormat.ShowValue = true;
lbl.DataLabelFormat.ShowSeriesName = true;
lbl.DataLabelFormat.Separator = "/";

// Präsentation mit Diagramm speichern
pres.Save("column-chart.pptx", SaveFormat.Pptx);

Das Folgende ist der Screenshot des resultierenden Säulendiagramms.

Erstellen Sie ein Säulendiagramm in Powerpoint in C#

Punktdiagramm in PowerPoint PPT mit C# erstellen

Im Folgenden finden Sie die Schritte zum Erstellen eines Punktdiagramms in der PowerPoint Präsentation mit C#.

  • Erstellen Sie eine neue Präsentation mit der Klasse Presentation.
  • Rufen Sie die Referenz der Folien im Objekt ISlide ab.
  • Fügen Sie einen ScatterWithSmoothLines-Diagrammtyp mit Standarddaten hinzu und rufen Sie seine Referenz im IChart objekt ab.
  • Greifen Sie auf die Diagrammdaten Arbeitsmappe im Objekt IChartDataWorkbook zu und löschen Sie die Standardreihe.
  • Fügen Sie den Diagrammdaten neue Reihen hinzu.
  • Greifen Sie auf jede Serie im Objekt IChartSeries zu und fügen Sie der Serie Datenpunkte hinzu.
  • Setzen Sie die Markierung für die Serie mit der Eigenschaft IChartSeries.Marker.
  • Speichern Sie die Präsentation mit der methode Presentation.Save(String, SaveFormat).

Das folgende Codebeispiel zeigt, wie Sie mit C# ein Punktdiagramm in PowerPoint Präsentationen erstellen.

// Instanziieren Sie die Presentation klasse , die die PPTX Datei darstellt
Presentation pres = new Presentation();

// Greifen Sie auf die erste Folie zu
ISlide sld = pres.Slides[0];

// Diagramm mit Standarddaten hinzufügen
IChart chart = sld.Shapes.AddChart(ChartType.ScatterWithSmoothLines, 0, 0, 400, 400);

// Abrufen des Standard-Diagrammdaten-Arbeitsblattindex
int defaultWorksheetIndex = 0;

// Abrufen des Diagrammdaten-Arbeitsblatts
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;

// Demo-Serie löschen
chart.ChartData.Series.Clear();

// Neue Serie hinzufügen
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);

// Nehmen Sie die erste Diagrammreihe
IChartSeries series = chart.ChartData.Series[0];

// Fügen Sie dort einen neuen Punkt (1:3) hinzu.
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 2, 1, 1), fact.GetCell(defaultWorksheetIndex, 2, 2, 3));

// Neuen Punkt hinzufügen (2:10)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 3, 1, 2), fact.GetCell(defaultWorksheetIndex, 3, 2, 10));

// Bearbeiten Sie den Serientyp
series.Type = ChartType.ScatterWithStraightLinesAndMarkers;

// Ändern der Diagrammserienmarkierung
series.Marker.Size = 10;
series.Marker.Symbol = MarkerStyleType.Star;

// Nehmen Sie die zweite Diagrammserie
series = chart.ChartData.Series[1];

// Fügen Sie dort einen neuen Punkt (5:2) hinzu.
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 2, 3, 5), fact.GetCell(defaultWorksheetIndex, 2, 4, 2));

// Neuen Punkt hinzufügen (3:1)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 3, 3, 3), fact.GetCell(defaultWorksheetIndex, 3, 4, 1));

// Neuen Punkt hinzufügen (2:2)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 4, 3, 2), fact.GetCell(defaultWorksheetIndex, 4, 4, 2));

// Neuen Punkt hinzufügen (5:1)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 5, 3, 5), fact.GetCell(defaultWorksheetIndex, 5, 4, 1));

// Ändern der Diagrammserienmarkierung
series.Marker.Size = 10;
series.Marker.Symbol = MarkerStyleType.Circle;

// Präsentation mit Diagramm speichern
pres.Save("scattered-chart.pptx", SaveFormat.Pptx);

Der folgende Screenshot zeigt das resultierende Punktdiagramm.

Erstellen Sie ein Streudiagramm in Powerpoint in C#

Kreisdiagramm in PowerPoint PPT mit C# erstellen

Im Folgenden sind die Schritte zum Erstellen eines Kreisdiagramms in einer PowerPoint Präsentation mit C# aufgeführt.

Das folgende Codebeispiel zeigt, wie Sie mit C# ein Kreisdiagramm in einer PowerPoint Präsentation erstellen.

// Instanziieren Sie die Presentation klasse , die die PPTX Datei darstellt
Presentation presentation = new Presentation();

// Greifen Sie auf die erste Folie zu
ISlide slides = presentation.Slides[0];

// Diagramm mit Standarddaten hinzufügen
IChart chart = slides.Shapes.AddChart(ChartType.Pie, 100, 100, 400, 400);

// Diagrammtitel einstellen
chart.ChartTitle.AddTextFrameForOverriding("Sample Title");
chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True;
chart.ChartTitle.Height = 20;
chart.HasTitle = true;

// Legen Sie die erste Reihe auf Werte anzeigen fest
chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true;

// Festlegen des Index des Diagrammdatenblatts
int defaultWorksheetIndex = 0;

// Abrufen des Diagrammdaten-Arbeitsblatts
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;

// Löschen Sie standardmäßig generierte Serien und Kategorien
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();

// Hinzufügen neuer Kategorien
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"));

// Hinzufügen neuer Serien
IChartSeries series = chart.ChartData.Series.Add(fact.GetCell(0, 0, 1, "Series 1"), chart.Type);

// Füllen Sie jetzt Seriendaten aus
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));

// Funktioniert nicht in neuer Version
// Hinzufügen neuer Punkte und Festlegen der Sektorfarbe
// 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;
// Sektorgrenze einstellen
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;

// Sektorgrenze einstellen
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;

// Sektorgrenze einstellen
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;

// Erstellen Sie benutzerdefinierte Etiketten für jede der Kategorien für neue Serien
IDataLabel lbl1 = series.DataPoints[0].Label;

// lbl.ShowCategoryName = wahr;
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;

// Führungslinien für das Diagramm anzeigen
//series.Labels.DefaultDataLabelFormat.ShowLeaderLines = true;

// Festlegen des Rotationswinkels für Kreisdiagrammsektoren
chart.ChartData.SeriesGroups[0].FirstSliceAngle = 180;

// Präsentation mit Diagramm speichern
presentation.Save("pie-chart.pptx", SaveFormat.Pptx);

Das Folgende ist der Screenshot des generierten Kreisdiagramms.

Kreisdiagramm in Powerpoint in C# erstellen

Histogrammdiagramm in PowerPoint PPTX mit C# hinzufügen

Im Folgenden sind die Schritte zum Erstellen eines Histogrammdiagramms in PowerPoint Präsentationen mit Aspose.Slides for .NET aufgeführt.

  • Erstellen Sie eine Instanz der Klasse Presentation.
  • Rufen Sie die Referenz einer Folie im Objekt ISlide anhand ihres Index ab.
  • Fügen Sie ein Histogrammdiagramm mit Standarddaten hinzu.
  • Löschen Sie die Standardserien und -kategorien.
  • Greifen Sie im Objekt IChartDataWorkbook auf die Diagrammdaten Arbeitsmappe zu.
  • Fügen Sie eine neue Serie hinzu und erhalten Sie ihre Referenz im Objekt IChartSeries.
  • Fügen Sie der Reihe Datenpunkte hinzu.
  • Legen Sie den Aggregationstyp der Diagrammachse fest.
  • Speichern Sie die Präsentation mit der methode Presentation.Save(String, SaveFormat).

Das folgende Codebeispiel zeigt, wie Sie mit C# ein Histogrammdiagramm erstellen.

// Präsentation laden oder erstellen
using (Presentation pres = new Presentation())
{
    // Histogrammdiagramm hinzufügen
    IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.Histogram, 50, 50, 500, 400);
    chart.ChartData.Categories.Clear();
    chart.ChartData.Series.Clear();

    // Greifen Sie auf die Arbeitsmappe für Diagrammdaten zu
    IChartDataWorkbook wb = chart.ChartData.ChartDataWorkbook;

    // Übersichtliches Arbeitsbuch
    wb.Clear(0);

    // Diagrammreihen hinzufügen
    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;

    // Präsentation speichern
    pres.Save("histogram-chart.pptx", SaveFormat.Pptx);
}

Das Folgende ist der Screenshot des erstellten Histogrammdiagramms.

Erstellen Sie ein Histogrammdiagramm in Powerpoint in C#

Erstellen Sie ein Aktiendiagramm in PowerPoint mit C#

Das Aktiendiagramm ist auch einer der am häufigsten verwendeten Diagrammtypen in PowerPoint Präsentationen. Im Folgenden sind die Schritte zum Erstellen eines Aktiendiagramms aufgeführt.

  • Erstellen Sie eine neue PowerPoint Präsentation mit der Klasse Presentation.
  • Rufen Sie die Referenz der Folie in einem ISlide objekt ab, indem Sie den Index der Folie verwenden.
  • Fügen Sie der Folie ein OpenHighLowClose-Diagramm hinzu und erhalten Sie seine Referenz im IChart objekt.
  • Löschen Sie die Standardserien und -kategorien.
  • Greifen Sie auf die Diagrammdaten im Objekt IChartDataWorkbook zu.
  • Fügen Sie dem Diagramm neue Serien und Kategorien hinzu.
  • Greifen Sie auf jede Diagrammserie zu und fügen Sie Datenpunkte hinzu.
  • Geben Sie das HiLowLines Format an.
  • Speichern Sie die Präsentation mit der methode Presentation.Save(String, SaveFormat).

Das folgende Codebeispiel zeigt, wie Sie mithilfe von C# ein Aktiendiagramm zu einer PowerPoint Präsentation hinzufügen.

// Präsentation laden oder erstellen
using (Presentation pres = new Presentation())
{
    // Diagramm hinzufügen
    IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.OpenHighLowClose, 50, 50, 600, 400, false);

    // Übersichtliche Kategorien und Serien
    chart.ChartData.Series.Clear();
    chart.ChartData.Categories.Clear();

    // Greifen Sie auf die Arbeitsmappe für Diagrammdaten zu
    IChartDataWorkbook wb = chart.ChartData.ChartDataWorkbook;

    // Kategorien hinzufügen
    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"));

    // Serie hinzufügen
    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);

    // Datenpunkte hinzufügen
    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));

    // Legen Sie fest, ob das Diagramm Aufwärts-/Abwärtsbalken hat
    chart.ChartData.SeriesGroups[0].UpDownBars.HasUpDownBars = true;

    // Geben Sie das Zeilenformat für hohe/niedrige Werte an
    chart.ChartData.SeriesGroups[0].HiLowLinesFormat.Line.FillFormat.FillType = FillType.Solid;

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

    // Präsentation speichern
    pres.Save("stock-chart.pptx", SaveFormat.Pptx);
}

Das Folgende ist der Screenshot des erstellten Aktiencharts.

Erstellen Sie Aktiendiagramme in Powerpoint in C#

Weitere Diagrammtypen

Neben den oben genannten Diagrammen gibt es auch andere Arten von Diagrammen, die Sie zu den PowerPoint Präsentationen hinzufügen können. Um mehr über die unterstützten Diagrammtypen zu erfahren, können Sie diesen Dokumentation artikel besuchen.

Holen Sie sich eine kostenlose API Lizenz

Sie können eine kostenlose temporäre Lizenz erhalten, um die API ohne Evaluierungseinschränkungen zu testen.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie mit C# Diagramme in PowerPoint Präsentationen erstellen. Darüber hinaus haben die Schritt-für-Schritt-Anleitung und Codebeispiele gezeigt, wie Sie Säulendiagramme, Streudiagramme, Tortendiagramme, Histogramme und Aktiendiagramme hinzufügen. Weitere Informationen zu Aspose.Slides for .NET finden Sie unter Dokumentation.

Siehe auch