Dostosowanie punktów danych w wykresach Treemap i Sunburst w Pythonie
Wprowadzenie
Wśród innych typów wykresów PowerPoint istnieją dwa hierarchiczne — Treemap i Sunburst (znane również jako wykres Sunburst, diagram Sunburst, wykres radialny, graf radialny lub wykres kołowy wielopoziomowy). Te wykresy wyświetlają dane hierarchiczne zorganizowane jako drzewo — od liści do góry gałęzi. Liście są definiowane przez punkty danych serii, a każdy kolejny poziom zagnieżdżonej grupy jest definiowany przez odpowiednią kategorię. Aspose.Slides for Python via .NET umożliwia formatowanie punktów danych wykresów Sunburst i Treemap w języku Python.
Poniżej znajduje się wykres Sunburst, w którym dane w kolumnie Series1 definiują węzły liści, a pozostałe kolumny definiują punkty danych hierarchicznych:

Rozpocznijmy od dodania nowego wykresu Sunburst do prezentacji:
with slides.Presentation() as presentation:
slide = presentation.slides[0]
chart = slide.shapes.add_chart(charts.ChartType.SUNBURST, 30, 30, 450, 400)
Zobacz także
Jeśli musisz sformatować punkty danych wykresu, użyj następujących interfejsów API:
ChartDataPointLevelsManager, ChartDataPointLevel oraz właściwość ChartDataPoint.data_point_levels zapewniają dostęp do formatowania punktów danych w wykresach Treemap i Sunburst. ChartDataPointLevelsManager służy do dostępu do kategorii wielopoziomowych; reprezentuje kontener obiektów ChartDataPointLevel. W zasadzie jest to opakowanie wokół ChartCategoryLevelsManager z dodatkowymi właściwościami specyficznymi dla punktów danych. Typ ChartDataPointLevel udostępnia dwie właściwości — format i label — które zapewniają dostęp do odpowiednich ustawień.
Wyświetlanie wartości punktów danych
Ta sekcja pokazuje, jak wyświetlić wartość poszczególnych punktów danych w wykresach Treemap i Sunburst. Zobaczysz, jak włączyć etykiety wartości dla wybranych punktów.
Wyświetl wartość punktu danych „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

Ustawianie etykiet i kolorów punktów danych
Ta sekcja pokazuje, jak ustawić niestandardowe etykiety i kolory dla poszczególnych punktów danych w wykresach Treemap i Sunburst. Nauczysz się, jak uzyskać dostęp do konkretnego punktu danych, przypisać etykietę oraz zastosować jednolite wypełnienie, aby wyróżnić ważne węzły.
Ustaw etykietę danych „Branch 1”, aby wyświetlała nazwę serii („Series1”) zamiast nazwy kategorii, a następnie ustaw kolor tekstu na żółty:
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

Ustawianie kolorów gałęzi dla punktów danych
Użyj kolorów gałęzi, aby kontrolować, jak węzły nadrzędne i podrzędne są wizualnie grupowane w wykresach Treemap i Sunburst. Ta sekcja pokazuje, jak ustawić niestandardowy kolor gałęzi dla konkretnego punktu danych, aby wyróżnić ważne poddrzewa i poprawić czytelność wykresu.
Zmień kolor gałęzi „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)

FAQ
Czy mogę zmienić kolejność (sortowanie) segmentów w wykresach Sunburst/Treemap?
Nie. PowerPoint sortuje segmenty automatycznie (zazwyczaj według wartości malejących, zgodnie z ruchem wskazówek zegara). Aspose.Slides odzwierciedla to zachowanie: nie można zmienić kolejności bezpośrednio; należy to zrobić, przetwarzając dane wstępnie.
Jak temat prezentacji wpływa na kolory segmentów i etykiet?
Kolory wykresu dziedziczą temat/paletę prezentacji theme/palette, chyba że jawnie ustawisz wypełnienia/czcionki. Aby uzyskać spójne wyniki, ustal jednolite wypełnienia i formatowanie tekstu na wymaganych poziomach.
Czy eksport do PDF/PNG zachowa niestandardowe kolory gałęzi i ustawienia etykiet?
Tak. Podczas eksportu prezentacji ustawienia wykresu (wypełnienia, etykiety) są zachowywane w formatach wyjściowych, ponieważ Aspose.Slides renderuje wykres z zastosowanym formatowaniem.
Czy mogę obliczyć rzeczywiste współrzędne etykiety/elementu do umieszczenia własnej nakładki na wykresie?
Tak. Po zwalidowaniu układu wykresu dostępne są właściwości actual_x/actual_y dla elementów (na przykład dla DataLabel), co ułatwia precyzyjne pozycjonowanie nakładek.