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}