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 */ 023public class TimeSeriesExample { 024 025 /** 026 * @param args 027 */ 028 public static void main(String[] args) 029 { 030 TimeSeries heat = new TimeSeries("Temperature", Minute.class); 031 long now = new java.util.Date().getTime(); 032 heat.add(new Minute(new Date(now - 10l * 60000l)), 15.0); 033 heat.add(new Minute(new Date(now - 9l * 60000l)), 14.5); 034 heat.add(new Minute(new Date(now - 8l * 60000l)), 20.0); 035 heat.add(new Minute(new Date(now - 7l * 60000l)), 17.0); 036 heat.add(new Minute(new Date(now - 6l * 60000l)), 16.5); 037 heat.add(new Minute(new Date(now - 5l * 60000l)), 15.0); 038 heat.add(new Minute(new Date(now - 4l * 60000l)), 14.0); 039 heat.add(new Minute(new Date(now - 3l * 60000l)), 13.0); 040 TimeSeriesCollection dataset = new TimeSeriesCollection(); 041 dataset.addSeries(heat); 042 JFreeChart chart = ChartFactory.createTimeSeriesChart 043 ("Temperature trend", "Time", "Temperature (degrees F)", 044 dataset, true, true, false); 045 try 046 { 047 if (args.length > 0) 048 { ChartUtilities.saveChartAsJPEG(new File(args[0]), chart, 500, 300); } 049 else 050 { 051 javax.swing.JMenuBar menuBar = new javax.swing.JMenuBar(); 052 ChartFrame frame = new ChartFrame("sample", chart); 053 frame.setJMenuBar(menuBar); 054 frame.pack(); 055 frame.setVisible(true); 056 } 057 } 058 catch (Exception e) 059 { 060 System.out.println("Problem occurred creating chart"); 061 } 062 } 063}