أنشئ مخططات في عروض PowerPoint التقديمية

الرسوم البيانية هي أداة ممتازة لعرض البيانات بإيجاز. علاوة على ذلك ، فإنها تجعل من السهل استهلاك كميات كبيرة من البيانات من خلال تمثيلها بصريًا. قد تكون إضافة المخططات إلى عروضك التقديمية مفيدة عند تقديم بيانات مثل اتجاهات نمو الشركة أو معدل تبني المنتج. تحقيقًا لهذه الغاية ، ستعلمك هذه المقالة كيفية إنشاء مخططات في عروض PowerPoint التقديمية باستخدام C ++.

واجهة برمجة تطبيقات C ++ لإنشاء الرسوم البيانية في عروض PowerPoint التقديمية

Aspose.Slides for C ++ هي مكتبة C ++ أصلية تدعم إنشاء ملفات PowerPoint وقراءتها ومعالجتها. تدعم واجهة برمجة التطبيقات أيضًا إنشاء الرسوم البيانية في عروض 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 Presentation باستخدام 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 ++ العديد من أنواع المخططات. يمكنك عرض القائمة الكاملة لأنواع المخططات المدعومة مع نموذج التعليمات البرمجية بقراءة مقالة التوثيق هذه.

احصل على رخصة مجانية

يمكنك طلب ترخيص مجاني مؤقت لتجربة واجهة برمجة التطبيقات بدون قيود تقييمية.

استنتاج

في هذه المقالة ، تعلمت كيفية إضافة المخططات في شرائح PowerPoint باستخدام C ++. على وجه التحديد ، لقد تعلمت كيفية إضافة المخططات العمودية والمبعثرة والدائرية والمدرج التكراري في عروض PowerPoint التقديمية. بالإضافة إلى ذلك ، لقد رأيت أن Aspose.Slides for C ++ API توفر لك الكثير من أنواع المخططات لتستخدمها في عروض PowerPoint التقديمية. إلى جانب الرسوم البيانية ، تثبت API مجموعة من الميزات لتحسين عروض PowerPoint التقديمية. يمكنك استكشاف API بالتفصيل باستخدام الوثائق الرسمية. في حالة وجود أي أسئلة ، لا تتردد في الاتصال بنا على منتدى الدعم المجاني.

أنظر أيضا