在 Java 中的 PowerPoint 中创建旭日形图和树形图

Sunburst 图表用于以多个环的形式直观地表示分层数据结构,其中每个环代表层次结构中的一个级别。 Treemap 是另一种图表类型,用于表示层次结构数据以比较层次结构中的比例。 Aspose.Slides for Java 提供了在 Java 的 PowerPoint 演示文稿中创建 Sunburst 和 Treemap 图表的简单方法。在 最新版本 中,我们扩展了此功能,现在除了创建 Sunburst 和 Treemap 图表,您还可以格式化数据点。让我们看看如何创建 Sunburst 或 Treemap 图表并格式化数据点以在 Java 中应用不同的颜色。

在 Java 中的 PowerPoint 中创建旭日形图

让我们首先使用 Aspose.Slides for Java 在 PowerPoint 演示文稿中创建一个 Sunburst 图表。以下是此操作所需的步骤:

  • 创建 Presentation 类的实例。
  • 按索引获取幻灯片的参考。
  • 使用默认数据添加 ChartType.Sunburst 图表。
  • 将演示文稿保存为 PPTX 文件。

以下代码示例展示了如何在 Java 的 PowerPoint 演示文稿中创建 Sunburst 图表。

Presentation pres = new Presentation();
try {
	IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Sunburst, 50, 50, 500, 400);
	//...
	
	pres.save("./Sunburst.pptx", SaveFormat.Pptx);
} finally {
	pres.dispose();
}

输出

在 Java 中的 PowerPoint 中创建树形图

与 Sunburst 图表类似,您也可以使用 Java 版 Aspose.Slides 在 Java 中通过几个步骤创建 Treemap 图表。除图表类型外,创建 Treemap 图表的所有步骤都相同。以下代码示例展示了如何在 Java 的 PowerPoint 演示文稿中创建树形图。

Presentation pres = new Presentation();
try {
	IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Treemap, 50, 50, 500, 400);
	//...
	
	pres.save("./Sunburst.pptx", SaveFormat.Pptx);
} finally {
	pres.dispose();
}

输出

用Java格式化Sunburst图表的数据点标签

使用最新版本的 Aspose.Slides for Java,您将能够在 Java 中以编程方式格式化 Sunburst 或 Treemap 图表的数据点标签。为了演示,我们将仅格式化 Sunburst 图表类型中的标签。您可以以类似的方式对 Treemap 图表执行格式化。

更改数据点标签颜色

假设您要更改我们之前创建的 Sunburst 图表中“Branch 1”数据标签的颜色。为此,我们添加了 IChartDataPointLevelsManagerIChartDataPointLevel 类来访问数据点级别的属性。

以下代码示例展示了如何使用 Java 更改 Sunburst 图表中“Branch 1”数据标签的颜色。

Presentation pres = new Presentation();
try {
	IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Sunburst, 50, 50, 500, 400);

	IChartDataPointCollection dataPoints = chart.getChartData().getSeries().get_Item(0).getDataPoints();
	
	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);
	
	pres.save("./Sunburst.pptx", SaveFormat.Pptx);
}  
finally {
	pres.dispose();
}

输出

更改数据点分支颜色

您还可以更改 Sunburst 图表中特定数据点分支的颜色。以下 Java 代码示例显示了如何更改“Steam 4”分支的颜色。

Presentation pres = new Presentation();
try {
	IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Sunburst, 50, 50, 500, 400);

	IChartDataPointCollection dataPoints = chart.getChartData().getSeries().get_Item(0).getDataPoints();
	
	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);

	IFormat steam4Format = dataPoints.get_Item(9).getDataPointLevels().get_Item(1).getFormat();
	steam4Format.getFill().setFillType(FillType.Solid);
	steam4Format.getFill().getSolidFillColor().setColor(new Color(0, 176, 240, 255));
	
	pres.save("./Sunburst.pptx", SaveFormat.Pptx);
}  
finally {
	pres.dispose();
}

输出

有关如何在 PowerPoint 演示文稿中格式化图表的更多详细信息,请访问 格式化图表

您可以从 GitHub 下载 Aspose.Slides for Java 的完整源代码示例。如果您发现任何问题,请随时通过我们的 论坛 告诉我们。