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

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

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

todo:image_alt_text

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

auto pres = System::MakeObject<Presentation>();
auto chart = pres->get_Slides()->idx_get(0)->get_Shapes()->AddChart(ChartType::Sunburst, 100.0f, 100.0f, 450.0f, 400.0f);
// ...

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

IChartDataPointLevelsManager،  IChartDataPointLevel الفصول  و IChartDataPoint::get_DataPointLevels() الطريقة  تقدم الوصول لتنسيق نقاط البيانات لمخططات الشجرة والمخطط الشمسي.  IChartDataPointLevelsManager يستخدم للوصول إلى الفئات متعددة المستويات - يمثل الحاوية لـ IChartDataPointLevel كائنات. بشكل أساسي هو غلاف لـ IChartCategoryLevelsManager مع الخصائص المضافة الخاصة بنقاط البيانات.  فصل IChartDataPointLevel لديه طريقتان: get_Format() و  get_Label() التي تقدم الوصول إلى الإعدادات المعنية.

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

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

auto dataPoints = chart->get_ChartData()->get_Series()->idx_get(0)->get_DataPoints();
dataPoints->idx_get(3)->get_DataPointLevels()->idx_get(0)->get_Label()->get_DataLabelFormat()->set_ShowValue(true);

todo:image_alt_text

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

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

auto branch1Label = dataPoints->idx_get(0)->get_DataPointLevels()->idx_get(2)->get_Label();
branch1Label->get_DataLabelFormat()->set_ShowCategoryName(false);
branch1Label->get_DataLabelFormat()->set_ShowSeriesName(true);

branch1Label->get_DataLabelFormat()->get_TextFormat()->get_PortionFormat()->get_FillFormat()->set_FillType(FillType::Solid);
branch1Label->get_DataLabelFormat()->get_TextFormat()->get_PortionFormat()->get_FillFormat()->get_SolidFillColor()->set_Color(Color::get_Yellow());

todo:image_alt_text

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

تغيير لون فرع “ساق 4”:

auto pres = System::MakeObject<Presentation>();
auto chart = pres->get_Slides()->idx_get(0)->get_Shapes()->AddChart(ChartType::Sunburst, 100.0f, 100.0f, 450.0f, 400.0f);
auto dataPoints = chart->get_ChartData()->get_Series()->idx_get(0)->get_DataPoints();

auto stem4branch = dataPoints->idx_get(9)->get_DataPointLevels()->idx_get(1);
stem4branch->get_Format()->get_Fill()->set_FillType(FillType::Solid);
stem4branch->get_Format()->get_Fill()->get_SolidFillColor()->set_Color(Color::get_Red());

pres->Save(u"pres.pptx", SaveFormat::Pptx);

todo:image_alt_text