PowerPoint Sunumlarında Grafikler Oluşturun

Grafikler, verileri kısaca göstermek için mükemmel bir araçtır. Ayrıca büyük miktarda veriyi görsel olarak temsil ederek tüketilmesini kolaylaştırırlar. Sunularınıza çizelgeler eklemek, şirketin büyüme eğilimleri veya ürün benimseme oranı gibi verileri sunarken faydalı olabilir. Bu amaçla, bu makale size C++ kullanarak PowerPoint sunumlarında nasıl grafik oluşturacağınızı öğretecektir.

PowerPoint Sunumlarında Grafik Oluşturmak için C++ API

Aspose.Slides for C++, PowerPoint dosyaları oluşturmayı, okumayı ve değiştirmeyi destekleyen yerel bir C++ kitaplığıdır. API, PowerPoint sunumlarında grafik oluşturmayı da destekler. API’yi NuGet aracılığıyla yükleyebilir veya doğrudan İndirilenler bölümünden indirebilirsiniz.

PM> Install-Package Aspose.Slides.Cpp

C++ kullanarak PowerPoint Sunumlarında Sütun Grafiği Oluşturma

PowerPoint sunularında sütun grafiği oluşturma adımları aşağıda verilmiştir.

Aşağıda, C++ kullanarak PowerPoint Sunusu’na bir sütun grafiği eklemek için örnek kod verilmiştir.

// Çıktı Dosya Yolu.
const String outputFilePath = u"OutputDirectory\\column_chart.pptx";

// PPTX dosyasını temsil eden Sunum sınıfını oluşturun
SharedPtr<Presentation> pres = MakeObject<Presentation>();

// İlk slayda erişin
SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);

// Varsayılan verilerle grafik ekle
SharedPtr<IChart> chart = slide->get_Shapes()->AddChart(Aspose::Slides::Charts::ChartType::ClusteredColumn, 0, 0, 500, 500);

// Grafik veri sayfasının dizinini ayarlama
int defaultWorksheetIndex = 0;

// Grafik verileri çalışma kitabını alma
SharedPtr<IChartDataWorkbook> fact = chart->get_ChartData()->get_ChartDataWorkbook();

// Ayar tablosu Başlık
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);

// Oluşturulan varsayılan serileri ve kategorileri silin
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();

// Seri ekle
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());

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

// İlk grafik serisini al
SharedPtr<IChartSeries> series = chart->get_ChartData()->get_Series()->idx_get(0);

// Seri verilerini doldur
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)));

// Seri için dolgu rengini ayarlama
series->get_Format()->get_Fill()->set_FillType(FillType::Solid);
series->get_Format()->get_Fill()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Blue());

// İkinci grafik serisini alın
series = chart->get_ChartData()->get_Series()->idx_get(1);

// Seri verilerini doldur
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)));

// Seri için dolgu rengini ayarlama
series->get_Format()->get_Fill()->set_FillType(FillType::Solid);
series->get_Format()->get_Fill()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Orange());

// İlk etiket Kategori adını gösterecek
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);

// Üçüncü etiket için değer göster
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"/");

// PPTX dosyasını kaydet
pres->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

Örnek kod tarafından oluşturulan sütun grafiğinin görüntüsü aşağıdadır.

PowerPoint Sunumlarında Sütun Grafiği Oluşturma

C++ kullanarak PowerPoint Sunumlarında Pasta Grafiği Oluşturma

PowerPoint slaytlarına pasta grafik ekleme adımları aşağıda verilmiştir.

Aşağıda, C++ kullanarak PowerPoint slaytlarına pasta grafiği eklemek için örnek kod verilmiştir.

// Çıktı Dosya Yolu.
const String outputFilePath = u"OutputDirectory\\pie_chart.pptx";

// PPTX dosyasını temsil eden Sunum sınıfını oluşturun
SharedPtr<Presentation> pres = MakeObject<Presentation>();

// İlk slayda erişin
SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);

// Varsayılan verilerle grafik ekle
SharedPtr<IChart> chart = slide->get_Shapes()->AddChart(Aspose::Slides::Charts::ChartType::Pie, 0, 0, 500, 500);

// Ayar tablosu Başlık
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);

// Oluşturulan varsayılan serileri ve kategorileri silin
chart->get_ChartData()->get_Series()->Clear();
chart->get_ChartData()->get_Categories()->Clear();

// Grafik veri sayfasının dizinini ayarlama
int defaultWorksheetIndex = 0;

// Grafik verileri çalışma kitabını alma
SharedPtr<IChartDataWorkbook> fact = chart->get_ChartData()->get_ChartDataWorkbook();

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

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

// İlk grafik serisini al
SharedPtr<IChartSeries> series = chart->get_ChartData()->get_Series()->idx_get(0);

// Seri verilerini doldur
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());

// Sektör sınırını ayarlama
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());

// Sektör sınırını ayarlama
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());

// Sektör sınırını ayarlama
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);

// Serideki her kategori için özel etiketler oluşturun
SharedPtr<IDataLabel> lbl1 = series->get_DataPoints()->idx_get(0)->get_Label();

// lbl.ShowCategoryName = doğru;
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);

// Grafik için Öncü Çizgileri Gösterme
series->get_Labels()->get_DefaultDataLabelFormat()->set_ShowLeaderLines(true);

// Pasta Grafik Sektörleri için Dönme Açısını Ayarlama
chart->get_ChartData()->get_SeriesGroups()->idx_get(0)->set_FirstSliceAngle(180);

// PPTX dosyasını kaydet
pres->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

Örnek kod tarafından oluşturulan pasta grafiğin görüntüsü aşağıdadır.

PowerPoint Sunumlarında Pasta Grafiği Oluşturma

C++ kullanarak PowerPoint Sunumunda Dağınık Grafik Oluşturma

PowerPoint slaytlarına dağınık grafik ekleme adımları aşağıda verilmiştir.

C++ kullanarak PowerPoint slaytlarına dağınık bir grafik eklemek için örnek kod aşağıdadır.

// Çıktı Dosya Yolu.
const String outputFilePath = u"OutputDirectory\\scattered_chart.pptx";

// PPTX dosyasını temsil eden Sunum sınıfını oluşturun
SharedPtr<Presentation> pres = MakeObject<Presentation>();

// İlk slayda erişin
SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);

// Varsayılan verilerle grafik ekle
SharedPtr<IChart> chart = slide->get_Shapes()->AddChart(Aspose::Slides::Charts::ChartType::ScatterWithSmoothLines, 0, 0, 500, 500);

// Oluşturulan varsayılan seriyi sil 
chart->get_ChartData()->get_Series()->Clear();

// Grafik veri sayfasının dizinini ayarlama
int defaultWorksheetIndex = 0;

// Grafik verileri çalışma kitabını alma
SharedPtr<IChartDataWorkbook> fact = chart->get_ChartData()->get_ChartDataWorkbook();

// Seri ekle
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());

// İlk grafik serisini al
SharedPtr<IChartSeries> series = chart->get_ChartData()->get_Series()->idx_get(0);

// Buraya yeni nokta (1:3) ekleyin.
series->get_DataPoints()->AddDataPointForScatterSeries(fact->GetCell(defaultWorksheetIndex, 2, 1, ObjectExt::Box<double>(1)), fact->GetCell(defaultWorksheetIndex, 2, 2, ObjectExt::Box<double>(3)));

// Yeni nokta ekle (2:10)
series->get_DataPoints()->AddDataPointForScatterSeries(fact->GetCell(defaultWorksheetIndex, 3, 1, ObjectExt::Box<double>(2)), fact->GetCell(defaultWorksheetIndex, 3, 2, ObjectExt::Box<double>(10)));

// Seri türünü düzenleyin
series->set_Type(ChartType::ScatterWithStraightLinesAndMarkers);

// Grafik serisi işaretçisini değiştirme
series->get_Marker()->set_Size(10);
series->get_Marker()->set_Symbol(MarkerStyleType::Star);

// İkinci grafik serisini alın
series = chart->get_ChartData()->get_Series()->idx_get(1);

// Buraya yeni nokta (5:2) ekleyin.
series->get_DataPoints()->AddDataPointForScatterSeries(fact->GetCell(defaultWorksheetIndex, 2, 3, ObjectExt::Box<double>(5)), fact->GetCell(defaultWorksheetIndex, 2, 4, ObjectExt::Box<double>(2)));

// Yeni nokta ekle (3:1)
series->get_DataPoints()->AddDataPointForScatterSeries(fact->GetCell(defaultWorksheetIndex, 3, 3, ObjectExt::Box<double>(3)), fact->GetCell(defaultWorksheetIndex, 3, 4, ObjectExt::Box<double>(1)));

// Yeni nokta ekle (2:2)
series->get_DataPoints()->AddDataPointForScatterSeries(fact->GetCell(defaultWorksheetIndex, 4, 3, ObjectExt::Box<double>(2)), fact->GetCell(defaultWorksheetIndex, 4, 4, ObjectExt::Box<double>(2)));

// Yeni nokta ekle (5:1)
series->get_DataPoints()->AddDataPointForScatterSeries(fact->GetCell(defaultWorksheetIndex, 5, 3, ObjectExt::Box<double>(5)), fact->GetCell(defaultWorksheetIndex, 5, 4, ObjectExt::Box<double>(1)));

// Grafik serisi işaretçisini değiştirme
series->get_Marker()->set_Size(10);
series->get_Marker()->set_Symbol(MarkerStyleType::Circle);

// PPTX dosyasını kaydet
pres->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

Örnek kod tarafından oluşturulan dağınık grafiğin görüntüsü aşağıdadır.

PowerPoint Sunumlarında Dağınık Grafik Oluşturma

PowerPoint Sunumlarında Histogram Grafiği Oluşturma

Aşağıda, PowerPoint sunumlarında histogram grafiği oluşturma adımları yer almaktadır.

Aşağıda, C++ kullanarak PowerPoint sunumlarında bir histogram grafiği oluşturmak için örnek kod bulunmaktadır.

// Çıktı Dosya Yolu.
const String outputFilePath = u"OutputDirectory\\histogram_chart.pptx";

// PPTX dosyasını temsil eden Sunum sınıfını oluşturun
SharedPtr<Presentation> pres = MakeObject<Presentation>();

// İlk slayda erişin
SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);

// Varsayılan verilerle grafik ekle
System::SharedPtr<IChart> chart = slide->get_Shapes()->AddChart(Aspose::Slides::Charts::ChartType::Histogram, 50, 50, 500, 400);

// Oluşturulan varsayılan serileri ve kategorileri silin
chart->get_ChartData()->get_Categories()->Clear();
chart->get_ChartData()->get_Series()->Clear();

// Grafik verileri çalışma kitabını alma
System::SharedPtr<IChartDataWorkbook> wb = chart->get_ChartData()->get_ChartDataWorkbook();

wb->Clear(0);

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

// Seri verilerini doldur
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)));

// Eksen toplama türünü ayarla
chart->get_Axes()->get_HorizontalAxis()->set_AggregationType(Aspose::Slides::Charts::AxisAggregationType::Automatic);

// PPTX dosyasını kaydet
pres->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

Örnek kod tarafından oluşturulan histogram grafiğinin görüntüsü aşağıdadır.

PowerPoint Sunumlarında Histogram Grafiği Oluşturma

Ek Desteklenen Grafikler

Aspose.Slides for C++, yukarıda gösterilen grafikler dışında çok daha fazla grafik türünü destekler. Bu dokümantasyon makalesini okuyarak desteklenen grafik türlerinin tam listesini örnek kodla görüntüleyebilirsiniz.

Ücretsiz Lisans Alın

API’yi değerlendirme sınırlamaları olmadan denemek için ücretsiz bir geçici lisans talep edebilirsiniz.

Çözüm

Bu makalede, C++ kullanarak PowerPoint slaytlarına nasıl grafik ekleyeceğinizi öğrendiniz. Özellikle, PowerPoint sunumlarınıza Sütun, Dağınık, Pasta ve Histogram grafiklerini nasıl ekleyeceğinizi öğrendiniz. Ek olarak, Aspose.Slides for C++ API’nin PowerPoint sunumlarınızda kullanmanız için çok daha fazla grafik türü sağladığını gördünüz. Grafiklerin yanı sıra API, PowerPoint sunumlarınızı geliştirmek için bir dizi özellik sunar. Resmi belgeleri kullanarak API’yi ayrıntılı olarak inceleyebilirsiniz. Herhangi bir sorunuz olması durumunda, lütfen [ücretsiz destek forumu] üzerinden bizimle iletişime geçmekten çekinmeyin]49.

Ayrıca bakınız