public XDDFValueAxis createValueAxis(AxisPosition pos) { XDDFValueAxis valueAxis = new XDDFValueAxis(chart.getPlotArea(), pos); if (axes.size() == 1) { XDDFChartAxis axis = axes.get(0); axis.crossAxis(valueAxis); valueAxis.crossAxis(axis); } axes.add(valueAxis); return valueAxis; }
private void initializeAxis(CTPlotArea plotArea, AxisPosition position) { final long id = getNextAxId(plotArea); ctValAx = plotArea.addNewValAx(); ctValAx.addNewAxId().setVal(id); ctValAx.addNewAxPos(); ctValAx.addNewScaling(); ctValAx.addNewCrossBetween(); ctValAx.addNewCrosses(); ctValAx.addNewCrossAx(); ctValAx.addNewTickLblPos().setVal(STTickLblPos.NEXT_TO); ctValAx.addNewDelete(); ctValAx.addNewMajorTickMark(); ctValAx.addNewMinorTickMark(); setPosition(position); setOrientation(AxisOrientation.MIN_MAX); setCrossBetween(AxisCrossBetween.MIDPOINT_CATEGORY); setCrosses(AxisCrosses.AUTO_ZERO); setVisible(true); setMajorTickMark(AxisTickMark.CROSS); setMinorTickMark(AxisTickMark.NONE); } }
@Override public XDDFShapeProperties getOrAddMinorGridProperties() { CTChartLines minorGridlines; if (ctValAx.isSetMinorGridlines()) { minorGridlines = ctValAx.getMinorGridlines(); } else { minorGridlines = ctValAx.addNewMinorGridlines(); } return new XDDFShapeProperties(getOrAddLinesProperties(minorGridlines)); }
leftValues.crossAxis(barCategories); barCategories.crossAxis(leftValues); rightValues.setCrosses(AxisCrosses.MAX); rightValues.crossAxis(lineCategories); lineCategories.crossAxis(rightValues);
bottomAxis.setTitle("x"); // https://stackoverflow.com/questions/32010765 XDDFValueAxis leftAxis = chart.createValueAxis(AxisPosition.LEFT); leftAxis.setTitle("f(x)"); leftAxis.setCrosses(AxisCrosses.AUTO_ZERO);
private static void setColumnData(XSLFChart chart, String chartTitle) { // Series Text List<XDDFChartData> series = chart.getChartSeries(); XDDFBarChartData bar = (XDDFBarChartData) series.get(0); // in order to transform a bar chart into a column chart, you just need to change the bar direction bar.setBarDirection(BarDirection.COL); // looking for "Stacked Bar Chart"? uncomment the following line // bar.setBarGrouping(BarGrouping.STACKED); // additionally, you can adjust the axes bar.getCategoryAxis().setOrientation(AxisOrientation.MAX_MIN); bar.getValueAxes().get(0).setPosition(AxisPosition.TOP); }
private Map<Long, XDDFValueAxis> getValueAxes() { CTPlotArea plotArea = getCTPlotArea(); int sizeOfArray = plotArea.sizeOfValAxArray(); Map<Long, XDDFValueAxis> axes = new HashMap<>(sizeOfArray); for (int i = 0; i < sizeOfArray; i++) { CTValAx values = plotArea.getValAxArray(i); axes.put(values.getAxId().getVal(), new XDDFValueAxis(values)); } return axes; }
public XDDFValueAxis(CTPlotArea plotArea, AxisPosition position) { initializeAxis(plotArea, position); }
public XDDFChartData createData(ChartTypes type, XDDFChartAxis category, XDDFValueAxis values) { Map<Long, XDDFChartAxis> categories = Collections.singletonMap(category.getId(), category); Map<Long, XDDFValueAxis> mapValues = Collections.singletonMap(values.getId(), values); final CTPlotArea plotArea = getCTPlotArea(); switch (type) { case BAR: return new XDDFBarChartData(plotArea.addNewBarChart(), categories, mapValues); case LINE: return new XDDFLineChartData(plotArea.addNewLineChart(), categories, mapValues); case PIE: return new XDDFPieChartData(plotArea.addNewPieChart()); case RADAR: return new XDDFRadarChartData(plotArea.addNewRadarChart(), categories, mapValues); case SCATTER: return new XDDFScatterChartData(plotArea.addNewScatterChart(), categories, mapValues); default: return null; } }
bottomAxis.setTitle("x"); // https://stackoverflow.com/questions/32010765 XDDFValueAxis leftAxis = chart.createValueAxis(AxisPosition.LEFT); leftAxis.setTitle("f(x)"); leftAxis.setCrosses(AxisCrosses.AUTO_ZERO);
private static void setColumnData(XWPFChart chart, String chartTitle) { // Series Text List<XDDFChartData> series = chart.getChartSeries(); XDDFBarChartData bar = (XDDFBarChartData) series.get(0); // in order to transform a bar chart into a column chart, you just need to change the bar direction bar.setBarDirection(BarDirection.COL); // looking for "Stacked Bar Chart"? uncomment the following line // bar.setBarGrouping(BarGrouping.STACKED); // additionally, you can adjust the axes bar.getCategoryAxis().setOrientation(AxisOrientation.MAX_MIN); bar.getValueAxes().get(0).setPosition(AxisPosition.TOP); } }
private void parseAxes() { for (CTCatAx catAx : chart.getPlotArea().getCatAxArray()) { axes.add(new XDDFCategoryAxis(catAx)); } for (CTDateAx dateAx : chart.getPlotArea().getDateAxArray()) { axes.add(new XDDFDateAxis(dateAx)); } for (CTSerAx serAx : chart.getPlotArea().getSerAxArray()) { axes.add(new XDDFSeriesAxis(serAx)); } for (CTValAx valAx : chart.getPlotArea().getValAxArray()) { axes.add(new XDDFValueAxis(valAx)); } }
public XDDFValueAxis(CTPlotArea plotArea, AxisPosition position) { initializeAxis(plotArea, position); }
public XDDFChartData createData(ChartTypes type, XDDFChartAxis category, XDDFValueAxis values) { Map<Long, XDDFChartAxis> categories = Collections.singletonMap(category.getId(), category); Map<Long, XDDFValueAxis> mapValues = Collections.singletonMap(values.getId(), values); final CTPlotArea plotArea = getCTPlotArea(); switch (type) { case BAR: return new XDDFBarChartData(plotArea.addNewBarChart(), categories, mapValues); case LINE: return new XDDFLineChartData(plotArea.addNewLineChart(), categories, mapValues); case PIE: return new XDDFPieChartData(plotArea.addNewPieChart()); case RADAR: return new XDDFRadarChartData(plotArea.addNewRadarChart(), categories, mapValues); case SCATTER: return new XDDFScatterChartData(plotArea.addNewScatterChart(), categories, mapValues); default: return null; } }
private void initializeAxis(CTPlotArea plotArea, AxisPosition position) { final long id = getNextAxId(plotArea); ctValAx = plotArea.addNewValAx(); ctValAx.addNewAxId().setVal(id); ctValAx.addNewAxPos(); ctValAx.addNewScaling(); ctValAx.addNewCrossBetween(); ctValAx.addNewCrosses(); ctValAx.addNewCrossAx(); ctValAx.addNewTickLblPos().setVal(STTickLblPos.NEXT_TO); ctValAx.addNewDelete(); ctValAx.addNewMajorTickMark(); ctValAx.addNewMinorTickMark(); setPosition(position); setOrientation(AxisOrientation.MIN_MAX); setCrossBetween(AxisCrossBetween.MIDPOINT_CATEGORY); setCrosses(AxisCrosses.AUTO_ZERO); setVisible(true); setMajorTickMark(AxisTickMark.CROSS); setMinorTickMark(AxisTickMark.NONE); } }
public XDDFValueAxis createValueAxis(AxisPosition pos) { XDDFValueAxis valueAxis = new XDDFValueAxis(chart.getPlotArea(), pos); if (axes.size() == 1) { XDDFChartAxis axis = axes.get(0); axis.crossAxis(valueAxis); valueAxis.crossAxis(axis); } axes.add(valueAxis); return valueAxis; }
bottomAxis.setTitle("x"); // https://stackoverflow.com/questions/32010765 XDDFValueAxis leftAxis = chart.createValueAxis(AxisPosition.LEFT); leftAxis.setTitle("f(x)"); leftAxis.setCrosses(AxisCrosses.AUTO_ZERO);
private Map<Long, XDDFValueAxis> getValueAxes() { CTPlotArea plotArea = getCTPlotArea(); int sizeOfArray = plotArea.sizeOfValAxArray(); Map<Long, XDDFValueAxis> axes = new HashMap<>(sizeOfArray); for (int i = 0; i < sizeOfArray; i++) { CTValAx values = plotArea.getValAxArray(i); axes.put(values.getAxId().getVal(), new XDDFValueAxis(values)); } return axes; }
@Override public XDDFShapeProperties getOrAddMajorGridProperties() { CTChartLines majorGridlines; if (ctValAx.isSetMajorGridlines()) { majorGridlines = ctValAx.getMajorGridlines(); } else { majorGridlines = ctValAx.addNewMajorGridlines(); } return new XDDFShapeProperties(getOrAddLinesProperties(majorGridlines)); }
private void parseAxes() { for (CTCatAx catAx : chart.getPlotArea().getCatAxArray()) { axes.add(new XDDFCategoryAxis(catAx)); } for (CTDateAx dateAx : chart.getPlotArea().getDateAxArray()) { axes.add(new XDDFDateAxis(dateAx)); } for (CTSerAx serAx : chart.getPlotArea().getSerAxArray()) { axes.add(new XDDFSeriesAxis(serAx)); } for (CTValAx valAx : chart.getPlotArea().getValAxArray()) { axes.add(new XDDFValueAxis(valAx)); } }