Example usage for org.jfree.data XYSeriesCollection addSeries

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

Introduction

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

Prototype

public void addSeries(final XYSeries series) 

Source Link

Document

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

Usage

From source file:com.sixrr.metrics.ui.charts.DiffDistributionDialog.java

private XYSeriesCollection createDistributionSeries() {

    final double[] strippedDataPoints = GraphUtils.stripNulls(datapoints);
    final XYSeries series = new XYSeries(metricName);
    Arrays.sort(strippedDataPoints);
    if (strippedDataPoints[0] != 0.0) {
        series.add(0.0, 0.0);//from   w w w.  j av a 2 s.  c  om
    }
    for (int i = 0; i < strippedDataPoints.length; i++) {
        int j = i + 1;
        while (j < strippedDataPoints.length && strippedDataPoints[i] == strippedDataPoints[j]) {
            i++;
            j++;
        }
        series.add(strippedDataPoints[i], (double) (i + 1) * 100.0 / (double) strippedDataPoints.length);
    }
    final XYSeriesCollection seriesCollection = new XYSeriesCollection();
    seriesCollection.addSeries(series);
    final double[] strippedPrevDataPoints = GraphUtils.stripNulls(prevDatapoints);
    final XYSeries prevSeries = new XYSeries(MetricsReloadedBundle.message("previous") + " " + metricName);
    Arrays.sort(strippedPrevDataPoints);
    if (strippedPrevDataPoints[0] != 0.0) {
        prevSeries.add(0.0, 0.0);
    }
    for (int i = 0; i < strippedPrevDataPoints.length; i++) {
        int j = i + 1;
        while (j < strippedPrevDataPoints.length && strippedPrevDataPoints[i] == strippedPrevDataPoints[j]) {
            i++;
            j++;
        }
        prevSeries.add(strippedPrevDataPoints[i],
                (double) (i + 1) * 100.0 / (double) strippedPrevDataPoints.length);
    }
    seriesCollection.addSeries(prevSeries);
    return seriesCollection;
}

From source file:edu.caltechUcla.sselCassel.projects.jMarkets.shared.interfaces.PriceChart.java

public JPanel getChartPanel() {
    XYSeriesCollection collection = new XYSeriesCollection();

    Enumeration en = lines.elements();
    while (en.hasMoreElements()) {
        XYSeries series = (XYSeries) en.nextElement();
        collection.addSeries(series);
    }//from   ww  w.ja  va2 s.c om

    NumberAxis yAxis = new NumberAxis("Price");
    NumberAxis xAxis = new NumberAxis("Time");

    XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
    XYPlot plot = new XYPlot(collection, xAxis, yAxis, renderer);

    JFreeChart chart = new JFreeChart("Price Chart", new Font("Arial", 0, 12), plot, true);
    ChartPanel chartPanel = new ChartPanel(chart, false, false, false, false, false);

    return chartPanel;
}

From source file:ucar.unidata.idv.control.chart.VerticalProfileChart.java

/**
 *  Add a series to the charts/*  w  ww .  j  ava  2s  .c  o m*/
 *
 *
 * @param series   series
 * @param lineState line state
 * @param paramIdx  param index
 * @param renderer  renderer
 * @param rangeVisible range visible
 *
 * @return  the Axis
 */
protected Axis addSeries(XYSeries series, LineState lineState, int paramIdx, XYItemRenderer renderer,
        boolean rangeVisible) {

    if (lineState.getRange() != null) {
        addRange(lineState.getRange().getMin(), lineState.getRange().getMax(),
                "Fixed range from: " + lineState.getName());
    }

    if (numberFormat == null) {
        numberFormat = new DecimalFormat() {
            public StringBuffer format(double number, StringBuffer result, FieldPosition fieldPosition) {

                String s = control.getDisplayConventions().format(number);
                result.append(s);
                return result;
            }
        };

    }

    String name = lineState.getName();
    Unit unit = lineState.unit;
    XYSeriesCollection dataset = new XYSeriesCollection();
    dataset.addSeries(series);

    NumberAxis rangeAxis;
    NumberAxis domainAxis = null;
    String axisLabel = name + ((unit != null) ? " [" + unit + "]" : "");

    if (lineState.getUseLogarithmicRange() && false) {
        rangeAxis = new FixedWidthLogarithmicAxis(axisLabel);
    } else {
        //rangeAxis = new FixedWidthNumberAxis(axisLabel);
        rangeAxis = new NumberAxis(axisLabel);
        ((NumberAxis) rangeAxis).setAutoRangeIncludesZero(lineState.getRangeIncludesZero());
        VerticalProfileInfo vpInfo = (VerticalProfileInfo) profiles.get(0);
        Unit altUnit = vpInfo.getAltitudeUnit();
        if (altUnit != null && paramIdx == 0 && !(altUnit.equals(CommonUnit.meter))) {
            String dlabel = "Altitude " + "[" + altUnit + "]";
            domainAxis = new NumberAxis(dlabel);
            if (altUnit.isConvertible(CommonUnits.HECTOPASCAL))
                domainAxis.setInverted(true);
        }
    }

    //For now lets use the default number formatting for the range
    //        rangeAxis.setNumberFormatOverride(numberFormat);

    rangeAxis.setVisible(rangeVisible);

    ucar.unidata.util.Range r = lineState.getRange();
    if (r != null) {
        rangeAxis.setRange(new org.jfree.data.Range(r.getMin(), r.getMax()));
    }

    if (renderer == null) {
        renderer = getRenderer(lineState);
    }

    Paint c = lineState.getColor(paramIdx);
    rangeAxis.setLabelPaint(Color.black);
    renderer.setSeriesPaint(0, c);
    renderer.setSeriesStroke(0, lineState.getStroke());

    if (!lineState.getAxisVisible()) {
        rangeAxis.setVisible(false);
    }

    AxisLocation side = null;
    ChartHolder chartHolder = getChartHolder(lineState);
    if (rangeAxis.isVisible()) {
        if (lineState.getSide() == LineState.SIDE_UNDEFINED) {
            side = AxisLocation.BOTTOM_OR_RIGHT;
        } else if (lineState.getSide() == LineState.SIDE_LEFT) {
            side = AxisLocation.TOP_OR_LEFT;
        } else {
            side = AxisLocation.BOTTOM_OR_RIGHT;
        }
        chartHolder.lastSide = side;
    }

    synchronized (MUTEX) {
        if (domainAxis == null) {
            if (isConservedSounding)
                chartHolder.add(dataset, renderer, side);
            else
                chartHolder.add(dataset, rangeAxis, renderer, side);

        } else
            chartHolder.add(dataset, rangeAxis, domainAxis, renderer, side);
    }

    return rangeAxis;
}

From source file:treegross.standsimulation.TgGrafik.java

public JFreeChart createChart(Stand st) {
    // create the dataset...
    XYSeriesCollection dataset = new XYSeriesCollection();
    for (int i = 0; i < st.nspecies; i++) {
        XYSeries series = new XYSeries(st.sp[i].spDef.shortName);
        //          DefaultCategoryDataset dataset = new DefaultCategoryDataset();
        for (int k = 0; k < st.ntrees; k++) {
            if ((st.tr[k].d > 0) && st.tr[k].out < 0 && st.tr[k].code == st.sp[i].code)
                series.add(st.tr[k].d, st.tr[k].h);

        }/*from   ww w. jav  a2  s  . c om*/
        dataset.addSeries(series);
    }
    //     
    JFreeChart chart = ChartFactory.createScatterPlot(messages.getString("heightDiameter"),
            messages.getString("dbh"), messages.getString("height"), dataset,
            org.jfree.chart.plot.PlotOrientation.VERTICAL, true, false, false);
    XYPlot plot = chart.getXYPlot();
    plot.setDomainCrosshairVisible(true);
    plot.setRangeCrosshairVisible(true);
    //
    //         XYPlot plot = chart.getXYPlot();
    XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
    for (int i = 0; i < st.nspecies; i++) {
        renderer.setSeriesLinesVisible(i, false);
        renderer.setSeriesPaint(i,
                new Color(st.sp[i].spDef.colorRed, st.sp[i].spDef.colorGreen, st.sp[i].spDef.colorBlue));
    }
    plot.setRenderer(renderer);

    return chart;
}

From source file:vis2006.VisGrafik.java

public JFreeChart createChart(Stand st, int speciesCode) {
    // create the dataset...
    int code = speciesCode;
    int merk = 0;
    for (int i = 0; i < st.nspecies; i++)
        if (st.sp[i].code == code)
            merk = i;/*from  ww  w  .j ava 2  s.co  m*/
    XYSeriesCollection dataset = new XYSeriesCollection();

    // Werte der Hhenkurve
    XYSeries series0 = new XYSeries("Hhenkurve: " + st.sp[merk].heightcurveUsed);
    for (int k = 0; k < st.ntrees; k++) {
        if ((st.tr[k].d > 0) && (st.tr[k].h > 0) && st.tr[k].code == code && st.tr[k].fac > 0.0)
            series0.add(st.tr[k].d, st.tr[k].h);
    }
    dataset.addSeries(series0);

    // Messwerte aus der Versuchsflche
    XYSeries series1 = new XYSeries("Messwerte");
    for (int k = 0; k < st.ntrees; k++) {
        if ((st.tr[k].d > 0) && (st.tr[k].hMeasuredValue > 0) && st.tr[k].code == code && st.tr[k].fac > 0.0)
            series1.add(st.tr[k].d, st.tr[k].hMeasuredValue);
    }
    dataset.addSeries(series1);

    // Andere Messwerte (HG, nurH) 
    XYSeries series2 = new XYSeries("Andere Hhen");
    for (int k = 0; k < st.ntrees; k++) {
        if ((st.tr[k].d > 0) && (st.tr[k].hMeasuredValue > 0) && st.tr[k].code == code
                && (st.tr[k].no.contains("nurH") || st.tr[k].no.contains("HG")))
            series2.add(st.tr[k].d, st.tr[k].hMeasuredValue);
    }
    dataset.addSeries(series2);

    /*   Wozu ist die gut?
         double dmin=9000;
         double dmax=-9000;
         for (int k=0;k<st.ntrees;k++){
             if (st.tr[k].code==st.sp[merk].code && st.tr[k].fac > 0.0){
    if (dmax <st.tr[k].d ) dmax=st.tr[k].d;
    if (dmin >st.tr[k].d ) dmin=st.tr[k].d;
     }
         }
            
         XYSeries series3 = new XYSeries("");
         int idmin = (int)(Math.round(dmin));
         int idmax = (int)(Math.round(dmax))+1;
         for (int k=idmin;k<=idmax;k++){
             double dwert=k*1.0;
             if (st.sp[merk].heightcurveUsed.indexOf("Einheits")>-1){
    UniformHeight uh = new UniformHeight();
    series3.add(dwert,uh.height(st.sp[merk],dwert,
                 st.sp[merk].dg,st.sp[merk].hg,st));        
             }
             else {
               HeightCurve hc =new HeightCurve(); 
               series3.add(dwert,hc.getHeight(st.sp[merk].spDef.heightCurve,dwert,st.sp[merk].heightcurveUsedP0,
                 st.sp[merk].heightcurveUsedP1,st.sp[merk].heightcurveUsedP2));
             }
           }
             dataset.addSeries(series3);
     */
    //     
    JFreeChart chart = ChartFactory.createScatterPlot("Hhenkurve  " + st.sp[merk].spDef.longName, "BHD [cm]",
            "Hhe [m]", dataset, org.jfree.chart.plot.PlotOrientation.VERTICAL, true, //legend
            false, // tooltips
            false); // urls
    XYPlot plot = chart.getXYPlot();
    plot.setDomainCrosshairVisible(true);
    plot.setRangeCrosshairVisible(true);
    plot.getDomainAxis().setAutoRangeMinimumSize(1.0);
    plot.getRangeAxis().setAutoRangeMinimumSize(5.0);

    //
    XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();

    renderer.setSeriesLinesVisible(0, true); // Hhenkurve - rote Linie
    renderer.setSeriesStroke(0, new BasicStroke(2));
    renderer.setSeriesShapesVisible(0, false);
    renderer.setSeriesPaint(0, Color.RED);

    renderer.setSeriesLinesVisible(1, false); // Parzellenmesswerte - blaue Symbole
    renderer.setSeriesShapesVisible(1, true);
    renderer.setSeriesPaint(1, Color.BLUE);

    renderer.setSeriesLinesVisible(2, false); // Andere Messwerte - blaue leere Symbole
    renderer.setSeriesShapesVisible(2, true);
    renderer.setSeriesShapesFilled(2, false);
    renderer.setSeriesPaint(2, Color.BLUE);

    //     renderer.setSeriesLinesVisible(3, true);  
    //     renderer.setSeriesShapesVisible(3,false);
    //     renderer.setSeriesPaint(3, Color.BLUE);    
    //   renderer.setSeriesPaint(1, new Color(st.sp[merk].spDef.colorRed,st.sp[merk].spDef.colorGreen,st.sp[merk].spDef.colorBlue));

    plot.setRenderer(renderer);
    System.out.println("Plot done");

    return chart;
}