Sesuaikan Titik Data dalam Diagram Treemap dan Sunburst di Android
Pendahuluan
Di antara tipe diagram PowerPoint lainnya, ada dua tipe “hierarkis” – Treemap dan Sunburst chart (juga dikenal sebagai Sunburst Graph, Sunburst Diagram, Radial Chart, Radial Graph atau Multi Level Pie Chart). Diagram ini menampilkan data hierarkis yang diorganisir sebagai pohon – dari daun hingga puncak cabang. Daun didefinisikan oleh titik data seri, dan setiap tingkat pengelompokan bersarang berikutnya didefinisikan oleh kategori yang bersangkutan. Aspose.Slides for Android via Java memungkinkan pemformatan titik data Sunburst Chart dan Treemap dalam Java.
Berikut adalah Sunburst Chart, di mana data pada kolom Series1 mendefinisikan node daun, sementara kolom lain mendefinisikan titik data hierarkis:
Mari kita mulai dengan menambahkan diagram Sunburst baru ke presentasi:
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();
}
Jika perlu memformat titik data diagram, gunakan hal berikut:
IChartDataPointLevelsManager, IChartDataPointLevel classes dan IChartDataPoint.getDataPointLevels method menyediakan akses untuk memformat titik data Treemap dan Sunburst. IChartDataPointLevelsManager digunakan untuk mengakses kategori multi‑level – ia mewakili kontainer dari IChartDataPointLevel objects. Pada dasarnya ini adalah wrapper untuk IChartCategoryLevelsManager dengan properti yang ditambahkan khusus untuk titik data. Kelas IChartDataPointLevel memiliki dua metode: getFormat dan getDataLabel yang menyediakan akses ke pengaturan yang bersangkutan.
Tampilkan Nilai Titik Data
Tampilkan nilai titik data “Leaf 4”:
IChartDataPointCollection dataPoints = chart.getChartData().getSeries().get_Item(0).getDataPoints();
dataPoints.get_Item(3).getDataPointLevels().get_Item(0).getLabel().getDataLabelFormat().setShowValue(true);
Atur Label dan Warna Titik Data
Atur label data “Branch 1” untuk menampilkan nama seri (“Series1”) alih‑alih nama kategori. Kemudian atur warna teks menjadi kuning:
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);
Atur Warna Cabang Titik Data
Ubah warna cabang “Steam 4”:
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();
}
FAQ
Apakah saya dapat mengubah urutan (pengurutan) segmen dalam Sunburst/Treemap?
Tidak. PowerPoint mengurutkan segmen secara otomatis (biasanya menurun, berlawanan arah jarum jam). Aspose.Slides meniru perilaku ini: Anda tidak dapat mengubah urutan secara langsung; Anda melakukannya dengan memproses data sebelumnya.
Bagaimana tema presentasi memengaruhi warna segmen dan label?
Warna diagram mewarisi tema/palet presentasi kecuali Anda secara eksplisit mengatur isian/font. Untuk hasil yang konsisten, tentukan isian solid dan pemformatan teks pada tingkat yang diperlukan.
Apakah ekspor ke PDF/PNG mempertahankan warna cabang khusus dan pengaturan label?
Ya. Saat mengekspor presentasi, pengaturan diagram (isi, label) dipertahankan dalam format output karena Aspose.Slides merender dengan pemformatan diagram yang diterapkan.
Bisakah saya menghitung koordinat sebenarnya dari label/elemen untuk penempatan overlay khusus di atas diagram?
Ya. Setelah tata letak diagram divalidasi, nilai x aktual dan y aktual tersedia untuk elemen (misalnya, sebuah DataLabel), yang membantu dalam penempatan overlay secara tepat.