如何解决如何使用Apache POI 4.0显示折线图的X轴和Y轴
我在Excel中具有通过代码创建的数据,我想使用Excel数据创建折线图。但是在Excel中打开文件时,只有该行可见,没有x轴或y轴。
请看一下我编写的示例Java代码:
XSSFDrawing drawing = sheet.createDrawingPatriarch();
ClientAnchor anchor = drawing.createAnchor( 0,3,10,20 );
XSSFChart chart = drawing.createChart( anchor );
chart.setTitleText( "LineChart" );
/*XDDFChartLegend legend = chart.getOrAddLegend();
legend.setPosition( LegendPosition.TOP_RIGHT );*/
XDDFCategoryAxis bottomAxis = chart.createCategoryAxis( AxisPosition.BOTTOM );
XDDFValueAxis leftAxis = chart.createValueAxis( AxisPosition.LEFT );
leftAxis.setCrosses( AxisCrosses.AUTO_ZERO );
XDDFDataSource<String> xs = XDDFDataSourcesFactory.fromStringCellRange( sheet,new CellRangeAddress( 0,NO_OF_DAYS - 1 ) );
XDDFNumericalDataSource<Double> ys1 = XDDFDataSourcesFactory.fromNumericCellRange( sheet,new CellRangeAddress( 1,1,NO_OF_DAYS - 1 ) );
XDDFNumericalDataSource<Double> ys2 = XDDFDataSourcesFactory.fromNumericCellRange( sheet,new CellRangeAddress( 2,2,NO_OF_DAYS - 1 ) );
XDDFLineChartData data = ( XDDFLineChartData ) chart.createData( ChartTypes.LINE,bottomAxis,leftAxis );
XDDFLineChartData.Series series = ( XDDFLineChartData.Series ) data.addSeries( xs,ys1 );
XDDFLineChartData.Series series2 = ( XDDFLineChartData.Series ) data.addSeries( xs,ys2 );
chart.plot( data );
series.setMarkerStyle( MarkerStyle.CIRCLE );
XDDFSolidFillProperties fill = new XDDFSolidFillProperties( XDDFColor.from( PresetColor.BLUE ) );
XDDFLineProperties line = new XDDFLineProperties();
line.setFillProperties( fill );
for ( XDDFChartData.Series series1 : data.getSeries() ) {
//XDDFChartData.Series series1 = data.getSeries().get( 0 );
XDDFShapeProperties properties = series1.getShapeProperties();
if ( properties == null ) {
properties = new XDDFShapeProperties();
}
properties.setLineProperties( line );
series1.setShapeProperties( properties );
}
有什么问题吗??? 预先感谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。