Treemap 和 Sunburst 图表的数据点

在其他类型的 PowerPoint 图表中,有两种“层次结构”类型 - TreemapSunburst 图表(也称为 Sunburst 图、Sunburst 图示、径向图、径向图或多层饼图)。这些图表显示层次结构数据,按照树的形式组织 - 从叶子到树枝的顶部。叶子由系列数据点定义,每个后续的嵌套分组级别由相应的类别定义。Aspose.Slides for Python via .NET 允许在 Python 中格式化 Sunburst 图表和 Treemap 的数据点。

这是一个 Sunburst 图表,其中 Series1 列中的数据定义了叶子节点,而其他列定义了层次结构数据点:

todo:image_alt_text

让我们开始在演示文稿中添加一个新的 Sunburst 图表:

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

如果需要格式化图表的数据点,我们应该使用以下内容:

IChartDataPointLevelsManagerIChartDataPointLevel 类 和 IChartDataPoint.DataPointLevels 属性 提供对 Treemap 和 Sunburst 图表的数据点格式化的访问。 IChartDataPointLevelsManager 用于访问多层类别 - 它表示 IChartDataPointLevel 对象的容器。 基本上,它是 IChartCategoryLevelsManager 的封装, 并增加了针对数据点的特定属性。 IChartDataPointLevel 类有 两个属性:FormatDataLabel, 提供对相应设置的访问。

显示数据点值

显示“叶子 4”数据点的值:

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

todo:image_alt_text

设置数据点标签和颜色

将“分支 1”数据标签设置为显示系列名称(“Series1”)而不是类别名称。然后将文本颜色设置为黄色:

    branch1Label = dataPoints[0].data_point_levels[2].label
    branch1Label.data_label_format.show_category_name = False
    branch1Label.data_label_format.show_series_name = True

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

todo:image_alt_text

设置数据点分支颜色

更改“茎 4”分支的颜色:

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

with slides.Presentation() as pres:
    chart = pres.slides[0].shapes.add_chart(charts.ChartType.SUNBURST, 100, 100, 450, 400)
    dataPoints = chart.chart_data.series[0].data_points

    stem4branch = dataPoints[9].data_point_levels[1]
    
    stem4branch.format.fill.fill_type = slides.FillType.SOLID
    stem4branch.format.fill.solid_fill_color.color = draw.Color.red
      
    pres.save("pres.pptx", slides.export.SaveFormat.PPTX)

todo:image_alt_text