צור תרשימים במצגות PowerPoint

תרשימים הם כלי מצוין להצגת נתונים תמציתית. יתרה מכך, הם מקלים על צריכת כמויות גדולות של נתונים על ידי ייצוג חזותי. הוספת תרשימים למצגות שלך עשויה להועיל בעת הצגת נתונים כגון מגמות הצמיחה של החברה או שיעור אימוץ המוצרים. לשם כך, מאמר זה ילמד אותך כיצד ליצור תרשימים ב-PowerPoint PPT או PPTX ב-C++.

C++ API ליצירת תרשימים ב-PowerPoint PPT

Aspose.Slides for C++ היא ספריית C++ מקורית התומכת ביצירה, קריאה וטיפול בקובצי PowerPoint. ה-API תומך גם ביצירת תרשימים במצגות PowerPoint. אתה יכול להתקין את ה-API דרך NuGet או להוריד אותו ישירות מהקטע הורדות.

PM> Install-Package Aspose.Slides.Cpp

צור תרשים עמודות ב-PowerPoint PPT באמצעות C++

להלן השלבים ליצירת תרשים עמודות ב-PowerPoint PPT.

להלן הקוד לדוגמה להוספת תרשים עמודות במצגת PowerPoint באמצעות C++.

// נתיב קובץ פלט.
const String outputFilePath = u"OutputDirectory\\column_chart.pptx";

// מחלקה Instantiate Presentation המייצגת קובץ 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 PPT

יצירת תרשים עוגה ב-PowerPoint PPTX באמצעות C++

להלן השלבים להוספת תרשים עוגה ל-PowerPoint PPTX.

להלן הקוד לדוגמה להוספת תרשים עוגה ב-PowerPoint PPTX באמצעות C++.

// נתיב קובץ פלט.
const String outputFilePath = u"OutputDirectory\\pie_chart.pptx";

// מחלקה Instantiate Presentation המייצגת קובץ 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 = 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);

// מציג קווי מנהיג לתרשים
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 PPTX

צור תרשים מפוזר במצגת PPT ב-C++

להלן השלבים להוספת תרשים מפוזר לשקופיות PowerPoint.

להלן הקוד לדוגמה להוספת תרשים מפוזר ל-PowerPoint PPT ב-C++.

// נתיב קובץ פלט.
const String outputFilePath = u"OutputDirectory\\scattered_chart.pptx";

// מחלקה Instantiate Presentation המייצגת קובץ 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 PPT

C++ צור תרשים היסטוגרמה ב-PowerPoint PPT

להלן השלבים ליצירת תרשים היסטוגרמה במצגות PowerPoint.

להלן הקוד לדוגמה ליצירת תרשים היסטוגרמה במצגות PowerPoint באמצעות C++.

// נתיב קובץ פלט.
const String outputFilePath = u"OutputDirectory\\histogram_chart.pptx";

// מחלקה Instantiate Presentation המייצגת קובץ 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 עבור C++ תומך בהרבה יותר סוגי תרשימים. אתה יכול להציג את הרשימה המלאה של סוגי תרשימים נתמכים עם קוד לדוגמה על ידי קריאת מאמר התיעוד זה.

C++ PowerPoint API - קבל רישיון חינם

אתה יכול לבקש רישיון זמני בחינם כדי לנסות את ה-API ללא מגבלות הערכה.

סיכום

במאמר זה, למדת כיצד להוסיף תרשימים בשקופיות PowerPoint באמצעות C++. באופן ספציפי, למדת כיצד להוסיף תרשימי עמודות, מפוזרים, עוגה והיסטוגרמה במצגות PowerPoint שלך. בנוסף, ראית ש-Aspose.Slides עבור C++ API מספק הרבה יותר סוגי תרשימים לשימושך במצגות PowerPoint שלך.

Aspose.Slides עבור C++ - קרא עוד

מלבד תרשימים, ה-Aspose.Slides עבור C++ מספק חבורה של תכונות לשיפור מצגות ה-PowerPoint שלך. אתה יכול לחקור את ה-API בפירוט על ידי שימוש בתיעוד הרשמי. בכל שאלה, אנא אל תהסס לפנות אלינו בפורום התמיכה החינמית.

ראה גם