List of usage examples for org.jfree.chart.renderer.category LineAndShapeRenderer setSeriesItemLabelsVisible
public void setSeriesItemLabelsVisible(int series, boolean visible)
From source file:org.pau.assetmanager.viewmodel.chart.PrepareChart.java
public static void commonPrepareJFreeChart(LineAndShapeRenderer renderer) { renderer.setSeriesStroke(0, new BasicStroke(1)); renderer.setSeriesStroke(1, new BasicStroke(1)); renderer.setSeriesStroke(2, new BasicStroke(1)); renderer.setSeriesStroke(3, new BasicStroke(1)); renderer.setSeriesStroke(4, new BasicStroke(1)); renderer.setSeriesStroke(5, new BasicStroke(1)); renderer.setSeriesStroke(6, new BasicStroke(1)); renderer.setSeriesItemLabelsVisible(0, true); renderer.setSeriesItemLabelsVisible(1, true); renderer.setSeriesItemLabelsVisible(2, true); renderer.setSeriesItemLabelsVisible(3, true); renderer.setSeriesItemLabelsVisible(4, true); renderer.setSeriesItemLabelsVisible(5, true); renderer.setSeriesItemLabelsVisible(6, true); renderer.setSeriesLinesVisible(0, true); renderer.setSeriesLinesVisible(1, true); renderer.setSeriesLinesVisible(2, true); renderer.setSeriesLinesVisible(3, true); renderer.setSeriesLinesVisible(4, true); renderer.setSeriesLinesVisible(5, true); renderer.setSeriesLinesVisible(6, true); renderer.setSeriesShapesVisible(0, true); renderer.setSeriesShapesVisible(1, true); renderer.setSeriesShapesVisible(2, true); renderer.setSeriesShapesVisible(3, true); renderer.setSeriesShapesVisible(4, true); renderer.setSeriesShapesVisible(5, true); renderer.setSeriesShapesVisible(6, true); }
From source file:lucee.runtime.tag.Chart.java
private void setMarker(JFreeChart chart, Plot p) { if (!showmarkers) return;//from www.j ava 2s . c o m if (markersize < 1 || markersize > 100) markersize = 4; if (p instanceof XYPlot) { XYPlot xyp = (XYPlot) p; XYItemRenderer r = xyp.getRenderer(); if (r instanceof XYLineAndShapeRenderer) { XYLineAndShapeRenderer xyr = (XYLineAndShapeRenderer) r; xyr.setBaseShapesVisible(true); xyr.setBaseShapesFilled(true); int seriesCount = _series.size(); for (int i = 0; i < seriesCount; i++) { xyr.setSeriesShapesVisible(i, true); xyr.setSeriesItemLabelsVisible(i, true); xyr.setSeriesShape(i, ShapeUtilities.createDiamond(markersize)); xyr.setUseFillPaint(true); xyr.setBaseFillPaint(databackgroundcolor); } } } else if (p instanceof CategoryPlot) { CategoryPlot cp = (CategoryPlot) p; CategoryItemRenderer r = cp.getRenderer(); if (r instanceof LineAndShapeRenderer) { LineAndShapeRenderer lsr = (LineAndShapeRenderer) r; int seriesCount = _series.size(); for (int i = 0; i < seriesCount; i++) { lsr.setSeriesShapesVisible(i, true); lsr.setSeriesItemLabelsVisible(i, true); lsr.setSeriesShape(i, ShapeUtilities.createDiamond(markersize)); lsr.setUseFillPaint(true); lsr.setBaseFillPaint(databackgroundcolor); } } } }
From source file:com.rapidminer.gui.plotter.charts.ParetoChartPlotter.java
public void paintParetoChart(Graphics graphics) { prepareData();/*from www . j a v a 2 s . c o m*/ JFreeChart chart = createChart(); if (chart != null) { // set the background color for the chart... chart.setBackgroundPaint(Color.white); chart.getPlot().setBackgroundPaint(Color.WHITE); // bar renderer --> own 3D effect CategoryPlot plot = chart.getCategoryPlot(); BarRenderer renderer = (BarRenderer) plot.getRenderer(); // renderer.setBarPainter(new StandardBarPainter()); renderer.setBarPainter(new RapidBarPainter()); renderer.setSeriesPaint(0, getColorProvider(true).getPointColor(1)); // labels on top of bars Map<String, String> barItemLabels = new HashMap<>(); Map<String, String> cumulativeItemLabels = new HashMap<>(); int groupSum = 0; int totalSum = 0; for (Object key : totalData.getKeys()) { String k = (String) key; try { Number groupValue = data.getValue(k); Number totalValue = totalData.getValue(k); groupSum += groupValue.intValue(); totalSum += totalValue.intValue(); barItemLabels.put(k, Tools.formatIntegerIfPossible(groupValue.doubleValue()) + " / " + Tools.formatIntegerIfPossible(totalValue.doubleValue())); cumulativeItemLabels.put(k, groupSum + " / " + totalSum); } catch (UnknownKeyException e) { // do nothing } } renderer.setSeriesItemLabelFont(0, LABEL_FONT); if (showBarLabelsFlag) { renderer.setSeriesItemLabelsVisible(0, true); renderer.setSeriesItemLabelGenerator(0, new ParetoChartItemLabelGenerator(barItemLabels)); if (isLabelRotating()) { renderer.setSeriesPositiveItemLabelPosition(0, new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.CENTER_LEFT, TextAnchor.CENTER_LEFT, -Math.PI / 2.0d)); renderer.setSeriesNegativeItemLabelPosition(0, new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.CENTER_LEFT, TextAnchor.CENTER_LEFT, -Math.PI / 2.0d)); } } LineAndShapeRenderer renderer2 = (LineAndShapeRenderer) chart.getCategoryPlot().getRenderer(1); renderer2.setSeriesPaint(0, Color.GRAY.darker().darker()); renderer2.setSeriesItemLabelFont(0, LABEL_FONT); renderer2.setSeriesItemLabelPaint(0, Color.BLACK); if (isLabelRotating()) { renderer2.setSeriesPositiveItemLabelPosition(0, new ItemLabelPosition(ItemLabelAnchor.OUTSIDE6, TextAnchor.CENTER_RIGHT, TextAnchor.CENTER_RIGHT, -Math.PI / 2.0d)); renderer2.setSeriesNegativeItemLabelPosition(0, new ItemLabelPosition(ItemLabelAnchor.OUTSIDE6, TextAnchor.CENTER_RIGHT, TextAnchor.CENTER_RIGHT, -Math.PI / 2.0d)); } else { renderer2.setSeriesPositiveItemLabelPosition(0, new ItemLabelPosition(ItemLabelAnchor.OUTSIDE10, TextAnchor.BOTTOM_RIGHT)); renderer2.setSeriesNegativeItemLabelPosition(0, new ItemLabelPosition(ItemLabelAnchor.OUTSIDE10, TextAnchor.BOTTOM_RIGHT)); } if (showCumulativeLabelsFlag) { renderer2.setSeriesItemLabelsVisible(0, true); renderer2.setSeriesItemLabelGenerator(0, new ParetoChartItemLabelGenerator(cumulativeItemLabels)); } // draw outlines renderer.setDrawBarOutline(true); // gridline colors plot.setRangeGridlinePaint(Color.BLACK); // legend settings LegendTitle legend = chart.getLegend(); if (legend != null) { legend.setPosition(RectangleEdge.TOP); legend.setFrame(BlockBorder.NONE); legend.setHorizontalAlignment(HorizontalAlignment.LEFT); legend.setItemFont(LABEL_FONT); } Rectangle2D drawRect = new Rectangle2D.Double(0, 0, getWidth(), getHeight()); chart.draw((Graphics2D) graphics, drawRect); } }
From source file:ro.nextreports.engine.chart.JFreeChartExporter.java
private JFreeChart addLineChartOverBar(JFreeChart jfreechart, Object[] lineCharts, String lineLegend) throws QueryException { // first we read data for bar series, so we have to go back at the start of the result set try {/*from w ww.j a va 2s .c om*/ result.getResultSet().beforeFirst(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } isLineCombo = true; lineBarDataset = new DefaultCategoryDataset(); boolean hasLegend = false; for (int i = 0; i < lineCharts.length; i++) { String legend = ""; try { legend = replaceParameters(lineLegend); } catch (IndexOutOfBoundsException ex) { // no legend set } if ((legend != null) && !"".equals(legend.trim())) { hasLegend = true; } lineCharts[i] = legend; } int index = chart.getYColumns().size() - 1; CategoryPlot plot = jfreechart.getCategoryPlot(); final LineAndShapeRenderer renderer2 = new LineAndShapeRenderer(); plot.setRenderer(1, renderer2); renderer2.setSeriesPaint(0, chart.getForegrounds().get(index)); final ValueAxis axis2 = new NumberAxis(""); plot.setRangeAxis(1, axis2); plot.setDataset(1, lineBarDataset); plot.mapDatasetToRangeAxis(1, 1); plot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD); boolean showValues = (chart.getShowYValuesOnChart() == null) ? false : chart.getShowYValuesOnChart(); DecimalFormat decimalFormat; DecimalFormat percentageFormat; if (chart.getYTooltipPattern() == null) { decimalFormat = new DecimalFormat("#"); percentageFormat = new DecimalFormat("0.00%"); } else { decimalFormat = new DecimalFormat(chart.getYTooltipPattern()); percentageFormat = decimalFormat; } if (showValues) { renderer2.setSeriesItemLabelsVisible(0, true); renderer2.setSeriesItemLabelGenerator(0, new StandardCategoryItemLabelGenerator("{2}", decimalFormat, percentageFormat)); // increase a little bit the range axis to view all item label values over points plot.getRangeAxis(1).setUpperMargin(0.2); } final HashMap<String, String> formatValues = createChart(chart.getYColumns().subList(index, index + 1), plot.getRangeAxis(1), lineCharts); isLineCombo = false; return jfreechart; }