如何使用Apache POI 4.0显示折线图的X轴和Y轴

问题描述

我在Excel中具有通过代码创建的数据,我想使用Excel数据创建折线图。但是在Excel中打开文件时,只有该行可见,没有x轴或y轴。

Output_image

请看一下我编写的示例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 (将#修改为@)