Example usage for org.jfree.data XYSeries add

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

Introduction

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

Prototype

public void add(final Number x, final Number y) 

Source Link

Document

Adds new data to the series and sends a SeriesChangeEvent to all registered listeners.

Usage

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

public void test() {
    XYSeries testSeries = new XYSeries("Test Series");
    testSeries.add(10, 10);
    testSeries.add(20, 20);/*  ww w  . j a  va  2 s. c o m*/
    testSeries.add(30, 30);

    XYSeriesCollection collection = new XYSeriesCollection(testSeries);

    NumberAxis yAxis = new NumberAxis("Y Axis");
    NumberAxis xAxis = new NumberAxis("X Axis");

    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);

    JFrame frame = new JFrame();
    frame.getContentPane().add(chartPanel);
    frame.setVisible(true);
    frame.pack();

}

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

public void addPoint(String name, float time, float price) {
    XYSeries security = (XYSeries) lines.get(name);
    if (security != null)
        security.add(time, price);
}

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

private XYSeriesCollection createDistributionSeries() {
    final double[] strippedData = GraphUtils.stripNulls(datapoints);

    final XYSeries series = new XYSeries(metricName);
    Arrays.sort(strippedData);//ww w.ja  v  a 2  s  . c  om
    if (strippedData[0] != 0.0) {
        series.add(0.0, 0.0);
    }
    for (int i = 0; i < strippedData.length; i++) {
        int j = i + 1;
        while (j < strippedData.length && strippedData[i] == strippedData[j]) {
            i++;
            j++;
        }
        series.add(strippedData[i], (double) (i + 1) * 100.0 / (double) strippedData.length);
    }
    return new XYSeriesCollection(series);
}

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 ww  w.ja  va 2s .c o  m*/
    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:org.jboss.console.plugins.monitor.ManageSnapshotServlet.java

protected void doit(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    String action = req.getParameter("action");
    if (action == null) {
        error("unknown action: ", req, resp);
        return;//from  w  ww  .j  a  v a2 s  .  com
    }
    action = action.trim();
    MBeanServer mbeanServer = MBeanServerLocator.locateJBoss();
    ObjectName monitorObjectName;
    String attribute = null;
    try {
        monitorObjectName = new ObjectName(req.getParameter("monitorObjectName"));
        attribute = (String) mbeanServer.getAttribute(monitorObjectName, "ObservedAttribute");
    } catch (Exception ex) {
        error("Malformed Monitor ObjectName: " + req.getParameter("monitorObjectName"), req, resp);
        return;
    }
    if (action.equals("Start Snapshot")) {
        Object[] nullArgs = {};
        String[] nullSig = {};
        try {
            mbeanServer.invoke(monitorObjectName, "startSnapshot", nullArgs, nullSig);
        } catch (Exception ex) {
            error("Problem invoking startSnapshot: " + ex.toString(), req, resp);
            return;
        }
        req.getRequestDispatcher("/manageSnapshot.jsp").forward(req, resp);
        return;
    } else if (action.equals("Stop Snapshot")) {
        Object[] nullArgs = {};
        String[] nullSig = {};
        try {
            mbeanServer.invoke(monitorObjectName, "endSnapshot", nullArgs, nullSig);
        } catch (Exception ex) {
            error("Problem invoking endSnapshot: " + ex.toString(), req, resp);
            return;
        }
        req.getRequestDispatcher("/manageSnapshot.jsp").forward(req, resp);
        return;
    } else if (action.equals("Clear Dataset")) {
        Object[] nullArgs = {};
        String[] nullSig = {};
        try {
            mbeanServer.invoke(monitorObjectName, "clearData", nullArgs, nullSig);
        } catch (Exception ex) {
            error("Problem invoking clearData: " + ex.toString(), req, resp);
            return;
        }
        req.setAttribute("error", "Dataset Cleared!");
        req.getRequestDispatcher("/manageSnapshot.jsp").forward(req, resp);
        return;
    } else if (action.equals("Remove Snapshot")) {
        try {
            log.debug("removing snapshot: " + monitorObjectName.toString());
            mbeanServer.unregisterMBean(monitorObjectName);
            req.getRequestDispatcher("/ServerInfo.jsp").forward(req, resp);
        } catch (Exception ex) {
            error("Failed to Remove Monitor: " + ex.toString(), req, resp);
        }
        return;
    } else if (action.equals("Show Dataset")) {
        ArrayList data = null;
        long start, end = 0;
        try {
            data = (ArrayList) mbeanServer.getAttribute(monitorObjectName, "Data");
            start = ((Long) mbeanServer.getAttribute(monitorObjectName, "StartTime")).longValue();
            end = ((Long) mbeanServer.getAttribute(monitorObjectName, "EndTime")).longValue();
        } catch (Exception ex) {
            error("Problem invoking getData: " + ex.toString(), req, resp);
            return;
        }
        resp.setContentType("text/html");
        PrintWriter writer = resp.getWriter();
        writer.println("<html>");
        writer.println("<body>");
        writer.println("<b>Start Time:</b> " + start + "ms<br>");
        writer.println("<b>End Time:</b> " + end + "ms<br>");
        writer.println("<b>Total Time:</b> " + (end - start) + "ms<br>");
        writer.println("<br><table border=\"0\">");
        for (int i = 0; i < data.size(); i++) {
            writer.println("<tr><td>" + data.get(i) + "</td></tr");
        }
        writer.println("</table></body></html>");
        return;
    } else if (action.equals("Graph Dataset")) {
        ArrayList data = null;
        long start, end = 0;
        try {
            data = (ArrayList) mbeanServer.getAttribute(monitorObjectName, "Data");
            start = ((Long) mbeanServer.getAttribute(monitorObjectName, "StartTime")).longValue();
            end = ((Long) mbeanServer.getAttribute(monitorObjectName, "EndTime")).longValue();
        } catch (Exception ex) {
            error("Problem invoking getData: " + ex.toString(), req, resp);
            return;
        }
        XYSeries set = new XYSeries(attribute, false, false);
        for (int i = 0; i < data.size(); i++) {
            set.add(new Integer(i), (Number) data.get(i));
        }
        DefaultTableXYDataset dataset = new DefaultTableXYDataset(false);
        dataset.addSeries(set);
        JFreeChart chart = ChartFactory.createXYLineChart("JMX Attribute: " + attribute, "count", attribute,
                dataset, PlotOrientation.VERTICAL, true, true, false);
        resp.setContentType("image/png");
        OutputStream out = resp.getOutputStream();
        ChartUtilities.writeChartAsPNG(out, chart, 400, 300);
        out.close();
        return;
    }
    error("Unknown Action", req, resp);
    return;
}

From source file:de.berlios.statcvs.xml.report.CommitActivityChart.java

private void addToXYSeries(XYSeries series, CvsRevision rev) {
    Calendar cal = Calendar.getInstance();
    cal.setTime(rev.getDate());/* ww w . j  av a 2 s . c  om*/
    double hour = cal.get(Calendar.HOUR_OF_DAY);
    double minutes = cal.get(Calendar.MINUTE);

    // clear time info
    cal.clear(Calendar.HOUR);
    cal.clear(Calendar.HOUR_OF_DAY);
    cal.clear(Calendar.MINUTE);
    cal.clear(Calendar.SECOND);
    cal.clear(Calendar.MILLISECOND);

    series.add(cal.getTime().getTime(), hour + (minutes / 60));
}

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   w ww.ja v  a  2 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:de.berlios.statcvs.xml.report.CommitActivityChart.java

private XYSeries createXYSeries(String title, Iterator it) {
    XYSeries series = new XYSeries(title);

    while (it.hasNext()) {
        CvsRevision rev = (CvsRevision) it.next();

        Calendar cal = Calendar.getInstance();
        cal.setTime(rev.getDate());/*from w w w . ja  va 2s .c o m*/
        double hour = cal.get(Calendar.HOUR_OF_DAY);
        double minutes = cal.get(Calendar.MINUTE);

        // clear time info
        cal.clear(Calendar.HOUR);
        cal.clear(Calendar.HOUR_OF_DAY);
        cal.clear(Calendar.MINUTE);
        cal.clear(Calendar.SECOND);
        cal.clear(Calendar.MILLISECOND);

        series.add(cal.getTime().getTime(), hour + (minutes / 60));
    }

    return series;
}

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   w  ww.j a v a 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;
}

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

/**
 * Update the charts with the appropriate data
 *
 * @throws RemoteException Java RMI Exception
 * @throws VisADException  VisAD problem
 *///from w w  w .jav a2s  .  c  o m
private void updateCharts() throws VisADException, RemoteException {

    if (profiles == null) {
        return;
    }
    clearLineStates();
    startLoadingData();
    try {
        initCharts();
        if ((profiles != null) && !profiles.isEmpty()) {

            XYSeries speedSeries = null;
            XYSeries dirSeries = null;
            LineState speedLineState = null;
            LineState dirLineState = null;
            Unit speedUnit = null;
            boolean polarWind = true;
            int lineIdx = 0;
            for (int paramIdx = 0; paramIdx < profiles.size(); paramIdx++) {
                VerticalProfileInfo vpInfo = (VerticalProfileInfo) profiles.get(paramIdx);
                LineState lineState = vpInfo.getLineState();
                lineState.setUseVerticalPosition(false);
                addLineState(lineState);
                lineState.setName(vpInfo.getDataInstance().getParamName());
                lineState.unit = vpInfo.getUnit();
                FieldImpl profile = vpInfo.getProfile();
                if (profile == null) {
                    continue;
                }
                FlatField oneTime;
                boolean isTimeSequence = GridUtil.isTimeSequence(profile);
                if (isTimeSequence) {
                    if (time == null) {
                        oneTime = (FlatField) profile.getSample(0);
                    } else {
                        oneTime = (FlatField) profile.evaluate(time);
                    }
                } else {
                    oneTime = (FlatField) profile;
                }
                String canonical = DataAlias.aliasToCanonical(lineState.getName());
                float[] alts = oneTime.getDomainSet().getSamples(false)[0];
                float[][] values = oneTime.getFloats(true);
                Unit[] rawUnits = ucar.visad.Util.getDefaultRangeUnits(oneTime);
                boolean haveWinds = (values.length > 1)
                        && Unit.canConvert(rawUnits[0], CommonUnit.meterPerSecond)
                        && Unit.canConvert(rawUnits[1], CommonUnit.meterPerSecond);
                for (int j = 0; j < values.length; j++) {
                    // if not winds, don't process more than one param
                    if ((j > 0) && !haveWinds) {
                        continue;
                    }
                    // only handle U & V
                    if ((j > 1) && haveWinds) {
                        break;
                    }
                    if (haveWinds) {
                        canonical = (j == 0) ? "U" : "V";
                    }
                    XYSeries series = new XYSeries(lineState.getName());

                    //float[] vals = oneTime.getFloats(true)[0];
                    float[] vals = values[j];
                    Unit rawUnit = rawUnits[j];
                    //ucar.visad.Util.getDefaultRangeUnits(oneTime)[0];
                    if ((lineState.unit != null) && Unit.canConvert(lineState.unit, rawUnit)) {
                        vals = lineState.unit.toThis(vals, rawUnit);
                    }
                    for (int i = 0; i < alts.length; i++) {
                        series.add(alts[i], vals[i]);
                    }
                    if (series != null) {
                        synchronized (MUTEX) {
                            XYItemRenderer renderer = null;
                            if (Misc.equals(canonical, "SPEED")) {
                                speedUnit = lineState.unit;
                                speedSeries = series;
                                speedLineState = lineState;
                                continue;
                            }
                            if (Misc.equals(canonical, "DIR")) {
                                dirSeries = series;
                                dirLineState = lineState;
                                continue;
                            }
                            if (Misc.equals(canonical, "U") || Misc.equals(canonical, "UREL")) {
                                speedUnit = lineState.unit;
                                speedSeries = series;
                                polarWind = false;
                                speedLineState = lineState;
                                continue;
                            }
                            if (Misc.equals(canonical, "V") || Misc.equals(canonical, "VREL")) {
                                dirSeries = series;
                                dirLineState = lineState;
                                polarWind = false;
                                continue;
                            }
                            addSeries(series, lineState, lineIdx, renderer, true);
                        }
                        lineIdx++;
                    }
                    //addSeries(series, lineState, paramIdx, null, true);
                }
            }
            if ((speedSeries != null) && (dirSeries != null)) {
                XYItemRenderer renderer = new WindbarbRenderer(speedLineState, speedSeries, dirSeries,
                        speedUnit, polarWind);
                Axis axis = addSeries(speedSeries, speedLineState, lineIdx++, renderer, true);
                if (speedLineState.getVerticalPosition() != LineState.VPOS_NONE) {
                    axis.setVisible(false);
                }
                speedSeries = null;
                dirSeries = null;
            }
            if (speedSeries != null) {
                addSeries(speedSeries, speedLineState, lineIdx++, null, true);
            }
            if (dirSeries != null) {
                addSeries(dirSeries, dirLineState, lineIdx, null, true);
            }
        }
        updateContents();
    } finally {
        doneLoadingData();
    }

}