Example usage for org.jfree.chart.renderer.xy SamplingXYLineRenderer SamplingXYLineRenderer

List of usage examples for org.jfree.chart.renderer.xy SamplingXYLineRenderer SamplingXYLineRenderer

Introduction

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

Prototype

public SamplingXYLineRenderer() 

Source Link

Document

Creates a new renderer.

Usage

From source file:lu.lippmann.cdb.common.gui.ts.TimeSeriesChartUtil.java

public static ChartPanel buildChartPanelForAllAttributes(final Instances dataSet, final boolean multAxis,
        final int dateIdx, final Color color, final Collection<XYAnnotation> annotations) {
    final TimeSeriesCollection tsDataset = new TimeSeriesCollection();
    final JFreeChart tsChart = ChartFactory.createTimeSeriesChart("", "Time", "Value", tsDataset, true, true,
            false);//ww  w.j  a  va  2s.  c  om
    tsChart.getXYPlot().setBackgroundPaint(Color.WHITE);

    // optimized renderer to avoid to print all points
    tsChart.getXYPlot().setRenderer(new SamplingXYLineRenderer());
    //tsChart.getXYPlot().setRenderer(new XYStepRenderer());

    if (color == null) {
        for (int i = 0; i < dataSet.numAttributes() - 1; i++) {
            final String attrName = dataSet.attribute(i).name();
            tsChart.getXYPlot().getRenderer().setSeriesPaint(i, ColorHelper.getColorForAString(attrName));
        }
    } else {
        tsChart.getXYPlot().getRenderer().setSeriesPaint(0, color);
    }

    if (annotations != null) {
        for (final XYAnnotation aa : annotations)
            tsChart.getXYPlot().addAnnotation(aa);
    }

    if (multAxis)
        fillWithMultipleAxis(dataSet, dateIdx, tsDataset, tsChart);
    else
        fillWithSingleAxis(dataSet, dateIdx, tsDataset);

    final ChartPanel cp = new ChartPanel(tsChart, true);
    if (dataSet.numAttributes() <= 2)
        cp.setBorder(new TitledBorder(dataSet.attribute(0).name()));
    return cp;
}