サンバーストチャートの作成方法
可能な使用シナリオ
ツリーマップチャートは、階層内での比較に適していますが、最大のカテゴリと各データポイントの階層レベルを示すのは得意ではありません。サンバーストチャートは、それを示すためのより良いビジュアルチャートです。サンバーストチャートは階層データを表示するのに最適です。階層の各レベルは、内側の円またはサークルで表されます。階層構造のデータがないサンバーストチャート(1つのカテゴリレベル)は、ドーナツチャートに似ています。ただし、複数のカテゴリレベルを持つサンバーストチャートは、外側のリングが内側のリングと関連する方法を示します。サンバーストチャートは、どのリングが寄与する要素に分割されるかを示すのに最も効果的です。他の種類の階層チャートであるツリーマップチャートは、相対的なサイズを比較するのに最適です。
サンバーストチャート
以下のコードを実行すると、下記のサンバーストチャートが表示されます。
サンプルコード
下記のサンプルコードは、サンプル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"); | |