Example usage for org.jfree.data.xy XYSeries add

List of usage examples for org.jfree.data.xy XYSeries add

Introduction

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

Prototype

public void add(XYDataItem item, boolean notify) 

Source Link

Document

Adds a data item to the series and, if requested, sends a SeriesChangeEvent to all registered listeners.

Usage

From source file:org.uncommons.maths.demo.GraphPanel.java

public void generateGraph(String title, Map<Double, Double> observedValues, Map<Double, Double> expectedValues,
        double expectedMean, double expectedStandardDeviation, boolean discrete) {
    XYSeriesCollection dataSet = new XYSeriesCollection();
    XYSeries observedSeries = new XYSeries("Observed");
    dataSet.addSeries(observedSeries);/*from  w  w w  .ja  v  a2  s .  c  o  m*/
    XYSeries expectedSeries = new XYSeries("Expected");
    dataSet.addSeries(expectedSeries);

    for (Map.Entry<Double, Double> entry : observedValues.entrySet()) {
        observedSeries.add(entry.getKey(), entry.getValue());
    }

    for (Map.Entry<Double, Double> entry : expectedValues.entrySet()) {
        expectedSeries.add(entry.getKey(), entry.getValue());
    }

    JFreeChart chart = ChartFactory.createXYLineChart(title, "Value", "Probability", dataSet,
            PlotOrientation.VERTICAL, true, false, false);
    XYPlot plot = (XYPlot) chart.getPlot();
    if (discrete) {
        // Render markers at each data point (these discrete points are the
        // distibution, not the lines between them).
        plot.setRenderer(new XYLineAndShapeRenderer());
    } else {
        // Render smooth lines between points for a continuous distribution.
        XYSplineRenderer renderer = new XYSplineRenderer();
        renderer.setBaseShapesVisible(false);
        plot.setRenderer(renderer);
    }

    chartPanel.setChart(chart);
}

From source file:org.jgrasstools.gears.utils.images.LineChartGenerator.java

public void addDatasetMatrix(double[][] data, String seriesName) {
    XYSeries series = new XYSeries(seriesName);

    for (int i = 0; i < data.length; i++) {
        max = Math.max(max, data[i][1]);
        min = Math.min(min, data[i][1]);
    }/*from www .  ja  va2s. c  o  m*/

    for (int i = 0; i < data.length; i++) {
        series.add(data[i][0], data[i][1]);
    }

    collection.addSeries(series);
}

From source file:org.rhwlab.ace3d.SegmentationLinePlot.java

public void setTree(BHCTree tree) {
    XYSeriesCollection collect = new XYSeriesCollection();
    XYSeries series = new XYSeries("");
    collect.addSeries(series);/* w  ww. j  a v a  2  s. c  o  m*/

    TreeMap<Integer, TreeSet<NucleusLogNode>> map = tree.allTreeCuts(500);

    for (Integer i : map.keySet()) {
        TreeSet<NucleusLogNode> nodes = map.get(i);
        double lnP = nodes.first().getLogPosterior();
        series.add((double) i, Math.exp(lnP));

    }
    int t = tree.getTime();
    int nu = tree.getNu();

    JFreeChart chart = ChartFactory.createXYLineChart(
            String.format("Time=%d,nu=%d,alpha=%e", tree.getTime(), tree.getNu(), tree.getAlpha()), "Index",
            "Probability", collect, PlotOrientation.VERTICAL, false, true, true);
    XYPlot plot = (XYPlot) chart.getPlot();

    ChartPanel panel = new ChartPanel(chart);
    this.add(panel);
}

From source file:mil.tatrc.physiology.biogears.verification.ScenarioPlotTool.java

public XYSeries createTruncatedXYSeries(String name, List<Double> x, List<Double> y) {
    if (y.size() != x.size()) {
        Log.error("axis data is not the same size");

    }/*from   w  w  w.  jav  a  2s  .  c om*/
    XYSeries series = new XYSeries(name);
    for (int i = 0; i < x.size(); i++) {
        if (i % 3 == 0)
            series.add(x.get(i), y.get(i));
    }
    return series;
}

From source file:org.esa.s1tbx.insar.rcp.toolviews.insar_statistics.StatESDMeasure.java

public void update(final Product product) {
    try {/*from  w  ww .j av a 2 s . co m*/
        if (InSARStatisticsTopComponent.isValidProduct(product) && readESDMeasure(product)) {
            setVisible(true);

            dataset.removeAllSeries();

            int i = 0;
            for (String subswath : esdData.keySet()) {

                final XYSeries series = new XYSeries(subswath);
                final Map<Integer, Double> values = esdData.get(subswath);
                for (Integer burst : values.keySet()) {
                    series.add(burst + 1, values.get(burst));
                }

                dataset.addSeries(series);

                XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) chart.getXYPlot().getRenderer();
                renderer.setSeriesLinesVisible(i, true);
                renderer.setSeriesShapesVisible(i, true);

                chart.getXYPlot().getDomainAxis().setStandardTickUnits(NumberAxis.createIntegerTickUnits());
                ++i;
            }
        } else {
            setVisible(false);
        }
    } catch (Exception e) {
        SnapApp.getDefault().handleError("Unable to update product", e);
    }
}

From source file:neironweb.Frame.java

public Frame() {
    super("neural network");
    //JPanel pane = new JPanel();

    setLayout(null);//  w ww  . j av a 2s  . com

    JPanel mailPanel = new JPanel();
    mailPanel.setLayout(null);
    mailPanel.setLocation(50, 30);
    mailPanel.setSize(300, 170);
    mailPanel.setBorder(BorderFactory.createLineBorder(Color.black));

    JLabel mailLabel = new JLabel("e-mail:");
    mailLabel.setLocation(10, 10);
    mailLabel.setSize(50, 30);
    mailPanel.add(mailLabel);

    JLabel dirMailLabel = new JLabel("direct:");
    dirMailLabel.setLocation(10, 50);
    dirMailLabel.setSize(50, 30);
    mailPanel.add(dirMailLabel);

    JTextField mailField = new JTextField("mail@mail.ru");
    mailField.setSize(150, 30);
    mailField.setLocation(80, 10);
    mailPanel.add(mailField);

    JTextField textField = new JTextField("INBOX");
    textField.setLocation(80, 50);
    textField.setSize(150, 30);
    mailPanel.add(textField);

    JButton mailButton = new JButton("Analyze");
    mailButton.setLocation(80, 90);
    mailButton.setSize(150, 30);
    mailPanel.add(mailButton);

    //        JButton eduButton = new JButton("Start education");
    //        eduButton.setLocation(0, 50);
    //        eduButton.setSize(150, 30);
    //        buttonPanel.add(eduButton);

    XYSeries xyser = new XYSeries("");
    XYDataset xy = new XYSeriesCollection(xyser);
    JFreeChart jf = ChartFactory.createXYLineChart("Education", "X", "Y", xy);

    for (int i = 0; i < 100; i++)
        xyser.add(i, Math.cos(i));

    ChartPanel chartPanel = new ChartPanel(jf);
    chartPanel.setSize(700, 300);
    chartPanel.setLocation(50, 230);
    chartPanel.setBorder(BorderFactory.createLineBorder(Color.black));

    //        JPanel myChartPanel = new JPanel();        
    //        myChartPanel.setLayout(null);
    //        myChartPanel.setLocation(50, 230);
    //        myChartPanel.setSize(700, 300);
    //        myChartPanel
    //      myChartPanel.add(chartPanel);        

    setSize(800, 600);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    Container con = this.getContentPane(); // inherit main frame
    //con.add(pane); 
    con.add(mailPanel);
    //con.add(myChartPanel);
    con.add(chartPanel);
    setVisible(true);

}

From source file:required.ChartPlotter.java

/**
 * Creates a sample dataset.//from   w  w  w . j a  v a 2  s .  c  o  m
 * 
 * @return a sample dataset.
 * @throws IOException 
 * @throws FileNotFoundException 
 * @throws ClassNotFoundException 
 */
@SuppressWarnings("unchecked")
private XYDataset createDataset() throws FileNotFoundException, IOException, ClassNotFoundException {
    LinkedHashMap<String, Long> lhash = new LinkedHashMap<>();
    try (InputStream file = new FileInputStream("SortedFreq.r");
            InputStream buffer = new BufferedInputStream(file);
            ObjectInput input = new ObjectInputStream(buffer);

    ) {
        //deserialize the List
        lhash = (LinkedHashMap<String, Long>) input.readObject();
        input.close();
        buffer.close();
        file.close();
        System.out.println(lhash.size());
    }
    final XYSeries series2 = new XYSeries("Second");
    Iterator<String> it = lhash.keySet().iterator();
    for (int i = 0; i < lhash.size(); i++) {
        if (it.hasNext())
            series2.add(i, lhash.get(it.next()));
    }

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

    return dataset;

}

From source file:lisong_mechlab.view.graphs.SustainedDpsGraph.java

private TableXYDataset getSeries() {
    final Collection<Modifier> modifiers = loadout.getModifiers();
    SortedMap<Weapon, List<Pair<Double, Double>>> data = new TreeMap<Weapon, List<Pair<Double, Double>>>(
            new Comparator<Weapon>() {
                @Override// w  ww .  j  a v a 2s.  c o  m
                public int compare(Weapon aO1, Weapon aO2) {
                    int comp = Double.compare(aO2.getRangeMax(modifiers), aO1.getRangeMax(modifiers));
                    if (comp == 0)
                        return aO1.compareTo(aO2);
                    return comp;
                }
            });

    Double[] ranges = WeaponRanges.getRanges(loadout);
    for (double range : ranges) {
        Set<Entry<Weapon, Double>> damageDistributio = maxSustainedDPS.getWeaponRatios(range).entrySet();
        for (Map.Entry<Weapon, Double> entry : damageDistributio) {
            final Weapon weapon = entry.getKey();
            final double ratio = entry.getValue();
            final double dps = weapon.getStat("d/s", modifiers);
            final double rangeEff = weapon.getRangeEffectivity(range, modifiers);

            if (!data.containsKey(weapon)) {
                data.put(weapon, new ArrayList<Pair<Double, Double>>());
            }
            data.get(weapon).add(new Pair<Double, Double>(range, dps * ratio * rangeEff));
        }
    }

    List<Weapon> orderedWeapons = new ArrayList<>();
    DefaultTableXYDataset dataset = new DefaultTableXYDataset();
    for (Map.Entry<Weapon, List<Pair<Double, Double>>> entry : data.entrySet()) {
        XYSeries series = new XYSeries(entry.getKey().getName(), true, false);
        for (Pair<Double, Double> pair : entry.getValue()) {
            series.add(pair.first, pair.second);
        }
        dataset.addSeries(series);
        orderedWeapons.add(entry.getKey());
    }
    Collections.reverse(orderedWeapons);
    colours.updateColoursToMatch(orderedWeapons);

    return dataset;
}

From source file:flexflux.analyses.result.ParetoAnalysisResult.java

public void plot() {

    XYSeriesCollection dataset = new XYSeriesCollection();

    int i = 1;/*from  w ww  .  j  a  v  a  2  s.  com*/
    for (Objective obj : oneDResults.keySet()) {

        XYSeries series = new XYSeries(obj.getName());

        for (double val : oneDResults.get(obj)) {

            series.add(i, val);
        }

        dataset.addSeries(series);
        i++;
    }

    // create the chart...

    final JFreeChart chart = ChartFactory.createXYLineChart("", // chart title
            "Objectives", // x axis label
            "Values", // y axis label
            dataset, // data
            PlotOrientation.VERTICAL, true, // include legend
            true, // tooltips
            false // urls
    );

    ChartPanel chartPanel = new ChartPanel(chart);

    XYPlot plot = chart.getXYPlot();

    plot.setBackgroundPaint(Color.WHITE);
    plot.setRangeGridlinePaint(Color.GRAY);
    plot.setDomainGridlinePaint(Color.GRAY);

    XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
    renderer.setLinesVisible(false);
    renderer.setShapesVisible(true);
    plot.setRenderer(renderer);

    // change the auto tick unit selection to integer units only...
    NumberAxis rangeAxis = (NumberAxis) plot.getDomainAxis();
    rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());

    JFrame frame = new JFrame("Pareto analysis one dimension results");
    frame.add(chartPanel);

    frame.pack();

    RefineryUtilities.centerFrameOnScreen(frame);
    frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    frame.setVisible(true);

    for (PP2DResult r : twoDResults.keySet()) {

        r.plot();

    }

    for (PP3DResult r : threeDResults.keySet()) {

        r.plot();

    }

}

From source file:com.googlecode.logVisualizer.chart.MPGainedSpentPerTurnXYBarChart.java

@Override
protected IntervalXYDataset createDataset() {
    final XYSeriesCollection datasets = new XYSeriesCollection();

    if (getLogData().isDetailedLog()) {
        final XYSeries gainedDataset = new XYSeries("MP gained", false);
        final XYSeries spentDataset = new XYSeries("MP spent", false);

        for (final SingleTurn st : getLogData().getTurnsSpent()) {
            gainedDataset.add(st.getTurnNumber(), st.getMPGain().getTotalMPGains());

            int spentMP = 0;
            for (final Skill s : st.getSkillsCast())
                spentMP += s.getMpCost();
            spentDataset.add(st.getTurnNumber(), spentMP);
        }/* w w  w . ja v  a  2 s.  co m*/

        datasets.addSeries(spentDataset);
        datasets.addSeries(gainedDataset);
    }

    return datasets;
}