Sesuaikan Poin Data dalam Diagram Treemap dan Sunburst di Python

Introduction

Di antara tipe diagram PowerPoint lainnya, terdapat dua tipe hierarkis—Treemap dan Sunburst (juga dikenal sebagai Sunburst Graph, Sunburst Diagram, Radial Chart, Radial Graph, atau Multi-Level Pie Chart). Diagram ini menampilkan data hierarkis yang diatur sebagai pohon—dari daun hingga puncak cabang. Daun didefinisikan oleh poin data seri, dan setiap tingkat pengelompokan bersarang berikutnya didefinisikan oleh kategori yang sesuai. Aspose.Slides for Python via .NET memungkinkan Anda memformat poin data diagram Sunburst dan Treemap dalam Python.

Berikut adalah diagram Sunburst dimana data pada kolom Series1 mendefinisikan node daun, sementara kolom lainnya mendefinisikan poin data hierarkis:

Sunburst chart example

Mari kita mulai dengan menambahkan diagram Sunburst baru ke presentasi:

with slides.Presentation() as presentation:
    slide = presentation.slides[0]
    chart = slide.shapes.add_chart(charts.ChartType.SUNBURST, 30, 30, 450, 400)

Jika Anda perlu memformat poin data diagram, gunakan API berikut:

ChartDataPointLevelsManager, ChartDataPointLevel, dan properti ChartDataPoint.data_point_levels. Mereka memberikan akses untuk memformat poin data dalam diagram Treemap dan Sunburst. ChartDataPointLevelsManager digunakan untuk mengakses kategori multi‑tingkat; ia mewakili sebuah kontainer objek [ChartDataPointLevel]. Pada dasarnya ini adalah pembungkus di atas ChartCategoryLevelsManager dengan properti tambahan yang khusus untuk poin data. Tipe ChartDataPointLevel mengekspos dua properti—format dan label—yang menyediakan akses ke pengaturan yang bersangkutan.

Display Data Point Values

Bagian ini menunjukkan cara menampilkan nilai untuk tiap poin data dalam diagram Treemap dan Sunburst. Anda akan melihat cara mengaktifkan label nilai untuk poin yang dipilih.

Tampilkan nilai dari poin data “Leaf 4”:

data_points = chart.chart_data.series[0].data_points
data_points[3].data_point_levels[0].label.data_label_format.show_value = True

Data point value

Set Labels and Colors for Data Points

Bagian ini menunjukkan cara mengatur label dan warna khusus untuk tiap poin data dalam diagram Treemap dan Sunburst. Anda akan belajar cara mengakses poin data tertentu, menetapkan label, dan menerapkan isian padat untuk menyorot node penting.

Atur label data “Branch 1” agar menampilkan nama seri (“Series1”) alih‑alih nama kategori, lalu setel warna teks menjadi kuning:

branch1_label = data_points[0].data_point_levels[2].label
branch1_label.data_label_format.show_category_name = False
branch1_label.data_label_format.show_series_name = True

branch1_label.data_label_format.text_format.portion_format.fill_format.fill_type = slides.FillType.SOLID
branch1_label.data_label_format.text_format.portion_format.fill_format.solid_fill_color.color = draw.Color.yellow

Data point’s label and color

Set Branch Colors for Data Points

Gunakan warna cabang untuk mengontrol bagaimana node induk dan anak secara visual dikelompokkan dalam diagram Treemap dan Sunburst. Bagian ini menunjukkan cara mengatur warna cabang khusus untuk poin data tertentu sehingga Anda dapat menyorot subtree penting dan meningkatkan keterbacaan diagram.

Ubah warna cabang “Stem 4”:

import aspose.slides as slides
import aspose.slides.charts as charts
import aspose.pydrawing as draw

with slides.Presentation() as presentation:
    slide = presentation.slides[0]

    chart = slide.shapes.add_chart(charts.ChartType.SUNBURST, 30, 30, 450, 400)
    data_points = chart.chart_data.series[0].data_points

    stem4_branch = data_points[9].data_point_levels[1]
    
    stem4_branch.format.fill.fill_type = slides.FillType.SOLID
    stem4_branch.format.fill.solid_fill_color.color = draw.Color.red
      
    presentation.save("branch_color.pptx", slides.export.SaveFormat.PPTX)

Branch color

FAQ

Apakah saya dapat mengubah urutan (penyortiran) segmen dalam Sunburst/Treemap?

Tidak. PowerPoint secara otomatis menyortir segmen (biasanya berdasarkan nilai menurun, searah jarum jam). Aspose.Slides meniru perilaku ini: Anda tidak dapat mengubah urutan secara langsung; Anda harus melakukannya dengan memproses data sebelumnya.

Bagaimana tema presentasi memengaruhi warna segmen dan label?

Warna diagram mewarisi theme/palette presentasi kecuali Anda secara eksplisit mengatur isian/font. Untuk hasil yang konsisten, kunci isian padat 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 (isian, label) dipertahankan dalam format keluaran karena Aspose.Slides merender dengan format diagram yang diterapkan.

Apakah saya dapat menghitung koordinat aktual label/elemen untuk penempatan overlay khusus di atas diagram?

Ya. Setelah tata letak diagram divalidasi, actual_x/actual_y tersedia untuk elemen (misalnya, sebuah DataLabel), yang membantu dalam penempatan overlay secara tepat.