Buat Bagan di Presentasi PowerPoint

Bagan adalah alat yang sangat baik untuk menampilkan data secara ringkas. Selain itu, mereka membuatnya lebih mudah untuk mengkonsumsi data dalam jumlah besar dengan merepresentasikannya secara visual. Menambahkan bagan ke presentasi Anda mungkin terbukti bermanfaat saat menyajikan data seperti tren pertumbuhan perusahaan atau tingkat adopsi produk. Untuk itu, artikel ini akan mengajarkan Anda cara membuat grafik dalam presentasi PowerPoint menggunakan C++.

C++ API untuk Membuat Bagan dalam Presentasi PowerPoint

Aspose.Slides for C++ adalah pustaka C++ asli yang mendukung pembuatan, pembacaan, dan manipulasi file PowerPoint. API juga mendukung pembuatan bagan dalam presentasi PowerPoint. Anda dapat menginstal API melalui NuGet atau mengunduhnya langsung dari bagian Unduhan.

PM> Install-Package Aspose.Slides.Cpp

Buat Bagan Kolom dalam Presentasi PowerPoint menggunakan C++

Berikut ini adalah langkah-langkah untuk membuat bagan kolom dalam presentasi PowerPoint.

Berikut ini adalah contoh kode untuk menambahkan bagan kolom di Presentasi PowerPoint menggunakan C++.

// Jalur File Keluaran.
const String outputFilePath = u"OutputDirectory\\column_chart.pptx";

// Kelas Presentasi Instansiasi yang mewakili file PPTX
SharedPtr<Presentation> pres = MakeObject<Presentation>();

// Akses slide pertama
SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);

// Tambahkan bagan dengan data default
SharedPtr<IChart> chart = slide->get_Shapes()->AddChart(Aspose::Slides::Charts::ChartType::ClusteredColumn, 0, 0, 500, 500);

// Mengatur indeks lembar data bagan
int defaultWorksheetIndex = 0;

// Mendapatkan buku kerja data bagan
SharedPtr<IChartDataWorkbook> fact = chart->get_ChartData()->get_ChartDataWorkbook();

// Judul bagan pengaturan
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);

// Hapus seri dan kategori yang dibuat secara default
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();

// Tambahkan seri
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());

// Tambahkan kategori
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")));

// Ambil seri bagan pertama
SharedPtr<IChartSeries> series = chart->get_ChartData()->get_Series()->idx_get(0);

// Mengisi data seri
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)));

// Mengatur warna isian untuk seri
series->get_Format()->get_Fill()->set_FillType(FillType::Solid);
series->get_Format()->get_Fill()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Blue());

// Ambil seri bagan kedua
series = chart->get_ChartData()->get_Series()->idx_get(1);

// Mengisi data seri
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)));

// Mengatur warna isian untuk seri
series->get_Format()->get_Fill()->set_FillType(FillType::Solid);
series->get_Format()->get_Fill()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Orange());

// Label pertama akan menampilkan nama Kategori
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);

// Tampilkan nilai untuk label ketiga
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"/");

// Simpan file PPTX
pres->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

Berikut adalah gambar bagan kolom yang dihasilkan oleh kode contoh.

Buat Bagan Kolom di Presentasi PowerPoint

Membuat Pie Chart di Presentasi PowerPoint menggunakan C++

Berikut ini adalah langkah-langkah untuk menambahkan diagram lingkaran ke slide PowerPoint.

Berikut ini adalah contoh kode untuk menambahkan pie chart pada slide PowerPoint menggunakan C++.

// Jalur File Keluaran.
const String outputFilePath = u"OutputDirectory\\pie_chart.pptx";

// Kelas Presentasi Instansiasi yang mewakili file PPTX
SharedPtr<Presentation> pres = MakeObject<Presentation>();

// Akses slide pertama
SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);

// Tambahkan bagan dengan data default
SharedPtr<IChart> chart = slide->get_Shapes()->AddChart(Aspose::Slides::Charts::ChartType::Pie, 0, 0, 500, 500);

// Judul bagan pengaturan
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);

// Hapus seri dan kategori yang dibuat secara default
chart->get_ChartData()->get_Series()->Clear();
chart->get_ChartData()->get_Categories()->Clear();

// Mengatur indeks lembar data bagan
int defaultWorksheetIndex = 0;

// Mendapatkan buku kerja data bagan
SharedPtr<IChartDataWorkbook> fact = chart->get_ChartData()->get_ChartDataWorkbook();

// Tambahkan kategori
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")));

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

// Ambil seri bagan pertama
SharedPtr<IChartSeries> series = chart->get_ChartData()->get_Series()->idx_get(0);

// Mengisi data seri
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());

// Mengatur batas Sektor
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());

// Mengatur batas Sektor
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());

// Mengatur batas Sektor
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);

// Buat label khusus untuk setiap kategori dalam rangkaian
SharedPtr<IDataLabel> lbl1 = series->get_DataPoints()->idx_get(0)->get_Label();

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

// Menampilkan Garis Pemimpin untuk Bagan
series->get_Labels()->get_DefaultDataLabelFormat()->set_ShowLeaderLines(true);

// Mengatur Sudut Rotasi untuk Sektor Bagan Pai
chart->get_ChartData()->get_SeriesGroups()->idx_get(0)->set_FirstSliceAngle(180);

// Simpan file PPTX
pres->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

Berikut adalah gambar pie chart yang dihasilkan oleh kode contoh.

Buat Pie Chart di Presentasi PowerPoint

Buat Bagan Tersebar di Presentasi PowerPoint menggunakan C++

Berikut ini adalah langkah-langkah untuk menambahkan bagan tersebar ke slide PowerPoint.

Berikut ini adalah contoh kode untuk menambahkan bagan tersebar ke slide PowerPoint menggunakan C++.

// Jalur File Keluaran.
const String outputFilePath = u"OutputDirectory\\scattered_chart.pptx";

// Kelas Presentasi Instansiasi yang mewakili file PPTX
SharedPtr<Presentation> pres = MakeObject<Presentation>();

// Akses slide pertama
SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);

// Tambahkan bagan dengan data default
SharedPtr<IChart> chart = slide->get_Shapes()->AddChart(Aspose::Slides::Charts::ChartType::ScatterWithSmoothLines, 0, 0, 500, 500);

// Hapus seri yang dibuat secara default 
chart->get_ChartData()->get_Series()->Clear();

// Mengatur indeks lembar data bagan
int defaultWorksheetIndex = 0;

// Mendapatkan buku kerja data bagan
SharedPtr<IChartDataWorkbook> fact = chart->get_ChartData()->get_ChartDataWorkbook();

// Tambahkan seri
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());

// Ambil seri bagan pertama
SharedPtr<IChartSeries> series = chart->get_ChartData()->get_Series()->idx_get(0);

// Tambahkan poin baru (1:3) di sana.
series->get_DataPoints()->AddDataPointForScatterSeries(fact->GetCell(defaultWorksheetIndex, 2, 1, ObjectExt::Box<double>(1)), fact->GetCell(defaultWorksheetIndex, 2, 2, ObjectExt::Box<double>(3)));

// Tambahkan poin baru (2:10)
series->get_DataPoints()->AddDataPointForScatterSeries(fact->GetCell(defaultWorksheetIndex, 3, 1, ObjectExt::Box<double>(2)), fact->GetCell(defaultWorksheetIndex, 3, 2, ObjectExt::Box<double>(10)));

// Edit jenis seri
series->set_Type(ChartType::ScatterWithStraightLinesAndMarkers);

// Mengubah penanda rangkaian bagan
series->get_Marker()->set_Size(10);
series->get_Marker()->set_Symbol(MarkerStyleType::Star);

// Ambil seri bagan kedua
series = chart->get_ChartData()->get_Series()->idx_get(1);

// Tambahkan poin baru (5:2) di sana.
series->get_DataPoints()->AddDataPointForScatterSeries(fact->GetCell(defaultWorksheetIndex, 2, 3, ObjectExt::Box<double>(5)), fact->GetCell(defaultWorksheetIndex, 2, 4, ObjectExt::Box<double>(2)));

// Tambahkan poin baru (3:1)
series->get_DataPoints()->AddDataPointForScatterSeries(fact->GetCell(defaultWorksheetIndex, 3, 3, ObjectExt::Box<double>(3)), fact->GetCell(defaultWorksheetIndex, 3, 4, ObjectExt::Box<double>(1)));

// Tambahkan titik baru (2:2)
series->get_DataPoints()->AddDataPointForScatterSeries(fact->GetCell(defaultWorksheetIndex, 4, 3, ObjectExt::Box<double>(2)), fact->GetCell(defaultWorksheetIndex, 4, 4, ObjectExt::Box<double>(2)));

// Tambahkan titik baru (5:1)
series->get_DataPoints()->AddDataPointForScatterSeries(fact->GetCell(defaultWorksheetIndex, 5, 3, ObjectExt::Box<double>(5)), fact->GetCell(defaultWorksheetIndex, 5, 4, ObjectExt::Box<double>(1)));

// Mengubah penanda rangkaian bagan
series->get_Marker()->set_Size(10);
series->get_Marker()->set_Symbol(MarkerStyleType::Circle);

// Simpan file PPTX
pres->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

Berikut adalah gambar grafik tersebar yang dihasilkan oleh kode sampel.

Buat Bagan Tersebar di Presentasi PowerPoint

Buat Bagan Histogram di Presentasi PowerPoint

Berikut ini adalah langkah-langkah untuk membuat bagan histogram dalam presentasi PowerPoint.

Berikut ini adalah contoh kode untuk membuat bagan histogram dalam presentasi PowerPoint menggunakan C++.

// Jalur File Keluaran.
const String outputFilePath = u"OutputDirectory\\histogram_chart.pptx";

// Kelas Presentasi Instansiasi yang mewakili file PPTX
SharedPtr<Presentation> pres = MakeObject<Presentation>();

// Akses slide pertama
SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);

// Tambahkan bagan dengan data default
System::SharedPtr<IChart> chart = slide->get_Shapes()->AddChart(Aspose::Slides::Charts::ChartType::Histogram, 50, 50, 500, 400);

// Hapus seri dan kategori yang dibuat secara default
chart->get_ChartData()->get_Categories()->Clear();
chart->get_ChartData()->get_Series()->Clear();

// Mendapatkan buku kerja data bagan
System::SharedPtr<IChartDataWorkbook> wb = chart->get_ChartData()->get_ChartDataWorkbook();

wb->Clear(0);

// Tambahkan seri
System::SharedPtr<IChartSeries> series = chart->get_ChartData()->get_Series()->Add(Aspose::Slides::Charts::ChartType::Histogram);

// Mengisi data seri
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)));

// Setel jenis agregasi sumbu
chart->get_Axes()->get_HorizontalAxis()->set_AggregationType(Aspose::Slides::Charts::AxisAggregationType::Automatic);

// Simpan file PPTX
pres->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

Berikut adalah gambar grafik histogram yang dihasilkan oleh kode sampel.

Buat Bagan Histogram di Presentasi PowerPoint

Bagan yang Didukung Tambahan

Selain bagan yang ditunjukkan di atas, Aspose.Slides for C++ mendukung lebih banyak jenis bagan. Anda dapat melihat daftar lengkap jenis bagan yang didukung dengan kode contoh dengan membaca artikel dokumentasi ini.

Dapatkan Lisensi Gratis

Anda dapat meminta lisensi sementara gratis untuk mencoba API tanpa batasan evaluasi.

Kesimpulan

Pada artikel ini, Anda telah mempelajari cara menambahkan bagan di slide PowerPoint menggunakan C++. Khususnya, Anda telah mempelajari cara menambahkan bagan Kolom, Tersebar, Pai, dan Histogram dalam presentasi PowerPoint Anda. Selain itu, Anda telah melihat bahwa Aspose.Slides for C++ API menyediakan lebih banyak tipe bagan untuk Anda gunakan dalam presentasi PowerPoint Anda. Selain bagan, API membuktikan banyak fitur untuk menyempurnakan presentasi PowerPoint Anda. Anda dapat menjelajahi API secara mendetail dengan menggunakan dokumentasi resmi. Jika ada pertanyaan, jangan ragu untuk menghubungi kami di forum dukungan gratis.

Lihat juga