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

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

Introduction

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

Prototype

public void addSeries(XYSeries series) 

Source Link

Document

Adds a series to the collection and sends a DatasetChangeEvent to all registered listeners.

Usage

From source file:org.gephi.statistics.plugin.Degree.java

/**
 *
 * @return/*from w  w w. ja  v  a  2 s .  com*/
 */
public String getReport() {
    String report = "";
    if (isDirected) {
        report = getDirectedReport();
    } else {
        //Distribution series
        XYSeries dSeries = ChartUtils.createXYSeries(degreeDist, "Degree Distribution");

        XYSeriesCollection dataset1 = new XYSeriesCollection();
        dataset1.addSeries(dSeries);

        JFreeChart chart1 = ChartFactory.createXYLineChart("Degree Distribution", "Value", "Count", dataset1,
                PlotOrientation.VERTICAL, true, false, false);
        chart1.removeLegend();
        ChartUtils.decorateChart(chart1);
        ChartUtils.scaleChart(chart1, dSeries, false);
        String degreeImageFile = ChartUtils.renderChart(chart1, "degree-distribution.png");

        NumberFormat f = new DecimalFormat("#0.000");

        report = "<HTML> <BODY> <h1>Degree Report </h1> " + "<hr>" + "<br> <h2> Results: </h2>"
                + "Average Degree: " + f.format(avgDegree) + "<br /><br />" + degreeImageFile
                + "</BODY></HTML>";
    }
    return report;
}

From source file:omr.glyph.ui.TextAreaBrowser.java

private void showHistogram(TextArea area, Oriented orientation) {
    int[] histo = area.getHistogram(orientation);
    boolean vertical = orientation.isVertical();
    Rectangle rect = area.getAbsoluteContour();

    // Projection data
    XYSeries dataSeries = new XYSeries("Foreground Pixels");
    int offset = vertical ? rect.x : rect.y;

    for (int i = 0; i < histo.length; i++) {
        if (vertical) {
            dataSeries.add(offset + i, histo[i]);
        } else {//w w w  .  j  a  va2 s . c om
            dataSeries.add(i - offset - histo.length + 1, histo[histo.length - 1 - i]);
        }
    }

    XYSeriesCollection dataset = new XYSeriesCollection();
    dataset.addSeries(dataSeries);

    // Chart
    JFreeChart chart;

    if (vertical) {
        chart = ChartFactory.createXYAreaChart("Vertical Projections", // Title
                "Abscissa", "Cumulated Pixels", dataset, // Dataset
                PlotOrientation.VERTICAL, // orientation,
                false, // Show legend
                false, // Show tool tips
                false // urls
        );
    } else {
        // Thresholds
        addLine(dataset, area, "Base", area.getBaseline());
        addLine(dataset, area, "Median", area.getMedianLine());
        addLine(dataset, area, "Top", area.getTopline());

        chart = ChartFactory.createXYLineChart(
                "Horizontal Projections top:" + area.getTopline() + " median:" + area.getMedianLine() + " base:"
                        + area.getBaseline(), // Title
                "Ordinate", "Cumulated Pixels", dataset, // Dataset
                PlotOrientation.HORIZONTAL, // orientation,
                true, // Show legend
                true, // Show tool tips
                false // urls
        );
    }

    // Hosting frame
    ChartFrame frame = new ChartFrame("Histogram of " + rect, chart, true);
    frame.pack();
    frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    RefineryUtilities.centerFrameOnScreen(frame);
    frame.setVisible(true);
}

From source file:regression.gui.RegressionChart.java

/**
 * Creates a sample dataset./*from  w  ww.  j  av  a  2 s .c  o  m*/
 *
 * @return a sample dataset.
 */
private XYDataset createLogisticDataset(List<Point> countedPoints, List<Point> points,
        List<Point> finalProbPoints) {

    final XYSeries series1 = new XYSeries("Funkcja regresji");
    final XYSeries series0 = new XYSeries("Funkcja podzialu y=0,5");
    //stara
    for (Iterator<Point> it = finalProbPoints.iterator(); it.hasNext();) {
        Point point = it.next();
        series1.add(point.getX(), point.getY());
    }

    //        final XYSeries series2 = new XYSeries("Punkty Klasy A");
    //         final XYSeries series3 = new XYSeries("Punkty Klasy B");
    int pointToGetFuncton = countedPoints.size() / 2;
    //        for (Iterator<Point> it = points.iterator(); it.hasNext();) {
    //            Point point = it.next();
    //            if(checkIfPointAboveLogistic(countedPoints.get(pointToGetFuncton),point)){
    //            series2.add(point.getX(), point.getY());
    //            }else{
    //            series3.add(point.getX(), point.getY());
    //            }
    //            
    //        }
    //nowa

    final XYSeries series2 = new XYSeries("Punkty Klasy 1");
    final XYSeries series3 = new XYSeries("Punkty Klasy 0");
    int ite = 0;
    for (Iterator<Point> it = points.iterator(); it.hasNext();) {

        Point point = it.next();
        if (countedPoints.get(ite).getY() > 0.5) {
            series2.add(point.getX(), point.getY());
        } else {
            series3.add(point.getX(), point.getY());
        }

        //            if(checkIfPointAboveLogistic(new Point(0.0, 0.5),countedPoints.get(ite))){
        //            series2.add(point.getX(), point.getY());
        //            }else{
        //            series3.add(point.getX(), point.getY());
        //            }
        ite++;

    }
    Collections.sort(points, new PointXComparator());

    Double lastPoint = points.get(points.size() - 1).getX();
    Double logisticPoint = 0.5;
    series0.add(0, logisticPoint);
    series0.add(lastPoint, logisticPoint);
    final XYSeriesCollection dataset = new XYSeriesCollection();
    dataset.addSeries(series2);
    dataset.addSeries(series1);
    dataset.addSeries(series3);
    dataset.addSeries(series0);

    return dataset;

}

From source file:crossspectrumapp.CrossSpectrumApp.java

private void plotData(double[] frequency, double[] power, double[] phase, String title, String subTitleText1,
        String subTitleText2) throws WebUtilException {
    XYSeries asdSeries = new XYSeries("asd");
    XYSeries phiSeries = new XYSeries("phase");

    for (int i = 1; i < frequency.length; i++) {
        double f = frequency[i];
        double pwr = power[i];
        double phi = phase[i];
        asdSeries.add(f, pwr);//w ww.ja  va 2  s .  co  m
        phiSeries.add(f, phi);
    }

    XYSeriesCollection asdCollection = new XYSeriesCollection();
    asdCollection.addSeries(asdSeries);
    XYSeriesCollection phiCollection = new XYSeriesCollection();
    phiCollection.addSeries(phiSeries);

    // create the chart
    XYItemRenderer asdRenderer = new StandardXYItemRenderer();
    LogAxis asdAxis = new LogAxis("ASD counts/ \u221AHz");
    XYPlot asdSubplot = new XYPlot(asdCollection, null, asdAxis, asdRenderer);
    asdSubplot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_LEFT);

    XYItemRenderer phiRenderer = new StandardXYItemRenderer();
    NumberAxis phiAxis = new NumberAxis("Phase degrees");
    XYPlot phiSubplot = new XYPlot(phiCollection, null, phiAxis, phiRenderer);
    asdSubplot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_LEFT);

    final CombinedDomainXYPlot plot = new CombinedDomainXYPlot(new LogAxis("Frequency (Hz)"));
    plot.setGap(10.0);

    // add the subplots...
    plot.add(asdSubplot, 2);
    plot.add(phiSubplot, 1);
    plot.setOrientation(PlotOrientation.VERTICAL);

    JFreeChart chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT, plot, true);
    Title subTitle = new TextTitle(subTitleText1);
    chart.addSubtitle(subTitle);
    subTitle = new TextTitle(subTitleText2);
    chart.addSubtitle(subTitle);
    ChartPanel panel = new ChartPanel(chart, true, true, true, false, true);
    panel.setPreferredSize(new java.awt.Dimension(cscl.getOutX(), cscl.getOutY()));

    FileOutputStream fos = null;
    try {
        fos = new FileOutputStream(cscl.getOfileName());
        ChartUtilities.writeChartAsPNG(fos, chart, cscl.getOutX(), cscl.getOutY());
        fos.close();
        fos = null;
    } catch (Exception ex) {
        throw new WebUtilException("Saving image: " + ex.getClass() + " - " + ex.getLocalizedMessage());
    } finally {
        try {
            if (fos != null) {
                fos.close();
            }
        } catch (Exception ex) {
            throw new WebUtilException("Saving image: " + ex.getClass() + " - " + ex.getLocalizedMessage());
        }
    }

}

From source file:edu.uic.cs.compbio.DyNSPK.DynamicEntropy.java

public String makeChart(Map<Double, Double> data, String filename, String Title, String XAxis, String YAxis) {
    //Time series

    XYSeries dSeries = ChartUtils.createXYSeries(data, Title);

    XYSeriesCollection dataset = new XYSeriesCollection();
    dataset.addSeries(dSeries);

    JFreeChart chart = ChartFactory.createXYLineChart(Title, XAxis, YAxis, dataset, PlotOrientation.HORIZONTAL,
            true, false, false);/*from w w w . j  a  va  2s  .c  o m*/

    chart.removeLegend();
    ChartUtils.decorateChart(chart);
    ChartUtils.scaleChart(chart, dSeries, false);
    String degreeImageFile = ChartUtils.renderChart(chart, filename);
    return degreeImageFile;
}

From source file:org.gephi.statistics.plugin.dynamic.DynamicDegree.java

public String getReport() {
    //Transform to Map
    Map<Double, Double> map = new HashMap<Double, Double>();
    for (Interval<Double> interval : averages.getIntervals()) {
        map.put(interval.getLow(), interval.getValue());
    }/*from ww  w  . j a  v a  2  s.  c  om*/

    //Time series
    XYSeries dSeries = ChartUtils.createXYSeries(map, "Degree Time Series");

    XYSeriesCollection dataset = new XYSeriesCollection();
    dataset.addSeries(dSeries);

    JFreeChart chart = ChartFactory.createXYLineChart("Degree Time Series", "Time", "Average Degree", dataset,
            PlotOrientation.VERTICAL, true, false, false);

    chart.removeLegend();
    ChartUtils.decorateChart(chart);
    ChartUtils.scaleChart(chart, dSeries, false);
    String degreeImageFile = ChartUtils.renderChart(chart, "degree-ts.png");

    NumberFormat f = new DecimalFormat("#0.000000");

    String report = "<HTML> <BODY> <h1>Dynamic Degree Report </h1> " + "<hr>" + "<br> Bounds: from "
            + f.format(bounds.getLow()) + " to " + f.format(bounds.getHigh()) + "<br> Window: " + window
            + "<br> Tick: " + tick + "<br><br><h2> Average degrees over time: </h2>" + "<br /><br />"
            + degreeImageFile;

    /*for (Interval<Double> averages : averages) {
    report += averages.toString(dynamicModel.getTimeFormat().equals(DynamicModel.TimeFormat.DOUBLE)) + "<br />";
    }*/
    report += "<br /><br /></BODY></HTML>";
    return report;
}

From source file:org.gephi.statistics.plugin.Degree.java

public String getDirectedReport() {
    //Distribution series
    XYSeries dSeries = ChartUtils.createXYSeries(degreeDist, "Degree Distribution");
    XYSeries idSeries = ChartUtils.createXYSeries(inDegreeDist, "In-Degree Distribution");
    XYSeries odSeries = ChartUtils.createXYSeries(outDegreeDist, "Out-Degree Distribution");

    XYSeriesCollection dataset1 = new XYSeriesCollection();
    dataset1.addSeries(dSeries);

    XYSeriesCollection dataset2 = new XYSeriesCollection();
    dataset2.addSeries(idSeries);/*from  w  w w . j  a va  2s  .  c om*/

    XYSeriesCollection dataset3 = new XYSeriesCollection();
    dataset3.addSeries(odSeries);

    JFreeChart chart1 = ChartFactory.createXYLineChart("Degree Distribution", "Value", "Count", dataset1,
            PlotOrientation.VERTICAL, true, false, false);
    chart1.removeLegend();
    ChartUtils.decorateChart(chart1);
    ChartUtils.scaleChart(chart1, dSeries, false);
    String degreeImageFile = ChartUtils.renderChart(chart1, "degree-distribution.png");

    JFreeChart chart2 = ChartFactory.createXYLineChart("In-Degree Distribution", "Value", "Count", dataset2,
            PlotOrientation.VERTICAL, true, false, false);
    chart2.removeLegend();
    ChartUtils.decorateChart(chart2);
    ChartUtils.scaleChart(chart2, dSeries, false);
    String indegreeImageFile = ChartUtils.renderChart(chart2, "indegree-distribution.png");

    JFreeChart chart3 = ChartFactory.createXYLineChart("Out-Degree Distribution", "Value", "Count", dataset3,
            PlotOrientation.VERTICAL, true, false, false);
    chart3.removeLegend();
    ChartUtils.decorateChart(chart3);
    ChartUtils.scaleChart(chart3, dSeries, false);
    String outdegreeImageFile = ChartUtils.renderChart(chart3, "outdegree-distribution.png");

    NumberFormat f = new DecimalFormat("#0.000");

    String report = "<HTML> <BODY> <h1>Degree Report </h1> " + "<hr>" + "<br> <h2> Results: </h2>"
            + "Average Degree: " + f.format(avgDegree) + "<br /><br />" + degreeImageFile + "<br /><br />"
            + indegreeImageFile + "<br /><br />" + outdegreeImageFile + "</BODY></HTML>";

    return report;
}

From source file:XYPlotter.java

/**
 * Creates the dataset.//from  w  w  w.j  a  va  2  s  .c  om
 * 
 * @return a sample dataset.
 */
private XYSeriesCollection createDataset(String legendTxt) {

    series1 = new XYSeries("f(x)");
    series2 = new XYSeries("g(x)");

    final XYSeriesCollection dataset = new XYSeriesCollection();

    dataset.addSeries(series1);
    dataset.addSeries(series2);

    return dataset;
}

From source file:org.usfirst.frc.team2084.neuralnetwork.RobotHeadingTest.java

/**
 * //from  w  w  w  . jav  a2 s.  c  o  m
 */
@Override
public void run() {
    try {
        final DefaultValueDataset headingData = new DefaultValueDataset(0);
        final DefaultValueDataset desiredHeadingData = new DefaultValueDataset(0);
        final CompassPlot headingPlot = new CompassPlot();
        headingPlot.addDataset(headingData);
        headingPlot.addDataset(desiredHeadingData);
        final JFreeChart headingChart = new JFreeChart("Heading", headingPlot);

        final XYSeries headingTimeSeries = new XYSeries("Heading");
        final XYSeriesCollection headingTimeData = new XYSeriesCollection();
        headingTimeData.addSeries(headingTimeSeries);
        final JFreeChart headingTimeChart = ChartFactory.createXYLineChart("Heading vs. Time", "Time",
                "Heading", headingTimeData, PlotOrientation.VERTICAL, true, true, false);

        final XYSeries errorTimeSeries = new XYSeries("Error");
        final XYSeriesCollection errorTimeData = new XYSeriesCollection();
        errorTimeData.addSeries(errorTimeSeries);
        final JFreeChart errorTimeChart = ChartFactory.createXYLineChart("Error vs. Time", "Time", "Error",
                errorTimeData, PlotOrientation.VERTICAL, true, true, false);

        SwingUtilities.invokeAndWait(() -> {
            final JFrame frame = new JFrame("Charts");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            final Container content = frame.getContentPane();
            content.setLayout(new BoxLayout(content, BoxLayout.PAGE_AXIS));

            final JPanel chartPanel = new JPanel();
            chartPanel.setLayout(new GridLayout(2, 2));
            content.add(chartPanel);

            final ChartPanel headingPanel = new ChartPanel(headingChart);
            chartPanel.add(headingPanel);

            final ChartPanel headingTimePanel = new ChartPanel(headingTimeChart);
            chartPanel.add(headingTimePanel);

            final ChartPanel errorTimePanel = new ChartPanel(errorTimeChart);
            chartPanel.add(errorTimePanel);

            final JPanel buttonPanel = new JPanel();
            content.add(buttonPanel);

            final JButton startButton = new JButton("Start");
            final JButton stopButton = new JButton("Stop");

            startButton.addActionListener(new ActionListener() {

                @Override
                public void actionPerformed(ActionEvent e) {
                    stop();
                    startButton.setEnabled(false);
                    stopButton.setEnabled(true);
                    start(headingData, desiredHeadingData, headingTimeSeries, errorTimeSeries);
                }
            });
            buttonPanel.add(startButton);

            stopButton.addActionListener(new ActionListener() {

                @Override
                public void actionPerformed(ActionEvent e) {
                    stop();
                    startButton.setEnabled(true);
                    stopButton.setEnabled(false);
                }
            });
            stopButton.setEnabled(false);
            buttonPanel.add(stopButton);

            frame.pack();
            frame.setVisible(true);
        });
    } catch (Exception ex) {
        ex.printStackTrace();
    }
}

From source file:com.signalcollect.sna.gephiconnectors.SignalCollectGephiConnector.java

/**
 * Creates the Chart of the Degree Distribution according to the calculated
 * distribution/*from www  . j  av a  2 s  .  co m*/
 * 
 * @param degreeDistribution
 * @return a {@link JFreeChart} containing the distribution of degrees in
 *         the graph
 * @throws IOException
 */
public JFreeChart createDegreeDistributionChart(Map<Integer, Integer> degreeDistribution) throws IOException {
    XYSeries dSeries = new XYSeries("number of occurences");
    for (Iterator it = degreeDistribution.entrySet().iterator(); it.hasNext();) {
        Map.Entry d = (Map.Entry) it.next();
        Number x = (Number) d.getKey();
        Number y = (Number) d.getValue();
        dSeries.add(x, y);
    }
    XYSeriesCollection dataset = new XYSeriesCollection();
    dataset.addSeries(dSeries);
    dataset.setAutoWidth(true);

    JFreeChart chart = ChartFactory.createHistogram("Degree Distribution", "Degree centrality value",
            "number of occurences", dataset, PlotOrientation.VERTICAL, true, true, true);

    XYPlot plot = chart.getXYPlot();
    XYBarRenderer renderer0 = new XYBarRenderer();
    Font font = new Font("Font", 0, 14);
    renderer0.setMargin(0.2);
    renderer0.setBaseItemLabelGenerator(new StandardXYItemLabelGenerator());
    renderer0.setBaseItemLabelsVisible(true);
    renderer0.setBaseItemLabelFont(font);
    plot.setDataset(0, dataset);
    plot.setRenderer(0, renderer0);
    plot.getRendererForDataset(plot.getDataset(0)).setSeriesPaint(0, Color.BLUE);
    return chart;
}