Example usage for org.jfree.chart.renderer.xy XYErrorRenderer setSeriesOutlinePaint

List of usage examples for org.jfree.chart.renderer.xy XYErrorRenderer setSeriesOutlinePaint

Introduction

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

Prototype

public void setSeriesOutlinePaint(int series, Paint paint) 

Source Link

Document

Sets the paint used for a series outline and sends a RendererChangeEvent to all registered listeners.

Usage

From source file:org.esa.snap.rcp.statistics.ScatterPlotPanel.java

private void createUI() {

    final XYPlot plot = getPlot();
    plot.setAxisOffset(new RectangleInsets(5, 5, 5, 5));
    plot.setNoDataMessage(NO_DATA_MESSAGE);
    int confidenceDSIndex = 0;
    int regressionDSIndex = 1;
    int scatterpointsDSIndex = 2;
    plot.setDataset(confidenceDSIndex, acceptableDeviationDataset);
    plot.setDataset(regressionDSIndex, regressionDataset);
    plot.setDataset(scatterpointsDSIndex, scatterpointsDataset);

    plot.addAnnotation(r2Annotation);

    final DeviationRenderer identityRenderer = new DeviationRenderer(true, false);
    identityRenderer.setSeriesPaint(0, StatisticChartStyling.SAMPLE_DATA_PAINT);
    identityRenderer.setSeriesFillPaint(0, StatisticChartStyling.SAMPLE_DATA_FILL_PAINT);
    plot.setRenderer(confidenceDSIndex, identityRenderer);

    final DeviationRenderer regressionRenderer = new DeviationRenderer(true, false);
    regressionRenderer.setSeriesPaint(0, StatisticChartStyling.REGRESSION_DATA_PAINT);
    regressionRenderer.setSeriesFillPaint(0, StatisticChartStyling.REGRESSION_DATA_FILL_PAINT);
    plot.setRenderer(regressionDSIndex, regressionRenderer);

    final XYErrorRenderer scatterPointsRenderer = new XYErrorRenderer();
    scatterPointsRenderer.setDrawXError(true);
    scatterPointsRenderer.setErrorStroke(new BasicStroke(1));
    scatterPointsRenderer.setErrorPaint(StatisticChartStyling.CORRELATIVE_POINT_OUTLINE_PAINT);
    scatterPointsRenderer.setSeriesShape(0, StatisticChartStyling.CORRELATIVE_POINT_SHAPE);
    scatterPointsRenderer.setSeriesOutlinePaint(0, StatisticChartStyling.CORRELATIVE_POINT_OUTLINE_PAINT);
    scatterPointsRenderer.setSeriesFillPaint(0, StatisticChartStyling.CORRELATIVE_POINT_FILL_PAINT);
    scatterPointsRenderer.setSeriesLinesVisible(0, false);
    scatterPointsRenderer.setSeriesShapesVisible(0, true);
    scatterPointsRenderer.setSeriesOutlineStroke(0, new BasicStroke(1.0f));
    scatterPointsRenderer.setSeriesToolTipGenerator(0, (dataset, series, item) -> {
        final XYIntervalSeriesCollection collection = (XYIntervalSeriesCollection) dataset;
        final Comparable key = collection.getSeriesKey(series);
        final double xValue = collection.getXValue(series, item);
        final double endYValue = collection.getEndYValue(series, item);
        final double yValue = collection.getYValue(series, item);
        return String.format("%s: mean = %6.2f, sigma = %6.2f | %s: value = %6.2f", getRasterName(), yValue,
                endYValue - yValue, key, xValue);
    });//from  w ww.  jav  a  2 s.  com
    plot.setRenderer(scatterpointsDSIndex, scatterPointsRenderer);

    final boolean autoRangeIncludesZero = false;
    final boolean xLog = scatterPlotModel.xAxisLogScaled;
    final boolean yLog = scatterPlotModel.yAxisLogScaled;
    plot.setDomainAxis(
            StatisticChartStyling.updateScalingOfAxis(xLog, plot.getDomainAxis(), autoRangeIncludesZero));
    plot.setRangeAxis(
            StatisticChartStyling.updateScalingOfAxis(yLog, plot.getRangeAxis(), autoRangeIncludesZero));

    createUI(createChartPanel(chart), createInputParameterPanel(), bindingContext);

    plot.getDomainAxis().addChangeListener(domainAxisChangeListener);
    scatterPlotDisplay.setMouseWheelEnabled(true);
    scatterPlotDisplay.setMouseZoomable(true);
}

From source file:org.esa.beam.visat.toolviews.stat.ScatterPlotPanel.java

private void createUI() {

    final XYPlot plot = getPlot();
    plot.setAxisOffset(new RectangleInsets(5, 5, 5, 5));
    plot.setNoDataMessage(NO_DATA_MESSAGE);
    plot.setDataset(CONFIDENCE_DSINDEX, acceptableDeviationDataset);
    plot.setDataset(REGRESSION_DSINDEX, regressionDataset);
    plot.setDataset(SCATTERPOINTS_DSINDEX, scatterpointsDataset);

    plot.addAnnotation(r2Annotation);

    final DeviationRenderer identityRenderer = new DeviationRenderer(true, false);
    identityRenderer.setSeriesPaint(0, StatisticChartStyling.SAMPLE_DATA_PAINT);
    identityRenderer.setSeriesFillPaint(0, StatisticChartStyling.SAMPLE_DATA_FILL_PAINT);
    plot.setRenderer(CONFIDENCE_DSINDEX, identityRenderer);

    final DeviationRenderer regressionRenderer = new DeviationRenderer(true, false);
    regressionRenderer.setSeriesPaint(0, StatisticChartStyling.REGRESSION_DATA_PAINT);
    regressionRenderer.setSeriesFillPaint(0, StatisticChartStyling.REGRESSION_DATA_FILL_PAINT);
    plot.setRenderer(REGRESSION_DSINDEX, regressionRenderer);

    final XYErrorRenderer scatterPointsRenderer = new XYErrorRenderer();
    scatterPointsRenderer.setDrawXError(true);
    scatterPointsRenderer.setErrorStroke(new BasicStroke(1));
    scatterPointsRenderer.setErrorPaint(StatisticChartStyling.CORRELATIVE_POINT_OUTLINE_PAINT);
    scatterPointsRenderer.setSeriesShape(0, StatisticChartStyling.CORRELATIVE_POINT_SHAPE);
    scatterPointsRenderer.setSeriesOutlinePaint(0, StatisticChartStyling.CORRELATIVE_POINT_OUTLINE_PAINT);
    scatterPointsRenderer.setSeriesFillPaint(0, StatisticChartStyling.CORRELATIVE_POINT_FILL_PAINT);
    scatterPointsRenderer.setSeriesLinesVisible(0, false);
    scatterPointsRenderer.setSeriesShapesVisible(0, true);
    scatterPointsRenderer.setSeriesOutlineStroke(0, new BasicStroke(1.0f));
    scatterPointsRenderer.setSeriesToolTipGenerator(0, new XYToolTipGenerator() {
        @Override//from  w  w w  . ja  v a 2s . c  o  m
        public String generateToolTip(XYDataset dataset, int series, int item) {
            final XYIntervalSeriesCollection collection = (XYIntervalSeriesCollection) dataset;
            final Comparable key = collection.getSeriesKey(series);
            final double xValue = collection.getXValue(series, item);
            final double endYValue = collection.getEndYValue(series, item);
            final double yValue = collection.getYValue(series, item);
            return String.format("%s: mean = %6.2f, sigma = %6.2f | %s: value = %6.2f", getRasterName(), yValue,
                    endYValue - yValue, key, xValue);
        }
    });
    plot.setRenderer(SCATTERPOINTS_DSINDEX, scatterPointsRenderer);

    final boolean autoRangeIncludesZero = false;
    final boolean xLog = scatterPlotModel.xAxisLogScaled;
    final boolean yLog = scatterPlotModel.yAxisLogScaled;
    plot.setDomainAxis(
            StatisticChartStyling.updateScalingOfAxis(xLog, plot.getDomainAxis(), autoRangeIncludesZero));
    plot.setRangeAxis(
            StatisticChartStyling.updateScalingOfAxis(yLog, plot.getRangeAxis(), autoRangeIncludesZero));

    createUI(createChartPanel(chart), createInputParameterPanel(), bindingContext);

    plot.getDomainAxis().addChangeListener(domainAxisChangeListener);
    scatterPlotDisplay.setMouseWheelEnabled(true);
    scatterPlotDisplay.setMouseZoomable(true);
}

From source file:jhplot.HChart.java

/**
 * Draw data from a P1D. Drawing updated automatically. 1st level errors are
 * shown if the dimension is above 5. Otherwise show X and Y. If you set
 * setChartPolar() before,m you can also show polar coordinates.
 * // w w  w  .  j ava  2 s. c om
 * @param d
 *            input P1D container
 */
public void add(P1D d) {

    if (cdatPolar[N1][N2] != null) {
        XYSeries SerData = new XYSeries(d.getTitle());
        for (int i = 0; i < d.size(); i++)
            SerData.add(d.getX(i), d.getY(i));
        cdatPolar[N1][N2].addSeries(SerData);
        return; // return if this is polar chart
    }

    // assume XY chart

    // System.out.println(d.dimension());
    LinePars lpp = d.getDrawOption();
    float width = (float) lpp.getPenWidth();
    int style = d.getLineStyle();
    float dash = lpp.getDashLength();
    int symbol = lpp.getSymbol();
    Shape shape = getShape(symbol, lpp.getSymbolSize());

    // setSeriesShapesFilled(int series, java.lang.Boolean flag)
    // setShapesFilled(boolean filled)

    if (d.dimension() > 5) {
        XYIntervalSeriesCollection c = new XYIntervalSeriesCollection();
        XYIntervalSeries SerData = new XYIntervalSeries(d.getTitle());
        for (int i = 0; i < d.size(); i++)
            SerData.add(d.getX(i), d.getX(i) - d.getXleft(i), d.getX(i) + d.getXright(i), d.getY(i),
                    d.getY(i) - d.getYlower(i), d.getY(i) + d.getYupper(i));
        c.addSeries(SerData);
        xyplot[N1][N2].setDataset(indexdat[N1][N2], c);

        XYErrorRenderer xyerrorrenderer = new XYErrorRenderer();
        xyerrorrenderer.setSeriesStroke(0, getStrokes(style, width, dash));
        xyerrorrenderer.setSeriesPaint(0, d.getColor());
        xyerrorrenderer.setSeriesOutlinePaint(0, d.getColor());
        xyerrorrenderer.setSeriesFillPaint(0, lpp.getFillColor());
        xyerrorrenderer.setSeriesShape(0, shape);
        if (symbol > 0 && symbol < 4)
            xyerrorrenderer.setSeriesShapesFilled(0, false);
        if (symbol > 3)
            xyerrorrenderer.setSeriesShapesFilled(0, true);

        rdat[N1][N2].add(xyerrorrenderer);
        type[N1][N2].put(new Integer(indexdat[N1][N2]), "pe");
        indexdat[N1][N2]++;

    } else if (d.dimension() == 4) {
        XYIntervalSeriesCollection c = new XYIntervalSeriesCollection();
        XYIntervalSeries SerData = new XYIntervalSeries(d.getTitle());
        for (int i = 0; i < d.size(); i++)
            SerData.add(d.getX(i), d.getX(i), d.getX(i), d.getY(i), d.getY(i) - d.getYlower(i),
                    d.getY(i) + d.getYupper(i));

        c.addSeries(SerData);
        xyplot[N1][N2].setDataset(indexdat[N1][N2], c);

        XYErrorRenderer xyerrorrenderer = new XYErrorRenderer();
        xyerrorrenderer.setSeriesStroke(0, getStrokes(style, width, dash));
        xyerrorrenderer.setSeriesPaint(0, d.getColor());
        xyerrorrenderer.setSeriesOutlinePaint(0, d.getColor());
        xyerrorrenderer.setSeriesFillPaint(0, lpp.getFillColor());
        xyerrorrenderer.setSeriesShape(0, shape);
        if (symbol > 0 && symbol < 4)
            xyerrorrenderer.setSeriesShapesFilled(0, false);
        if (symbol > 3)
            xyerrorrenderer.setSeriesShapesFilled(0, true);

        rdat[N1][N2].add(xyerrorrenderer);
        type[N1][N2].put(new Integer(indexdat[N1][N2]), "pe");
        indexdat[N1][N2]++;

    } else if (d.dimension() == 3) {
        XYIntervalSeriesCollection c = new XYIntervalSeriesCollection();
        XYIntervalSeries SerData = new XYIntervalSeries(d.getTitle());
        for (int i = 0; i < d.size(); i++)
            SerData.add(d.getX(i), d.getX(i), d.getX(i), d.getY(i), d.getY(i) - d.getYupper(i),
                    d.getY(i) + d.getYupper(i));

        c.addSeries(SerData);
        xyplot[N1][N2].setDataset(indexdat[N1][N2], c);

        XYErrorRenderer xyerrorrenderer = new XYErrorRenderer();
        xyerrorrenderer.setSeriesStroke(0, getStrokes(style, width, dash));
        xyerrorrenderer.setSeriesPaint(0, d.getColor());
        xyerrorrenderer.setSeriesOutlinePaint(0, d.getColor());
        xyerrorrenderer.setSeriesFillPaint(0, lpp.getFillColor());
        xyerrorrenderer.setSeriesShape(0, shape);
        if (symbol > 0 && symbol < 4)
            xyerrorrenderer.setSeriesShapesFilled(0, false);
        if (symbol > 3)
            xyerrorrenderer.setSeriesShapesFilled(0, true);

        rdat[N1][N2].add(xyerrorrenderer);
        type[N1][N2].put(new Integer(indexdat[N1][N2]), "pe");
        indexdat[N1][N2]++;

    } else {
        XYSeriesCollection c = new XYSeriesCollection();
        XYSeries SerData = new XYSeries(d.getTitle());
        for (int i = 0; i < d.size(); i++)
            SerData.add(d.getX(i), d.getY(i));
        c.addSeries(SerData);
        xyplot[N1][N2].setDataset(indexdat[N1][N2], c);

        XYLineAndShapeRenderer xyerrorrenderer = new XYLineAndShapeRenderer(false, true);
        xyerrorrenderer.setSeriesStroke(0, getStrokes(style, width, dash));
        xyerrorrenderer.setSeriesPaint(0, d.getColor());
        xyerrorrenderer.setSeriesOutlinePaint(0, d.getColor());

        xyerrorrenderer.setSeriesFillPaint(0, lpp.getFillColor());
        xyerrorrenderer.setSeriesShape(0, shape);
        if (symbol > 0 && symbol < 4)
            xyerrorrenderer.setSeriesShapesFilled(0, false);
        if (symbol > 3)
            xyerrorrenderer.setSeriesShapesFilled(0, true);

        rdat[N1][N2].add(xyerrorrenderer);
        type[N1][N2].put(new Integer(indexdat[N1][N2]), "p");
        indexdat[N1][N2]++;

    }

}