如何创建旭日图表

可能的使用场景

Treemap图表适用于比较层次结构内的比例,然而,Treemap图表并不擅长显示最大类别和每个数据点之间的层次级别。旭日图表是展示这一点的更好的视觉图表。旭日图表非常适合显示分层数据。层次结构的每个层级由一个环或圆圈表示,最内层的圆圈为层次结构的顶部。没有任何层次数据的旭日图表(一个类别级别),看起来类似于甜甜圈图表。然而,具有多个类别层级的旭日图表显示外部环如何与内部环相关。旭日图表最有效地显示了一个环如何被划分为其组成部分,而另一种类型的层次图表,Treemap图表,则适用于比较相对大小。

todo:image_alt_text

旭日图表

运行下面的代码后,您将会看到如下所示的旭日图表。

todo:image_alt_text

示例代码

以下示例代码加载 样本 Excel 文件 并生成 输出 Excel 文件

// Create an instance of Workbook
Workbook workbook = new Workbook("sunburst.xlsx");
// Access the first worksheet
Worksheet worksheet = workbook.getWorksheets().get(0);
// Add a SUNBURST chart
int pieIdx = worksheet.getCharts().add(ChartType.SUNBURST, 5, 6, 25, 12);
// Retrieve the Chart object
Chart chart = worksheet.getCharts().get(pieIdx);
// Set the legend can be showed
chart.setShowLegend(true);
// Set the chart title name
chart.getTitle().setText("Sunburst Chart");
// Add series data range
chart.getNSeries().add("D2:D16", true);
// Set category data(A2:A16 is incorrect,as hierarchical catogory)
chart.getNSeries().setCategoryData("A2:C16");
// Show the DataLabels with category names
chart.getNSeries().get(0).getDataLabels().setShowCategoryName(true);
// Fill the PlotArea area with nothing
chart.getPlotArea().getArea().getFillFormat().setFillType(FillType.NONE);
// Save the Excel file
workbook.save("out.xlsx");