如何使用 apache poi 4.0 XDDFChartData, XDDFBarChartData 生成堆叠条形图;在使用java的excel表中,我不想使用jfree [英] how to generate stackedBar chart using apache poi 4.0 XDDFChartData, XDDFBarChartData ; in excel sheet using java, i dont want to use jfree
问题描述
我需要一个 Java 示例代码,目前我可以在从工作表读取值后绘制折线图和饼图,并且我还想生成一个 StackedBar 图.
I need a sample code in Java, currently I am able to draw line and pie charts charts after reading values from sheet, and I also want to generate a StackedBar chart.
我为饼图添加了一段我尝试过的.ppt格式的代码片段.我想在 excel 中为 java 中的stackedBar 图表做同样的事情.
I added a snipplet of code for pie chart which I have attempted which is for .ppt format. I want the same in excel for stackedBar chart in 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);
推荐答案
Stacked 在 poi 4.12 中无法正常工作,我取消了示例中的代码注释,并且条形彼此相邻而不是彼此重叠.
Stacked is not working correctly with poi 4.12, I uncommented the code in the example and the bars are next to each other and not on top of each other.
这篇关于如何使用 apache poi 4.0 XDDFChartData, XDDFBarChartData 生成堆叠条形图;在使用java的excel表中,我不想使用jfree的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!