Personalizar Pontos de Dados em Gráficos Treemap e Sunburst no Python
Introdução
Entre os outros tipos de gráficos do PowerPoint, existem dois hierárquicos — Treemap e Sunburst (também conhecidos como Gráfico Sunburst, Diagrama Sunburst, Gráfico radial, Gráfico radial ou Gráfico de pizza multínível). Esses gráficos exibem dados hierárquicos organizados como uma árvore — das folhas até o topo de um ramo. As folhas são definidas pelos pontos de dados da série, e cada nível de agrupamento aninhado subsequente é definido pela categoria correspondente. Aspose.Slides for Python via .NET permite formatar pontos de dados de gráficos Sunburst e Treemap em Python.
Este é um gráfico Sunburst onde os dados na coluna Series1 definem os nós folha, enquanto as demais colunas definem pontos de dados hierárquicos:

Vamos começar adicionando um novo gráfico Sunburst à apresentação:
with slides.Presentation() as presentation:
slide = presentation.slides[0]
chart = slide.shapes.add_chart(charts.ChartType.SUNBURST, 30, 30, 450, 400)
Veja também
Se precisar formatar pontos de dados do gráfico, use as APIs a seguir:
ChartDataPointLevelsManager, ChartDataPointLevel, e a propriedade ChartDataPoint.data_point_levels. Eles fornecem acesso à formatação de pontos de dados em gráficos Treemap e Sunburst. ChartDataPointLevelsManager é usado para acessar categorias de vários níveis; ele representa um contêiner de objetos ChartDataPointLevel. É essencialmente um wrapper ao redor de ChartCategoryLevelsManager com propriedades adicionais específicas para pontos de dados. O tipo ChartDataPointLevel expõe duas propriedades — format e label — que fornecem acesso às configurações correspondentes.
Exibir valores dos pontos de dados
Esta seção mostra como exibir o valor de pontos de dados individuais em gráficos Treemap e Sunburst. Você verá como habilitar rótulos de valor para pontos selecionados.
Exiba o valor do ponto de dados “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

Definir rótulos e cores para pontos de dados
Esta seção mostra como definir rótulos e cores personalizados para pontos de dados individuais em gráficos Treemap e Sunburst. Você aprenderá a acessar um ponto de dados específico, atribuir um rótulo e aplicar um preenchimento sólido para destacar nós importantes.
Defina o rótulo de dados “Branch 1” para exibir o nome da série (“Series1”) em vez do nome da categoria e, em seguida, defina a cor do texto para amarelo:
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

Definir cores de ramos para pontos de dados
Use cores de ramificação para controlar como nós pai e filho são agrupados visualmente em gráficos Treemap e Sunburst. Esta seção mostra como definir uma cor de ramificação personalizada para um ponto de dados específico, de modo a destacar subárvores importantes e melhorar a legibilidade do gráfico.
Mude a cor da ramificação “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)

Perguntas frequentes
Posso mudar a ordem (classificação) dos segmentos em Sunburst/Treemap?
Não. O PowerPoint classifica os segmentos automaticamente (geralmente por valores decrescentes, no sentido horário). O Aspose.Slides reproduz esse comportamento: não é possível mudar a ordem diretamente; você deve fazê‑lo pré‑processando os dados.
Como o tema da apresentação afeta as cores dos segmentos e rótulos?
As cores dos gráficos herdam o tema/paleta da apresentação, a menos que você defina preenchimentos/fontes explicitamente. Para resultados consistentes, fixe preenchimentos sólidos e formatação de texto nos níveis necessários.
A exportação para PDF/PNG preservará as cores de ramificação personalizadas e as configurações de rótulo?
Sim. Ao exportar a apresentação, as configurações do gráfico (preenchimentos, rótulos) são preservadas nos formatos de saída porque o Aspose.Slides renderiza com a formatação do gráfico aplicada.
Posso calcular as coordenadas reais de um rótulo/elemento para posicionamento customizado de sobreposição sobre o gráfico?
Sim. Depois que o layout do gráfico é validado, actual_x/actual_y estão disponíveis para os elementos (por exemplo, um DataLabel), o que ajuda no posicionamento preciso de sobreposições.