Example usage for org.jfree.data.xy XYSeries add

List of usage examples for org.jfree.data.xy XYSeries add

Introduction

In this page you can find the example usage for org.jfree.data.xy XYSeries add.

Prototype

public void add(XYDataItem item, boolean notify) 

Source Link

Document

Adds a data item to the series and, if requested, sends a SeriesChangeEvent to all registered listeners.

Usage

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

/**
 * Creates a sample dataset.// w  w w .j  ava2 s.  c o  m
 * 
 * @param index  the dataset index.
 * 
 * @return A dataset.
 */
private XYDataset createDataset(int index) {
    XYSeries series1 = new XYSeries("Series " + (index + 1));
    series1.add(-10.0, -5.0);
    series1.add(10.0, 5.0);
    XYSeriesCollection dataset = new XYSeriesCollection();
    dataset.addSeries(series1);
    return dataset;
}

From source file:sanger.team16.gui.genevar.eqtl.gene.RegionalPlot.java

private JFreeChart createChart(String geneChromosome, int geneStart, int distanceToTSS, double threshold,
        XYDataset dataset) {/*from ww w.  ja  v a  2  s .  com*/
    JFreeChart chart = ChartFactory.createScatterPlot(null,
            "Position on chromosome " + geneChromosome + " (bp)", "-log10(P)", dataset,
            PlotOrientation.VERTICAL, true, true, false);

    XYPlot plot = (XYPlot) chart.getPlot();
    plot.setBackgroundPaint(Color.WHITE);
    plot.setDomainGridlinePaint(Color.lightGray);
    //plot.setRangeGridlinePaint(Color.lightGray);
    //plot.setRangeCrosshairVisible(true);

    //NumberAxis domainAxis = (NumberAxis) plot.getDomainAxis();
    //domainAxis.setRange(geneStart - distance, geneStart + distance);       
    //domainAxis.setUpperMargin(1000);
    //domainAxis.setLowerMargin(1000);

    //ValueAxis rangeAxis = plot.getRangeAxis();
    //rangeAxis.setUpperMargin(dataset.getYValue(0, 0)/5);
    //rangeAxis.setLowerBound(0);

    XYItemRenderer renderer = plot.getRenderer();
    int size = dataset.getSeriesCount();
    for (int i = 0; i < size; i++) {
        //int scale = (int) Math.round((255 - (255 * dataset.getYValue(i, 0)) / top) / 1.4);
        //renderer.setSeriesPaint(i, new Color(255, scale, scale));

        renderer.setSeriesPaint(i, new Color(255, 0, 0));
        renderer.setSeriesShape(i, ShapeUtilities.createDiamond((float) 3));
        renderer.setBaseSeriesVisibleInLegend(false);
    }

    ValueMarker upperMarker = new ValueMarker(-Math.log10(threshold));
    upperMarker.setPaint(Color.gray);
    //upperMarker.setLabelOffsetType(LengthAdjustmentType.EXPAND);        
    //upperMarker.setLabel("-log10(10E-4)");
    //upperMarker.setLabelPaint(Color.red);
    //upperMarker.setLabelAnchor(RectangleAnchor.TOP_RIGHT);
    //upperMarker.setLabelTextAnchor(TextAnchor.BOTTOM_RIGHT);
    float[] f = { 4, 3, 4, 3 };
    upperMarker.setStroke(new BasicStroke(1.0f, 1, 1, 0, f, 1.0f));
    plot.addRangeMarker(upperMarker);

    ValueMarker marker = new ValueMarker(0.0);
    marker.setPaint(Color.lightGray);
    plot.addRangeMarker(marker);

    XYSeries series = new XYSeries("Range");
    series.add(geneStart - distanceToTSS, -0.05);
    series.add(geneStart + distanceToTSS, -0.05);
    ((XYSeriesCollection) dataset).addSeries(series);
    renderer.setSeriesVisible(dataset.getSeriesCount() - 1, false, false);

    return chart;
}

From source file:sanger.team16.gui.genevar.mqtl.gene.RegionalPlot.java

private JFreeChart createChart(String geneChromosome, int geneStart, int distanceToTSS, double threshold,
        XYDataset dataset) {/*from w w  w .j  av a 2  s  .  c  o  m*/
    JFreeChart chart = ChartFactory.createScatterPlot(null,
            "Position on chromosome " + geneChromosome + " (bp)", "-log10(P)", dataset,
            PlotOrientation.VERTICAL, true, true, false);

    XYPlot plot = (XYPlot) chart.getPlot();
    plot.setBackgroundPaint(Color.WHITE);
    plot.setDomainGridlinePaint(Color.lightGray);
    //plot.setRangeGridlinePaint(Color.lightGray);
    //plot.setRangeCrosshairVisible(true);

    //NumberAxis domainAxis = (NumberAxis) plot.getDomainAxis();
    //domainAxis.setRange(geneStart - distance, geneStart + distance);       
    //domainAxis.setUpperMargin(1000);
    //domainAxis.setLowerMargin(1000);

    //ValueAxis rangeAxis = plot.getRangeAxis();
    //rangeAxis.setUpperMargin(dataset.getYValue(0, 0)/5);
    //rangeAxis.setLowerBound(0);

    XYItemRenderer renderer = plot.getRenderer();
    int size = dataset.getSeriesCount();
    for (int i = 0; i < size; i++) {
        //int scale = (int) Math.round((255 - (255 * dataset.getYValue(i, 0)) / top) / 1.4);
        //renderer.setSeriesPaint(i, new Color(255, scale, scale));

        renderer.setSeriesPaint(i, new Color(50, 205, 50));
        renderer.setSeriesShape(i, ShapeUtilities.createDiamond((float) 3));
        renderer.setBaseSeriesVisibleInLegend(false);
    }

    ValueMarker upperMarker = new ValueMarker(-Math.log10(threshold));
    upperMarker.setPaint(Color.gray);
    //upperMarker.setLabelOffsetType(LengthAdjustmentType.EXPAND);        
    //upperMarker.setLabel("-log10(10E-4)");
    //upperMarker.setLabelPaint(Color.red);
    //upperMarker.setLabelAnchor(RectangleAnchor.TOP_RIGHT);
    //upperMarker.setLabelTextAnchor(TextAnchor.BOTTOM_RIGHT);
    float[] f = { 4, 3, 4, 3 };
    upperMarker.setStroke(new BasicStroke(1.0f, 1, 1, 0, f, 1.0f));
    plot.addRangeMarker(upperMarker);

    ValueMarker marker = new ValueMarker(0.0);
    marker.setPaint(Color.lightGray);
    plot.addRangeMarker(marker);

    XYSeries series = new XYSeries("Range");
    series.add(geneStart - distanceToTSS, -0.05);
    series.add(geneStart + distanceToTSS, -0.05);
    ((XYSeriesCollection) dataset).addSeries(series);
    renderer.setSeriesVisible(dataset.getSeriesCount() - 1, false, false);

    return chart;
}

From source file:org.matsim.core.utils.charts.XYLineChart.java

public final void addSeries(String title, Map<Integer, Double> map) {
    XYSeries series = new XYSeries(title, false, true);
    for (Entry<Integer, Double> entry : map.entrySet()) {
        series.add(entry.getKey(), entry.getValue());
    }/*from w ww  .  ja  v a  2  s.c  o  m*/
    this.dataset.addSeries(series);
}

From source file:edu.ucla.stat.SOCR.chart.demo.LineChartDemo3.java

/**
 * creaets XYDataset//w w w  .  j ava2 s  . co  m
 *  @param isDemo true use the demo data, false use data from the JTable
 *  @return XYDataset
 */
protected XYDataset createDataset(boolean isDemo) {
    if (isDemo) {
        XYSeriesCollection dataset = new XYSeriesCollection();
        for (int i = 0; i < 4; i++) {
            XYSeries series = new XYSeries("S" + i);
            for (int j = 0; j < 4; j++) {
                series.add(j, Math.random() * 100);
            }
            dataset.addSeries(series);
        }
        return dataset;
    } else
        return super.createDataset(false);
}

From source file:com.mycompany.istudy.principalservices.GraphicalView.java

private XYDataset createDataset(Map<Double, Double> investedHoursPerWeek,
        Map<Double, Double> hoursToBeInvested) {
    final XYSeries moduleToWeek = new XYSeries("Actual Performance");

    investedHoursPerWeek.entrySet().stream().forEach((pair) -> {
        moduleToWeek.add((double) pair.getKey(), (double) pair.getValue());
    });/* w w  w. jav a 2s. c o m*/
    final XYSeriesCollection dataset = new XYSeriesCollection();
    dataset.addSeries(moduleToWeek);

    final XYSeries optimalWorkload = new XYSeries("Optimal Performance ");

    hoursToBeInvested.entrySet().stream().forEach((pair) -> {
        optimalWorkload.add((double) pair.getKey(), (double) pair.getValue());
    });
    dataset.addSeries(optimalWorkload);
    return dataset;
}

From source file:playground.yu.utils.charts.XYScatterLineChart.java

/**
 * Adds a new data series to the chart with the specified title.
 * <code>xs<code> and <code>ys</code> should have the same length. If not,
 * only as many items are shown as the shorter array contains.
 * //from w  w w  .  j  a  va 2  s.  co  m
 * @param title
 * @param xs
 *            The x values.
 * @param ys
 *            The y values.
 */
@Override
public void addSeries(final String title, final double[] xs, final double[] ys) {
    XYSeries series = new XYSeries(title, false, true);
    for (int i = 0, n = Math.min(xs.length, ys.length); i < n; i++) {
        series.add(xs[i], ys[i]);
    }
    this.dataset.addSeries(series);
}

From source file:erigo.filewatch.DisplayPlot.java

/**
 * Add all the data to a new XYDataset/*w  w  w .j ava2s  . c o  m*/
 */
private XYDataset createDataset() {

    XYSeriesCollection dataset = new XYSeriesCollection();

    XYSeries series = new XYSeries("data");
    for (int i = 0; i < xData.size(); ++i) {
        series.add(xData.get(i).doubleValue(), yData.get(i).doubleValue());
    }

    //Add series to dataset
    dataset.addSeries(series);

    return dataset;

}

From source file:com.griddynamics.jagger.engine.e1.reporting.WorkloadScalabilityPlotsReporter.java

private XYDataset getThroughputData(List<WorkloadTaskData> resultData) {

    XYSeries throughput = new XYSeries("Througput");
    throughput.add(0, 0);
    for (WorkloadTaskData workloadTaskData : resultData) {
        throughput.add(workloadTaskData.getClockValue(), workloadTaskData.getThroughput());
    }/*from www.  ja  v a  2s. co  m*/
    return new XYSeriesCollection(throughput);
}

From source file:org.matsim.core.utils.charts.XYScatterChart.java

/**
 * Adds a new data series to the chart with the specified title.
 * <code>xs<code> and <code>ys</code> should have the same length. If not,
 * only as many items are shown as the shorter array contains.
 * /*  ww  w . java  2  s .c o m*/
 * @param title
 * @param xs
 *            The x values.
 * @param ys
 *            The y values.
 */
public void addSeries(final String title, final double[] xs, final double[] ys) {
    XYSeries series = new XYSeries(title, false, true);
    for (int i = 0, n = Math.min(xs.length, ys.length); i < n; i++) {
        series.add(xs[i], ys[i]);
    }
    this.dataset.addSeries(series);
}