List of usage examples for org.jfree.data.time FixedMillisecond FixedMillisecond
public FixedMillisecond(Date time)
From source file:com.bpd.jfreechart.StackedAreaChartDemo.java
/** * Test program that will display a JFreeChart showing interpolated data points. * /* w w w. j av a2s . co m*/ * @param args <b>"1"</b> to display Series 1. <b>"2"</b> to display Series 2. <b>"0"</b> to * display both series. */ public static void main(String... args) { // Check arguments. if (args.length != 1) { System.err.println("Usage: java Chart [0|1|2]\n\n -- 0: Display Series 1."); System.err.println(" -- 1: Display Series 2.\n -- 2: Display both series."); return; } String option = args[0]; if (!"0".equals(option) && !"1".equals(option) && !"2".equals(option)) { System.err.println("Invalid argument: " + option); return; } // Create some sample data. List<Point<Number, Number>> list1 = new ArrayList<Point<Number, Number>>(); list1.add(new Point<Number, Number>(50, 100.0)); list1.add(new Point<Number, Number>(150, 100)); list1.add(new Point<Number, Number>(250, 200)); list1.add(new Point<Number, Number>(350, 400)); list1.add(new Point<Number, Number>(450, 200)); list1.add(new Point<Number, Number>(550, 100)); List<Point<Number, Number>> list2 = new ArrayList<Point<Number, Number>>(); list2.add(new Point<Number, Number>(50, 100.0)); list2.add(new Point<Number, Number>(150, 200.0)); list2.add(new Point<Number, Number>(250, 400.0)); list2.add(new Point<Number, Number>(350, 600.0)); list2.add(new Point<Number, Number>(450, 400.0)); list2.add(new Point<Number, Number>(550, 200.0)); // Add data to time series. TimeSeries series1 = new TimeSeries("Series 1", FixedMillisecond.class); for (Point<Number, Number> dataPoint : list1) { if ("1".equals(option) || "0".equals(option)) { series1.add(new FixedMillisecond(dataPoint.getX().longValue()), dataPoint.getY()); } series1.setDescription("Series 1"); } TimeSeries series2 = new TimeSeries("Series 2", FixedMillisecond.class); for (Point<Number, Number> dataPoint : list2) { if ("2".equals(option) || "0".equals(option)) { series2.add(new FixedMillisecond(dataPoint.getX().longValue()), dataPoint.getY()); } series2.setDescription("Series 2"); } TimeSeriesCollection collection = new TimeSeriesCollection(); if ("1".equals(option)) { collection.addSeries(series1); } else if ("2".equals(option)) { collection.addSeries(series2); } else if ("0".equals(option)) { collection.addSeries(series1); collection.addSeries(series2); } TimeTableXYDataset dataset = new TimeTableXYDataset(); @SuppressWarnings("unchecked") List<TimeSeries> timeSeriesList = collection.getSeries(); for (TimeSeries t : timeSeriesList) { for (int index = 0; index < t.getItemCount(); index++) { TimeSeriesDataItem dataItem = (TimeSeriesDataItem) t.getItems().get(index); dataset.add(t.getTimePeriod(index), dataItem.getValue().doubleValue(), t.getDescription()); } } // Create and display chart. JFreeChart chart = ChartFactory.createStackedXYAreaChart(null, null, null, dataset, PlotOrientation.VERTICAL, false, true, false); customizeChart(chart); ChartPanel chartPanel = new ChartPanel(chart); chartPanel.setBorder(BorderFactory.createEmptyBorder(8, 8, 8, 8)); JFrame frame = new JFrame(); frame.getContentPane().add(chartPanel); frame.pack(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); }
From source file:com.bpd.jfreechart.Chart.java
/** * Test program that will display a JFreeChart showing interpolated data points. * /*from w ww .j a va 2 s .c o m*/ * @param args <b>"1"</b> to display Series 1. <b>"2"</b> to display Series 2. <b>"0"</b> to * display both series. */ public static void main(String... args) { if (args.length != 1) { System.err.println("Usage: java Chart [0|1|2]\n\n -- 0: Display Series 1."); System.err.println(" -- 1: Display Series 2.\n -- 2: Display both series."); return; } String option = args[0]; if (!"0".equals(option) && !"1".equals(option) && !"2".equals(option)) { System.err.println("Invalid argument: " + option); return; } List<Point<Number, Number>> list1 = new ArrayList<Point<Number, Number>>(); list1.add(new Point<Number, Number>(100, 100)); list1.add(new Point<Number, Number>(200, 200)); list1.add(new Point<Number, Number>(300, 400)); list1.add(new Point<Number, Number>(400, 200)); list1.add(new Point<Number, Number>(500, 100)); List<Point<Number, Number>> list2 = new ArrayList<Point<Number, Number>>(); list2.add(new Point<Number, Number>(50, 100.0)); list2.add(new Point<Number, Number>(150, 200.0)); list2.add(new Point<Number, Number>(250, 400.0)); list2.add(new Point<Number, Number>(350, 600.0)); list2.add(new Point<Number, Number>(450, 400.0)); list2.add(new Point<Number, Number>(550, 200.0)); List<List<Point<Number, Number>>> lists = new ArrayList<List<Point<Number, Number>>>(); List<Point<Number, Number>> extrapolatedList1 = new ArrayList<Point<Number, Number>>(); List<Point<Number, Number>> extrapolatedList2 = new ArrayList<Point<Number, Number>>(); if ("1".equals(option)) { lists.add(list1); extrapolatedList1 = Interpolator.interpolate(list1, lists); } else if ("2".equals(option)) { lists.add(list2); extrapolatedList2 = Interpolator.interpolate(list2, lists); } else if ("0".equals(option)) { lists.add(list1); lists.add(list2); extrapolatedList1 = Interpolator.interpolate(list1, lists); extrapolatedList2 = Interpolator.interpolate(list2, lists); } TimeSeries series1 = new TimeSeries("Series 1", FixedMillisecond.class); for (Point<Number, Number> dataPoint : extrapolatedList1) { if ("1".equals(option) || "0".equals(option)) { series1.add(new FixedMillisecond(dataPoint.getX().longValue()), dataPoint.getY()); } System.err.println(dataPoint.getX() + "\t" + dataPoint.getY()); } System.err.println(); TimeSeries series2 = new TimeSeries("Series 2", FixedMillisecond.class); for (Point<Number, Number> dataPoint : extrapolatedList2) { if ("2".equals(option) || "0".equals(option)) { series2.add(new FixedMillisecond(dataPoint.getX().longValue()), dataPoint.getY()); } System.err.println(dataPoint.getX() + "\t" + dataPoint.getY()); } TimeSeriesCollection dataset = new TimeSeriesCollection(); if ("1".equals(option)) { dataset.addSeries(series1); } else if ("2".equals(option)) { dataset.addSeries(series2); } else if ("0".equals(option)) { dataset.addSeries(series1); dataset.addSeries(series2); } JFreeChart chart = ChartFactory.createXYLineChart("Test", null, null, dataset, PlotOrientation.VERTICAL, false, true, false); XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) chart.getXYPlot().getRenderer(); renderer.setSeriesShapesVisible(0, true); renderer.setSeriesShapesVisible(1, true); ChartPanel chartPanel = new ChartPanel(chart); chartPanel.setBorder(BorderFactory.createEmptyBorder(8, 8, 8, 8)); JFrame frame = new JFrame(); frame.getContentPane().add(chartPanel); frame.pack(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); }
From source file:ws.moor.bt.grapher.ChartBuilder.java
private TimeSeries constructSeries(String name, CSVStream stream) { TimeSeries series = new TimeSeries(name, FixedMillisecond.class); while (stream.hasMoreEntries()) { CSVEntry entry = stream.nextEntry(); series.addOrUpdate(new FixedMillisecond(entry.getDate()), entry.getValue()); }/*from w w w. j av a2 s . c om*/ return series; }
From source file:org.jfree.data.time.FixedMillisecondTest.java
/** * Two objects that are equal are required to return the same hashCode. */// w ww . j av a 2s . c o m @Test public void testHashcode() { FixedMillisecond m1 = new FixedMillisecond(500000L); FixedMillisecond m2 = new FixedMillisecond(500000L); assertTrue(m1.equals(m2)); int h1 = m1.hashCode(); int h2 = m2.hashCode(); assertEquals(h1, h2); }
From source file:org.jfree.data.time.FixedMillisecondTest.java
/** * The {@link FixedMillisecond} class is immutable, so should not be * {@link Cloneable}./*from w ww. ja v a2s.com*/ */ @Test public void testNotCloneable() { FixedMillisecond m = new FixedMillisecond(500000L); assertFalse(m instanceof Cloneable); }
From source file:org.jfree.data.time.FixedMillisecondTest.java
/** * A check for immutability.//from w w w . ja v a 2 s . c o m */ @Test public void testImmutability() { Date d = new Date(20L); FixedMillisecond fm = new FixedMillisecond(d); d.setTime(22L); assertEquals(20L, fm.getFirstMillisecond()); }
From source file:org.rioproject.examples.hospital.ui.PatientStatsPanel.java
void setPatient(Patient p) { if (p == null) { pulseTimeSeries.clear();/*from w ww . j a va2 s.c om*/ temperatureTimeSeries.clear(); patientLabel.setText(getLabelText(p)); return; } patientLabel.setText(getLabelText(p)); service = (Service) p.getBed(); try { pulseTimeSeries.clear(); WatchDataSource pulse = service.fetch("pulse"); for (Calculable c : pulse.getCalculable()) { lastPulse = (CalculablePatient) c; pulseTimeSeries.addOrUpdate(new FixedMillisecond(c.getWhen()), c.getValue()); } } catch (RemoteException e) { e.printStackTrace(); } try { temperatureTimeSeries.clear(); WatchDataSource temperature = service.fetch("temperature"); for (Calculable c : temperature.getCalculable()) { lastTemperature = c; temperatureTimeSeries.add(new FixedMillisecond(c.getWhen()), c.getValue()); } } catch (RemoteException e) { e.printStackTrace(); } }
From source file:com.hello2morrow.sonargraph.jenkinsplugin.model.TimeSeriesPlot.java
/** * Creates a XYDataset from a CSV file.//from w w w . j a va2 s .c o m */ @Override protected XYDataset createXYDataset(SonargraphMetrics metric, int maximumNumberOfDataPoints) throws IOException { assert metric != null : "Parameter 'metric' of method 'createXYDataset' must not be null"; //For some reason, the class of the time series is required here, otherwise an exception is thrown that a Date instance is expected. @SuppressWarnings("deprecation") TimeSeries timeSeries = new TimeSeries(metric.getShortDescription(), FixedMillisecond.class); List<IDataPoint> dataset = m_datasetProvider.readMetricValues(metric); int size = dataset.size(); SonargraphLogger.INSTANCE.fine(size + " data points found for metric '" + metric.getStandardName() + "' in file '" + m_datasetProvider.getStorageName() + "'"); List<IDataPoint> reducedSet = reduceDataSet(dataset, maximumNumberOfDataPoints); BuildDataPoint point = null; for (IDataPoint datapoint : reducedSet) { if (datapoint instanceof InvalidDataPoint) { // We could create a gap in the graph by adding null: // xySeries.add(datapoint.getX(), null); continue; } else if (datapoint instanceof BuildDataPoint) { point = (BuildDataPoint) datapoint; if (point.getTimestamp() == 0) { continue; } timeSeries.add(new FixedMillisecond(point.getTimestamp()), point.getY()); } } if (point != null) { setTimestampOfLastDisplayedPoint(point.getTimestamp()); } TimeSeriesCollection timeSeriesCollection = new TimeSeriesCollection(); TimeSeries avgDataset = MovingAverage.createMovingAverage(timeSeries, "Avg of " + metric.getShortDescription(), MOVING_AVG_PERIOD, 0); setDataSetSize(avgDataset.getItemCount()); timeSeriesCollection.addSeries(avgDataset); //SG-325: We cannot use JFreeChart methods of version 1.0.14 // setMinimumValue(avgDataset.getMinY()); // setMaximumValue(avgDataset.getMaxY()); // We only show the average data and omit the original data // timeSeriesCollection.addSeries(timeSeries); for (Object item : avgDataset.getItems()) { if (item instanceof TimeSeriesDataItem) { checkMinMaxYValue(((TimeSeriesDataItem) item).getValue().doubleValue()); } } return timeSeriesCollection; }
From source file:com.elasticgrid.examples.video.components.WatchChart.java
public StreamResponse onChart(final int width, final int height, Object... rest) throws RemoteException, InterruptedException { String serviceID = (String) rest[2]; String watchID = (String) rest[3]; System.out.println("Service ID is: " + serviceID + ". Watch ID is: " + watchID); List<WatchDataSource> watches = ServiceLocator .getWatchDataSourcesByServiceID(ConfigUtil.createServiceID(serviceID)); WatchDataSource watch = null;/* ww w. j a va 2s .com*/ for (WatchDataSource w : watches) { System.out.println("Testing with " + w.getID()); if (w.getID().equals(watchID)) watch = w; } if (watch == null) return null; TimeSeries s1 = new TimeSeries(watch.getID(), FixedMillisecond.class); for (Calculable calculable : watch.getCalculable()) s1.add(new FixedMillisecond(calculable.getWhen()), calculable.getValue()); TimeSeriesCollection dataset = new TimeSeriesCollection(); dataset.addSeries(s1); final JFreeChart chart = ChartFactory.createTimeSeriesChart(watch.getID() + " Watch", // title "Date", // x-axis label "Value", // y-axis label dataset, // data true, // create legend? true, // generate tooltips? false // generate URLs? ); return new StreamResponse() { public String getContentType() { return "image/png"; } public InputStream getStream() throws IOException { BufferedImage image = chart.createBufferedImage(width, height); ByteArrayOutputStream byteArray = new ByteArrayOutputStream(); ChartUtilities.writeBufferedImageAsPNG(byteArray, image); return new ByteArrayInputStream(byteArray.toByteArray()); } public void prepareResponse(Response response) { } }; }
From source file:com.android.ddmuilib.log.event.DisplaySync.java
/** * Updates the display with a new event. * * @param event The event//w w w . j a va2s .c om * @param logParser The parser providing the event. */ @Override void newEvent(EventContainer event, EventLogParser logParser) { super.newEvent(event, logParser); // Handle sync operation try { if (event.mTag == EVENT_TICKLE) { int auth = getAuth(event.getValueAsString(0)); if (auth >= 0) { long msec = event.sec * 1000L + (event.nsec / 1000000L); mDatasetsSyncTickle[auth].addOrUpdate(new FixedMillisecond(msec), -1); } } } catch (InvalidTypeException e) { } }