نقاط البيانات لمخطط Treemap و Sunburst
بالإضافة إلى أنواع أخرى من مخططات PowerPoint، هناك نوعان “هرميان” - Treemap وSunburst (المعروف أيضًا باسم Sunburst Graph أو Sunburst Diagram أو Radial Chart أو Radial Graph أو Multi Level Pie Chart). تعرض هذه المخططات بيانات هرمية منظمة كشجرة - من الأوراق إلى أعلى الفرع. يتم تعريف الأوراق بنقاط بيانات السلسلة، ويُحدد كل مستوى تجميع متداخل لاحقًا بالفئة المقابلة. يتيح Aspose.Slides for Node.js عبر Java تنسيق نقاط البيانات لمخططي Sunburst وTreemap باستخدام JavaScript.
فيما يلي مخطط Sunburst، حيث تُعرّف البيانات في عمود Series1 عقد الأوراق، بينما تُعرّف الأعمدة الأخرى نقاط البيانات الهرمية:
لنبدأ بإضافة مخطط Sunburst جديد إلى العرض التقديمي:
var pres = new aspose.slides.Presentation();
try {
var chart = pres.getSlides().get_Item(0).getShapes().addChart(aspose.slides.ChartType.Sunburst, 100, 100, 450, 400);
// ...
} finally {
if (pres != null) {
pres.dispose();
}
}
انظر أيضًا
إذا كان هناك حاجة لتنسيق نقاط البيانات في المخطط، يجب استخدام ما يلي:
ChartDataPointLevelsManager, ChartDataPointLevel classes and ChartDataPoint.getDataPointLevels method provide access to format data points of Treemap and Sunburst charts. ChartDataPointLevelsManager is used for accessing multi-level categories - it represents the container of ChartDataPointLevel objects. Basically it is a wrapper for ChartCategoryLevelsManager with the properties added specific for data points. ChartDataPointLevel class has two methods: getFormat and getDataLabel which provide access to corresponding settings.
إظهار قيمة نقطة البيانات
عرض قيمة نقطة البيانات “Leaf 4”:
var dataPoints = chart.getChartData().getSeries().get_Item(0).getDataPoints();
dataPoints.get_Item(3).getDataPointLevels().get_Item(0).getLabel().getDataLabelFormat().setShowValue(true);
تعيين تسمية نقطة البيانات واللون
قم بتعيين تسمية بيانات “Branch 1” لتعرض اسم السلسلة (“Series1”) بدلاً من اسم الفئة. ثم اضبط لون النص إلى الأصفر:
var branch1Label = dataPoints.get_Item(0).getDataPointLevels().get_Item(0).getLabel();
branch1Label.getDataLabelFormat().setShowCategoryName(false);
branch1Label.getDataLabelFormat().setShowSeriesName(true);
branch1Label.getDataLabelFormat().getTextFormat().getPortionFormat().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid));
branch1Label.getDataLabelFormat().getTextFormat().getPortionFormat().getFillFormat().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "YELLOW"));
تعيين لون فرع نقطة البيانات
تغيير لون فرع “Steam 4”:
var pres = new aspose.slides.Presentation();
try {
var chart = pres.getSlides().get_Item(0).getShapes().addChart(aspose.slides.ChartType.Sunburst, 100, 100, 450, 400);
var dataPoints = chart.getChartData().getSeries().get_Item(0).getDataPoints();
var stem4branch = dataPoints.get_Item(9).getDataPointLevels().get_Item(1);
stem4branch.getFormat().getFill().setFillType(java.newByte(aspose.slides.FillType.Solid));
stem4branch.getFormat().getFill().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "RED"));
pres.save("pres.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
الأسئلة الشائعة
هل يمكنني تغيير ترتيب (الفرز) القطاعات في مخطط Sunburst/Treemap؟
لا. يقوم PowerPoint بفرز القطاعات تلقائيًا (عادةً حسب القيم المتناقصة، باتجاه عقارب الساعة). تقوم Aspose.Slides بمحاكاة هذا السلوك: لا يمكنك تغيير الترتيب مباشرة؛ بل يمكنك تحقيق ذلك من خلال معالجة البيانات مسبقًا.
كيف يؤثر سمة العرض التقديمي على ألوان القطاعات والتسميات؟
تورث ألوان المخطط سمة العرض التقديمي theme/palette ما لم تقم بتعيين التعبئات/الخطوط صراحةً. للحصول على نتائج متسقة، احرص على تثبيت التعبئات الصلبة وتنسيق النص في المستويات المطلوبة.
هل سيحافظ تصدير إلى PDF/PNG على ألوان الفروع المخصصة وإعدادات التسميات؟
نعم. عند تصدير العرض التقديمي، يتم الاحتفاظ بإعدادات المخطط (التعبئات، التسميات) في صيغ الإخراج لأن Aspose.Slides تقوم بإجراء عرض المخطط مع تطبيق التنسيق.
هل يمكنني حساب الإحداثيات الفعلية لتسمية/عنصر من أجل وضع تغطية مخصصة فوق المخطط؟
نعم. بعد التحقق من صحة تخطيط المخطط، تكون قيم X و Y الفعلية متاحة للعناصر (على سبيل المثال، DataLabel)، مما يساعد في وضع التغطيات بدقة.