Как создать диаграмму солнце

Возможные сценарии использования

Диаграммы-дерева хороши для сравнения пропорций в иерархии, однако они не очень хороши в показе иерархических уровней между крупными категориями и каждой точкой данных. Диаграмма-солнце намного лучше подходит для показа этого. Диаграмма-солнце идеально подходит для отображения иерархических данных. Каждый уровень иерархии представлен одним кольцом или кругом, где внутренний круг представляет верхнюю часть иерархии. Диаграмма-солнце без каких-либо иерархических данных (один уровень категорий) выглядит похоже на кольцевую диаграмму. Однако диаграмма-солнце с несколькими уровнями категорий показывает, как внешние кольца соотносятся с внутренними кольцами. Диаграмма-солнце наиболее эффективна в показе того, как одно кольцо разбивается на составляющие его части, в то время как другой тип иерархической диаграммы, диаграмма-дерева, идеально подходит для сравнения относительных размеров.

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");