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

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

Introduction

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

Prototype

public DefaultXYDataset() 

Source Link

Document

Creates a new DefaultXYDataset instance, initially containing no data.

Usage

From source file:fr.ens.transcriptome.corsen.gui.qt.ResultGraphs.java

/**
 * Create a scatter plot//from   w  w w. j  a va 2s .  com
 * @param particles Particle data to use
 * @param title Title of the graph
 * @return a QImage
 */
public QImage createScatterPlot(final Particles3D particles, final String title, final String unit) {

    if (particles == null)
        return null;

    List<Particle3D> pars = particles.getParticles();

    final int count = pars.size();

    final double[][] data = new double[2][];
    data[0] = new double[count];
    data[1] = new double[count];

    int i = 0;
    for (Particle3D p : pars) {

        data[0][i] = p.getIntensity();
        data[1][i] = p.getVolume();
        i++;
    }

    DefaultXYDataset xydataset = new DefaultXYDataset();
    xydataset.addSeries("data", data);

    JFreeChart chart = ChartFactory.createScatterPlot(title, "Intensity", "Volume" + unitLegendCude(unit),
            xydataset, PlotOrientation.VERTICAL, false, true, false);

    addTransparency(chart);

    XYPlot xyplot = (XYPlot) chart.getPlot();
    XYDotRenderer xydotrenderer = new XYDotRenderer();
    xydotrenderer.setDotWidth(2);
    xydotrenderer.setDotHeight(2);
    xyplot.setRenderer(xydotrenderer);
    NumberAxis numberaxis = (NumberAxis) xyplot.getDomainAxis();
    numberaxis.setAutoRangeIncludesZero(false);

    final BufferedImage image = chart.createBufferedImage(this.width, this.height, BufferedImage.TYPE_INT_ARGB,
            null);

    return new QImage(toByte(image.getData().getDataBuffer()), this.width, this.height,
            QImage.Format.Format_ARGB32);
}

From source file:org.jax.maanova.madata.gui.ArrayScatterPlotPanel.java

private void updateDataPoints() {
    this.cachedXYData = null;
    XYProbeData currData = this.getXYData();

    DefaultXYDataset xyDataSet = new DefaultXYDataset();
    xyDataSet.addSeries("data", new double[][] { currData.getXData(), currData.getYData() });

    JFreeChart scatterPlot = ChartFactory.createScatterPlot(this.chartConfigurationDialog.getChartTitle(),
            this.chartConfigurationDialog.getXAxisLabel(), this.chartConfigurationDialog.getYAxisLabel(),
            xyDataSet, PlotOrientation.VERTICAL, false, false, false);

    XYPlot xyPlot = (XYPlot) scatterPlot.getPlot();
    xyPlot.setRenderer(PlotUtil.createMonochromeScatterPlotRenderer());
    if (this.viewArea != null) {
        PlotUtil.rescaleXYPlot(this.viewArea, xyPlot);
    }//  w  w w.j  av  a2 s  .  c o m

    this.saveGraphImageAction.setChart(scatterPlot);
    this.chartPanel.setChart(scatterPlot);
}

From source file:de.bund.bfr.knime.nls.chart.ChartCreator.java

private XYDataset createDataDataSet(Plotable plotable, String id) {
    double[][] points = plotable.getDataPoints(varX, varY, transformX, transformY);

    if (points != null) {
        DefaultXYDataset dataSet = new DefaultXYDataset();

        dataSet.addSeries(legend.get(id), points);

        return dataSet;
    }/* w ww .  jav  a  2 s  .c o  m*/

    return null;
}

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

/**
 * Some checks for an example using the toArray() method.
 *//*from  w w  w  .  j  ava2  s.  co m*/
@Test
public void testToArrayExample() {
    XYSeries s = new XYSeries("S");
    s.add(1.0, 11.0);
    s.add(2.0, 22.0);
    s.add(3.5, 35.0);
    s.add(5.0, null);
    DefaultXYDataset dataset = new DefaultXYDataset();
    dataset.addSeries("S", s.toArray());
    assertEquals(1, dataset.getSeriesCount());
    assertEquals(4, dataset.getItemCount(0));
    assertEquals("S", dataset.getSeriesKey(0));
    assertEquals(1.0, dataset.getXValue(0, 0), EPSILON);
    assertEquals(2.0, dataset.getXValue(0, 1), EPSILON);
    assertEquals(3.5, dataset.getXValue(0, 2), EPSILON);
    assertEquals(5.0, dataset.getXValue(0, 3), EPSILON);
    assertEquals(11.0, dataset.getYValue(0, 0), EPSILON);
    assertEquals(22.0, dataset.getYValue(0, 1), EPSILON);
    assertEquals(35.0, dataset.getYValue(0, 2), EPSILON);
    assertTrue(Double.isNaN(dataset.getYValue(0, 3)));
}

From source file:analysis.postRun.PostRunWindow.java

/**
 * Method which iterates through dataList building series to use in graphs.
 *///from  w w w  .  j  a v a 2s .  c om
private void makeSeries() {
    //      System.out.println("in makeSeries, readStats is "+readStats+ " stats is "+stats);
    //reinitialise datasets
    failureSet = new DefaultXYDataset();
    costSet = new DefaultXYDataset();
    cpuSet = new DefaultXYDataset();
    servSet = new DefaultXYDataset();
    conSet = new DefaultXYDataset();

    int l = dataList.size();
    String fails, cpus, costs, cons;
    String[] buffer, sFails, sCPUs, sServs, sCosts, test, servS, sErrs, sCons;
    double ts;

    //find out how many datacentres there are by doing a trial split
    test = dataList.get(0)[1].split(" ");
    int dcs = test.length;
    if (dcs > 1) {
        dcLegend = true;
    }

    double[][][] failureSeries = new double[dcs][2][l];
    double[][][] costSeries = new double[dcs][2][l];
    double[][][] cpuSeries = new double[dcs][2][l];
    double[][][] servSeries = new double[dcs * 4][2][l];
    double[][][] conSeries = new double[dcs][2][l];

    //iterate through list
    for (int k = 0; k < l; k++) {
        buffer = dataList.get(k);
        ts = Double.parseDouble(buffer[0]);

        //Split into useful data & add to series. May be multiple space-separated datacentres.
        sFails = buffer[1].split(" ");
        sCosts = buffer[2].split(" ");
        sCPUs = buffer[3].split(" ");
        sServs = buffer[4].split(" ");
        sCons = buffer[5].split(" ");
        sErrs = new String[dcs];
        if (readStats == true) {
            sErrs = buffer[6].split("'");
        }

        for (int i = 0; i < dcs; i++) { //add a value to the series for each datacentre
            fails = sFails[i];
            fails = (String) fails.subSequence(1, fails.length() - 1);
            failureSeries[i][0][k] = ts;
            failureSeries[i][1][k] = (Double.parseDouble(fails));

            costs = sCosts[i];
            costs = (String) costs.subSequence(1, costs.length() - 1);
            costSeries[i][0][k] = ts;
            costSeries[i][1][k] = Double.parseDouble(costs);

            cpus = sCPUs[i];
            cpus = (String) cpus.subSequence(1, cpus.length() - 1);
            cpuSeries[i][0][k] = ts;
            cpuSeries[i][1][k] = (Double.parseDouble(cpus));

            //services have multiple values
            servS = sServs[i].split("'");
            for (int x = 0; x < 4; x++) {
                servSeries[i + x][0][k] = ts;
                servSeries[i + x][1][k] = Double.parseDouble(servS[x + 1]);
            }

            cons = sCons[0];
            cons = (String) cons.subSequence(1, cons.length() - 1);
            conSeries[i][0][k] = ts;
            conSeries[i][1][k] = (Double.parseDouble(cons));

            failErrSeries = new double[dcs][2][l];
            costErrSeries = new double[dcs][2][l];
            cpuErrSeries = new double[dcs][2][l];
            servErrSeries = new double[dcs * 4][2][l];
            conErrSeries = new double[dcs][2][l];

            if (readStats == true) {
                failErrSeries[i][1][k] = Double.parseDouble(sErrs[1]);
                failErrSeries[i][0][k] = ts;
                costErrSeries[i][1][k] = Double.parseDouble(sErrs[2]);
                costErrSeries[i][0][k] = ts;
                cpuErrSeries[i][1][k] = Double.parseDouble(sErrs[3]);
                cpuErrSeries[i][0][k] = ts;

                servErrSeries[i][1][k] = Double.parseDouble(sErrs[4]);
                servErrSeries[i][0][k] = ts;
                servErrSeries[dcs + i][1][k] = Double.parseDouble(sErrs[5]);
                servErrSeries[dcs + i][0][k] = ts;
                servErrSeries[(2 * dcs) + i][1][k] = Double.parseDouble(sErrs[6]);
                servErrSeries[(2 * dcs) + i][0][k] = ts;
                servErrSeries[(3 * dcs) + i][1][k] = Double.parseDouble(sErrs[7]);
                servErrSeries[(3 * dcs) + i][0][k] = ts;

                conErrSeries[i][1][k] = Double.parseDouble(sErrs[8]);
                conErrSeries[i][0][k] = ts;
                //System.out.println(sErrs[8]);
            }

        }
    }

    for (int j = 0; j < dcs; j++) {
        failureSet.addSeries("Datacentre " + j, failureSeries[j]);
        costSet.addSeries("Datacentre " + j, costSeries[j]);
        cpuSet.addSeries("Datacentre " + j, cpuSeries[j]);
        servSet.addSeries("Total - Dc " + j, servSeries[j * 4]);
        servSet.addSeries("Complete - Dc " + j, servSeries[(j * 4) + 1]);
        servSet.addSeries("Failed - Dc " + j, servSeries[(j * 4) + 2]);
        servSet.addSeries("Running - Dc " + j, servSeries[(j * 4) + 3]);
        conSet.addSeries("Consistency - Dc " + j, conSeries[j]);
    }

    failureStatSeries = new double[failureSeries.length][failureSeries[0].length][failureSeries[0][0].length];
    costStatSeries = new double[costSeries.length][costSeries[0].length][costSeries[0][0].length];
    cpuStatSeries = new double[cpuSeries.length][cpuSeries[0].length][cpuSeries[0][0].length];
    servStatSeries = new double[servSeries.length][servSeries[0].length * 4][servSeries[0][0].length];
    conStatSeries = new double[conSeries.length][conSeries[0].length * 4][conSeries[0][0].length];

    if (readStats == true) {
        failureStatSeries = failureSeries;
        costStatSeries = costSeries;
        cpuStatSeries = cpuSeries;
        servStatSeries = servSeries;
        conStatSeries = conSeries;
    }
}

From source file:dk.netarkivet.harvester.harvesting.monitor.StartedJobHistoryChartGen.java

/**
 * Create a XYDataset based on the given arguments.
 * @param name The name //from  www  .  j  a  va2s  . c o  m
 * @param timeValues The timevalues
 * @param values the values
 * @return a DefaultXYDataset.
 */
private XYDataset createXYDataSet(String name, double[] timeValues, double[] values) {

    DefaultXYDataset ds = new DefaultXYDataset();
    ds.addSeries(name, new double[][] { timeValues, values });

    return ds;
}

From source file:de.bund.bfr.knime.nls.chart.ChartCreator.java

private static XYDataset createDataSet(String key, double[][] points, double[][] errors) {
    if (points != null) {
        if (errors != null) {
            YIntervalSeriesCollection functionDataset = new YIntervalSeriesCollection();
            YIntervalSeries series = new YIntervalSeries(key);

            for (int j = 0; j < points[0].length; j++) {
                double error = Double.isFinite(errors[1][j]) ? errors[1][j] : 0.0;

                series.add(points[0][j], points[1][j], points[1][j] - error, points[1][j] + error);
            }// w ww  . j ava  2 s. c  o  m

            functionDataset.addSeries(series);

            return functionDataset;
        } else {
            DefaultXYDataset functionDataset = new DefaultXYDataset();

            functionDataset.addSeries(key, points);

            return functionDataset;
        }
    }

    return null;
}

From source file:rod_design_compute.ShowPanel.java

private void chartRod() {
    DefaultXYDataset dataset1 = new DefaultXYDataset();
    DefaultXYDataset dataset2 = new DefaultXYDataset();
    DefaultXYDataset dataset3 = new DefaultXYDataset();

    Rod indicator = null;/*  www . ja v  a 2 s  . c o m*/
    chooseRodGroup = parent.arrayRodGroup.get(chooseIndex);

    int amount;
    if (parent.upperLimit == -1)
        amount = parent.resolution;
    else
        amount = parent.upperLimit;

    double[][][] data = new double[3][2][amount];
    for (int i = 0; i < amount; i++) {
        for (int j = 0; j < 3; j++)
            data[j][0][i] = i;
        if (chooseRodGroup.getType() == RodGroup.SR) {
            if (chooseRod == ((SR) (chooseRodGroup)).getL_dangan())
                indicator = ((SR) (parent.arrayRecord.get(i).get(chooseIndex))).getL_dangan();
        } else if (chooseRodGroup.getType() == RodGroup.RRR) {
            if (chooseRod == ((RRR) (chooseRodGroup)).getrodL2())
                indicator = ((RRR) (parent.arrayRecord.get(i).get(chooseIndex))).getrodL2();
            else if (chooseRod == ((RRR) (chooseRodGroup)).getrodL3())
                indicator = ((RRR) (parent.arrayRecord.get(i).get(chooseIndex))).getrodL3();
        } else if (chooseRodGroup.getType() == RodGroup.RRP) {
            if (chooseRod == ((RRP) (chooseRodGroup)).getrodL2())
                indicator = ((RRP) (parent.arrayRecord.get(i).get(chooseIndex))).getrodL2();
        }
        getRodData(data, indicator, i);
    }

    dataset1.addSeries("Angle", data[0]);
    dataset2.addSeries("AngleSpeed", data[1]);
    dataset3.addSeries("AngleAcceleration", data[2]);

    JFreeChart chart1 = ChartFactory.createXYLineChart("Angle", "angle()", "Angle(rad)", dataset1,
            PlotOrientation.VERTICAL, false, false, false);
    JFreeChart chart2 = ChartFactory.createXYLineChart("AngleSpeed", "angle()", "AngleSpeed", dataset2,
            PlotOrientation.VERTICAL, false, false, false);
    JFreeChart chart3 = ChartFactory.createXYLineChart("AngleAcceleration", "angle()", "AngleAcceleration",
            dataset3, PlotOrientation.VERTICAL, false, false, false);

    ChartPanel panel1 = new ChartPanel(chart1);
    ChartPanel panel2 = new ChartPanel(chart2);
    ChartPanel panel3 = new ChartPanel(chart3);

    JFrame frame = new JFrame("Chart");
    frame.setLayout(new GridLayout(3, 1, 0, 0));
    frame.add(panel1);
    frame.add(panel2);
    frame.add(panel3);
    frame.pack();
    frame.setVisible(true);

    chooseRod = null;
}

From source file:de.bund.bfr.knime.pmmlite.views.chart.ChartCreator.java

private XYDataset createDataSet(Plotable plotable, String id) throws UnitException {
    double[][] points = plotable.getPoints(varX, varY);

    if (points != null) {
        DefaultXYDataset dataSet = new DefaultXYDataset();

        dataSet.addSeries(legend.get(id), points);

        return dataSet;
    }//from  w  ww  . ja v  a 2s  . c om

    return null;
}