Android’de Treemap ve Sunburst Grafiklerde Veri Noktalarını Özelleştirme

Giriş

PowerPoint grafiklerinin diğer türleri arasında iki adet “hiyerarşik” tür vardır – Treemap ve Sunburst grafiği (Sunburst Graph, Sunburst Diagram, Radial Chart, Radial Graph veya Multi Level Pie Chart olarak da bilinir). Bu grafikler, ağaç yapısı şeklinde düzenlenmiş hiyerarşik verileri – yapraklardan dalın en üstüne kadar – gösterir. Yapraklar, seri veri noktalarıyla tanımlanır ve sonraki her iç içe gruplama seviyesi ilgili kategoriyle tanımlanır. Aspose.Slides for Android via Java, Sunburst ve Treemap grafiklerinin veri noktalarını Java’da biçimlendirmeyi sağlar.

Aşağıda, Series1 sütunundaki verilerin yaprak düğümlerini, diğer sütunların ise hiyerarşik veri noktalarını tanımladığı bir Sunburst grafiği bulunmaktadır:

todo:image_alt_text

Sunburst grafiğini sunuma ekleyerek başlayalım:

Presentation pres = new Presentation();
try {
    IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Sunburst, 100, 100, 450, 400);

    // ...
} finally {
    if (pres != null) pres.dispose();
}

Grafiğin veri noktalarını biçimlendirmek gerektiğinde aşağıdaki öğeler kullanılmalıdır:

IChartDataPointLevelsManager, IChartDataPointLevel sınıfları ve IChartDataPoint.getDataPointLevels yöntemi Treemap ve Sunburst grafiklerinin veri noktalarını biçimlendirme erişimi sağlar. IChartDataPointLevelsManager çok seviyeli kategorilere erişmek için kullanılır – IChartDataPointLevel nesnelerinin kapsayıcısını temsil eder. Temelde, veri noktalarına özgü ek özellikleri içeren bir sarmalayıcıdır ve IChartCategoryLevelsManager ile aynı işlevi görür. IChartDataPointLevel sınıfının iki yöntemi vardır: getFormat ve getDataLabel ve bu yöntemler ilgili ayarlara erişim sağlar.

Bir Veri Noktası Değerini Göster

“Leaf 4” veri noktasının değerini göster:

IChartDataPointCollection dataPoints = chart.getChartData().getSeries().get_Item(0).getDataPoints();
dataPoints.get_Item(3).getDataPointLevels().get_Item(0).getLabel().getDataLabelFormat().setShowValue(true);

todo:image_alt_text

Bir Veri Noktası Etiketini ve Rengini Ayarla

“Branch 1” veri etiketini kategori adı yerine seri adı (“Series1”) gösterecek şekilde ayarlayın. Ardından metin rengini sarı yapın:

IDataLabel 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(Color.YELLOW);

todo:image_alt_text

Bir Veri Noktası Dal Rengini Ayarla

“Steam 4” dalının rengini değiştirin:

Presentation pres = new Presentation();
try {
    IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Sunburst, 100, 100, 450, 400);

    IChartDataPointCollection dataPoints = chart.getChartData().getSeries().get_Item(0).getDataPoints();

    IChartDataPointLevel stem4branch = dataPoints.get_Item(9).getDataPointLevels().get_Item(1);

    stem4branch.getFormat().getFill().setFillType(FillType.Solid);
    stem4branch.getFormat().getFill().getSolidFillColor().setColor(Color.RED);

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

todo:image_alt_text

SSS

Sunburst/Treemap grafiklerinde segmentlerin sırasını (sıralamayı) değiştirebilir miyim?

Hayır. PowerPoint segmentleri otomatik olarak sıralar (genellikle azalan değerlerle, saat yönünde). Aspose.Slides bu davranışı yansıtır: sıralamayı doğrudan değiştiremezsiniz; veriyi ön işlemden geçirerek istediğiniz sıralamayı elde edersiniz.

Sunum teması segment ve etiket renklerini nasıl etkiler?

Grafik renkleri, dolgu/ yazı tipleri açıkça ayarlanmadıkça sunumun tema/renk paleti üzerinden devralınır. Tutarlı sonuçlar için gerekli seviyelerde katı dolgu ve metin biçimlendirmesini sabitleyin.

PDF/PNG’ye dışa aktarırken özel dal renkleri ve etiket ayarları korunur mu?

Evet. Sunumu dışa aktarırken grafik ayarları (dolgu, etiketler) çıktı formatında korunur; Aspose.Slides, grafik biçimlendirmesi uygulanmış şekilde render eder.

Grafiğin üzerine özel bindirme yerleştirmek için bir etiketin/elemanın gerçek koordinatlarını hesaplayabilir miyim?

Evet. Grafik yerleşimi doğrulandıktan sonra öğeler için gerçek x ve y değerleri mevcut olur (örneğin bir DataLabel için), bu da bindirmelerin hassas konumlandırılmasını sağlar.