Example usage for org.jfree.chart.renderer.category LineAndShapeRenderer setSeriesItemLabelsVisible

List of usage examples for org.jfree.chart.renderer.category LineAndShapeRenderer setSeriesItemLabelsVisible

Introduction

In this page you can find the example usage for org.jfree.chart.renderer.category LineAndShapeRenderer setSeriesItemLabelsVisible.

Prototype

public void setSeriesItemLabelsVisible(int series, boolean visible) 

Source Link

Document

Sets a flag that controls the visibility of the item labels for a series, and sends a RendererChangeEvent to all registered listeners.

Usage

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;
}