إنشاء أو تحديث المخططات في عرض PowerPoint باستخدام Java

نظرة عامة

تستعرض هذه المقالة كيفية إنشاء مخططات عرض PowerPoint باستخدام Java. يمكنك أيضًا تحديث المخططات باستخدام Java. تغطي هذه المواضيع.

مخطط: عادي

مخطط: مبعثر

مخطط: دائري

مخطط: شجرة

مخطط: أسهم

مخطط: صندوق وشعيرات

مخطط: قمع

مخطط: شمس

مخطط: هيستوجرام

مخطط: رادار

مخطط: متعدد الفئات

مخطط: خريطة

إجراء: تحديث مخطط

إنشاء مخطط

تساعد المخططات الناس على تصور البيانات بسرعة واكتساب رؤى قد لا تكون واضحة على الفور من جدول أو جدول بيانات.

لماذا إنشاء مخططات؟

باستخدام المخططات، يمكنك

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

في PowerPoint، يمكنك إنشاء مخططات من خلال وظيفة الإدراج، التي توفر قوالب تستخدم لتصميم أنواع عديدة من المخططات. باستخدام Aspose.Slides، يمكنك إنشاء مخططات عادية (استنادًا إلى أنواع المخططات الشائعة) ومخططات مخصصة.

إنشاء مخططات عادية

خطوات: إنشاء مخطط

خطوات الكود:

  1. إنشاء مثيل من فئة Presentation.
  2. الحصول على مرجع الشريحة من خلال فهرسها.
  3. إضافة مخطط مع بعض البيانات وتحديد نوع المخطط المفضل لديك.
  4. إضافة عنوان للمخطط.
  5. الوصول إلى ورقة بيانات المخطط.
  6. مسح جميع السلاسل والفئات الافتراضية.
  7. إضافة سلاسل وفئات جديدة.
  8. إضافة بعض البيانات الجديدة للمخطط لسلسلة المخطط.
  9. إضافة لون ملء لسلسلة المخطط.
  10. إضافة تسميات لسلسلة المخطط.
  11. كتابة العرض المعدل كملف PPTX.

يوضح هذا الكود البرمجي بلغة Java كيفية إنشاء مخطط عادي:

// إنشاء مثيل لفئة العرض التي تمثل ملف PPTX
Presentation pres = new Presentation();
try {
    // الوصول إلى الشريحة الأولى
    ISlide sld = pres.getSlides().get_Item(0);
    
    // إضافة مخطط مع بياناته الافتراضية
    IChart chart = sld.getShapes().addChart(ChartType.ClusteredColumn, 0, 0, 500, 500);
    
    // تعيين عنوان المخطط
    chart.getChartTitle().addTextFrameForOverriding("عنوان تجريبي");
    chart.getChartTitle().getTextFrameForOverriding().getTextFrameFormat().setCenterText(NullableBool.True);
    chart.getChartTitle().setHeight(20);
    chart.hasTitle();
    
    // تعيين السلسلة الأولى لعرض القيم
    chart.getChartData().getSeries().get_Item(0).getLabels().getDefaultDataLabelFormat().setShowValue(true);
    
    // تعيين فهرس ورقة بيانات المخطط
    int defaultWorksheetIndex = 0;
    
    // الحصول على ورقة بيانات المخطط
    IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
    
    // حذف السلاسل والفئات الافتراضية التي تم إنشاؤها
    chart.getChartData().getSeries().clear();
    chart.getChartData().getCategories().clear();
    
    // إضافة سلاسل جديدة
    chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 1, "Series 1"),chart.getType());
    chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 2, "Series 2"),chart.getType());
    
    // إضافة فئات جديدة
    chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 1, 0, "Caetegoty 1"));
    chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 2, 0, "Caetegoty 2"));
    chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 3, 0, "Caetegoty 3"));
    
    // أخذ أول سلسلة مخطط
    IChartSeries series = chart.getChartData().getSeries().get_Item(0);
    
    // الآن ملء بيانات السلسلة
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 1, 1, 20));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 50));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 30));
    
    // تعيين لون الملء للسلسلة
    series.getFormat().getFill().setFillType(FillType.Solid);
    series.getFormat().getFill().getSolidFillColor().setColor(Color.RED);
    
    // أخذ السلسلة الثانية
    series = chart.getChartData().getSeries().get_Item(1);
    
    // ملء بيانات السلسلة
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 1, 2, 30));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 2, 2, 10));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 3, 2, 60));
    
    // تعيين لون الملء للسلسلة
    series.getFormat().getFill().setFillType(FillType.Solid);
    series.getFormat().getFill().getSolidFillColor().setColor(Color.GREEN);
    
    // إنشئ تسميات مخصصة لكل فئة للسلسلة الجديدة
    // تعيين أول تسمية لعرض اسم الفئة
    IDataLabel lbl = series.getDataPoints().get_Item(0).getLabel();
    lbl.getDataLabelFormat().setShowCategoryName(true);
    
    lbl = series.getDataPoints().get_Item(1).getLabel();
    lbl.getDataLabelFormat().setShowSeriesName(true);
    
    // عرض القيمة للتسمية الثالثة
    lbl = series.getDataPoints().get_Item(2).getLabel();
    lbl.getDataLabelFormat().setShowValue(true);
    lbl.getDataLabelFormat().setShowSeriesName(true);
    lbl.getDataLabelFormat().setSeparator("/");
    
    // حفظ العرض مع المخطط
    pres.save("output.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

إنشاء مخططات مبعثر

تستخدم المخططات المبعثرة (المعروفة أيضًا باسم المخططات المبعثرة أو الرسوم البيانية xy) للتحقق من الأنماط أو لتوضيح العلاقة بين متغيرين.

يمكن أن ترغب في استخدام مخطط مبعثر عندما

  • يكون لديك بيانات عددية زوجية
  • لديك متغيرين يتوافقان بشكل جيد معًا
  • تريد تحديد ما إذا كان المتغيران مرتبطين
  • لديك متغير مستقل له قيم متعددة لمتغير تابع

خطوات: إنشاء مخطط مبعثر باستخدام Java | خطوات: إنشاء مخطط مبعثر في PowerPoint باستخدام Java | خطوات: إنشاء مخطط مبعثر في عرض PowerPoint باستخدام Java

  1. يرجى اتباع الخطوات المذكورة أعلاه في إنشاء مخططات عادية
  2. بالنسبة للخطوة الثالثة، أضف مخططًا مع بعض البيانات وحدد نوع المخطط الخاص بك كواحد من الخيارات التالية:
    1. ChartType.ScatterWithMarkers - يمثل مخطط مبعثر.
    2. ChartType.ScatterWithSmoothLinesAndMarkers - يمثل مخطط مبعثر متصل بالمنحنيات، مع علامات البيانات.
    3. ChartType.ScatterWithSmoothLines - يمثل مخطط مبعثر متصل بالمنحنيات، بدون علامات البيانات.
    4. ChartType.ScatterWithStraightLinesAndMarkers - يمثل مخطط مبعثر متصل بالخطوط، مع علامات البيانات.
    5. ChartType.ScatterWithStraightLines - يمثل مخطط مبعثر متصل بالخطوط، بدون علامات البيانات.

يوضح هذا الكود البرمجي بلغة Java كيفية إنشاء مخططات مبعثر باستخدام مجموعة متنوعة من العلامات:

// إنشاء مثيل لفئة العرض التي تمثل ملف PPTX
Presentation pres = new Presentation();
try {
    // الوصول إلى الشريحة الأولى
    ISlide slide = pres.getSlides().get_Item(0);

    // إنشاء المخطط الافتراضي
    IChart chart = slide.getShapes().addChart(ChartType.ScatterWithSmoothLines, 0, 0, 400, 400);
    
    // الحصول على فهرس ورقة بيانات المخطط الافتراضية
    int defaultWorksheetIndex = 0;
    
    // الحصول على ورقة بيانات المخطط
    IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
    
    // حذف السلسلة التجريبية 
    chart.getChartData().getSeries().clear();
    
    // إضافة سلاسل جديدة
    chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.getType());
    chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 1, 3, "Series 2"), chart.getType());
    
    // أخذ أول سلسلة مخطط
    IChartSeries series = chart.getChartData().getSeries().get_Item(0);
    
    // إضافة نقطة جديدة (1:3) إلى السلسلة
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 1), fact.getCell(defaultWorksheetIndex, 2, 2, 3));
    
    // إضافة نقطة جديدة (2:10)
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 2), fact.getCell(defaultWorksheetIndex, 3, 2, 10));
    
    // تغيير نوع السلسلة
    series.setType(ChartType.ScatterWithStraightLinesAndMarkers);
    
    // تغيير علامة السلسلة
    series.getMarker().setSize(10);
    series.getMarker().setSymbol(MarkerStyleType.Star);
    
    // أخذ السلسلة الثانية
    series = chart.getChartData().getSeries().get_Item(1);
    
    // إضافة نقطة جديدة (5:2) هناك
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 2, 3, 5), fact.getCell(defaultWorksheetIndex, 2, 4, 2));
    
    // إضافة نقطة جديدة (3:1)
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 3, 3, 3), fact.getCell(defaultWorksheetIndex, 3, 4, 1));
    
    // إضافة نقطة جديدة (2:2)
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 4, 3, 2), fact.getCell(defaultWorksheetIndex, 4, 4, 2));
    
    // إضافة نقطة جديدة (5:1)
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 5, 3, 5), fact.getCell(defaultWorksheetIndex, 5, 4, 1));
    
    // تغيير علامة السلسلة
    series.getMarker().setSize(10);
    series.getMarker().setSymbol(MarkerStyleType.Circle);
    
    pres.save("AsposeChart_out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

إنشاء مخططات دائرية

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

خطوات: إنشاء مخطط دائري باستخدام Java | خطوات: إنشاء مخطط دائري في PowerPoint باستخدام Java | خطوات: إنشاء مخطط دائري في عرض PowerPoint باستخدام Java

  1. إنشاء مثيل من فئة Presentation.
  2. الحصول على مرجع الشريحة من خلال فهرسها.
  3. إضافة مخطط مع بيانات افتراضية جنبًا إلى جنب مع النوع المطلوب (في هذه الحالة، ChartType.Pie).
  4. الوصول إلى بيانات المخطط IChartDataWorkbook.
  5. مسح السلاسل والفئات الافتراضية.
  6. إضافة سلاسل وفئات جديدة.
  7. إضافة بيانات جديدة للمخطط لسلسلة المخطط.
  8. إضافة نقاط جديدة للمخططات وإضافة ألوان مخصصة لقطاعات المخطط الدائري.
  9. تعيين تسميات للسلاسل.
  10. تعيين خطوط الربط لتسميات السلاسل.
  11. تعيين زاوية الدوران لشرائح المخطط الدائري.
  12. كتابة العرض المعدل كملف PPTX.

يوضح هذا الكود البرمجي بلغة Java كيفية إنشاء مخطط دائري:

// إنشاء مثيل لفئة العرض التي تمثل ملف PPTX
Presentation pres = new Presentation();
try {
    // الوصول إلى الشريحة الأولى
    ISlide slides = pres.getSlides().get_Item(0);
    
    // إضافة مخطط مع بيانات افتراضية
    IChart chart = slides.getShapes().addChart(ChartType.Pie, 100, 100, 400, 400);
    
    // تعيين عنوان المخطط
    chart.getChartTitle().addTextFrameForOverriding("عنوان تجريبي");
    chart.getChartTitle().getTextFrameForOverriding().getTextFrameFormat().setCenterText(NullableBool.True);
    chart.getChartTitle().setHeight(20);
    chart.setTitle(true);
    
    // تعيين السلسلة الأولى لعرض القيم
    chart.getChartData().getSeries().get_Item(0).getLabels().getDefaultDataLabelFormat().setShowValue(true);
    
    // تعيين فهرس ورقة بيانات المخطط
    int defaultWorksheetIndex = 0;
    
    // الحصول على ورقة بيانات المخطط
    IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
    
    // حذف السلاسل والفئات الافتراضية التي تم إنشاؤها
    chart.getChartData().getSeries().clear();
    chart.getChartData().getCategories().clear();
    
    // إضافة فئات جديدة
    chart.getChartData().getCategories().add(fact.getCell(0, 1, 0, "الربع الأول"));
    chart.getChartData().getCategories().add(fact.getCell(0, 2, 0, "الربع الثاني"));
    chart.getChartData().getCategories().add(fact.getCell(0, 3, 0, "الربع الثالث"));
    
    // إضافة سلاسل جديدة
    IChartSeries series = chart.getChartData().getSeries().add(fact.getCell(0, 0, 1, "Series 1"), chart.getType());
    
    // ملء بيانات السلسلة
    series.getDataPoints().addDataPointForPieSeries(fact.getCell(defaultWorksheetIndex, 1, 1, 20));
    series.getDataPoints().addDataPointForPieSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 50));
    series.getDataPoints().addDataPointForPieSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 30));
    
    // لا تعمل في النسخة الجديدة
    // إضافة نقاط جديدة وتعيين لون القطع
    // series.IsColorVaried = true;
    chart.getChartData().getSeriesGroups().get_Item(0).setColorVaried(true);
    
    IChartDataPoint point = series.getDataPoints().get_Item(0);
    point.getFormat().getFill().setFillType(FillType.Solid);
    point.getFormat().getFill().getSolidFillColor().setColor(Color.CYAN);
	
    // تعيين الحدود للقطاع
    point.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
    point.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.GRAY);
    point.getFormat().getLine().setWidth(3.0);
    point.getFormat().getLine().setStyle(LineStyle.ThinThick);
    point.getFormat().getLine().setDashStyle(LineDashStyle.DashDot);
    
    IChartDataPoint point1 = series.getDataPoints().get_Item(1);
    point1.getFormat().getFill().setFillType(FillType.Solid);
    point1.getFormat().getFill().getSolidFillColor().setColor(Color.ORANGE);
    
    // تعيين الحدود للقطاع
    point1.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
    point1.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.BLUE);
    point1.getFormat().getLine().setWidth(3.0);
    point1.getFormat().getLine().setStyle(LineStyle.Single);
    point1.getFormat().getLine().setDashStyle(LineDashStyle.LargeDashDot);
    
    IChartDataPoint point2 = series.getDataPoints().get_Item(2);
    point2.getFormat().getFill().setFillType(FillType.Solid);
    point2.getFormat().getFill().getSolidFillColor().setColor(Color.YELLOW);
    
    // تعيين الحدود للقطاع
    point2.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
    point2.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.RED);
    point2.getFormat().getLine().setWidth(2.0);
    point2.getFormat().getLine().setStyle(LineStyle.ThinThin);
    point2.getFormat().getLine().setDashStyle(LineDashStyle.LargeDashDotDot);
    
    // إنشاء تسميات مخصصة لكل فئة للسلسلة الجديدة
    IDataLabel lbl1 = series.getDataPoints().get_Item(0).getLabel();
    
    // lbl.ShowCategoryName = true;
    lbl1.getDataLabelFormat().setShowValue(true);
    
    IDataLabel lbl2 = series.getDataPoints().get_Item(1).getLabel();
    lbl2.getDataLabelFormat().setShowValue(true);
    lbl2.getDataLabelFormat().setShowLegendKey(true);
    lbl2.getDataLabelFormat().setShowPercentage(true);
    
    IDataLabel lbl3 = series.getDataPoints().get_Item(2).getLabel();
    lbl3.getDataLabelFormat().setShowSeriesName(true);
    lbl3.getDataLabelFormat().setShowPercentage(true);
    
    // عرض خطوط الربط للمخطط
    series.getLabels().getDefaultDataLabelFormat().setShowLeaderLines(true);
    
    // تعيين زاوية الدوران لشرائح المخطط الدائري
    chart.getChartData().getSeriesGroups().get_Item(0).setFirstSliceAngle(180);
    
    // حفظ العرض مع المخطط
    pres.save("PieChart_out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

إنشاء مخططات خطية

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

  1. إنشاء مثيل من فئة Presentation.
  2. الحصول على مرجع الشريحة من خلال فهرسها.
  3. إضافة مخطط مع بيانات افتراضية جنبًا إلى جنب مع النوع المطلوب (في هذه الحالة، ChartType.Line).
  4. الوصول إلى بيانات المخطط IChartDataWorkbook.
  5. مسح السلاسل والفئات الافتراضية.
  6. إضافة سلاسل وفئات جديدة.
  7. إضافة بيانات جديدة للمخطط لسلسلة المخطط.
  8. كتابة العرض المعدل كملف PPTX.

يوضح هذا الكود البرمجي بلغة Java كيفية إنشاء مخطط خطي:

Presentation pres = new Presentation();
try {
    IChart lineChart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Line, 10, 50, 600, 350);

    pres.save("lineChart.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

بشكل افتراضي، يتم ربط النقاط على المخطط الخطي بواسطة خطوط مستمرة مستقيمة. إذا كنت ترغب في ربط النقاط بواسطة خطوط منقطة بدلاً من ذلك، يمكنك تحديد نوع الخط المنقوط المفضل لديك بهذه الطريقة:

IChart lineChart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Line, 10, 50, 600, 350);

for (IChartSeries series : lineChart.getChartData().getSeries())
{
    series.getFormat().getLine().setDashStyle(LineDashStyle.Dash);
}

إنشاء مخططات شجرة

تستخدم مخططات الشجرة بشكل أفضل للبيانات البيعية عندما تريد إظهار الحجم النسبي لفئات البيانات وأيضًا لسرعة جذب الانتباه إلى العناصر التي تساهم بشكل كبير في كل فئة.

خطوات: إنشاء مخطط شجرة باستخدام Java | خطوات: إنشاء مخطط شجرة في PowerPoint باستخدام Java | خطوات: إنشاء مخطط شجرة في عرض PowerPoint باستخدام Java

  1. إنشاء مثيل من فئة Presentation.
  2. الحصول على مرجع الشريحة من خلال فهرسها.
  3. إضافة مخطط مع بيانات افتراضية جنبًا إلى جنب مع النوع المطلوب (في هذه الحالة، ChartType.TreeMap).
  4. الوصول إلى بيانات المخطط IChartDataWorkbook.
  5. مسح السلاسل والفئات الافتراضية.
  6. إضافة سلاسل وفئات جديدة.
  7. إضافة بيانات جديدة للمخطط لسلسلة المخطط.
  8. كتابة العرض المعدل كملف PPTX.

يوضح هذا الكود البرمجي بلغة Java كيفية إنشاء مخطط شجرة:

Presentation pres = new Presentation();
try {
    IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Treemap, 50, 50, 500, 400);
    chart.getChartData().getCategories().clear();
    chart.getChartData().getSeries().clear();

    IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();
    wb.clear(0);

    // فرع 1
    IChartCategory leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C1", "Leaf1"));
    leaf.getGroupingLevels().setGroupingItem(1, "Stem1");
    leaf.getGroupingLevels().setGroupingItem(2, "Branch1");

    chart.getChartData().getCategories().add(wb.getCell(0, "C2", "Leaf2"));

    leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C3", "Leaf3"));
    leaf.getGroupingLevels().setGroupingItem(1, "Stem2");

    chart.getChartData().getCategories().add(wb.getCell(0, "C4", "Leaf4"));

    // فرع 2
    leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C5", "Leaf5"));
    leaf.getGroupingLevels().setGroupingItem(1, "Stem3");
    leaf.getGroupingLevels().setGroupingItem(2, "Branch2");

    chart.getChartData().getCategories().add(wb.getCell(0, "C6", "Leaf6"));

    leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C7", "Leaf7"));
    leaf.getGroupingLevels().setGroupingItem(1, "Stem4");

    chart.getChartData().getCategories().add(wb.getCell(0, "C8", "Leaf8"));

    IChartSeries series = chart.getChartData().getSeries().add(ChartType.Treemap);
    series.getLabels().getDefaultDataLabelFormat().setShowCategoryName(true);
    series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D1", 4));
    series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D2", 5));
    series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D3", 3));
    series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D4", 6));
    series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D5", 9));
    series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D6", 9));
    series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D7", 4));
    series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D8", 3));

    series.setParentLabelLayout(ParentLabelLayoutType.Overlapping);

    pres.save("Treemap.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

إنشاء مخططات الأسهم

خطوات: إنشاء مخطط أسهم باستخدام Java | خطوات: إنشاء مخطط أسهم في PowerPoint باستخدام Java | خطوات: إنشاء مخطط أسهم في عرض PowerPoint باستخدام Java

  1. إنشاء مثيل من فئة Presentation.
  2. الحصول على مرجع الشريحة من خلال فهرسها.
  3. إضافة مخطط مع بيانات افتراضية جنبًا إلى جنب مع النوع المطلوب (ChartType.OpenHighLowClose).
  4. الوصول إلى بيانات المخطط IChartDataWorkbook.
  5. مسح السلاسل والفئات الافتراضية.
  6. إضافة سلاسل وفئات جديدة.
  7. إضافة بيانات جديدة للمخطط لسلسلة المخطط.
  8. تحديد تنسيق HiLowLines.
  9. كتابة العرض المعدل كملف PPTX.

يوضح الكود البرمجي النموذجي المستخدم لإنشاء مخطط أسهم:

Presentation pres = new Presentation();
try {
    IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.OpenHighLowClose, 50, 50, 600, 400, false);

    chart.getChartData().getSeries().clear();
    chart.getChartData().getCategories().clear();

    IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();

    chart.getChartData().getCategories().add(wb.getCell(0, 1, 0, "A"));
    chart.getChartData().getCategories().add(wb.getCell(0, 2, 0, "B"));
    chart.getChartData().getCategories().add(wb.getCell(0, 3, 0, "C"));

    chart.getChartData().getSeries().add(wb.getCell(0, 0, 1, "Open"), chart.getType());
    chart.getChartData().getSeries().add(wb.getCell(0, 0, 2, "High"), chart.getType());
    chart.getChartData().getSeries().add(wb.getCell(0, 0, 3, "Low"), chart.getType());
    chart.getChartData().getSeries().add(wb.getCell(0, 0, 4, "Close"), chart.getType());

    IChartSeries series = chart.getChartData().getSeries().get_Item(0);

    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 1, 72));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 1, 25));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 1, 38));

    series = chart.getChartData().getSeries().get_Item(1);
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 2, 172));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 2, 57));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 2, 57));

    series = chart.getChartData().getSeries().get_Item(2);
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 3, 12));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 3, 12));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 3, 13));

    series = chart.getChartData().getSeries().get_Item(3);
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 4, 25));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 4, 38));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 4, 50));

    chart.getChartData().getSeriesGroups().get_Item(0).getUpDownBars().setUpDownBars(true);
    chart.getChartData().getSeriesGroups().get_Item(0).getHiLowLinesFormat().getLine().getFillFormat().setFillType(FillType.Solid);

    for (IChartSeries ser : chart.getChartData().getSeries())
    {
        ser.getFormat().getLine().getFillFormat().setFillType(FillType.NoFill);
    }

    pres.save("output.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

إنشاء مخططات صندوق وشعيرات

خطوات: إنشاء مخطط صندوق وشعيرات باستخدام Java | خطوات: إنشاء مخطط صندوق وشعيرات في PowerPoint باستخدام Java | خطوات: إنشاء مخطط صندوق وشعيرات في عرض PowerPoint باستخدام Java

  1. إنشاء مثيل من فئة Presentation.
  2. الحصول على مرجع الشريحة من خلال فهرسها.
  3. إضافة مخطط مع بيانات افتراضية جنبًا إلى جنب مع النوع المطلوب (ChartType.BoxAndWhisker).
  4. الوصول إلى بيانات المخطط IChartDataWorkbook.
  5. مسح السلاسل والفئات الافتراضية.
  6. إضافة سلاسل وفئات جديدة.
  7. إضافة بيانات جديدة للمخطط لسلسلة المخطط.
  8. كتابة العرض المعدل كملف PPTX.

يوضح الكود البرمجي بلغة Java كيفية إنشاء مخطط صندوق وشعيرات:

Presentation pres = new Presentation();
try {
    IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.BoxAndWhisker, 50, 50, 500, 400);
    chart.getChartData().getCategories().clear();
    chart.getChartData().getSeries().clear();

    IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();
    wb.clear(0);

    chart.getChartData().getCategories().add(wb.getCell(0, "A1", "الفئة 1"));
    chart.getChartData().getCategories().add(wb.getCell(0, "A2", "الفئة 1"));
    chart.getChartData().getCategories().add(wb.getCell(0, "A3", "الفئة 1"));
    chart.getChartData().getCategories().add(wb.getCell(0, "A4", "الفئة 1"));
    chart.getChartData().getCategories().add(wb.getCell(0, "A5", "الفئة 1"));
    chart.getChartData().getCategories().add(wb.getCell(0, "A6", "الفئة 1"));

    IChartSeries series = chart.getChartData().getSeries().add(ChartType.BoxAndWhisker);

    series.setQuartileMethod(QuartileMethodType.Exclusive);
    series.setShowMeanLine(true);
    series.setShowMeanMarkers(true);
    series.setShowInnerPoints(true);
    series.setShowOutlierPoints(true);

    series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B1", 15));
    series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B2", 41));
    series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B3", 16));
    series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B4", 10));
    series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B5", 23));
    series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B6", 16));

    pres.save("BoxAndWhisker.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

إنشاء مخططات قمع

خطوات: إنشاء مخطط قمع باستخدام Java | خطوات: إنشاء مخطط قمع في PowerPoint باستخدام Java | خطوات: إنشاء مخطط قمع في عرض PowerPoint باستخدام Java

  1. إنشاء مثيل من فئة Presentation.
  2. الحصول على مرجع الشريحة من خلال فهرسها.
  3. إضافة مخطط مع بيانات افتراضية جنبًا إلى جنب مع النوع المطلوب (ChartType.Funnel).
  4. كتابة العرض المعدل كملف PPTX.

يوضح الكود البرمجي بلغة Java كيفية إنشاء مخطط قمع:

Presentation pres = new Presentation();
try {
    IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Funnel, 50, 50, 500, 400);
    chart.getChartData().getCategories().clear();
    chart.getChartData().getSeries().clear();

    IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();

    wb.clear(0);

    chart.getChartData().getCategories().add(wb.getCell(0, "A1", "الفئة 1"));
    chart.getChartData().getCategories().add(wb.getCell(0, "A2", "الفئة 2"));
    chart.getChartData().getCategories().add(wb.getCell(0, "A3", "الفئة 3"));
    chart.getChartData().getCategories().add(wb.getCell(0, "A4", "الفئة 4"));
    chart.getChartData().getCategories().add(wb.getCell(0, "A5", "الفئة 5"));
    chart.getChartData().getCategories().add(wb.getCell(0, "A6", "الفئة 6"));

    IChartSeries series = chart.getChartData().getSeries().add(ChartType.Funnel);

    series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B1", 50));
    series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B2", 100));
    series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B3", 200));
    series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B4", 300));
    series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B5", 400));
    series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B6", 500));

    pres.save("Funnel.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

إنشاء مخططات شمس

خطوات: إنشاء مخطط شمس باستخدام Java | خطوات: إنشاء مخطط شمس في PowerPoint باستخدام Java | خطوات: إنشاء مخطط شمس في عرض PowerPoint باستخدام Java

  1. إنشاء مثيل من فئة Presentation.
  2. الحصول على مرجع الشريحة من خلال فهرسها.
  3. إضافة مخطط مع بيانات افتراضية جنبًا إلى جنب مع النوع المطلوب (في هذه الحالة، ChartType.sunburst).
  4. كتابة العرض المعدل كملف PPTX.

يوضح هذا الكود البرمجي بلغة Java كيفية إنشاء مخطط شمس:

Presentation pres = new Presentation();
try {
    IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Sunburst, 50, 50, 500, 400);
    chart.getChartData().getCategories().clear();
    chart.getChartData().getSeries().clear();

    IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();
    wb.clear(0);

    // فرع 1
    IChartCategory leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C1", "Leaf1"));
    leaf.getGroupingLevels().setGroupingItem(1, "Stem1");
    leaf.getGroupingLevels().setGroupingItem(2, "Branch1");

    chart.getChartData().getCategories().add(wb.getCell(0, "C2", "Leaf2"));

    leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C3", "Leaf3"));
    leaf.getGroupingLevels().setGroupingItem(1, "Stem2");

    chart.getChartData().getCategories().add(wb.getCell(0, "C4", "Leaf4"));

    // فرع 2
    leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C5", "Leaf5"));
    leaf.getGroupingLevels().setGroupingItem(1, "Stem3");
    leaf.getGroupingLevels().setGroupingItem(2, "Branch2");

    chart.getChartData().getCategories().add(wb.getCell(0, "C6", "Leaf6"));

    leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C7", "Leaf7"));
    leaf.getGroupingLevels().setGroupingItem(1, "Stem4");

    chart.getChartData().getCategories().add(wb.getCell(0, "C8", "Leaf8"));

    IChartSeries series = chart.getChartData().getSeries().add(ChartType.Sunburst);
    series.getLabels().getDefaultDataLabelFormat().setShowCategoryName(true);
    series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D1", 4));
    series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D2", 5));
    series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D3", 3));
    series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D4", 6));
    series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D5", 9));
    series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D6", 9));
    series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D7", 4));
    series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D8", 3));
    
    pres.save("Sunburst.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

إنشاء مخططات هيستوجرام

خطوات: إنشاء مخطط هيستوجرام باستخدام Java | خطوات: إنشاء مخطط هيستوجرام في PowerPoint باستخدام Java | خطوات: إنشاء مخطط هيستوجرام في عرض PowerPoint باستخدام Java

  1. إنشاء مثيل من فئة Presentation.
  2. الحصول على مرجع الشريحة من خلال فهرسها.
  3. إضافة مخطط مع بيانات افتراضية جنبًا إلى جنب مع النوع المطلوب (ChartType.Histogram).
  4. الوصول إلى بيانات المخطط IChartDataWorkbook.
  5. مسح السلاسل والفئات الافتراضية.
  6. إضافة سلاسل وفئات جديدة.
  7. كتابة العرض المعدل كملف PPTX.

يوضح هذا الكود البرمجي بلغة Java كيفية إنشاء مخطط هيستوجرام:

Presentation pres = new Presentation();
try {
    IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Histogram, 50, 50, 500, 400);
    chart.getChartData().getCategories().clear();
    chart.getChartData().getSeries().clear();

    IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();
    wb.clear(0);

    IChartSeries series = chart.getChartData().getSeries().add(ChartType.Histogram);
    series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A1", 15));
    series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A2", -41));
    series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A3", 16));
    series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A4", 10));
    series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A5", -23));
    series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A6", 16));

    chart.getAxes().getHorizontalAxis().setAggregationType(AxisAggregationType.Automatic;)

    pres.save("Histogram.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

إنشاء مخططات رادار

خطوات: إنشاء مخطط رادار باستخدام Java | خطوات: إنشاء مخطط رادار في PowerPoint باستخدام Java | خطوات: إنشاء مخطط رادار في عرض PowerPoint باستخدام Java

  1. إنشاء مثيل من فئة Presentation.
  2. الحصول على مرجع الشريحة من خلال فهرسها.
  3. إضافة مخطط مع بعض البيانات وحدد نوع المخطط المفضل (ChartType.Radar في هذه الحالة).
  4. كتابة العرض المعدل كملف PPTX.

يوضح هذا الكود البرمجي بلغة Java كيفية إنشاء مخطط رادار:

Presentation pres = new Presentation();
try {
    pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Radar, 20, 20, 400, 300);
    pres.save("Radar-chart.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

إنشاء مخططات متعددة الفئات

خطوات: إنشاء مخطط متعدد الفئات باستخدام Java | خطوات: إنشاء مخطط متعدد الفئات في PowerPoint باستخدام Java | خطوات: إنشاء مخطط متعدد الفئات في عرض PowerPoint باستخدام Java

  1. إنشاء مثيل من فئة Presentation.
  2. الحصول على مرجع الشريحة من خلال فهرسها.
  3. إضافة مخطط مع بيانات افتراضية جنبًا إلى جنب مع النوع المطلوب (ChartType.ClusteredColumn).
  4. الوصول إلى بيانات المخطط IChartDataWorkbook.
  5. مسح السلاسل والفئات الافتراضية.
  6. إضافة سلاسل وفئات جديدة.
  7. إضافة بيانات جديدة للمخطط لسلسلة المخطط.
  8. كتابة العرض المعدل كملف PPTX.

يوضح هذا الكود البرمجي بلغة Java كيفية إنشاء مخطط متعدد الفئات:

Presentation pres = new Presentation();
try {
    IChart ch = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 600, 450);
    ch.getChartData().getSeries().clear();
    ch.getChartData().getCategories().clear();
    
    IChartDataWorkbook fact = ch.getChartData().getChartDataWorkbook();
    fact.clear(0);
    int defaultWorksheetIndex = 0;

    IChartCategory category = ch.getChartData().getCategories().add(fact.getCell(0, "c2", "A"));
    category.getGroupingLevels().setGroupingItem(1, "Group1");
    category = ch.getChartData().getCategories().add(fact.getCell(0, "c3", "B"));

    category = ch.getChartData().getCategories().add(fact.getCell(0, "c4", "C"));
    category.getGroupingLevels().setGroupingItem(1, "Group2");
    category = ch.getChartData().getCategories().add(fact.getCell(0, "c5", "D"));

    category = ch.getChartData().getCategories().add(fact.getCell(0, "c6", "E"));
    category.getGroupingLevels().setGroupingItem(1, "Group3");
    category = ch.getChartData().getCategories().add(fact.getCell(0, "c7", "F"));

    category = ch.getChartData().getCategories().add(fact.getCell(0, "c8", "G"));
    category.getGroupingLevels().setGroupingItem(1, "Group4");
    category = ch.getChartData().getCategories().add(fact.getCell(0, "c9", "H"));

    // إضافة السلاسل
    IChartSeries series = ch.getChartData().getSeries().add(fact.getCell(0, "D1", "Series 1"),
            ChartType.ClusteredColumn);

    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D2", 10));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D3", 20));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D4", 30));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D5", 40));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D6", 50));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D7", 60));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D8", 70));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D9", 80));
    
    // حفظ العرض مع المخطط
    pres.save("AsposeChart_out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

إنشاء مخططات خريطة

مخطط الخريطة هو تصور لمساحة تحتوي على بيانات. تستخدم مخططات الخرائط بشكل أفضل لمقارنة البيانات أو القيم عبر المناطق الجغرافية.

خطوات: إنشاء مخطط خريطة باستخدام Java | خطوات: إنشاء مخطط خريطة في PowerPoint باستخدام Java | خطوات: إنشاء مخطط خريطة في عرض PowerPoint باستخدام Java

يوضح هذا الكود البرمجي بلغة Java كيفية إنشاء مخطط خريطة:

Presentation pres = new Presentation();
try {
    IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Map, 50, 50, 500, 400);
    pres.save("mapChart.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

إنشاء مخططات تركيبة

مخطط تركيبة (أو مخطط مجموعات) هو مخطط يجمع بين مخططين أو أكثر على رسم بياني واحد. يسمح لك مثل هذا المخطط بتمييز أو مقارنة أو مراجعة الاختلافات بين مجموعتين (أو أكثر) من البيانات. بهذه الطريقة، ترى العلاقة (إذا كان هناك علاقة) بين مجموعتي البيانات.

combination-chart-ppt

يوضح هذا الكود البرمجي بلغة Java كيفية إنشاء مخطط تركيبة في PowerPoint:

private static void createComboChart()
{
    Presentation pres = new Presentation();
    {
        IChart chart = createChart(pres.getSlides().get_Item(0));
        addFirstSeriesToChart(chart);
        addSecondSeriesToChart(chart);
        pres.save("combo-chart.pptx", SaveFormat.Pptx);
    }
}

private static IChart createChart(ISlide slide)
{
    IChart chart = slide.getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 500, 400);
    chart.getChartData().getSeries().clear();
    chart.getChartData().getCategories().clear();

    IChartDataWorkbook workbook = chart.getChartData().getChartDataWorkbook();
    final int worksheetIndex = 0;

    chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 1, "Series 1"), chart.getType());
    chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 2, "Series 2"), chart.getType());

    chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 1, 0, "Caetegoty 1"));
    chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 2, 0, "Caetegoty 2"));
    chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 3, 0, "Caetegoty 3"));

    IChartSeries series = chart.getChartData().getSeries().get_Item(0);

    series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 1, 1, 20));
    series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 2, 1, 50));
    series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 3, 1, 30));
    
    series = chart.getChartData().getSeries().get_Item(1);

    series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 1, 2, 30));
    series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 2, 2, 10));
    series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 3, 2, 60));

    return chart;
}

private static void addFirstSeriesToChart(IChart chart)
{
    IChartDataWorkbook workbook = chart.getChartData().getChartDataWorkbook();
    final int worksheetIndex = 0;

    IChartSeries series = chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 3, "Series 3"), ChartType.ScatterWithSmoothLines);

    series.getDataPoints().addDataPointForScatterSeries(
            workbook.getCell(worksheetIndex, 0, 1, 3),
            workbook.getCell(worksheetIndex, 0, 2, 5));

    series.getDataPoints().addDataPointForScatterSeries(
            workbook.getCell(worksheetIndex, 1, 3, 10),
            workbook.getCell(worksheetIndex, 1, 4, 13));

    series.getDataPoints().addDataPointForScatterSeries(
            workbook.getCell(worksheetIndex, 2, 3, 20),
            workbook.getCell(worksheetIndex, 2, 4, 15));

    series.setPlotOnSecondAxis(true);
}

private static void addSecondSeriesToChart(IChart chart)
{
    IChartDataWorkbook workbook = chart.getChartData().getChartDataWorkbook();
    final int worksheetIndex = 0;

    IChartSeries series = chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 5, "Series 4"),
            ChartType.ScatterWithStraightLinesAndMarkers);

    series.getDataPoints().addDataPointForScatterSeries(
            workbook.getCell(worksheetIndex, 1, 3, 5),
            workbook.getCell(worksheetIndex, 1, 4, 2));

    series.getDataPoints().addDataPointForScatterSeries(
            workbook.getCell(worksheetIndex, 1, 5, 10),
            workbook.getCell(worksheetIndex, 1, 6, 7));

    series.getDataPoints().addDataPointForScatterSeries(
            workbook.getCell(worksheetIndex, 2, 5, 15),
            workbook.getCell(worksheetIndex, 2, 6, 12));

    series.getDataPoints().addDataPointForScatterSeries(
            workbook.getCell(worksheetIndex, 3, 5, 12),
            workbook.getCell(worksheetIndex, 3, 6, 9));

    series.setPlotOnSecondAxis(true);
}

تحديث المخططات

خطوات: تحديث مخطط PowerPoint باستخدام Java | خطوات: تحديث مخطط العرض باستخدام Java | خطوات: تحديث مخطط عرض PowerPoint باستخدام Java

  1. إنشاء مثيل من فئة Presentation التي تمثل العرض الذي يحتوي على المخطط الذي تريد تحديثه.
  2. احصل على مرجع شريحة باستخدام فهرسها.
  3. التنقل عبر جميع الأشكال للعثور على المخطط المطلوب.
  4. الوصول إلى ورقة بيانات المخطط.
  5. تعديل بيانات سلسلة المخطط عن طريق تغيير قيم السلسلة.
  6. إضافة سلسلة جديدة وملء البيانات فيها.
  7. كتابة العرض المعدل كملف PPTX.

يوضح هذا الكود البرمجي بلغة Java كيفية تحديث مخطط:

Presentation pres = new Presentation();
try {
    // الوصول إلى الشريحة الأولى
    ISlide sld = pres.getSlides().get_Item(0);

    // الحصول على المخطط مع البيانات الافتراضية
    IChart chart = (IChart)sld.getShapes().get_Item(0);

    // تعيين فهرس ورقة بيانات المخطط
    int defaultWorksheetIndex = 0;

    // الحصول على ورقة بيانات المخطط
    IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();

    // تغيير اسم الفئة للمخطط
    fact.getCell(defaultWorksheetIndex, 1, 0, "الفئة المعدلة 1");
    fact.getCell(defaultWorksheetIndex, 2, 0, "الفئة المعدلة 2");

    // أخذ أول سلسلة مخطط
    IChartSeries series = chart.getChartData().getSeries().get_Item(0);

    // الآن تحديث بيانات السلسلة
    fact.getCell(defaultWorksheetIndex, 0, 1, "سلسلة جديدة 1");// تعديل اسم السلسلة
    series.getDataPoints().get_Item(0).getValue().setData(90);
    series.getDataPoints().get_Item(1).getValue().setData(123);
    series.getDataPoints().get_Item(2).getValue().setData(44);

    // أخذ السلسلة الثانية
    series = chart.getChartData().getSeries().get_Item(1);

    // الآن تحديث بيانات السلسلة
    fact.getCell(defaultWorksheetIndex, 0, 2, "سلسلة جديدة 2");// تعديل اسم السلسلة
    series.getDataPoints().get_Item(0).getValue().setData(23);
    series.getDataPoints().get_Item(1).getValue().setData(67);
    series.getDataPoints().get_Item(2).getValue().setData(99);

    // الآن، إضافة سلسلة جديدة
    chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 3, "سلسلة 3"), chart.getType());

    // أخذ السلسلة الثالثة للمخطط
    series = chart.getChartData().getSeries().get_Item(2);

    // الآن ملء بيانات السلسلة
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 1, 3, 20));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 2, 3, 50));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 3, 3, 30));

    chart.setType(ChartType.ClusteredCylinder);

    // حفظ العرض مع المخطط
    pres.save("AsposeChartModified_out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

تعيين نطاق البيانات للمخططات

لتعيين نطاق البيانات لمخطط، قم بذلك:

  1. إنشاء مثيل من فئة Presentation التي تمثل العرض الذي يحتوي على المخطط.
  2. الحصول على مرجع الشريحة من خلال فهرسها.
  3. التنقل عبر جميع الأشكال للعثور على المخطط المطلوب.
  4. الوصول إلى بيانات المخطط وتعيين النطاق.
  5. حفظ العرض المعدل كملف PPTX.

يوضح هذا الكود البرمجي بلغة Java كيفية تعيين نطاق البيانات لمخطط:

Presentation pres = new Presentation();
try {
    ISlide slide = pres.getSlides().get_Item(0);
    IChart chart = (IChart)slide.getShapes().get_Item(0);
    
    chart.getChartData().setRange("Sheet1!A1:B4");
    
    pres.save("SetDataRange_out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

استخدام علامات افتراضية في المخططات

عندما تستخدم علامة افتراضية في المخططات، تحصل كل سلسلة مخطط على رموز علامة افتراضية مختلفة تلقائيًا.

يوضح هذا الكود البرمجي بلغة Java كيفية تعيين علامة سلسلة المخطط تلقائيًا:

Presentation pres = new Presentation();
try {
    ISlide slide = pres.getSlides().get_Item(0);
    IChart chart = slide.getShapes().addChart(ChartType.LineWithMarkers, 10, 10, 400, 400);

    chart.getChartData().getSeries().clear();
    chart.getChartData().getCategories().clear();

    IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
    chart.getChartData().getSeries().add(fact.getCell(0, 0, 1, "سلسلة 1"), chart.getType());
    IChartSeries series = chart.getChartData().getSeries().get_Item(0);

    chart.getChartData().getCategories().add(fact.getCell(0, 1, 0, "C1"));
    series.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 1, 1, 24));
    chart.getChartData().getCategories().add(fact.getCell(0, 2, 0, "C2"));
    series.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 2, 1, 23));
    chart.getChartData().getCategories().add(fact.getCell(0, 3, 0, "C3"));
    series.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 3, 1, -10));
    chart.getChartData().getCategories().add(fact.getCell(0, 4, 0, "C4"));
    series.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 4, 1, null));

    chart.getChartData().getSeries().add(fact.getCell(0, 0, 2, "سلسلة 2"), chart.getType());
    // أخذ السلسلة الثانية للمخطط
    IChartSeries series2 = chart.getChartData().getSeries().get_Item(1);

    // الآن ملء بيانات السلسلة
    series2.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 1, 2, 30));
    series2.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 2, 2, 10));
    series2.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 3, 2, 60));
    series2.getDataPoints().addDataPointForLineSeries