สร้างแผนภูมิในงานนำเสนอ PowerPoint

แผนภูมิเป็นเครื่องมือที่ยอดเยี่ยมสำหรับการแสดงข้อมูลอย่างกระชับ นอกจากนี้ยังทำให้ง่ายต่อการใช้ข้อมูลจำนวนมากโดยการแสดงข้อมูลเป็นภาพ การเพิ่มแผนภูมิในงานนำเสนอของคุณอาจเป็นประโยชน์เมื่อนำเสนอข้อมูล เช่น แนวโน้มการเติบโตของบริษัทหรืออัตราการใช้ผลิตภัณฑ์ ด้วยเหตุนี้ บทความนี้จะสอนวิธีสร้างแผนภูมิในงานนำเสนอ PowerPoint โดยใช้ C++

C++ API สำหรับสร้างแผนภูมิในงานนำเสนอ PowerPoint

Aspose.Slides for C++ เป็นไลบรารี่ C++ ดั้งเดิมที่รองรับการสร้าง อ่าน และจัดการไฟล์ PowerPoint API ยังสนับสนุนการสร้างแผนภูมิในงานนำเสนอ PowerPoint คุณสามารถติดตั้ง API ผ่าน NuGet หรือดาวน์โหลดโดยตรงจากส่วน ดาวน์โหลด

PM> Install-Package Aspose.Slides.Cpp

สร้างแผนภูมิคอลัมน์ในงานนำเสนอ PowerPoint โดยใช้ C ++

ต่อไปนี้เป็นขั้นตอนในการสร้างแผนภูมิคอลัมน์ในงานนำเสนอ PowerPoint

ต่อไปนี้คือโค้ดตัวอย่างเพื่อเพิ่มแผนภูมิคอลัมน์ใน PowerPoint Presentation โดยใช้ C++

// เส้นทางไฟล์เอาต์พุต
const String outputFilePath = u"OutputDirectory\\column_chart.pptx";

// สร้างอินสแตนซ์คลาสการนำเสนอที่แสดงถึงไฟล์ PPTX
SharedPtr<Presentation> pres = MakeObject<Presentation>();

// เข้าถึงสไลด์แรก
SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);

// เพิ่มแผนภูมิด้วยข้อมูลเริ่มต้น
SharedPtr<IChart> chart = slide->get_Shapes()->AddChart(Aspose::Slides::Charts::ChartType::ClusteredColumn, 0, 0, 500, 500);

// การตั้งค่าดัชนีของแผ่นข้อมูลแผนภูมิ
int defaultWorksheetIndex = 0;

// รับสมุดงานข้อมูลแผนภูมิ
SharedPtr<IChartDataWorkbook> fact = chart->get_ChartData()->get_ChartDataWorkbook();

// การตั้งค่าหัวเรื่องแผนภูมิ
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);

// ลบซีรี่ส์และหมวดหมู่ที่สร้างโดยค่าเริ่มต้น
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();

// เพิ่มซีรีส์
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());

// เพิ่มหมวดหมู่
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")));

// ใช้แผนภูมิชุดแรก
SharedPtr<IChartSeries> series = chart->get_ChartData()->get_Series()->idx_get(0);

// เติมข้อมูลชุดข้อมูล
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)));

// การตั้งค่าสีเติมสำหรับซีรีส์
series->get_Format()->get_Fill()->set_FillType(FillType::Solid);
series->get_Format()->get_Fill()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Blue());

// ใช้แผนภูมิชุดที่สอง
series = chart->get_ChartData()->get_Series()->idx_get(1);

// เติมข้อมูลชุดข้อมูล
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)));

// การตั้งค่าสีเติมสำหรับซีรีส์
series->get_Format()->get_Fill()->set_FillType(FillType::Solid);
series->get_Format()->get_Fill()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Orange());

// ป้ายกำกับแรกจะแสดงชื่อหมวดหมู่
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);

// แสดงค่าสำหรับป้ายกำกับที่สาม
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
pres->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

ต่อไปนี้คือรูปภาพของแผนภูมิคอลัมน์ที่สร้างโดยโค้ดตัวอย่าง

สร้างแผนภูมิคอลัมน์ในงานนำเสนอ PowerPoint

การสร้างแผนภูมิวงกลมในงานนำเสนอ PowerPoint โดยใช้ C++

ต่อไปนี้เป็นขั้นตอนในการเพิ่มแผนภูมิวงกลมลงในสไลด์ PowerPoint

ต่อไปนี้คือโค้ดตัวอย่างสำหรับการเพิ่มแผนภูมิวงกลมในสไลด์ PowerPoint โดยใช้ C++

// เส้นทางไฟล์เอาต์พุต
const String outputFilePath = u"OutputDirectory\\pie_chart.pptx";

// สร้างอินสแตนซ์คลาสการนำเสนอที่แสดงถึงไฟล์ PPTX
SharedPtr<Presentation> pres = MakeObject<Presentation>();

// เข้าถึงสไลด์แรก
SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);

// เพิ่มแผนภูมิด้วยข้อมูลเริ่มต้น
SharedPtr<IChart> chart = slide->get_Shapes()->AddChart(Aspose::Slides::Charts::ChartType::Pie, 0, 0, 500, 500);

// การตั้งค่าหัวเรื่องแผนภูมิ
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);

// ลบซีรี่ส์และหมวดหมู่ที่สร้างโดยค่าเริ่มต้น
chart->get_ChartData()->get_Series()->Clear();
chart->get_ChartData()->get_Categories()->Clear();

// การตั้งค่าดัชนีของแผ่นข้อมูลแผนภูมิ
int defaultWorksheetIndex = 0;

// รับสมุดงานข้อมูลแผนภูมิ
SharedPtr<IChartDataWorkbook> fact = chart->get_ChartData()->get_ChartDataWorkbook();

// เพิ่มหมวดหมู่
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")));

// เพิ่มซีรีส์
chart->get_ChartData()->get_Series()->Add(fact->GetCell(defaultWorksheetIndex, 0, 1, ObjectExt::Box<System::String>(u"Series 1")), chart->get_Type());

// ใช้แผนภูมิชุดแรก
SharedPtr<IChartSeries> series = chart->get_ChartData()->get_Series()->idx_get(0);

// เติมข้อมูลชุดข้อมูล
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());

// การตั้งค่าเส้นขอบของภาค
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());

// การตั้งค่าเส้นขอบของภาค
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());

// การตั้งค่าเส้นขอบของภาค
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);

// สร้างป้ายกำกับที่กำหนดเองสำหรับแต่ละหมวดหมู่ในซีรีส์
SharedPtr<IDataLabel> lbl1 = series->get_DataPoints()->idx_get(0)->get_Label();

// lbl.ShowCategoryName = จริง;
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);

// แสดงเส้นผู้นำสำหรับแผนภูมิ
series->get_Labels()->get_DefaultDataLabelFormat()->set_ShowLeaderLines(true);

// การตั้งค่ามุมการหมุนสำหรับส่วนแผนภูมิวงกลม
chart->get_ChartData()->get_SeriesGroups()->idx_get(0)->set_FirstSliceAngle(180);

// บันทึกไฟล์ PPTX
pres->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

ต่อไปนี้คือรูปภาพของแผนภูมิวงกลมที่สร้างโดยโค้ดตัวอย่าง

สร้างแผนภูมิวงกลมในงานนำเสนอ PowerPoint

สร้างแผนภูมิกระจายในงานนำเสนอ PowerPoint โดยใช้ C ++

ต่อไปนี้เป็นขั้นตอนในการเพิ่มแผนภูมิที่กระจัดกระจายไปยังสไลด์ PowerPoint

ต่อไปนี้คือโค้ดตัวอย่างเพื่อเพิ่มแผนภูมิที่กระจัดกระจายไปยังสไลด์ PowerPoint โดยใช้ C++

// เส้นทางไฟล์เอาต์พุต
const String outputFilePath = u"OutputDirectory\\scattered_chart.pptx";

// สร้างอินสแตนซ์คลาสการนำเสนอที่แสดงถึงไฟล์ PPTX
SharedPtr<Presentation> pres = MakeObject<Presentation>();

// เข้าถึงสไลด์แรก
SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);

// เพิ่มแผนภูมิด้วยข้อมูลเริ่มต้น
SharedPtr<IChart> chart = slide->get_Shapes()->AddChart(Aspose::Slides::Charts::ChartType::ScatterWithSmoothLines, 0, 0, 500, 500);

// ลบชุดเริ่มต้นที่สร้าง 
chart->get_ChartData()->get_Series()->Clear();

// การตั้งค่าดัชนีของแผ่นข้อมูลแผนภูมิ
int defaultWorksheetIndex = 0;

// รับสมุดงานข้อมูลแผนภูมิ
SharedPtr<IChartDataWorkbook> fact = chart->get_ChartData()->get_ChartDataWorkbook();

// เพิ่มซีรีส์
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());

// ใช้แผนภูมิชุดแรก
SharedPtr<IChartSeries> series = chart->get_ChartData()->get_Series()->idx_get(0);

// เพิ่มจุดใหม่ (1:3) ที่นั่น
series->get_DataPoints()->AddDataPointForScatterSeries(fact->GetCell(defaultWorksheetIndex, 2, 1, ObjectExt::Box<double>(1)), fact->GetCell(defaultWorksheetIndex, 2, 2, ObjectExt::Box<double>(3)));

// เพิ่มจุดใหม่ (2:10)
series->get_DataPoints()->AddDataPointForScatterSeries(fact->GetCell(defaultWorksheetIndex, 3, 1, ObjectExt::Box<double>(2)), fact->GetCell(defaultWorksheetIndex, 3, 2, ObjectExt::Box<double>(10)));

// แก้ไขประเภทของซีรีส์
series->set_Type(ChartType::ScatterWithStraightLinesAndMarkers);

// การเปลี่ยนเครื่องหมายชุดแผนภูมิ
series->get_Marker()->set_Size(10);
series->get_Marker()->set_Symbol(MarkerStyleType::Star);

// ใช้แผนภูมิชุดที่สอง
series = chart->get_ChartData()->get_Series()->idx_get(1);

// เพิ่มจุดใหม่ (5:2) ที่นั่น
series->get_DataPoints()->AddDataPointForScatterSeries(fact->GetCell(defaultWorksheetIndex, 2, 3, ObjectExt::Box<double>(5)), fact->GetCell(defaultWorksheetIndex, 2, 4, ObjectExt::Box<double>(2)));

// เพิ่มจุดใหม่ (3:1)
series->get_DataPoints()->AddDataPointForScatterSeries(fact->GetCell(defaultWorksheetIndex, 3, 3, ObjectExt::Box<double>(3)), fact->GetCell(defaultWorksheetIndex, 3, 4, ObjectExt::Box<double>(1)));

// เพิ่มจุดใหม่ (2:2)
series->get_DataPoints()->AddDataPointForScatterSeries(fact->GetCell(defaultWorksheetIndex, 4, 3, ObjectExt::Box<double>(2)), fact->GetCell(defaultWorksheetIndex, 4, 4, ObjectExt::Box<double>(2)));

// เพิ่มจุดใหม่ (5:1)
series->get_DataPoints()->AddDataPointForScatterSeries(fact->GetCell(defaultWorksheetIndex, 5, 3, ObjectExt::Box<double>(5)), fact->GetCell(defaultWorksheetIndex, 5, 4, ObjectExt::Box<double>(1)));

// การเปลี่ยนเครื่องหมายชุดแผนภูมิ
series->get_Marker()->set_Size(10);
series->get_Marker()->set_Symbol(MarkerStyleType::Circle);

// บันทึกไฟล์ PPTX
pres->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

ต่อไปนี้คือรูปภาพของแผนภูมิกระจัดกระจายที่สร้างโดยโค้ดตัวอย่าง

สร้างแผนภูมิกระจายในงานนำเสนอ PowerPoint

สร้างแผนภูมิฮิสโตแกรมในงานนำเสนอ PowerPoint

ต่อไปนี้เป็นขั้นตอนในการสร้างแผนภูมิฮิสโตแกรมในงานนำเสนอ PowerPoint

ต่อไปนี้คือโค้ดตัวอย่างในการสร้างแผนภูมิฮิสโตแกรมในงานนำเสนอ PowerPoint โดยใช้ C++

// เส้นทางไฟล์เอาต์พุต
const String outputFilePath = u"OutputDirectory\\histogram_chart.pptx";

// สร้างอินสแตนซ์คลาสการนำเสนอที่แสดงถึงไฟล์ PPTX
SharedPtr<Presentation> pres = MakeObject<Presentation>();

// เข้าถึงสไลด์แรก
SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);

// เพิ่มแผนภูมิด้วยข้อมูลเริ่มต้น
System::SharedPtr<IChart> chart = slide->get_Shapes()->AddChart(Aspose::Slides::Charts::ChartType::Histogram, 50, 50, 500, 400);

// ลบซีรี่ส์และหมวดหมู่ที่สร้างโดยค่าเริ่มต้น
chart->get_ChartData()->get_Categories()->Clear();
chart->get_ChartData()->get_Series()->Clear();

// รับสมุดงานข้อมูลแผนภูมิ
System::SharedPtr<IChartDataWorkbook> wb = chart->get_ChartData()->get_ChartDataWorkbook();

wb->Clear(0);

// เพิ่มซีรีส์
System::SharedPtr<IChartSeries> series = chart->get_ChartData()->get_Series()->Add(Aspose::Slides::Charts::ChartType::Histogram);

// เติมข้อมูลชุดข้อมูล
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)));

// ตั้งค่าประเภทการรวมแกน
chart->get_Axes()->get_HorizontalAxis()->set_AggregationType(Aspose::Slides::Charts::AxisAggregationType::Automatic);

// บันทึกไฟล์ PPTX
pres->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

ต่อไปนี้คือรูปภาพของแผนภูมิฮิสโตแกรมที่สร้างโดยโค้ดตัวอย่าง

สร้างแผนภูมิฮิสโตแกรมในงานนำเสนอ PowerPoint

แผนภูมิที่รองรับเพิ่มเติม

นอกเหนือจากแผนภูมิที่แสดงด้านบน Aspose.Slides for C++ ยังรองรับแผนภูมิประเภทอื่นๆ อีกมากมาย คุณสามารถดูรายการประเภทแผนภูมิที่รองรับทั้งหมดพร้อมโค้ดตัวอย่างโดยอ่านบทความเอกสารประกอบ this

รับใบอนุญาตฟรี

คุณสามารถขอ ใบอนุญาตชั่วคราวฟรี เพื่อลองใช้ API โดยไม่มีข้อจำกัดในการประเมิน

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีเพิ่มแผนภูมิในสไลด์ PowerPoint โดยใช้ C++ โดยเฉพาะอย่างยิ่ง คุณได้เรียนรู้วิธีเพิ่มแผนภูมิคอลัมน์ แผนภูมิกระจาย แผนภูมิวงกลม และแผนภูมิฮิสโตแกรมในงานนำเสนอ PowerPoint ของคุณ นอกจากนี้ คุณได้เห็นว่า Aspose.Slides for C++ API มีแผนภูมิประเภทต่างๆ มากมายให้คุณใช้ในงานนำเสนอ PowerPoint ของคุณ นอกจากแผนภูมิแล้ว API ยังพิสูจน์คุณสมบัติมากมายสำหรับการปรับปรุงงานนำเสนอ PowerPoint ของคุณ คุณสามารถสำรวจ API โดยละเอียดได้โดยใช้ เอกสารอย่างเป็นทางการ ในกรณีที่มีคำถามใดๆ โปรดติดต่อเราได้ที่ ฟอรัมสนับสนุนฟรี

ดูสิ่งนี้ด้วย