نقاط البيانات في مخطط الشجرة ومخطط الشمس

بين أنواع مخططات PowerPoint الأخرى، هناك نوعان “هرميان” - مخطط الشجرة و مخطط الشمس (المعروف أيضًا بمخطط الشمس، مخطط الشمس، مخطط دائري، رسم دائري أو مخطط فطيرة متعدد المستويات). تعرض هذه المخططات بيانات هرمية منظمة على شكل شجرة - من الأوراق إلى قمة الفرع. الأوراق تُعرف بواسطة نقاط البيانات في السلسلة، وكل مستوى تجميع متداخل يليه يُعرف بواسطة الفئة المقابلة. يسمح Aspose.Slides لـ PHP عبر Java بتنسيق نقاط البيانات في مخطط الشمس ومخطط الشجرة.

إليكم مخطط شمس، حيث تحدد البيانات في عمود Series1 العقد الورقية، بينما تحدد الأعمدة الأخرى نقاط البيانات الهرمية:

todo:image_alt_text

لنبدأ بإضافة مخطط شمس جديد إلى العرض التقديمي:

  $pres = new Presentation();
  try {
    $chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::Sunburst, 100, 100, 450, 400);
    # ...
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

إذا كانت هناك حاجة لتنسيق نقاط البيانات في المخطط، يجب استخدام ما يلي:

IChartDataPointLevelsManager،  IChartDataPointLevel classes  و IChartDataPoint.getDataPointLevels method  توفر الوصول لتنسيق نقاط البيانات في مخططات الشجرة ومخططات الشمس.  IChartDataPointLevelsManager تُستخدم للوصول إلى الفئات متعددة المستويات - فهي تمثل حاوية لـ IChartDataPointLevel objects. أساسًا، هي غلاف لـ IChartCategoryLevelsManager مع الخصائص المضافة المحددة لنقاط البيانات.  تحتوي فئة IChartDataPointLevel على طريقتين: getFormat و  getDataLabel التي تقدم الوصول إلى الإعدادات المقابلة.

عرض قيمة نقطة البيانات

عرض قيمة نقطة البيانات “ورقة 4”:

  $dataPoints = $chart->getChartData()->getSeries()->get_Item(0)->getDataPoints();
  $dataPoints->get_Item(3)->getDataPointLevels()->get_Item(0)->getLabel()->getDataLabelFormat()->setShowValue(true);

todo:image_alt_text

تعيين علامة نقطة البيانات واللون

تعيين علامة بيانات “الفرع 1” لتظهر اسم السلسلة (“Series1”) بدلاً من اسم الفئة. ثم تحديد لون النص إلى الأصفر:

  $branch1Label = $dataPoints->get_Item(0)->getDataPointLevels()->get_Item(0)->getLabel();
  $branch1Label->getDataLabelFormat()->setShowCategoryName(false);
  $branch1Label->getDataLabelFormat()->setShowSeriesName(true);
  $branch1Label->getDataLabelFormat()->getTextFormat()->getPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
  $branch1Label->getDataLabelFormat()->getTextFormat()->getPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->YELLOW);

todo:image_alt_text

تعيين لون فرع نقطة البيانات

تغيير لون فرع “تبخير 4”:

  $pres = new Presentation();
  try {
    $chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::Sunburst, 100, 100, 450, 400);
    $dataPoints = $chart->getChartData()->getSeries()->get_Item(0)->getDataPoints();
    $stem4branch = $dataPoints->get_Item(9)->getDataPointLevels()->get_Item(1);
    $stem4branch->getFormat()->getFill()->setFillType(FillType::Solid);
    $stem4branch->getFormat()->getFill()->getSolidFillColor()->setColor(java("java.awt.Color")->RED);
    $pres->save("pres.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

todo:image_alt_text