001package bradleyross.opensource.jfreechart;
002import org.jfree.data.time.TimeSeries;
003import org.jfree.data.time.Minute;
004import org.jfree.chart.ChartFactory;
005import org.jfree.chart.ChartUtilities;
006import org.jfree.chart.JFreeChart;
007import org.jfree.chart.ChartFrame;
008import java.util.Date;
009import java.io.File;
010import org.jfree.data.time.TimeSeriesCollection;
011/**
012 * Shows a parameter varying over time with calls giving
013 * the time and the value of the parameter.
014 * @author Bradley Ross
015 * @see org.jfree.data.time.TimeSeries
016 * @see org.jfree.data.time.Minute
017 * @see org.jfree.chart.ChartFactory
018 * @see org.jfree.chart.ChartUtilities
019 * @see org.jfree.chart.JFreeChart
020 * @see org.jfree.data.time.TimeSeriesCollection
021 *
022 */
023@SuppressWarnings("deprecation")
024public class TimeSeriesExample {
025
026        /**
027         * @param args not used for this case
028         */
029        public static void main(String[] args) 
030        {
031                TimeSeries heat = new TimeSeries("Temperature", Minute.class);
032                long now = new java.util.Date().getTime();
033                heat.add(new Minute(new Date(now - 10l * 60000l)), 15.0);
034                heat.add(new Minute(new Date(now - 9l * 60000l)), 14.5);
035                heat.add(new Minute(new Date(now - 8l * 60000l)), 20.0);
036                heat.add(new Minute(new Date(now - 7l * 60000l)), 17.0);
037                heat.add(new Minute(new Date(now - 6l * 60000l)), 16.5);
038                heat.add(new Minute(new Date(now - 5l * 60000l)), 15.0);
039                heat.add(new Minute(new Date(now - 4l * 60000l)), 14.0);
040                heat.add(new Minute(new Date(now - 3l * 60000l)), 13.0);
041                TimeSeriesCollection dataset = new TimeSeriesCollection();
042                dataset.addSeries(heat);
043                JFreeChart chart = ChartFactory.createTimeSeriesChart
044                        ("Temperature trend", "Time", "Temperature (degrees F)",
045                                        dataset, true, true, false);
046                try
047                {
048                        if (args.length > 0)
049                        { ChartUtilities.saveChartAsJPEG(new File(args[0]), chart, 500, 300); }
050                        else
051                        {
052                                javax.swing.JMenuBar menuBar = new javax.swing.JMenuBar();
053                                ChartFrame frame = new ChartFrame("sample", chart);
054                                frame.setJMenuBar(menuBar);
055                                frame.pack();
056                                frame.setVisible(true);
057                        }
058                }
059                catch (Exception e)
060                {
061                        System.out.println("Problem occurred creating chart");
062                }
063        }
064}