Search in sources :

Example 1 with CustomChartSeries

use of org.devgateway.toolkit.web.excelcharts.CustomChartSeries in project ocvn by devgateway.

the class XSSFLineChartData method fillChart.

@Override
public void fillChart(final Chart chart, final ChartAxis... axis) {
    if (!(chart instanceof XSSFChart)) {
        throw new IllegalArgumentException("Chart must be instance of XSSFChart");
    }
    final XSSFChart xssfChart = (XSSFChart) chart;
    final CTPlotArea plotArea = xssfChart.getCTChart().getPlotArea();
    final CTLineChart lineChart = plotArea.addNewLineChart();
    lineChart.addNewVaryColors().setVal(false);
    for (CustomChartSeries s : series) {
        s.addToChart(lineChart);
    }
    for (ChartAxis ax : axis) {
        lineChart.addNewAxId().setVal(ax.getId());
    }
    xssfChart.setTitle(this.title);
    // add grid lines
    CTCatAx[] ctCatAx = plotArea.getCatAxArray();
    if (ctCatAx.length != 0) {
        ctCatAx[0].addNewMajorGridlines().addNewSpPr().addNewSolidFill();
    }
    CTValAx[] ctValAx = plotArea.getValAxArray();
    if (ctValAx.length != 0) {
        ctValAx[0].addNewMajorGridlines().addNewSpPr().addNewSolidFill();
    }
}
Also used : XSSFChart(org.apache.poi.xssf.usermodel.XSSFChart) CTLineChart(org.openxmlformats.schemas.drawingml.x2006.chart.CTLineChart) CustomChartSeries(org.devgateway.toolkit.web.excelcharts.CustomChartSeries) ChartAxis(org.apache.poi.ss.usermodel.charts.ChartAxis) CTValAx(org.openxmlformats.schemas.drawingml.x2006.chart.CTValAx) CTPlotArea(org.openxmlformats.schemas.drawingml.x2006.chart.CTPlotArea) CTCatAx(org.openxmlformats.schemas.drawingml.x2006.chart.CTCatAx)

Example 2 with CustomChartSeries

use of org.devgateway.toolkit.web.excelcharts.CustomChartSeries in project ocvn by devgateway.

the class XSSFScatterChartData method fillChart.

@Override
public void fillChart(final Chart chart, final ChartAxis... axis) {
    if (!(chart instanceof XSSFChart)) {
        throw new IllegalArgumentException("Chart must be instance of XSSFChart");
    }
    final XSSFChart xssfChart = (XSSFChart) chart;
    final CTPlotArea plotArea = xssfChart.getCTChart().getPlotArea();
    final CTScatterChart scatterChart = plotArea.addNewScatterChart();
    addStyle(scatterChart);
    for (CustomChartSeries s : series) {
        s.addToChart(scatterChart);
    }
    for (ChartAxis ax : axis) {
        scatterChart.addNewAxId().setVal(ax.getId());
    }
    xssfChart.setTitle(this.title);
    // add grid lines
    CTCatAx[] ctCatAx = plotArea.getCatAxArray();
    if (ctCatAx.length != 0) {
        ctCatAx[0].addNewMajorGridlines().addNewSpPr().addNewSolidFill();
    }
    CTValAx[] ctValAx = plotArea.getValAxArray();
    if (ctValAx.length != 0) {
        ctValAx[0].addNewMajorGridlines().addNewSpPr().addNewSolidFill();
    }
}
Also used : XSSFChart(org.apache.poi.xssf.usermodel.XSSFChart) CTScatterChart(org.openxmlformats.schemas.drawingml.x2006.chart.CTScatterChart) CustomChartSeries(org.devgateway.toolkit.web.excelcharts.CustomChartSeries) ChartAxis(org.apache.poi.ss.usermodel.charts.ChartAxis) CTValAx(org.openxmlformats.schemas.drawingml.x2006.chart.CTValAx) CTPlotArea(org.openxmlformats.schemas.drawingml.x2006.chart.CTPlotArea) CTCatAx(org.openxmlformats.schemas.drawingml.x2006.chart.CTCatAx)

Example 3 with CustomChartSeries

use of org.devgateway.toolkit.web.excelcharts.CustomChartSeries in project ocvn by devgateway.

the class XSSFStackedBarChartData method fillChart.

@Override
public void fillChart(final Chart chart, final ChartAxis... axis) {
    if (!(chart instanceof XSSFChart)) {
        throw new IllegalArgumentException("Chart must be instance of XSSFChart");
    }
    final XSSFChart xssfChart = (XSSFChart) chart;
    final CTPlotArea plotArea = xssfChart.getCTChart().getPlotArea();
    final CTBarChart barChart = plotArea.addNewBarChart();
    barChart.addNewVaryColors().setVal(false);
    // create a stacked bar
    barChart.addNewGrouping().setVal(barGrouping);
    barChart.addNewOverlap().setVal((byte) OVERLAPPERCENTAGE);
    // set bars orientation
    barChart.addNewBarDir().setVal(barDir);
    xssfChart.setTitle(this.title);
    CTValAx[] ctValAx = plotArea.getValAxArray();
    if (ctValAx.length != 0) {
        ctValAx[0].addNewMajorGridlines().addNewSpPr().addNewSolidFill();
        ctValAx[0].getCrossBetween().setVal(STCrossBetween.BETWEEN);
    }
    for (CustomChartSeries s : series) {
        s.addToChart(barChart);
    }
    for (ChartAxis ax : axis) {
        barChart.addNewAxId().setVal(ax.getId());
    }
}
Also used : XSSFChart(org.apache.poi.xssf.usermodel.XSSFChart) CTValAx(org.openxmlformats.schemas.drawingml.x2006.chart.CTValAx) CustomChartSeries(org.devgateway.toolkit.web.excelcharts.CustomChartSeries) ChartAxis(org.apache.poi.ss.usermodel.charts.ChartAxis) CTPlotArea(org.openxmlformats.schemas.drawingml.x2006.chart.CTPlotArea) CTBarChart(org.openxmlformats.schemas.drawingml.x2006.chart.CTBarChart)

Example 4 with CustomChartSeries

use of org.devgateway.toolkit.web.excelcharts.CustomChartSeries in project ocvn by devgateway.

the class XSSFAreaChartData method fillChart.

@Override
public void fillChart(final Chart chart, final ChartAxis... axis) {
    if (!(chart instanceof XSSFChart)) {
        throw new IllegalArgumentException("Chart must be instance of XSSFChart");
    }
    final XSSFChart xssfChart = (XSSFChart) chart;
    final CTPlotArea plotArea = xssfChart.getCTChart().getPlotArea();
    final CTAreaChart areChart = plotArea.addNewAreaChart();
    areChart.addNewVaryColors().setVal(false);
    xssfChart.setTitle(this.title);
    CTValAx[] ctValAx = plotArea.getValAxArray();
    if (ctValAx.length != 0) {
        ctValAx[0].addNewMajorGridlines().addNewSpPr().addNewSolidFill();
        ctValAx[0].getCrossBetween().setVal(STCrossBetween.BETWEEN);
    }
    for (CustomChartSeries s : series) {
        s.addToChart(areChart);
    }
    for (ChartAxis ax : axis) {
        areChart.addNewAxId().setVal(ax.getId());
    }
}
Also used : XSSFChart(org.apache.poi.xssf.usermodel.XSSFChart) CTValAx(org.openxmlformats.schemas.drawingml.x2006.chart.CTValAx) CustomChartSeries(org.devgateway.toolkit.web.excelcharts.CustomChartSeries) ChartAxis(org.apache.poi.ss.usermodel.charts.ChartAxis) CTAreaChart(org.openxmlformats.schemas.drawingml.x2006.chart.CTAreaChart) CTPlotArea(org.openxmlformats.schemas.drawingml.x2006.chart.CTPlotArea)

Example 5 with CustomChartSeries

use of org.devgateway.toolkit.web.excelcharts.CustomChartSeries in project ocvn by devgateway.

the class AbstractXSSFChartData method addSeries.

@Override
public CustomChartSeries addSeries(final String title, final ChartDataSource<?> categoryAxisData, final ChartDataSource<? extends Number> values) {
    if (!values.isNumeric()) {
        throw new IllegalArgumentException("Value data source must be numeric.");
    }
    int numOfSeries = series.size();
    final CustomChartSeries newSeries = createNewSerie(numOfSeries, numOfSeries, categoryAxisData, values);
    if (title != null) {
        newSeries.setTitle(title);
    }
    series.add(newSeries);
    return newSeries;
}
Also used : CustomChartSeries(org.devgateway.toolkit.web.excelcharts.CustomChartSeries)

Aggregations

CustomChartSeries (org.devgateway.toolkit.web.excelcharts.CustomChartSeries)16 XSSFChart (org.apache.poi.xssf.usermodel.XSSFChart)14 CTPlotArea (org.openxmlformats.schemas.drawingml.x2006.chart.CTPlotArea)14 ChartAxis (org.apache.poi.ss.usermodel.charts.ChartAxis)12 CTValAx (org.openxmlformats.schemas.drawingml.x2006.chart.CTValAx)10 CTBarChart (org.openxmlformats.schemas.drawingml.x2006.chart.CTBarChart)4 CTCatAx (org.openxmlformats.schemas.drawingml.x2006.chart.CTCatAx)4 CTAreaChart (org.openxmlformats.schemas.drawingml.x2006.chart.CTAreaChart)2 CTBubbleChart (org.openxmlformats.schemas.drawingml.x2006.chart.CTBubbleChart)2 CTLineChart (org.openxmlformats.schemas.drawingml.x2006.chart.CTLineChart)2 CTPieChart (org.openxmlformats.schemas.drawingml.x2006.chart.CTPieChart)2 CTScatterChart (org.openxmlformats.schemas.drawingml.x2006.chart.CTScatterChart)2