Как создать диаграмму StackedBar, используя apache poi 4.0 XDDFChartData, XDDFBarChartData; в листе Excel с использованием Java, я не хочу использовать JFREE

Мне нужен пример кода на Java, в настоящее время я могу рисовать линейные и круговые диаграммы после считывания значений с листа, а также хочу создать диаграмму StackedBar.

Я добавил фрагмент кода для круговой диаграммы, который я пытался использовать для формата.ppt. Я хочу то же самое в Excel для диаграммы StackedBar в Java.


String[] categories = listCategories.toArray(new String[listCategories.size()]);
            Double[] values = listValues.toArray(new Double[listValues.size()]);

            final int numOfPoints = categories.length;
            final String categoryDataRange = chart.formatRange(new CellRangeAddress(1, numOfPoints, 0, 0));
            final String valuesDataRange = chart.formatRange(new CellRangeAddress(1, numOfPoints, 1, 1));
            final XDDFDataSource<?> categoriesData = XDDFDataSourcesFactory.fromArray(categories, categoryDataRange);
            final XDDFNumericalDataSource<? extends Number> valuesData = XDDFDataSourcesFactory.fromArray(values, valuesDataRange);

            XDDFPieChartData.Series firstSeries = (XDDFPieChartData.Series) pie.getSeries().get(0);
            firstSeries.replaceData(categoriesData, valuesData);
            firstSeries.setTitle(chartTitle, chart.setSheetTitle(chartTitle, 0));
            firstSeries.setExplosion(25);
            chart.plot(pie);

1 ответ

Stacked не работает корректно с poi 4.12, я раскомментировал код в примере и бары находятся рядом друг с другом, а не друг над другом.

Другие вопросы по тегам