树状图和旭日图的数据点
Contents
[
Hide
]
在其他类型的 PowerPoint 图表中,有两种“层级”类型 - 树状图和旭日图(也称为旭日图表、旭日图、径向图、径向图表或多层饼图)。这些图表显示以树状结构组织的层级数据 - 从叶子到树枝的顶部。叶子由系列数据点定义,而相应类别定义的每个后续嵌套分组级别。Aspose.Slides for Java 允许在 Java 中格式化旭日图和树状图的数据点。
这里是一个旭日图,其中 Series1 列中的数据定义了叶节点,而其他列定义了层级数据点:
让我们开始向演示文稿中添加一个新的旭日图:
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();
}
另见
如果需要格式化图表的数据点,我们应使用以下内容:
IChartDataPointLevelsManager, IChartDataPointLevel 类 和 IChartDataPoint.getDataPointLevels 方法 提供访问格式化树状图和旭日图数据点的途径。 IChartDataPointLevelsManager 用于访问多层类别 - 它表示 IChartDataPointLevel 对象的容器。 基本上它是 IChartCategoryLevelsManager 的包装器, 增加了特定于数据点的属性。 IChartDataPointLevel 类有 两个方法:getFormat 和 getDataLabel,提供访问相应设置的功能。
显示数据点值
显示“叶子 4”数据点的值:
IChartDataPointCollection dataPoints = chart.getChartData().getSeries().get_Item(0).getDataPoints();
dataPoints.get_Item(3).getDataPointLevels().get_Item(0).getLabel().getDataLabelFormat().setShowValue(true);
设置数据点标签和颜色
将“分支 1”数据标签设置为显示系列名称(“Series1”),而不是类别名称。然后将文本颜色设置为黄色:
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);
设置数据点分支颜色
更改“树干 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();
}