如何使用Apache POI 4.0 XDDFChartData,XDDFBarChartData生成StackedBar图表;在使用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图表.
我为饼图添加了一段代码,该代码段适用于.ppt格式.我想要在Excel中对Java中的StackedBar图表使用相同的功能.
String [] Categories = listCategories.toArray(new String [listCategories.size()]);Double []值= listValues.toArray(new Double [listValues.size()]);final int numOfPoints = Categories.length;最后的字符串categoryDataRange = chart.formatRange(new CellRangeAddress(1,numOfPoints,0,0));最终字符串值DataRange = chart.formatRange(new CellRangeAddress(1,numOfPoints,1,1));最终的XDDFDataSource<?>categoryData = XDDFDataSourcesFactory.fromArray(categories,categoryDataRange);最终XDDFNumericalDataSource< ;?扩展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上无法正常工作,我未注释示例中的代码,并且条形图彼此相邻而不是彼此重叠./p>
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.
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 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生成StackedBar图表;在使用Java的Excel工作表中,我不想使用jfree的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!