Erstellen Sie Diagramme in PowerPoint Präsentationen

Diagramme sind ein hervorragendes Werkzeug, um Daten übersichtlich darzustellen. Darüber hinaus erleichtern sie die Nutzung großer Datenmengen, indem sie diese visuell darstellen. Das Hinzufügen von Diagrammen zu Ihren Präsentationen kann sich als hilfreich erweisen, wenn Sie Daten wie die Wachstumstrends des Unternehmens oder die Produktakzeptanzrate präsentieren. Zu diesem Zweck lernen Sie in diesem Artikel, wie Sie Diagramme in PowerPoint Präsentationen mit C++ erstellen.

C++-API zum Erstellen von Diagrammen in PowerPoint Präsentationen

Aspose.Slides for C++ ist eine native C++ Bibliothek, die das Erstellen, Lesen und Bearbeiten von PowerPoint Dateien unterstützt. Die API unterstützt auch das Erstellen von Diagrammen in PowerPoint Präsentationen. Sie können die API entweder über NuGet installieren oder direkt aus dem Abschnitt Downloads herunterladen.

PM> Install-Package Aspose.Slides.Cpp

Erstellen Sie Säulendiagramme in PowerPoint Präsentationen mit C++

Im Folgenden sind die Schritte zum Erstellen eines Säulendiagramms in PowerPoint Präsentationen aufgeführt.

Im Folgenden finden Sie den Beispielcode zum Hinzufügen eines Säulendiagramms in PowerPoint Präsentation mit C++.

// Pfad der Ausgabedatei.
const String outputFilePath = u"OutputDirectory\\column_chart.pptx";

// Instanziieren Sie die Presentation klasse , die die PPTX Datei darstellt
SharedPtr<Presentation> pres = MakeObject<Presentation>();

// Greifen Sie auf die erste Folie zu
SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);

// Diagramm mit Standarddaten hinzufügen
SharedPtr<IChart> chart = slide->get_Shapes()->AddChart(Aspose::Slides::Charts::ChartType::ClusteredColumn, 0, 0, 500, 500);

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

// Abrufen der Diagrammdaten Arbeitsmappe
SharedPtr<IChartDataWorkbook> fact = chart->get_ChartData()->get_ChartDataWorkbook();

// Diagrammtitel einstellen
chart->get_ChartTitle()->AddTextFrameForOverriding(u"Sample Title");
chart->get_ChartTitle()->get_TextFrameForOverriding()->get_TextFrameFormat()->set_CenterText(NullableBool::True);
chart->get_ChartTitle()->set_Height(20);
chart->set_HasTitle(true);

// Löschen Sie standardmäßig generierte Serien und Kategorien
chart->get_ChartData()->get_Series()->Clear();
chart->get_ChartData()->get_Categories()->Clear();
int s = chart->get_ChartData()->get_Series()->get_Count();
s = chart->get_ChartData()->get_Categories()->get_Count();

// Serie hinzufügen
chart->get_ChartData()->get_Series()->Add(fact->GetCell(defaultWorksheetIndex, 0, 1, ObjectExt::Box<System::String>(u"Series 1")), chart->get_Type());
chart->get_ChartData()->get_Series()->Add(fact->GetCell(defaultWorksheetIndex, 0, 2, ObjectExt::Box<System::String>(u"Series 2")), chart->get_Type());

// Kategorien hinzufügen
chart->get_ChartData()->get_Categories()->Add(fact->GetCell(defaultWorksheetIndex, 1, 0, ObjectExt::Box<System::String>(u"Category 1")));
chart->get_ChartData()->get_Categories()->Add(fact->GetCell(defaultWorksheetIndex, 2, 0, ObjectExt::Box<System::String>(u"Category 2")));
chart->get_ChartData()->get_Categories()->Add(fact->GetCell(defaultWorksheetIndex, 3, 0, ObjectExt::Box<System::String>(u"Category 3")));

// Nehmen Sie die erste Diagrammserie
SharedPtr<IChartSeries> series = chart->get_ChartData()->get_Series()->idx_get(0);

// Füllen Sie Seriendaten aus
series->get_DataPoints()->AddDataPointForBarSeries(fact->GetCell(defaultWorksheetIndex, 1, 1, ObjectExt::Box<double>(20)));
series->get_DataPoints()->AddDataPointForBarSeries(fact->GetCell(defaultWorksheetIndex, 2, 1, ObjectExt::Box<double>(50)));
series->get_DataPoints()->AddDataPointForBarSeries(fact->GetCell(defaultWorksheetIndex, 3, 1, ObjectExt::Box<double>(30)));

// Füllfarbe für Serien festlegen
series->get_Format()->get_Fill()->set_FillType(FillType::Solid);
series->get_Format()->get_Fill()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Blue());

// Nehmen Sie die zweite Diagrammserie
series = chart->get_ChartData()->get_Series()->idx_get(1);

// Füllen Sie Seriendaten aus
series->get_DataPoints()->AddDataPointForBarSeries(fact->GetCell(defaultWorksheetIndex, 1, 2, ObjectExt::Box<double>(30)));
series->get_DataPoints()->AddDataPointForBarSeries(fact->GetCell(defaultWorksheetIndex, 2, 2, ObjectExt::Box<double>(10)));
series->get_DataPoints()->AddDataPointForBarSeries(fact->GetCell(defaultWorksheetIndex, 3, 2, ObjectExt::Box<double>(60)));

// Füllfarbe für Serien festlegen
series->get_Format()->get_Fill()->set_FillType(FillType::Solid);
series->get_Format()->get_Fill()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Orange());

// Das erste Etikett wird den Kategorienamen anzeigen
SharedPtr<IDataLabel> lbl = series->get_DataPoints()->idx_get(0)->get_Label();
lbl->get_DataLabelFormat()->set_ShowCategoryName(true);

lbl = series->get_DataPoints()->idx_get(1)->get_Label();
lbl->get_DataLabelFormat()->set_ShowSeriesName(true);

// Wert für drittes Label anzeigen
lbl = series->get_DataPoints()->idx_get(2)->get_Label();
lbl->get_DataLabelFormat()->set_ShowValue(true);
lbl->get_DataLabelFormat()->set_ShowSeriesName(true);
lbl->get_DataLabelFormat()->set_Separator(u"/");

// Speichern Sie die PPTX Datei
pres->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

Im Folgenden sehen Sie das Bild des vom Beispielcode generierten Säulendiagramms.

Erstellen Sie Säulendiagramme in PowerPoint Präsentationen

Erstellen von Kreisdiagrammen in PowerPoint Präsentationen mit C++

Im Folgenden finden Sie die Schritte zum Hinzufügen eines Kreisdiagramms zu PowerPoint-Folien.

Im Folgenden finden Sie den Beispielcode zum Hinzufügen eines Kreisdiagramms in PowerPoint-Folien mit C++.

// Pfad der Ausgabedatei.
const String outputFilePath = u"OutputDirectory\\pie_chart.pptx";

// Instanziieren Sie die Presentation klasse , die die PPTX Datei darstellt
SharedPtr<Presentation> pres = MakeObject<Presentation>();

// Greifen Sie auf die erste Folie zu
SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);

// Diagramm mit Standarddaten hinzufügen
SharedPtr<IChart> chart = slide->get_Shapes()->AddChart(Aspose::Slides::Charts::ChartType::Pie, 0, 0, 500, 500);

// Diagrammtitel einstellen
chart->get_ChartTitle()->AddTextFrameForOverriding(u"Sample Title");
chart->get_ChartTitle()->get_TextFrameForOverriding()->get_TextFrameFormat()->set_CenterText(NullableBool::True);
chart->get_ChartTitle()->set_Height(20);
chart->set_HasTitle(true);

// Löschen Sie standardmäßig generierte Serien und Kategorien
chart->get_ChartData()->get_Series()->Clear();
chart->get_ChartData()->get_Categories()->Clear();

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

// Abrufen der Diagrammdaten Arbeitsmappe
SharedPtr<IChartDataWorkbook> fact = chart->get_ChartData()->get_ChartDataWorkbook();

// Kategorien hinzufügen
chart->get_ChartData()->get_Categories()->Add(fact->GetCell(defaultWorksheetIndex, 1, 0, ObjectExt::Box<System::String>(u"First Qtr")));
chart->get_ChartData()->get_Categories()->Add(fact->GetCell(defaultWorksheetIndex, 2, 0, ObjectExt::Box<System::String>(u"2nd Qtr")));
chart->get_ChartData()->get_Categories()->Add(fact->GetCell(defaultWorksheetIndex, 3, 0, ObjectExt::Box<System::String>(u"3rd Qtr")));

// Serie hinzufügen
chart->get_ChartData()->get_Series()->Add(fact->GetCell(defaultWorksheetIndex, 0, 1, ObjectExt::Box<System::String>(u"Series 1")), chart->get_Type());

// Nehmen Sie die erste Diagrammreihe
SharedPtr<IChartSeries> series = chart->get_ChartData()->get_Series()->idx_get(0);

// Füllen Sie Seriendaten aus
series->get_DataPoints()->AddDataPointForPieSeries(fact->GetCell(defaultWorksheetIndex, 1, 1, ObjectExt::Box<double>(20)));
series->get_DataPoints()->AddDataPointForPieSeries(fact->GetCell(defaultWorksheetIndex, 2, 1, ObjectExt::Box<double>(50)));
series->get_DataPoints()->AddDataPointForPieSeries(fact->GetCell(defaultWorksheetIndex, 3, 1, ObjectExt::Box<double>(30)));

chart->get_ChartData()->get_SeriesGroups()->idx_get(0)->set_IsColorVaried(true);

SharedPtr<IChartDataPoint> point = series->get_DataPoints()->idx_get(0);
point->get_Format()->get_Fill()->set_FillType(FillType::Solid);
point->get_Format()->get_Fill()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Orange());

// Sektorgrenze einstellen
point->get_Format()->get_Line()->get_FillFormat()->set_FillType(FillType::Solid);
point->get_Format()->get_Line()->get_FillFormat()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Gray());
point->get_Format()->get_Line()->set_Width(3.0);

SharedPtr<IChartDataPoint> point1 = series->get_DataPoints()->idx_get(1);
point1->get_Format()->get_Fill()->set_FillType(FillType::Solid);
point1->get_Format()->get_Fill()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_BlueViolet());

// Sektorgrenze einstellen
point1->get_Format()->get_Line()->get_FillFormat()->set_FillType(FillType::Solid);
point1->get_Format()->get_Line()->get_FillFormat()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Blue());
point1->get_Format()->get_Line()->set_Width(3.0);

SharedPtr<IChartDataPoint> point2 = series->get_DataPoints()->idx_get(2);
point2->get_Format()->get_Fill()->set_FillType(FillType::Solid);
point2->get_Format()->get_Fill()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_YellowGreen());

// Sektorgrenze einstellen
point2->get_Format()->get_Line()->get_FillFormat()->set_FillType(FillType::Solid);
point2->get_Format()->get_Line()->get_FillFormat()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Red());
point2->get_Format()->get_Line()->set_Width(2.0);

// Erstellen Sie benutzerdefinierte Labels für jede Kategorie in der Serie
SharedPtr<IDataLabel> lbl1 = series->get_DataPoints()->idx_get(0)->get_Label();

// lbl.ShowCategoryName = wahr;
lbl1->get_DataLabelFormat()->set_ShowValue(true);

SharedPtr<IDataLabel> lbl2 = series->get_DataPoints()->idx_get(1)->get_Label();
lbl2->get_DataLabelFormat()->set_ShowValue(true);
lbl2->get_DataLabelFormat()->set_ShowLegendKey(true);
lbl2->get_DataLabelFormat()->set_ShowPercentage(true);

SharedPtr<IDataLabel> lbl3 = series->get_DataPoints()->idx_get(2)->get_Label();

lbl3->get_DataLabelFormat()->set_ShowSeriesName(true);
lbl3->get_DataLabelFormat()->set_ShowPercentage(true);

// Führungslinien für das Diagramm anzeigen
series->get_Labels()->get_DefaultDataLabelFormat()->set_ShowLeaderLines(true);

// Festlegen des Rotationswinkels für Kreisdiagrammsektoren
chart->get_ChartData()->get_SeriesGroups()->idx_get(0)->set_FirstSliceAngle(180);

// Speichern Sie die PPTX Datei
pres->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

Das Folgende ist das Bild des Kreisdiagramms, das vom Beispielcode generiert wird.

Kreisdiagramm in PowerPoint Präsentationen erstellen

Erstellen Sie ein Streudiagramm in einer PowerPoint Präsentation mit C++

Im Folgenden finden Sie die Schritte zum Hinzufügen eines Streudiagramms zu PowerPoint-Folien.

Im Folgenden finden Sie den Beispielcode zum Hinzufügen eines Streudiagramms zu PowerPoint-Folien mit C++.

// Pfad der Ausgabedatei.
const String outputFilePath = u"OutputDirectory\\scattered_chart.pptx";

// Instanziieren Sie die Presentation klasse , die die PPTX Datei darstellt
SharedPtr<Presentation> pres = MakeObject<Presentation>();

// Greifen Sie auf die erste Folie zu
SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);

// Diagramm mit Standarddaten hinzufügen
SharedPtr<IChart> chart = slide->get_Shapes()->AddChart(Aspose::Slides::Charts::ChartType::ScatterWithSmoothLines, 0, 0, 500, 500);

// Standardmäßig generierte Serien löschen 
chart->get_ChartData()->get_Series()->Clear();

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

// Abrufen der Diagrammdaten Arbeitsmappe
SharedPtr<IChartDataWorkbook> fact = chart->get_ChartData()->get_ChartDataWorkbook();

// Serie hinzufügen
chart->get_ChartData()->get_Series()->Add(fact->GetCell(defaultWorksheetIndex, 1, 1, ObjectExt::Box<System::String>(u"Series 1")), chart->get_Type());
chart->get_ChartData()->get_Series()->Add(fact->GetCell(defaultWorksheetIndex, 1, 3, ObjectExt::Box<System::String>(u"Series 2")), chart->get_Type());

// Nehmen Sie die erste Diagrammserie
SharedPtr<IChartSeries> series = chart->get_ChartData()->get_Series()->idx_get(0);

// Fügen Sie dort einen neuen Punkt (1:3) hinzu.
series->get_DataPoints()->AddDataPointForScatterSeries(fact->GetCell(defaultWorksheetIndex, 2, 1, ObjectExt::Box<double>(1)), fact->GetCell(defaultWorksheetIndex, 2, 2, ObjectExt::Box<double>(3)));

// Neuen Punkt hinzufügen (2:10)
series->get_DataPoints()->AddDataPointForScatterSeries(fact->GetCell(defaultWorksheetIndex, 3, 1, ObjectExt::Box<double>(2)), fact->GetCell(defaultWorksheetIndex, 3, 2, ObjectExt::Box<double>(10)));

// Bearbeiten Sie den Serientyp
series->set_Type(ChartType::ScatterWithStraightLinesAndMarkers);

// Ändern der Diagrammserienmarkierung
series->get_Marker()->set_Size(10);
series->get_Marker()->set_Symbol(MarkerStyleType::Star);

// Nehmen Sie die zweite Diagrammserie
series = chart->get_ChartData()->get_Series()->idx_get(1);

// Fügen Sie dort einen neuen Punkt (5:2) hinzu.
series->get_DataPoints()->AddDataPointForScatterSeries(fact->GetCell(defaultWorksheetIndex, 2, 3, ObjectExt::Box<double>(5)), fact->GetCell(defaultWorksheetIndex, 2, 4, ObjectExt::Box<double>(2)));

// Neuen Punkt hinzufügen (3:1)
series->get_DataPoints()->AddDataPointForScatterSeries(fact->GetCell(defaultWorksheetIndex, 3, 3, ObjectExt::Box<double>(3)), fact->GetCell(defaultWorksheetIndex, 3, 4, ObjectExt::Box<double>(1)));

// Neuen Punkt hinzufügen (2:2)
series->get_DataPoints()->AddDataPointForScatterSeries(fact->GetCell(defaultWorksheetIndex, 4, 3, ObjectExt::Box<double>(2)), fact->GetCell(defaultWorksheetIndex, 4, 4, ObjectExt::Box<double>(2)));

// Neuen Punkt hinzufügen (5:1)
series->get_DataPoints()->AddDataPointForScatterSeries(fact->GetCell(defaultWorksheetIndex, 5, 3, ObjectExt::Box<double>(5)), fact->GetCell(defaultWorksheetIndex, 5, 4, ObjectExt::Box<double>(1)));

// Ändern der Diagrammserienmarkierung
series->get_Marker()->set_Size(10);
series->get_Marker()->set_Symbol(MarkerStyleType::Circle);

// Speichern Sie die PPTX Datei
pres->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

Das Folgende ist das Bild des Streudiagramms, das vom Beispielcode generiert wird.

Erstellen Sie Streudiagramme in PowerPoint Präsentationen

Erstellen Sie ein Histogrammdiagramm in PowerPoint Präsentationen

Im Folgenden sind die Schritte zum Erstellen eines Histogrammdiagramms in PowerPoint Präsentationen aufgeführt.

Im Folgenden finden Sie den Beispielcode zum Erstellen eines Histogrammdiagramms in PowerPoint Präsentationen mit C++.

// Pfad der Ausgabedatei.
const String outputFilePath = u"OutputDirectory\\histogram_chart.pptx";

// Instanziieren Sie die Presentation klasse , die die PPTX Datei darstellt
SharedPtr<Presentation> pres = MakeObject<Presentation>();

// Greifen Sie auf die erste Folie zu
SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);

// Diagramm mit Standarddaten hinzufügen
System::SharedPtr<IChart> chart = slide->get_Shapes()->AddChart(Aspose::Slides::Charts::ChartType::Histogram, 50, 50, 500, 400);

// Löschen Sie standardmäßig generierte Serien und Kategorien
chart->get_ChartData()->get_Categories()->Clear();
chart->get_ChartData()->get_Series()->Clear();

// Abrufen der Diagrammdaten Arbeitsmappe
System::SharedPtr<IChartDataWorkbook> wb = chart->get_ChartData()->get_ChartDataWorkbook();

wb->Clear(0);

// Serie hinzufügen
System::SharedPtr<IChartSeries> series = chart->get_ChartData()->get_Series()->Add(Aspose::Slides::Charts::ChartType::Histogram);

// Füllen Sie Seriendaten aus
series->get_DataPoints()->AddDataPointForHistogramSeries(wb->GetCell(0, u"A1", System::ObjectExt::Box<int32_t>(15)));
series->get_DataPoints()->AddDataPointForHistogramSeries(wb->GetCell(0, u"A2", System::ObjectExt::Box<int32_t>(-41)));
series->get_DataPoints()->AddDataPointForHistogramSeries(wb->GetCell(0, u"A3", System::ObjectExt::Box<int32_t>(16)));
series->get_DataPoints()->AddDataPointForHistogramSeries(wb->GetCell(0, u"A4", System::ObjectExt::Box<int32_t>(10)));
series->get_DataPoints()->AddDataPointForHistogramSeries(wb->GetCell(0, u"A5", System::ObjectExt::Box<int32_t>(-23)));
series->get_DataPoints()->AddDataPointForHistogramSeries(wb->GetCell(0, u"A6", System::ObjectExt::Box<int32_t>(16)));

// Achsenaggregationstyp festlegen
chart->get_Axes()->get_HorizontalAxis()->set_AggregationType(Aspose::Slides::Charts::AxisAggregationType::Automatic);

// Speichern Sie die PPTX Datei
pres->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

Das Folgende ist das Bild des Histogrammdiagramms, das vom Beispielcode generiert wird.

Erstellen Sie ein Histogrammdiagramm in PowerPoint Präsentationen

Zusätzliche unterstützte Diagramme

Abgesehen von den oben gezeigten Diagrammen unterstützt Aspose.Slides for C++ viele weitere Diagrammtypen. Sie können die vollständige Liste der unterstützten Diagrammtypen mit Beispielcode anzeigen, indem Sie diesen Dokumentation artikel lesen.

Holen Sie sich eine kostenlose Lizenz

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

Fazit

In diesem Artikel haben Sie gelernt, wie Sie Diagramme in PowerPoint-Folien mit C++ hinzufügen. Insbesondere haben Sie gelernt, wie Sie Ihren PowerPoint Präsentationen Säulen, Streu, Kreis und Histogrammdiagramme hinzufügen. Darüber hinaus haben Sie gesehen, dass Aspose.Slides für die C++-API viel mehr Diagrammtypen bietet, die Sie in Ihren PowerPoint Präsentationen verwenden können. Neben Diagrammen bietet die API eine Reihe von Funktionen zur Verbesserung Ihrer PowerPoint Präsentationen. Sie können die API im Detail erkunden, indem Sie die offizielle Dokumentation verwenden. Bei Fragen können Sie sich gerne im kostenlosen Support-Forum an uns wenden.

Siehe auch