List of usage examples for org.jfree.data XYSeries add
public void add(final Number x, final Number y)
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(); } }