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:iad_2_gg.gui.ChartDialog.java

private XYDataset createDataset(List<Double> values1, String sName1, List<Double> values2, String sName2,
        int interval) {
    XYSeriesCollection data = new XYSeriesCollection();
    XYSeries serie1 = new XYSeries(sName1);
    int i = 1;//w  ww  .ja v a2 s .  c om
    for (double v : values1) {
        serie1.add((i * interval), v);
        i++;
    }

    data.addSeries(serie1);

    XYSeries serie2 = new XYSeries(sName2);
    i = 1;
    for (double v : values2) {
        serie2.add((i * interval), v);
        i++;
    }
    data.addSeries(serie2);

    return data;
}

From source file:org.gephi.statistics.plugin.WeightedDegree.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);// w ww  .  java2s  .c om

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

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

    JFreeChart chart2 = ChartFactory.createXYLineChart("In-Degree Distribution", "Value", "Count", dataset2,
            PlotOrientation.VERTICAL, true, false, false);
    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);
    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>Weighted Degree Report </h1> " + "<hr>" + "<br> <h2> Results: </h2>"
            + "Average Weighted Degree: " + f.format(avgWDegree) + "<br /><br />" + degreeImageFile
            + "<br /><br />" + indegreeImageFile + "<br /><br />" + outdegreeImageFile + "</BODY></HTML>";

    return report;
}

From source file:Presentation.MainWindow.java

/** Ajout  la fentre des graphiques de temprature et d'humidit en temps rel */
public void initGraphs() {
    XYSeriesCollection datasetT = new XYSeriesCollection();
    XYSeriesCollection datasetH = new XYSeriesCollection();

    datasetT.addSeries(seriesT);
    datasetH.addSeries(seriesH);/*from ww w .j  a va  2  s  .com*/

    XYPlot plotT = new XYPlot(datasetT, new NumberAxis(), new NumberAxis(), new DefaultXYItemRenderer());
    XYPlot plotH = new XYPlot(datasetH, new NumberAxis(), new NumberAxis(), new DefaultXYItemRenderer());

    //plot.setDataset(1, datasetT);
    // plot.setRenderer(1, new DefaultXYItemRenderer());
    plotH.getRenderer().setSeriesPaint(0, Color.BLUE);
    JFreeChart chartT = new JFreeChart("Graphique de temprature", JFreeChart.DEFAULT_TITLE_FONT, plotT, true);
    JFreeChart chartH = new JFreeChart("Graphique d'humidit", JFreeChart.DEFAULT_TITLE_FONT, plotH, true);

    ChartPanel gPanelT = new ChartPanel(chartT);
    ChartPanel gPanelH = new ChartPanel(chartH);

    mPanel.add(gPanelT);
    mPanel.add(gPanelH);
}

From source file:se.lnu.cs.doris.metrics.SLOC.java

private void generateImage(ImageType type) throws Exception {
    if (this.m_mainDir == null) {
        throw new Exception("Base directory not set.");
    }/* w  w  w  .  ja v a  2s.  co  m*/

    XYSeries linesOfCodeTotal = new XYSeries("Total lines");
    XYSeries linesOfCode = new XYSeries("Lines of code");
    XYSeries linesOfComments = new XYSeries("Lines of comments");
    XYSeries baseLine = new XYSeries("index 100");

    for (File f : this.m_mainDir.listFiles()) {
        if (f.isDirectory() && !f.getName().contains(this.m_avoid)) {

            int commitNumber = Utilities.parseInt(f.getName());
            int slocd = 0;
            int slocmt = 0;
            int sloct = 0;

            for (File sd : f.listFiles()) {
                if (!sd.getName().toLowerCase().contains(this.m_avoid)) {
                    slocd += this.countLines(sd, false);
                    slocmt += this.countLines(sd, true);
                    sloct += slocd + slocmt;
                }
            }

            if (this.m_baseValueTotal < 0) {
                this.m_baseValueTotal = sloct;
                this.m_baseValueComments = slocmt;
                this.m_baseValueCode = slocd;

                sloct = 100;
                slocmt = 100;
                slocd = 100;
            } else {
                sloct = (int) ((double) sloct / (double) this.m_baseValueTotal * 100);
                slocmt = (int) ((double) slocmt / (double) this.m_baseValueComments * 100);
                slocd = (int) ((double) slocd / (double) this.m_baseValueCode * 100);
            }

            linesOfCodeTotal.add(commitNumber, sloct);
            linesOfCode.add(commitNumber, slocd);
            linesOfComments.add(commitNumber, slocmt);
            baseLine.add(commitNumber, 100);

        }
    }

    XYSeriesCollection collection = new XYSeriesCollection();

    collection.addSeries(linesOfCodeTotal);
    collection.addSeries(linesOfCode);
    collection.addSeries(linesOfComments);
    collection.addSeries(baseLine);

    JFreeChart chart = ChartFactory.createXYLineChart(
            "Source lines of code change for " + this.m_projectName + " \nBase value code: "
                    + this.m_baseValueCode + "\nBase value comments: " + this.m_baseValueComments,
            "Commit", "SLOC change %", collection, PlotOrientation.VERTICAL, true, true, false);

    XYPlot plot = chart.getXYPlot();

    NumberAxis xAxis = (NumberAxis) plot.getDomainAxis();
    xAxis.setTickUnit(new NumberTickUnit(2));

    NumberAxis yAxis = (NumberAxis) plot.getRangeAxis();
    yAxis.setTickUnit(new NumberTickUnit(10));

    switch (type) {
    case JPEG:
        ChartUtilities.saveChartAsJPEG(new File(this.m_mainDir.getAbsolutePath(), "sloc_chart.jpg"), chart,
                1000, 720);
        break;
    case PNG:
        ChartUtilities.saveChartAsPNG(new File(this.m_mainDir.getAbsolutePath(), "sloc_chart.png"), chart, 1000,
                720);
        break;
    default:
        break;
    }
}

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

/**
* Creates a sample dataset./*from w w  w. ja  va2 s . c  om*/
* 
* @return a sample dataset.
*/
protected XYDataset createDataset1(boolean isDemo) {
    if (isDemo) {
        row_count = 11;
        raw_x2 = new String[2][row_count];
        /*raw_x2[0][0] = "1.0";    raw_x2[0][1] = "2.0";    raw_x2[0][2] = "3.0";    raw_x2[0][3] = "4.0";    raw_x2[0][4] = "5.0";
        raw_x2[0][5] = "6.0";    raw_x2[0][6] = "76.0";    raw_x2[0][7] = "78.0";    raw_x2[0][8] = "7.0";    raw_x2[0][9] = "8.0";
                
        raw_x2[1][0] = "1.0";    raw_x2[1][1] = "3.0";    raw_x2[1][2] = "5.0";    raw_x2[1][3] = "9.0";    raw_x2[1][4] = "7.0";
        raw_x2[1][5] = "4.0";    raw_x2[1][6] = "70.0";    raw_x2[1][7] = "30.0";    raw_x2[1][8] = "9.0";    raw_x2[1][9] = "7.0";raw_x2[1][10] = "20.0";
        */
        XYSeries series1 = new XYSeries("Data 1");
        series1.add(1, 1.0);
        series1.add(2, 2.0);
        series1.add(3, 3.0);
        series1.add(4, 4.0);
        series1.add(5, 5.0);
        series1.add(6, 6.0);
        series1.add(7, 76.0);
        series1.add(8, 78.0);
        series1.add(9, 7.0);
        series1.add(10, 8.0);
        for (int i = 0; i < 10; i++)
            raw_x2[0][i] = series1.getY(i).toString();

        XYSeries series2 = new XYSeries("Data 2");
        series2.add(1, 1.0);
        series2.add(2, 3.0);
        series2.add(3, 5.0);
        series2.add(4, 9.0);
        series2.add(5, 7.0);
        series2.add(6, 4.0);
        series2.add(7, 70.0);
        series2.add(8, 30.0);
        series2.add(9, 9.0);
        series2.add(10, 7.0);
        series2.add(11, 20.0);
        for (int i = 0; i < 11; i++)
            raw_x2[1][i] = series2.getY(i).toString();

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

        dataset.addSeries(series2);

        return dataset;
    } else
        return super.createDataset(false);

}

From source file:playground.dgrether.analysis.charts.DgAvgDeltaMoneyQuantilesChart.java

protected XYSeriesCollection createDatasets(String runId1, String runId2) {
    XYSeriesCollection ds = new XYSeriesCollection();
    Tuple<XYSeries, List<String>> seriesLabels = this.createXYSeries("Mean " + '\u0394' + " Chf", this.ana,
            runId1, runId2);//from w  w  w . j av  a2s. c  o m
    ds.addSeries(seriesLabels.getFirst());
    this.labelGenerator.setLabels(0, seriesLabels.getSecond());
    return ds;
}

From source file:jimaginary.machine.set.viewer.SetViewerTopComponent.java

private void createMidiChart(Set set) {
    if (set == null) {
        return;//from  www .j  av  a2s.  c  om
    }
    XYSeries series = new XYSeries("Distrbution");
    float setValues[] = set.getValues();
    for (int i = 0; i < setValues.length; i++) {
        if ((int) setValues[i] != 0) {
            series.add(i, (int) setValues[i]);
        }
    }
    XYSeriesCollection dataset = new XYSeriesCollection();
    dataset.addSeries(series);

    // Generate the graph
    JFreeChart chart = ChartFactory.createScatterPlot(set.getName(), "Position", "Note", dataset,
            PlotOrientation.VERTICAL, // Plot Orientation
            true, // Show Legend
            true, // Use tooltips
            false // Configure chart to generate URLs?
    );
    // add annotations if we have them
    XYPlot plot = chart.getXYPlot();
    for (int i = 0; i < setValues.length; i++) {
        XYTextAnnotation an = new XYTextAnnotation(MidiCodec.noteValToString((int) setValues[i]), i,
                (int) setValues[i]);
        plot.addAnnotation(an);
    }

    if (chartPanel != null) {
        jPanelChart.remove(chartPanel);
    }
    chartPanel = new ChartPanel(chart);
    jPanelChart.setLayout(new java.awt.BorderLayout());
    jPanelChart.add(chartPanel, BorderLayout.CENTER);
    jPanelChart.validate();
}

From source file:api3.transform.PlotWave.java

public void plot(double[][] signal, String name, long samplerate) {

    frame.setTitle(name);/*from   ww w . j  a  v a 2s.  com*/

    XYSeries[] soundWave = new XYSeries[signal.length];
    for (int j = 0; j < signal.length; ++j) {
        soundWave[j] = new XYSeries("sygnal" + j);
        for (int i = 0; i < signal[0].length; ++i) {
            double index = (samplerate == 0) ? i : 1000.0 * (double) i / (double) samplerate;
            soundWave[j].add(index, signal[j][i]);
        }
    }

    XYSeriesCollection dataset = new XYSeriesCollection();
    for (int j = 0; j < signal.length; ++j) {
        dataset.addSeries(soundWave[j]);
    }

    JFreeChart chart = //            (samplerate ==0 )?
            //            ChartFactory.createXYBarChart(
            //            name,
            //            "prbka",
            //            false,
            //            "warto",
            //            new XYBarDataset(dataset,0.0625),
            //            PlotOrientation.VERTICAL,
            //            true,false,false)
            //            :
            ChartFactory.createXYLineChart(name, "prbka", "warto", dataset,
                    PlotOrientation.VERTICAL, true, false, false);

    XYPlot plot = (XYPlot) chart.getPlot();

    final NumberAxis domainAxis = (NumberAxis) plot.getDomainAxis();

    slider.addChangeListener(new ChangeListener() {

        @Override
        public void stateChanged(ChangeEvent event) {
            int value = slider.getValue();
            double minimum = domainAxis.getRange().getLowerBound();
            double maximum = domainAxis.getRange().getUpperBound();
            double delta = (0.1f * (domainAxis.getRange().getLength()));
            if (value < lastValue) { // left
                minimum = minimum - delta;
                maximum = maximum - delta;
            } else { // right
                minimum = minimum + delta;
                maximum = maximum + delta;
            }
            DateRange range = new DateRange(minimum, maximum);
            domainAxis.setRange(range);
            lastValue = value;
            if (lastValue == slider.getMinimum() || lastValue == slider.getMaximum()) {
                slider.setValue(SLIDER_DEFAULT_VALUE);
            }
        }

    });

    plot.addRangeMarker(new ValueMarker(0, Color.BLACK, new BasicStroke(1)));

    ChartPanel chartPanel = new ChartPanel(chart);
    Border border = BorderFactory.createCompoundBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4),
            BorderFactory.createEtchedBorder());
    chartPanel.setBorder(border);

    chartPanel.addMouseWheelListener(addZoomWheel());

    panel.add(chartPanel);
    JPanel dashboard = new JPanel(new BorderLayout());
    dashboard.setBorder(BorderFactory.createEmptyBorder(0, 4, 4, 4));
    dashboard.add(slider);
    panel.add(dashboard, BorderLayout.SOUTH);

    frame.getContentPane().add((JPanel) panel, BorderLayout.CENTER);

    frame.pack();
    frame.setVisible(true);
}

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

/**
 * Creates the demo chart.// w  ww  .ja  v  a 2s  . c o m
 * 
 * @return The chart.
 */
private JFreeChart createChart() {

    // create some sample data

    final XYSeries series1 = new XYSeries("Something");
    series1.add(0.0, 30.0);
    series1.add(1.0, 10.0);
    series1.add(2.0, 40.0);
    series1.add(3.0, 30.0);
    series1.add(4.0, 50.0);
    series1.add(5.0, 50.0);
    series1.add(6.0, 70.0);
    series1.add(7.0, 70.0);
    series1.add(8.0, 80.0);

    final XYSeriesCollection dataset1 = new XYSeriesCollection();
    dataset1.addSeries(series1);

    final XYSeries series2 = new XYSeries("Something else");
    series2.add(0.0, 5.0);
    series2.add(1.0, 4.0);
    series2.add(2.0, 1.0);
    series2.add(3.0, 5.0);
    series2.add(4.0, 0.0);

    final XYSeriesCollection dataset2 = new XYSeriesCollection();
    dataset2.addSeries(series2);

    // create the chart

    final JFreeChart result = ChartFactory.createXYLineChart("Tick Label Demo", "Domain Axis 1", "Range Axis 1",
            dataset1, PlotOrientation.VERTICAL, false, true, false);

    result.setBackgroundPaint(Color.white);
    final XYPlot plot = result.getXYPlot();
    plot.setOrientation(PlotOrientation.VERTICAL);
    plot.setBackgroundPaint(Color.lightGray);
    plot.setDomainGridlinePaint(Color.white);
    plot.setRangeGridlinePaint(Color.white);
    //      plot.setAxisOffset(new Spacer(Spacer.ABSOLUTE, 5.0, 5.0, 5.0, 5.0));

    final StandardXYItemRenderer renderer = (StandardXYItemRenderer) plot.getRenderer();
    renderer.setPaint(Color.black);

    // DOMAIN AXIS 2
    final NumberAxis xAxis2 = new NumberAxis("Domain Axis 2");
    xAxis2.setAutoRangeIncludesZero(false);
    plot.setDomainAxis(1, xAxis2);

    // RANGE AXIS 2
    final DateAxis yAxis1 = new DateAxis("Range Axis 1");
    plot.setRangeAxis(yAxis1);

    final DateAxis yAxis2 = new DateAxis("Range Axis 2");
    plot.setRangeAxis(1, yAxis2);
    plot.setRangeAxisLocation(1, AxisLocation.BOTTOM_OR_RIGHT);

    plot.setDataset(1, dataset2);
    plot.mapDatasetToDomainAxis(1, 1);
    plot.mapDatasetToRangeAxis(1, 1);

    return result;
}

From source file:turtlekit.murmuration.SpeedChecker.java

@Override
public void setupFrame(JFrame frame) {
    XYSeriesCollection dataset = new XYSeriesCollection();
    final ChartPanel chartPanel = ChartsUtil.createChartPanel(dataset, "Moyenne", null, null);
    chartPanel.setPreferredSize(new java.awt.Dimension(550, 250));
    speed = new XYSeries("Speed");
    dataset.addSeries(speed);
    frame.setContentPane(chartPanel);//from  ww w.ja  v  a2s. c o m
    frame.setLocation(50, 0);
    //      XYSeries s = dataset.getSeries("Total");
}