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

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

Introduction

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

Prototype

public XYSeriesCollection(XYSeries series) 

Source Link

Document

Constructs a dataset and populates it with a single series.

Usage

From source file:mls.FramePlot.java

public FramePlot() {

    seriesMedia = new XYSeries("Media campionaria (Gordon)");
    seriesVarianza = new XYSeries("Varianza campionaria (Gordon)");

    final XYSeriesCollection datasetMedia = new XYSeriesCollection(this.seriesMedia);
    final XYSeriesCollection datasetVarianza = new XYSeriesCollection(this.seriesVarianza);
    final JFreeChart chartMedia = createChartMedia(datasetMedia);
    final JFreeChart chartVarianza = createChartVarianza(datasetVarianza);

    ChartPanel chartPanelMedia = new ChartPanel(chartMedia);
    final ChartPanel chartPanelVarianza = new ChartPanel(chartVarianza);

    final JPanel content = new JPanel(new BorderLayout());
    content.add(chartPanelMedia);/*from  w  ww .  j  a  va 2  s.co  m*/
    content.add(chartPanelVarianza, BorderLayout.EAST);
    chartPanelMedia.setPreferredSize(new java.awt.Dimension(500, 270));
    chartPanelVarianza.setPreferredSize(new java.awt.Dimension(500, 270));
    add(content);
    //setContentPane(content);
}

From source file:at.ac.tuwien.dsg.utility.DesignChart.java

public void chart(LinkedList<String> xValue, LinkedList<String> yValue) throws Exception {

    XYSeries series = new XYSeries("Sensory Data");
    final JFreeChart chart;

    //data assignment in the chart
    {//from w ww.  j ava  2  s.  c  o m
        for (int i = 0; i < xValue.size(); i++) {
            series.add(Double.parseDouble(xValue.get(i)), Double.parseDouble(yValue.get(i)));
        }

        final XYSeriesCollection data = new XYSeriesCollection(series);
        chart = ChartFactory.createXYLineChart("Graph Visualization", "collection_time", "collection_data",
                data, PlotOrientation.VERTICAL, true, true, false);
    }

    //design the plot of the chart
    {
        XYPlot xyPlot = chart.getXYPlot();
        NumberAxis xAxis = (NumberAxis) xyPlot.getDomainAxis();
        NumberAxis yAxis = (NumberAxis) xyPlot.getRangeAxis();

        xAxis.setRange(20, 120);
        xAxis.setTickUnit(new NumberTickUnit(15));
        yAxis.setRange(947, 950);
        yAxis.setTickUnit(new NumberTickUnit(0.5));
    }

    //generation of the image  
    {
        try {

            BufferedImage img = chart.createBufferedImage(300, 200);
            //File outputfile = new File("./example/Sample.png");
            File outputfile = new File(
                    "/Users/dsg/Documents/phd/Big Demo/CloudLyra/Utils/JBPMEngine/example/Sample.png");
            ImageIO.write(img, "png", outputfile);

        } catch (Exception e) {
            System.out.println("exception occured in tomcat: " + e);
        }
    }

}

From source file:OilDrop.GraphTest.java

public JFreeChart getResultChart() {

    XYSeries series1 = new XYSeries("Particle Velocity");

    for (double i = 0; i < 10; i++) {
        caculate(i / 1000.);/* w w w . j  av  a  2 s  .  c o  m*/
        series1.add(i, position);//pow(v,-10));
    }

    XYSeriesCollection data1 = new XYSeriesCollection(series1);

    final JFreeChart chart = ChartFactory.createXYLineChart("Time-Voltage Graph", "Time", "Voltage", data1,
            PlotOrientation.VERTICAL, true, false, false);
    chart.setBackgroundPaint(null);
    XYPlot plot = chart.getXYPlot();

    //        plot.getRangeAxis().setRange(-20, 20);

    return chart;
}

From source file:serial.LineChart.java

/**
 * Creates a jFreeChart lineChart//from w  w w .j a  va 2 s  . c o  m
 *
 * @param graphName Name of the chart
 * @param xAxisLabel X-Axis Label
 * @param yAxisLabel Y-Axis Label
 * @param bufferSize Max number of data points to display on the graph at a
 * time. Bear in mind that larger values (>30,000) can begin to cause
 * problems with lag.
 */
public LineChart(String graphName, String xAxisLabel, String yAxisLabel, int bufferSize) {
    initComponents();
    defaultSeries = new XYSeries(graphName);
    defaultSeries.setMaximumItemCount(bufferSize);
    defaultDataset = new XYSeriesCollection(defaultSeries);
    defaultChart = ChartFactory.createXYLineChart(graphName, xAxisLabel, yAxisLabel, defaultDataset);
    graph = new ChartPanel(defaultChart);

    this.add(graph, BorderLayout.CENTER);
    graph.setVisible(true);

}

From source file:com.raghav.plot.XYSeriesDemo.java

/**
 * A demonstration application showing an XY series containing a null value.
 *
 * @param title  the frame title./*from  ww  w .  j a  v a2s  .  co  m*/
 */
public XYSeriesDemo(final String title) {

    super(title);
    final XYSeries series = new XYSeries("Random Data");
    //    float x=1;
    //    float y=(float)((Math.sqrt(2))*x);
    //    

    for (int i = 1; i < 200000; i++) {
        double x = (((double) (i)) / 1000);
        System.out.print("x = " + x);
        double xdb = 10 * (Math.log10(x));
        System.out.print("\t 10logx=" + xdb);

        double y = Erf.erfc(Math.sqrt(x));
        System.out.print("\t y=" + y);
        System.out.println("----------------------");
        series.add(xdb, y);
    }

    final XYSeriesCollection data = new XYSeriesCollection(series);
    final JFreeChart chart = ChartFactory.createXYLineChart("XY Series Demo", "X", "Y", data,
            PlotOrientation.VERTICAL, true, true, false);

    final ChartPanel chartPanel = new ChartPanel(chart);
    chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
    setContentPane(chartPanel);

}

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

private static XYDataset createSampleData() {
    XYSeries xyseries = new XYSeries("Series 1");
    xyseries.add(2D, 56.270000000000003D);
    xyseries.add(3D, 41.32D);// w  w w .jav a  2s  . co m
    xyseries.add(4D, 31.449999999999999D);
    xyseries.add(5D, 30.050000000000001D);
    xyseries.add(6D, 24.690000000000001D);
    xyseries.add(7D, 19.780000000000001D);
    xyseries.add(8D, 20.940000000000001D);
    xyseries.add(9D, 16.73D);
    xyseries.add(10D, 14.210000000000001D);
    xyseries.add(11D, 12.44D);
    XYSeriesCollection xyseriescollection = new XYSeriesCollection(xyseries);
    XYSeries xyseries1 = new XYSeries("Series 2");
    xyseries1.add(11D, 56.270000000000003D);
    xyseries1.add(10D, 41.32D);
    xyseries1.add(9D, 31.449999999999999D);
    xyseries1.add(8D, 30.050000000000001D);
    xyseries1.add(7D, 24.690000000000001D);
    xyseries1.add(6D, 19.780000000000001D);
    xyseries1.add(5D, 20.940000000000001D);
    xyseries1.add(4D, 16.73D);
    xyseries1.add(3D, 14.210000000000001D);
    xyseries1.add(2D, 12.44D);
    xyseriescollection.addSeries(xyseries1);
    return xyseriescollection;
}

From source file:com.joey.software.plottingToolkit.PlotingToolkit.java

public static XYSeriesCollection getCollection(double[] xData, double[] yData, String name) {
    if (xData.length != yData.length) {
        throw new InvalidParameterException("X and Y must be same length");
    }//from  ww w . j  av  a 2 s  .c o  m

    XYSeries series = new XYSeries(name);
    for (int i = 0; i < xData.length; i++) {
        series.add(xData[i], yData[i]);
    }

    XYSeriesCollection result = new XYSeriesCollection(series);
    return result;
}

From source file:org.mwc.cmap.grideditor.chart.Value2ValueManager.java

public Value2ValueManager(final GriddableItemDescriptor descriptor,
        final GriddableItemChartComponent xComponent, final GriddableItemChartComponent yComponent) {
    myDescriptor = descriptor;/*from w ww .  j a  v  a2s .c  o m*/
    myXComponent = xComponent;
    myYComponent = yComponent;
    myTitle = descriptor.getTitle();

    mySeries = new ScatteredXYSeries("the-only-series");
    myDataSet = new XYSeriesCollection(mySeries);
}

From source file:org.jfree.data.general.HeatMapUtilities.java

/**
 * Returns a dataset containing one series that holds a copy of the (x, z)
 * data from one row (y-index) of the specified dataset.
 *
 * @param dataset  the dataset (<code>null</code> not permitted).
 * @param row  the row (y) index./*from  w  ww .  j a  v a 2  s  .  c  o  m*/
 * @param seriesName  the series name/key (<code>null</code> not permitted).
 *
 * @return The dataset.
 */
public static XYDataset extractRowFromHeatMapDataset(HeatMapDataset dataset, int row, Comparable seriesName) {
    XYSeries series = new XYSeries(seriesName);
    int cols = dataset.getXSampleCount();
    for (int c = 0; c < cols; c++) {
        series.add(dataset.getXValue(c), dataset.getZValue(c, row));
    }
    XYSeriesCollection result = new XYSeriesCollection(series);
    return result;
}

From source file:net.relet.freimap.LinkInfo.java

public void setLinkProfile(LinkedList<LinkData> lp) {

    XYSeries data = new XYSeries("etx");
    XYSeries avail = new XYSeries("avail");
    XYSeriesCollection datac = new XYSeriesCollection(data);
    datac.addSeries(avail);//  w ww  .  j  av  a2  s . c  o  m
    linkChart = ChartFactory.createXYLineChart("average link etx\r\naverage link availability", "time", "etx",
            datac, PlotOrientation.VERTICAL, false, false, false);
    sexupLayout(linkChart);

    long first = lp.getFirst().time, last = lp.getLast().time, lastClock = first, count = 0, //number of samplis in aggregation timespan
            maxCount = 0; //max idem
    long aggregate = (last - first) / CHART_WIDTH; //calculate aggregation timespan: divide available timespan in CHART_WIDTH equal chunks
    double sum = 0;

    /* ok, this ain't effective, we do it just to pre-calculate maxCount */
    ListIterator<LinkData> li = lp.listIterator();
    while (li.hasNext()) {
        LinkData ld = li.next();
        count++;
        if (ld.time - lastClock > aggregate) {
            if (maxCount < count)
                maxCount = count;
            lastClock = ld.time;
            count = 0;
        }
    }

    //reset for second iteration
    count = 0;
    lastClock = first;

    //iterate again
    li = lp.listIterator();
    while (li.hasNext()) {
        LinkData ld = li.next();

        sum += ld.quality;
        count++;

        if (aggregate == 0)
            aggregate = 1000;//dirty hack
        if (ld.time - lastClock > aggregate) {
            for (long i = lastClock; i < ld.time - aggregate; i += aggregate) {
                data.add(i * 1000, (i == lastClock) ? sum / count : Double.NaN);
                avail.add(i * 1000, (i == lastClock) ? ((double) count / maxCount) : 0);
            }

            count = 0;
            sum = 0;
            lastClock = ld.time;
        }
    }

    status = STATUS_AVAILABLE;
}