在 Java 中的 PowerPoint 中創建旭日圖和樹形圖

Sunburst 圖表用於以多個環的形式直觀地表示層次數據結構,其中每個環代表層次結構中的一個級別。樹狀圖是另一種圖表類型,用於表示層次結構數據以比較層次結構中的比例。 Aspose.Slides for Java 提供了在 Java 中的 PowerPoint 演示文稿中創建森伯斯特和樹圖圖表的簡單方法。在 最新版本 中,我們擴展了此功能,現在在創建 Sunburst 和 Treemap 圖表的同時,您還可以格式化數據點。讓我們看看如何創建 Sunburst 或 Treemap 圖表並格式化數據點以在 Java 中應用不同的顏色。

在 Java 中的 PowerPoint 中創建旭日圖

讓我們首先使用 Aspose.Slides for Java 在 PowerPoint 演示文稿中創建一個 Sunburst 圖表。以下是此操作所需的步驟:

  • 創建 Presentation 類的實例。
  • 按索引獲取幻燈片的參考。
  • 添加具有默認數據的 ChartType.Sunburst 圖表。
  • 將演示文稿保存為 PPTX 文件。

以下代碼示例顯示瞭如何在 Java 中的 PowerPoint 演示文稿中創建旭日圖。

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 圖表類似,您也可以使用 Aspose.Slides for Java 在 Java 中通過幾個步驟創建一個 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中格式化旭日圖的數據點標籤

使用最新版本的 Aspose.Slides for Java,您將能夠在 Java 中以編程方式格式化 Sunburst 或 Treemap 圖表的數據點標籤。為了演示,我們將僅格式化 Sunburst 圖表類型中的標籤。您可以以類似的方式對 Treemap 圖表執行格式化。

更改數據點標籤顏色

假設您要更改我們之前創建的 Sunburst 圖表中“Branch 1”數據標籤的顏色。為此,我們添加了 IChartDataPointLevelsManagerIChartDataPointLevel 類以訪問數據點級別的屬性。

以下代碼示例顯示瞭如何使用 Java 更改旭日圖中“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 的完整源代碼示例。如果您發現任何問題,請隨時通過我們的 論壇 告訴我們。