Example usage for org.jfree.chart.plot XYPlot setRenderer

List of usage examples for org.jfree.chart.plot XYPlot setRenderer

Introduction

In this page you can find the example usage for org.jfree.chart.plot XYPlot setRenderer.

Prototype

public void setRenderer(int index, XYItemRenderer renderer) 

Source Link

Document

Sets the renderer for the dataset with the specified index and sends a change event to all registered listeners.

Usage

From source file:playground.anhorni.crossborder.verification.TGZMCompare.java

public JFreeChart createChart(String actType) {

    XYSeriesCollection dataset0 = new XYSeriesCollection();
    XYSeries series0 = new XYSeries(actType + " Trips MATSim");
    XYSeries series1 = new XYSeries(actType + " Trips TGZM");

    for (int i = 0; i < 24; i++) {
        double realVal = this.aggregatedVolumePerHour[i];
        int calcVal = this.xTripsPerHour[i];
        series0.add(i, calcVal);/* w w w.j ava  2s . co  m*/
        series1.add(i, realVal);
    }
    dataset0.addSeries(series0);
    dataset0.addSeries(series1);

    String title = "Compare TGZM and MATSim volumes per hour";
    this.chart = ChartFactory.createXYLineChart(title, "hour", // x axis label
            "Trips", // y axis label
            dataset0, // data
            PlotOrientation.VERTICAL, true, // include legend
            true, // tooltips
            false // urls
    );

    XYPlot plot = this.chart.getXYPlot();
    XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
    renderer.setLinesVisible(true);
    renderer.setSeriesPaint(0, Color.blue);
    renderer.setSeriesShape(0, new Rectangle2D.Double(-1.5, -1.5, 3.0, 3.0));
    renderer.setSeriesPaint(1, Color.black);
    renderer.setSeriesShape(1, new Rectangle2D.Double(-1.5, -1.5, 3.0, 3.0));

    plot.setRenderer(0, renderer);

    return this.chart;
}

From source file:com.android.ddmuilib.log.event.DisplayGraph.java

/**
* Returns a {@link TimeSeriesCollection} for a specific {@link com.android.ddmlib.log.EventValueDescription.ValueType}.
* If the data set is not yet created, it is first allocated and set up into the
* {@link org.jfree.chart.JFreeChart} object.
* @param type the {@link com.android.ddmlib.log.EventValueDescription.ValueType} of the data set.
* @param accumulateValues/*from  ww  w.  ja  v  a  2  s  .co m*/
*/
private TimeSeriesCollection getValueDataset(EventValueDescription.ValueType type, boolean accumulateValues) {
    TimeSeriesCollection dataset = mValueTypeDataSetMap.get(type);
    if (dataset == null) {
        // create the data set and store it in the map
        dataset = new TimeSeriesCollection();
        mValueTypeDataSetMap.put(type, dataset);

        // create the renderer and configure it depending on the ValueType
        AbstractXYItemRenderer renderer;
        if (type == EventValueDescription.ValueType.PERCENT && accumulateValues) {
            renderer = new XYAreaRenderer();
        } else {
            XYLineAndShapeRenderer r = new XYLineAndShapeRenderer();
            r.setBaseShapesVisible(type != EventValueDescription.ValueType.PERCENT);

            renderer = r;
        }

        // set both the dataset and the renderer in the plot object.
        XYPlot xyPlot = mChart.getXYPlot();
        xyPlot.setDataset(mDataSetCount, dataset);
        xyPlot.setRenderer(mDataSetCount, renderer);

        // put a new axis label, and configure it.
        NumberAxis axis = new NumberAxis(type.toString());

        if (type == EventValueDescription.ValueType.PERCENT) {
            // force percent range to be (0,100) fixed.
            axis.setAutoRange(false);
            axis.setRange(0., 100.);
        }

        // for the index, we ignore the occurrence dataset
        int count = mDataSetCount;
        if (mOccurrenceDataSet != null) {
            count--;
        }

        xyPlot.setRangeAxis(count, axis);
        if ((count % 2) == 0) {
            xyPlot.setRangeAxisLocation(count, AxisLocation.BOTTOM_OR_LEFT);
        } else {
            xyPlot.setRangeAxisLocation(count, AxisLocation.TOP_OR_RIGHT);
        }

        // now we link the dataset and the axis
        xyPlot.mapDatasetToRangeAxis(mDataSetCount, count);

        mDataSetCount++;
    }

    return dataset;
}

From source file:org.jfree.chart.demo.PriceVolumeDemo1.java

private static JFreeChart createChart() {
    XYDataset xydataset = createPriceDataset();
    String s = "Eurodollar Futures Contract (MAR03)";
    JFreeChart jfreechart = ChartFactory.createTimeSeriesChart(s, "Date", "Price", xydataset, true, true,
            false);//  w  w  w .  ja v a  2  s  .  c o m
    XYPlot xyplot = (XYPlot) jfreechart.getPlot();
    NumberAxis numberaxis = (NumberAxis) xyplot.getRangeAxis();
    numberaxis.setLowerMargin(0.40000000000000002D);
    DecimalFormat decimalformat = new DecimalFormat("00.00");
    numberaxis.setNumberFormatOverride(decimalformat);
    XYItemRenderer xyitemrenderer = xyplot.getRenderer();
    xyitemrenderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator("{0}: ({1}, {2})",
            new SimpleDateFormat("d-MMM-yyyy"), new DecimalFormat("0.00")));
    NumberAxis numberaxis1 = new NumberAxis("Volume");
    numberaxis1.setUpperMargin(1.0D);
    xyplot.setRangeAxis(1, numberaxis1);
    xyplot.setDataset(1, createVolumeDataset());
    xyplot.setRangeAxis(1, numberaxis1);
    xyplot.mapDatasetToRangeAxis(1, 1);
    XYBarRenderer xybarrenderer = new XYBarRenderer(0.20000000000000001D);
    xybarrenderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator("{0}: ({1}, {2})",
            new SimpleDateFormat("d-MMM-yyyy"), new DecimalFormat("0,000.00")));
    xyplot.setRenderer(1, xybarrenderer);
    return jfreechart;
}

From source file:com.romraider.logger.ecu.ui.tab.dyno.DynoChartPanel.java

private void addSeries1(JFreeChart chart, int index, XYSeries series, Color color) {
    XYDataset dataset = new XYSeriesCollection(series);
    XYPlot plot = chart.getXYPlot();
    plot.setDataset(index, dataset);//  w  ww  .j ava  2s.  c  om
    plot.setRenderer(index, buildTrendLineRendererY1(color));
}

From source file:com.romraider.logger.ecu.ui.tab.dyno.DynoChartPanel.java

private void addSeries2(JFreeChart chart, int index, XYSeries series, Color color) {
    XYDataset dataset = new XYSeriesCollection(series);
    XYPlot plot = chart.getXYPlot();
    plot.setDataset(index, dataset);//  ww  w .  ja  v a 2s.  com
    plot.setRenderer(index, buildTrendLineRendererY2(color));
}

From source file:com.romraider.logger.ecu.ui.tab.dyno.DynoChartPanel.java

private void addRef(JFreeChart chart, int index, XYSeries series, Color color) {
    XYDataset dataset = new XYSeriesCollection(series);
    XYPlot plot = chart.getXYPlot();
    plot.setDataset(index, dataset);//from  w ww  . j  a  va2  s .  co  m
    plot.setRenderer(index, buildTrendLineRenderer(color));
}

From source file:sentimentanalyzer.ChartController.java

public void addLineOfDataTo_XYSeriesLineChart(XYSeriesCollection dataset, int row, XYPlot plot) {
    plot.setDataset(row, dataset);//from   ww  w  .  ja  v a2 s  .c om

    XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
    renderer.setBaseShapesVisible(true);
    renderer.setSeriesPaint(row, this.getRandomColor());
    plot.setRenderer(row, renderer);

    this.wordIndexesOnGraph.add(row);
}

From source file:org.activequant.util.charting.Chart.java

/**
 * method to add a dot chart./*w ww .java2s  .  c o  m*/
 * @param title
 * @param dateAndValues
 */
public void addDotSeriesChart(String title, List<Tuple<TimeStamp, Double>> dateAndValues) {

    if (chart != null) {
        //
        final TimeSeries ts = new TimeSeries(title, Millisecond.class);
        for (Tuple<TimeStamp, Double> tuple : dateAndValues) {
            //
            TimeSeriesDataItem item = new TimeSeriesDataItem(new Millisecond(tuple.getObject1().getDate()),
                    tuple.getObject2());
            ts.addOrUpdate(item.getPeriod(), item.getValue());
        }

        datasets.add(ts);
        final TimeSeriesCollection dataset = new TimeSeriesCollection(ts);

        final XYPlot plot1 = chart.getXYPlot();

        final XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
        renderer.setShapesVisible(true);
        renderer.setLinesVisible(false);
        plot1.setDataset(datasets.size(), dataset);
        plot1.setRenderer(datasets.size(), renderer);
    }
}

From source file:ec.ui.view.StabilityView.java

private JFreeChart createChart() {
    XYPlot plot = new XYPlot();

    plot.setDataset(SMOOTH_INDEX, Charts.emptyXYDataset());
    plot.setRenderer(SMOOTH_INDEX, smoothRenderer);
    plot.mapDatasetToDomainAxis(SMOOTH_INDEX, 0);
    plot.mapDatasetToRangeAxis(SMOOTH_INDEX, 0);

    plot.setDataset(MEAN_INDEX, Charts.emptyXYDataset());
    plot.setRenderer(MEAN_INDEX, meanRenderer);
    plot.mapDatasetToDomainAxis(MEAN_INDEX, 0);
    plot.mapDatasetToRangeAxis(MEAN_INDEX, 0);

    plot.setDataset(POINTS_INDEX, Charts.emptyXYDataset());
    plot.setRenderer(POINTS_INDEX, pointsRenderer);
    plot.mapDatasetToDomainAxis(POINTS_INDEX, 0);
    plot.mapDatasetToRangeAxis(POINTS_INDEX, 0);
    plot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);

    JFreeChart result = new JFreeChart("", TsCharts.CHART_TITLE_FONT, plot, false);
    result.setPadding(TsCharts.CHART_PADDING);
    return result;
}

From source file:com.haskins.cloudtrailviewer.feature.MetricsFeature.java

private void showChart(String service) {

    final TimeSeriesCollection chartData = generateTimeSeriesData(service);

    JFreeChart chart = ChartFactory.createTimeSeriesChart(service, "Time", "Calls", chartData, false, true,
            false);/*  www. ja v a2  s.  c  om*/

    // draw outter line
    XYLineAndShapeRenderer lineAndShapeRenderer = new XYLineAndShapeRenderer();
    lineAndShapeRenderer.setPaint(new Color(64, 168, 228, 75));
    lineAndShapeRenderer.setSeriesShape(0, new Ellipse2D.Double(-3, -3, 6, 6));
    lineAndShapeRenderer.setSeriesShapesFilled(0, true);
    lineAndShapeRenderer.setSeriesShapesVisible(0, true);
    lineAndShapeRenderer.setUseOutlinePaint(true);
    lineAndShapeRenderer.setUseFillPaint(true);

    // draw filled area
    XYAreaRenderer renderer = new XYAreaRenderer();
    renderer.setPaint(new Color(64, 168, 228, 50));

    // configure Plot
    final XYPlot plot = chart.getXYPlot();
    plot.setBackgroundPaint(Color.WHITE);
    plot.setOutlineVisible(false);

    plot.setDataset(0, chartData);
    plot.setDataset(1, chartData);

    plot.setRenderer(0, lineAndShapeRenderer);
    plot.setRenderer(1, renderer);

    plot.getDomainAxis().setLowerMargin(0);
    plot.getDomainAxis().setUpperMargin(0);

    // format chart title
    TextTitle t = chart.getTitle();
    t.setFont(new Font("Arial", Font.BOLD, 14));

    // Cross Hairs
    xCrosshair = new Crosshair(Double.NaN, Color.GRAY, new BasicStroke(0f));
    xCrosshair.setLabelVisible(true);
    xCrosshair.setLabelGenerator(new DateTimeCrosshairLabelGenerator());

    CrosshairOverlay crosshairOverlay = new CrosshairOverlay();
    crosshairOverlay.addDomainCrosshair(xCrosshair);

    // Create the panel
    chartPanel = new ChartPanel(chart);
    chartPanel.setMinimumDrawWidth(0);
    chartPanel.setMaximumDrawWidth(Integer.MAX_VALUE);
    chartPanel.setMinimumDrawHeight(0);
    chartPanel.setMaximumDrawHeight(Integer.MAX_VALUE);
    chartPanel.setMouseZoomable(true, false);
    chartPanel.setDomainZoomable(true);
    chartPanel.setRangeZoomable(false);
    chartPanel.addChartMouseListener(this);
    chartPanel.addOverlay(crosshairOverlay);

    // update the display
    chartCards.removeAll();
    chartCards.add(chartPanel, "");
    chartCards.revalidate();
}