Example usage for org.jfree.chart.renderer.xy XYLineAndShapeRenderer setDrawOutlines

List of usage examples for org.jfree.chart.renderer.xy XYLineAndShapeRenderer setDrawOutlines

Introduction

In this page you can find the example usage for org.jfree.chart.renderer.xy XYLineAndShapeRenderer setDrawOutlines.

Prototype

public void setDrawOutlines(boolean flag) 

Source Link

Document

Sets the flag that controls whether outlines are drawn for shapes, and sends a RendererChangeEvent to all registered listeners.

Usage

From source file:com.appnativa.rare.ui.chart.jfreechart.ChartHandler.java

protected void customizeSeriesAttributes(ChartPanel chartPanel, ChartDefinition cd, Plot plot,
        boolean multiset) {
    List<RenderableDataItem> rows = cd.getSeries();
    ChartInfo ci = (ChartInfo) cd.getChartHandlerInfo();
    List<SeriesData> seriesData = ci.seriesData;
    int len = (seriesData == null) ? 0 : seriesData.size();

    if (len == 0) {
        return;/*from w ww  .  ja va 2s  .  c o  m*/
    }

    ChartDataItem di;
    Paint p = null;
    iPainter painter;
    BasicStroke stroke = null;
    BasicStroke ostroke = null;
    RareBarPainter barPainter = null;
    AbstractRenderer r;
    Object o;
    UIColor c;
    PlotInformation pi = cd.getPlotInformation();

    if (pi != null) {
        float lt = pi.getLineThickness();
        float ot = pi.getOutlineThickness();

        if (lt > 1) {
            stroke = new BasicStroke(lt);
        }

        if (ot > 1) {
            ostroke = (ot == lt) ? stroke : new BasicStroke(ot);
        }
    }

    int n = 0;

    for (int i = 0; i < len; i++) {
        SeriesData data = seriesData.get(i);

        di = (ChartDataItem) rows.get(data.seriesIndex);

        if ((di == null) || di.isEmpty()) {
            continue;
        }

        p = null;
        o = ((XYPlot) plot).getRenderer(multiset ? i : 0);

        if (!(o instanceof AbstractRenderer)) {
            continue;
        }

        UIColor fc = data.fillColor;
        UIColor oc = data.outlineColor;

        r = (AbstractRenderer) o;
        painter = di.getComponentPainter();

        if (painter == null) {
            c = di.getBackground();

            if (c instanceof UIColorShade) {
                painter = ((UIColorShade) c).getBackgroundPainter();

                if (painter instanceof UISimpleBackgroundPainter) {
                    p = painter.getBackgroundColor();
                    painter = null;
                }
            } else {
                p = c;
            }
        }

        if ((painter == null) && (p == null)) {
            painter = cd.getRangeAxis().getComponentPainter();

            if (painter == null) {
                c = cd.getRangeAxis().getBackground();

                if (c instanceof UIColorShade) {
                    painter = ((UIColorShade) c).getBackgroundPainter();

                    if (painter instanceof UISimpleBackgroundPainter) {
                        p = painter.getBackgroundColor();
                        painter = null;
                    }
                } else {
                    p = c;
                }
            }
        }

        if (painter != null) {
            if (r instanceof XYBarRenderer) {
                if (barPainter == null) {
                    barPainter = new RareBarPainter(chartPanel);
                }

                XYBarRenderer xr = (XYBarRenderer) r;

                xr.setBarPainter(barPainter);
                p = ChartHelper.getPaint(painter);
            } else if (r instanceof BarRenderer) {
                if (barPainter == null) {
                    barPainter = new RareBarPainter(chartPanel);
                }

                BarRenderer xr = (BarRenderer) r;

                xr.setItemMargin(0);
                xr.setBarPainter(barPainter);
                p = ChartHelper.getPaint(painter);
            } else {
                iPlatformPaint pp = painter.getPaint(50, 50);

                p = (pp == null) ? null : pp.getPaint();
            }
        }

        if (p == null) {
            p = di.getBackground();
        }

        if (p == null) {
            p = getDefaultColor(i);
        }

        n = multiset ? 0 : i;
        r.setSeriesPaint(n, p);

        if (r instanceof XYAreaSplineRendererEx) {
            r.setSeriesFillPaint(n, p);
        }

        float lt = getSeriesLineThickness(di, -1);

        if (lt != -1) {
            r.setSeriesStroke(n, new BasicStroke(lt));
        } else if (stroke != null) {
            r.setSeriesStroke(n, stroke);
        }

        lt = getSeriesOutlineLineThickness(di, -1);

        if (lt != -1) {
            r.setSeriesOutlineStroke(n, ostroke);
        } else if (ostroke != null) {
            r.setSeriesOutlineStroke(n, ostroke);
        }

        if (r instanceof XYLineAndShapeRenderer) {
            ShapeStyle ss = getSeriesShapeStyle(pi, di);
            XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) r;

            switch (ss) {
            case FILLED:
                renderer.setBaseShapesVisible(true);
                renderer.setBaseShapesFilled(true);
                renderer.setUseFillPaint(true);
                renderer.setSeriesFillPaint(n, (fc == null) ? p : fc.getPaint());

                break;

            case OUTLINED:
                renderer.setBaseShapesVisible(true);
                renderer.setUseOutlinePaint(true);
                renderer.setDrawOutlines(true);
                renderer.setSeriesOutlinePaint(n, (oc == null) ? p : oc.getPaint());

                break;

            case FILLED_AND_OUTLINED:
                renderer.setSeriesOutlinePaint(n, (oc == null) ? p : oc.getPaint());
                renderer.setSeriesFillPaint(n, (fc == null) ? UIColor.WHITE.getPaint() : fc.getPaint());
                renderer.setBaseShapesVisible(true);
                renderer.setDrawOutlines(true);
                renderer.setBaseShapesFilled(true);
                renderer.setUseFillPaint(true);
                renderer.setUseOutlinePaint(true);

                break;

            default:
                renderer.setBaseShapesVisible(false);

                break;
            }

            if (renderer.getBaseShapesVisible()) {
                renderer.setSeriesShape(n, getDefaultShape(i));
            }
        }
    }
}

From source file:edu.ucla.stat.SOCR.chart.ChartGenerator_JTable.java

private JFreeChart createXYSymbolicAxisChart(String title, XYDataset dataset) {
    SymbolAxis domainAxis = new SymbolAxis("Domain", new String[] { "A", "B", "C", "D" });
    SymbolAxis rangeAxis = new SymbolAxis("Range", new String[] { "V", "X", "Y", "Z" });
    XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(false, true);
    //renderer.setLegendItemLabelGenerator(new SOCRXYSeriesLabelGenerator());

    XYPlot plot = new XYPlot(dataset, domainAxis, rangeAxis, renderer);
    JFreeChart chart = new JFreeChart("SymbolicAxis Demo 1", plot);

    if (lineCondition.indexOf("noshape") != -1)
        renderer.setBaseShapesVisible(false);
    else/*  www  . j  a v a2 s .  com*/
        renderer.setBaseShapesVisible(true);

    if (lineCondition.indexOf("noline") != -1)
        renderer.setBaseLinesVisible(false);

    if (lineCondition.indexOf("nofill") != -1) {
        renderer.setBaseShapesFilled(false);
        renderer.setBaseFillPaint(Color.white);
        renderer.setDrawOutlines(true);
    } else {
        renderer.setBaseShapesFilled(true);
        renderer.setUseFillPaint(false);
    }

    renderer.setUseFillPaint(true);
    //renderer.setFillPaint(Color.white);

    return chart;
}

From source file:edu.ucla.stat.SOCR.chart.ChartGenerator_JTable.java

private JFreeChart createXYLineChart(String title, String xLabel, String yLabel, XYDataset dataset) {

    // create the chart...
    JFreeChart chart = ChartFactory.createXYLineChart(title, // chart title
            xLabel, // domain axis label
            yLabel, // range axis label
            dataset, // data
            orientation, // orientation
            true, // include legend
            true, // tooltips
            false // urls
    );/*from   ww  w .j a  va  2  s  . c om*/

    chart.setBackgroundPaint(Color.white);

    XYPlot plot = chart.getXYPlot();
    plot.setBackgroundPaint(Color.lightGray);
    plot.setRangeGridlinePaint(Color.white);
    plot.setDomainGridlinePaint(Color.white);
    plot.setNoDataMessage("No data available");

    // customise the renderer...
    XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) plot.getRenderer();
    // customise the range axis...

    if (lineCondition.indexOf("qq") != -1) {
        renderer.setBaseShapesFilled(true);
        renderer.setSeriesLinesVisible(1, true);
        renderer.setSeriesShapesVisible(1, false);
        renderer.setSeriesLinesVisible(0, false);
        renderer.setSeriesShapesVisible(0, true);

        NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
        rangeAxis.setAutoRangeIncludesZero(false);
        rangeAxis.setUpperMargin(0);
        rangeAxis.setLowerMargin(0);

        // rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
        NumberAxis domainAxis = (NumberAxis) plot.getDomainAxis();
        domainAxis.setAutoRangeIncludesZero(false);
        domainAxis.setUpperMargin(0);
        domainAxis.setLowerMargin(0);
        return chart;
    }

    NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
    rangeAxis.setAutoRange(false);
    rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());

    if (timeType.length() != 0) {
        setDateAxis(plot);
    } else {
        NumberAxis domainAxis = (NumberAxis) plot.getDomainAxis();
        domainAxis.setAutoRange(false);
        domainAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    }

    // System.out.println("lineCondition "+lineCondition);
    if (lineCondition.indexOf("noshape") != -1)
        renderer.setBaseShapesVisible(false);
    else
        renderer.setBaseShapesVisible(true);

    if (lineCondition.indexOf("noline") != -1)
        renderer.setBaseLinesVisible(false);

    if (lineCondition.indexOf("nofill") != -1) {
        renderer.setBaseShapesFilled(false);
        renderer.setBaseFillPaint(Color.white);
        renderer.setDrawOutlines(true);
    } else {
        renderer.setBaseShapesFilled(true);
        renderer.setUseFillPaint(false);
    }

    return chart;
}