Example usage for org.jfree.data.xy DefaultXYDataset addSeries

List of usage examples for org.jfree.data.xy DefaultXYDataset addSeries

Introduction

In this page you can find the example usage for org.jfree.data.xy DefaultXYDataset addSeries.

Prototype

public void addSeries(Comparable seriesKey, double[][] data) 

Source Link

Document

Adds a series or if a series with the same key already exists replaces the data for that series, then sends a DatasetChangeEvent to all registered listeners.

Usage

From source file:org.jfree.data.xy.XYBarDatasetTest.java

/**
 * Serialize an instance, restore it, and check for equality.
 *//*w ww  . ja  v a 2s.  c  o  m*/
@Test
public void testSerialization() {
    DefaultXYDataset d1 = new DefaultXYDataset();
    double[] x1 = new double[] { 1.0, 2.0, 3.0 };
    double[] y1 = new double[] { 4.0, 5.0, 6.0 };
    double[][] data1 = new double[][] { x1, y1 };
    d1.addSeries("S1", data1);
    XYBarDataset bd1 = new XYBarDataset(d1, 5.0);
    XYBarDataset bd2 = (XYBarDataset) TestUtilities.serialised(bd1);
    assertEquals(bd1, bd2);
}

From source file:org.jfree.data.xy.XYBarDatasetTest.java

/**
 * Confirm that the equals method can distinguish all the required fields.
 */// w  w w .  j  a  va2 s  .  co m
@Test
public void testEquals() {
    DefaultXYDataset d1 = new DefaultXYDataset();
    double[] x1 = new double[] { 1.0, 2.0, 3.0 };
    double[] y1 = new double[] { 4.0, 5.0, 6.0 };
    double[][] data1 = new double[][] { x1, y1 };
    d1.addSeries("S1", data1);
    DefaultXYDataset d2 = new DefaultXYDataset();
    double[] x2 = new double[] { 1.0, 2.0, 3.0 };
    double[] y2 = new double[] { 4.0, 5.0, 6.0 };
    double[][] data2 = new double[][] { x2, y2 };
    d2.addSeries("S1", data2);

    XYBarDataset bd1 = new XYBarDataset(d1, 5.0);
    XYBarDataset bd2 = new XYBarDataset(d2, 5.0);
    assertTrue(bd1.equals(bd2));
    assertTrue(bd2.equals(bd1));
}

From source file:org.jfree.data.xy.XYBarDatasetTest.java

/**
 * Confirm that cloning works./*from   w  w w  .j  av a  2s.  co  m*/
 */
@Test
public void testCloning() throws CloneNotSupportedException {
    DefaultXYDataset d1 = new DefaultXYDataset();
    double[] x1 = new double[] { 1.0, 2.0, 3.0 };
    double[] y1 = new double[] { 4.0, 5.0, 6.0 };
    double[][] data1 = new double[][] { x1, y1 };
    d1.addSeries("S1", data1);
    XYBarDataset bd1 = new XYBarDataset(d1, 5.0);
    XYBarDataset bd2 = (XYBarDataset) bd1.clone();
    assertTrue(bd1 != bd2);
    assertTrue(bd1.getClass() == bd2.getClass());
    assertTrue(bd1.equals(bd2));

    // check independence
    d1 = (DefaultXYDataset) bd1.getUnderlyingDataset();
    d1.addSeries("S2", new double[][] { { 1.0 }, { 2.0 } });
    assertFalse(bd1.equals(bd2));
    DefaultXYDataset d2 = (DefaultXYDataset) bd2.getUnderlyingDataset();
    d2.addSeries("S2", new double[][] { { 1.0 }, { 2.0 } });
    assertTrue(bd1.equals(bd2));
}

From source file:net.sf.dynamicreports.test.jasper.chart.ShowValuesChartDataTest.java

@Override
public void test() {
    super.test();

    numberOfPagesTest(1);// w w w .ja v a 2s .c o m

    DefaultCategoryDataset categoryDataset = new DefaultCategoryDataset();
    categoryDataset.addValue(1.191, "row", "column");

    JFreeChart chart = getChart("summary.chart1", 0);
    CategoryItemRenderer renderer1 = chart.getCategoryPlot().getRenderer();
    Assert.assertNotNull(renderer1.getBaseItemLabelGenerator());
    Assert.assertEquals("1.19", renderer1.getBaseItemLabelGenerator().generateLabel(categoryDataset, 0, 0));
    Assert.assertTrue(renderer1.getBaseItemLabelsVisible());

    chart = getChart("summary.chart2", 0);
    renderer1 = chart.getCategoryPlot().getRenderer();
    Assert.assertNotNull(renderer1.getBaseItemLabelGenerator());
    Assert.assertEquals("1.2", renderer1.getBaseItemLabelGenerator().generateLabel(categoryDataset, 0, 0));
    Assert.assertTrue(renderer1.getBaseItemLabelsVisible());

    chart = getChart("summary.chart3", 0);
    renderer1 = chart.getCategoryPlot().getRenderer();
    Assert.assertNotNull(renderer1.getBaseItemLabelGenerator());
    Assert.assertTrue(renderer1.getBaseItemLabelsVisible());

    chart = getChart("summary.chart4", 0);
    renderer1 = chart.getCategoryPlot().getRenderer();
    Assert.assertNotNull(renderer1.getBaseItemLabelGenerator());
    Assert.assertTrue(renderer1.getBaseItemLabelsVisible());

    chart = getChart("summary.chart5", 0);
    renderer1 = chart.getCategoryPlot().getRenderer();
    Assert.assertNotNull(renderer1.getBaseItemLabelGenerator());
    Assert.assertTrue(renderer1.getBaseItemLabelsVisible());

    chart = getChart("summary.chart6", 0);
    renderer1 = chart.getCategoryPlot().getRenderer();
    Assert.assertNotNull(renderer1.getBaseItemLabelGenerator());
    Assert.assertTrue(renderer1.getBaseItemLabelsVisible());

    chart = getChart("summary.chart7", 0);
    renderer1 = chart.getCategoryPlot().getRenderer();
    Assert.assertNotNull(renderer1.getBaseItemLabelGenerator());
    Assert.assertTrue(renderer1.getBaseItemLabelsVisible());

    chart = getChart("summary.chart8", 0);
    String labelFormat = ((StandardPieSectionLabelGenerator) ((PiePlot) chart.getPlot()).getLabelGenerator())
            .getLabelFormat();
    Assert.assertEquals("Label format", "{0} = {1}", labelFormat);

    chart = getChart("summary.chart9", 0);
    StandardPieSectionLabelGenerator labelGenerator = (StandardPieSectionLabelGenerator) ((PiePlot) chart
            .getPlot()).getLabelGenerator();
    labelFormat = labelGenerator.getLabelFormat();
    Assert.assertEquals("Label format", "{0} = {1}", labelFormat);
    DefaultPieDataset dataset = new DefaultPieDataset();
    dataset.setValue("key1", 1.192);
    Assert.assertEquals("key1 = 1.2", labelGenerator.generateSectionLabel(dataset, "key1"));

    DefaultXYDataset xyDataset = new DefaultXYDataset();
    xyDataset.addSeries("key", new double[][] { new double[] { 1d }, new double[] { 1.191d } });

    chart = getChart("summary.chart10", 0);
    XYItemRenderer renderer2 = chart.getXYPlot().getRenderer();
    Assert.assertNotNull(renderer2.getBaseItemLabelGenerator());
    Assert.assertEquals("1.19", renderer2.getBaseItemLabelGenerator().generateLabel(xyDataset, 0, 0));
    Assert.assertTrue(renderer2.getBaseItemLabelsVisible());

    chart = getChart("summary.chart11", 0);
    renderer2 = chart.getXYPlot().getRenderer();
    Assert.assertNotNull(renderer2.getBaseItemLabelGenerator());
    Assert.assertEquals("1.2", renderer2.getBaseItemLabelGenerator().generateLabel(xyDataset, 0, 0));
    Assert.assertTrue(renderer2.getBaseItemLabelsVisible());

    chart = getChart("summary.chart12", 0);
    renderer2 = chart.getXYPlot().getRenderer();
    Assert.assertNotNull(renderer2.getBaseItemLabelGenerator());
    Assert.assertTrue(renderer2.getBaseItemLabelsVisible());

    chart = getChart("summary.chart13", 0);
    renderer2 = chart.getXYPlot().getRenderer();
    Assert.assertNotNull(renderer2.getBaseItemLabelGenerator());
    Assert.assertTrue(renderer2.getBaseItemLabelsVisible());

    chart = getChart("summary.chart14", 0);
    renderer2 = chart.getXYPlot().getRenderer();
    Assert.assertNotNull(renderer2.getBaseItemLabelGenerator());
    Assert.assertTrue(renderer2.getBaseItemLabelsVisible());

    chart = getChart("summary.chart15", 0);
    renderer2 = chart.getXYPlot().getRenderer();
    Assert.assertNotNull(renderer2.getBaseItemLabelGenerator());
    Assert.assertEquals("1.2", renderer2.getBaseItemLabelGenerator().generateLabel(xyDataset, 0, 0));
    Assert.assertTrue(renderer2.getBaseItemLabelsVisible());

    chart = getChart("summary.chart16", 0);
    renderer1 = chart.getCategoryPlot().getRenderer();
    Assert.assertNotNull(renderer1.getBaseItemLabelGenerator());
    Assert.assertEquals("1.2", renderer1.getBaseItemLabelGenerator().generateLabel(categoryDataset, 0, 0));
    Assert.assertTrue(renderer1.getBaseItemLabelsVisible());
}

From source file:org.jfree.data.xy.junit.XYBarDatasetTest.java

/**
 * Verify that this class implements {@link PublicCloneable}.
 *//* ww  w  .  j  ava2s.c  o  m*/
public void testPublicCloneable() {
    DefaultXYDataset d1 = new DefaultXYDataset();
    double[] x1 = new double[] { 1.0, 2.0, 3.0 };
    double[] y1 = new double[] { 4.0, 5.0, 6.0 };
    double[][] data1 = new double[][] { x1, y1 };
    d1.addSeries("S1", data1);
    XYBarDataset bd1 = new XYBarDataset(d1, 5.0);
    assertTrue(bd1 instanceof PublicCloneable);
}

From source file:org.matsim.counts.algorithms.graphs.CountsSimRealPerHourGraph.java

/**
 * @param hour A value in 1..24, 1 for 0 a.m. to 1 a.m., 2 for 1 a.m. to 2 a.m. ...
 *///w w  w  .  j a v  a2  s  . com
@Override
public JFreeChart createChart(final int hour) {
    this.hour = hour;

    XYSeriesCollection dataset0 = new XYSeriesCollection();
    XYSeries series = new XYSeries("MATSim volumes");
    // easier to use another dataset
    XYSeriesCollection dataset_outliers = new XYSeriesCollection();
    XYSeries series_outliers = new XYSeries("MATSim outliers");

    CustomXYURLGenerator url_gen = new CustomXYURLGenerator();
    CustomXYToolTipGenerator tt_gen = new CustomXYToolTipGenerator();

    final ArrayList<String> urls = new ArrayList<String>();
    final ArrayList<String> tooltips = new ArrayList<String>();
    List<Comp> comps = new Vector<Comp>();

    Iterator<CountSimComparison> l_it = this.ccl_.iterator();
    //int elementCounter=0;
    while (l_it.hasNext()) {
        CountSimComparison cc = l_it.next();

        /* values with simVal==0.0 or countVal==0.0 are drawn on the x==1 or/and y==1-line
         * Such values are the result of a poor simulation run, but they can also represent 
         * a valid result (closing summer road during winter time)
         * 
         */
        if (cc.getHour() == hour) {
            //elementCounter++;
            double realVal = 1.0;
            double simVal = 1.0;
            if (cc.getCountValue() > 0.0 && cc.getSimulationValue() > 0.0) {
                realVal = cc.getCountValue();
                simVal = cc.getSimulationValue();
                series.add(realVal, simVal);
                comps.add(new Comp(realVal, "link" + cc.getId() + ".html",
                        "Link " + cc.getId() + "; " + "Count: " + realVal + ", Sim: " + simVal));
            } else {
                realVal = Math.max(1.0, cc.getCountValue());
                simVal = Math.max(1.0, cc.getSimulationValue());
                series_outliers.add(realVal, simVal);
            }

        } //if
    } //while
    dataset0.addSeries(series);
    dataset_outliers.addSeries(series_outliers);

    /* first we have to sort the vector according to the rendering ordering
    * (which is the x value).
    * REALLY??? After hours of searching no better solution found!
    * please help!
    */

    Collections.sort(comps, new MyComparator());

    for (Iterator<Comp> iter = comps.iterator(); iter.hasNext();) {
        Comp cp = iter.next();
        urls.add(cp.getURL());
        tooltips.add(cp.getTooltip());
    }

    url_gen.addURLSeries(urls);
    tt_gen.addToolTipSeries(tooltips);

    String title = "Volumes " + (hour - 1) + ":00 - " + (hour) + ":00, Iteration: " + this.iteration_;
    this.setChartTitle(title);
    this.chart_ = ChartFactory.createXYLineChart(title, "Count Volumes [veh/h]", // x axis label
            "Sim Volumes [veh/h]", // y axis label
            dataset0, // data
            PlotOrientation.VERTICAL, false, // include legend
            true, // tooltips
            true // urls
    );
    XYPlot plot = this.chart_.getXYPlot();
    final LogarithmicAxis axis_x = new LogarithmicAxis("Count Volumes [veh/h]");
    final LogarithmicAxis axis_y = new LogarithmicAxis("Sim Volumes [veh/h]");
    axis_x.setAllowNegativesFlag(false);
    axis_y.setAllowNegativesFlag(false);

    //regular values
    XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
    renderer.setLinesVisible(false);
    renderer.setURLGenerator(url_gen);
    renderer.setSeriesPaint(0, Color.black);
    renderer.setSeriesToolTipGenerator(0, tt_gen);
    renderer.setSeriesShape(0, new Rectangle2D.Double(-1.5, -1.5, 3.0, 3.0));

    //outliers
    XYLineAndShapeRenderer renderer2 = new XYLineAndShapeRenderer();
    renderer2.setLinesVisible(false);
    renderer2.setSeriesPaint(0, Color.red);
    renderer2.setSeriesShape(0, new Ellipse2D.Double(-3.0, -3.0, 6.0, 6.0));

    // error band
    DefaultXYDataset dataset1 = new DefaultXYDataset();
    dataset1.addSeries("f1x", new double[][] { { 1.0, 10000.0 }, { 1.0, 10000.0 } });
    dataset1.addSeries("f2x", new double[][] { { 1.0, 10000.0 }, { 2.0, 20000.0 } });
    dataset1.addSeries("f05x", new double[][] { { 2.0, 10000.0 }, { 1.0, 5000.0 } });

    XYLineAndShapeRenderer renderer3 = new XYLineAndShapeRenderer();
    renderer3.setShapesVisible(false);
    renderer3.setSeriesPaint(0, Color.blue);
    renderer3.setSeriesPaint(1, Color.blue);
    renderer3.setSeriesPaint(2, Color.blue);
    renderer3.setBaseSeriesVisibleInLegend(false);
    renderer3.setSeriesItemLabelsVisible(0, true);
    renderer3.setSeriesItemLabelsVisible(1, false);
    renderer3.setSeriesItemLabelsVisible(2, false);

    XYTextAnnotation annotation0 = new XYTextAnnotation("2.0 count", 12000.0, 15500.0);
    annotation0.setFont(new Font("SansSerif", Font.BOLD, 11));
    plot.addAnnotation(annotation0);
    XYTextAnnotation annotation1 = new XYTextAnnotation("count", 13000.0, 10000.0);
    annotation1.setFont(new Font("SansSerif", Font.BOLD, 11));
    plot.addAnnotation(annotation1);
    XYTextAnnotation annotation2 = new XYTextAnnotation("0.5 count", 11000.0, 3500.0);
    annotation2.setFont(new Font("SansSerif", Font.BOLD, 11));
    plot.addAnnotation(annotation2);

    plot.setDomainAxis(axis_x);
    plot.setRangeAxis(axis_y);
    plot.setRenderer(0, renderer);

    plot.setRenderer(1, renderer2);
    plot.setDataset(1, dataset_outliers);

    plot.setRenderer(2, renderer3);
    plot.setDataset(2, dataset1);

    plot.getRangeAxis().setRange(1.0, 19000.0);
    plot.getDomainAxis().setRange(1.0, 19000.0);

    return this.chart_;
}

From source file:Chart.JFreeChartDemo.java

/**
 * Construct a new frame/* ww  w .  j a  v a2s.  c  om*/
 *
 * @param title the frame title
 */
public JFreeChartDemo(ArrayList<Time_Series> tslist, String title, int xd, int yd) {
    super(title);
    this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    final DefaultXYDataset dataset = new DefaultXYDataset();

    for (int i = 0; i < tslist.size(); i++) {
        double[][] data = createSeries2(tslist.get(i));
        dataset.addSeries(tslist.get(i).name, data);
    }

    JFreeChart chart = createChart(dataset);
    ChartPanel chartPanel = new ChartPanel(chart, false);
    chartPanel.setPreferredSize(new Dimension(xd, yd)); //640, 480));
    this.add(chartPanel, BorderLayout.CENTER);

}

From source file:org.jfree.data.xy.junit.XYBarDatasetTest.java

/**
 * Confirm that the equals method can distinguish all the required fields.
 *///from ww  w.  ja v a 2  s .c om
public void testEquals() {
    DefaultXYDataset d1 = new DefaultXYDataset();
    double[] x1 = new double[] { 1.0, 2.0, 3.0 };
    double[] y1 = new double[] { 4.0, 5.0, 6.0 };
    double[][] data1 = new double[][] { x1, y1 };
    d1.addSeries("S1", data1);
    DefaultXYDataset d2 = new DefaultXYDataset();
    double[] x2 = new double[] { 1.0, 2.0, 3.0 };
    double[] y2 = new double[] { 4.0, 5.0, 6.0 };
    double[][] data2 = new double[][] { x2, y2 };
    d2.addSeries("S1", data2);

    XYBarDataset bd1 = new XYBarDataset(d1, 5.0);
    XYBarDataset bd2 = new XYBarDataset(d2, 5.0);
    assertTrue(bd1.equals(bd2));
    assertTrue(bd2.equals(bd1));
}

From source file:org.jfree.data.xy.junit.XYBarDatasetTest.java

/**
 * Serialize an instance, restore it, and check for equality.
 *///from w ww  .j  a va  2 s  .  co m
public void testSerialization() {
    DefaultXYDataset d1 = new DefaultXYDataset();
    double[] x1 = new double[] { 1.0, 2.0, 3.0 };
    double[] y1 = new double[] { 4.0, 5.0, 6.0 };
    double[][] data1 = new double[][] { x1, y1 };
    d1.addSeries("S1", data1);
    XYBarDataset bd1 = new XYBarDataset(d1, 5.0);
    XYBarDataset bd2 = null;
    try {
        ByteArrayOutputStream buffer = new ByteArrayOutputStream();
        ObjectOutput out = new ObjectOutputStream(buffer);
        out.writeObject(bd1);
        out.close();

        ObjectInput in = new ObjectInputStream(new ByteArrayInputStream(buffer.toByteArray()));
        bd2 = (XYBarDataset) in.readObject();
        in.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
    assertEquals(bd1, bd2);
}

From source file:org.jfree.data.xy.junit.XYBarDatasetTest.java

/**
 * Confirm that cloning works.//from  w  w w . ja v a2  s.c  o m
 */
public void testCloning() {
    DefaultXYDataset d1 = new DefaultXYDataset();
    double[] x1 = new double[] { 1.0, 2.0, 3.0 };
    double[] y1 = new double[] { 4.0, 5.0, 6.0 };
    double[][] data1 = new double[][] { x1, y1 };
    d1.addSeries("S1", data1);
    XYBarDataset bd1 = new XYBarDataset(d1, 5.0);
    XYBarDataset bd2 = null;
    try {
        bd2 = (XYBarDataset) bd1.clone();
    } catch (CloneNotSupportedException e) {
        e.printStackTrace();
    }
    assertTrue(bd1 != bd2);
    assertTrue(bd1.getClass() == bd2.getClass());
    assertTrue(bd1.equals(bd2));

    // check independence
    d1 = (DefaultXYDataset) bd1.getUnderlyingDataset();
    d1.addSeries("S2", new double[][] { { 1.0 }, { 2.0 } });
    assertFalse(bd1.equals(bd2));
    DefaultXYDataset d2 = (DefaultXYDataset) bd2.getUnderlyingDataset();
    d2.addSeries("S2", new double[][] { { 1.0 }, { 2.0 } });
    assertTrue(bd1.equals(bd2));
}