Example usage for org.jfree.data.time FixedMillisecond FixedMillisecond

List of usage examples for org.jfree.data.time FixedMillisecond FixedMillisecond

Introduction

In this page you can find the example usage for org.jfree.data.time FixedMillisecond FixedMillisecond.

Prototype

public FixedMillisecond(Date time) 

Source Link

Document

Constructs a millisecond.

Usage

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) {
    }
}