Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package cv.mikusher.freechart; /** * * @author Miky Mikusher */ import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartPanel; import org.jfree.chart.JFreeChart; import org.jfree.data.general.SeriesException; import org.jfree.data.time.Second; import org.jfree.data.time.TimeSeries; import org.jfree.data.time.TimeSeriesCollection; import org.jfree.data.xy.XYDataset; import org.jfree.ui.ApplicationFrame; import org.jfree.ui.RefineryUtilities; public class TimeSeries_AWT extends ApplicationFrame { public TimeSeries_AWT(final String title) { super(title); setDefaultCloseOperation(ApplicationFrame.EXIT_ON_CLOSE); final XYDataset dataset = createDataset(); final JFreeChart chart = createChart(dataset); final ChartPanel chartPanel = new ChartPanel(chart); chartPanel.setPreferredSize(new java.awt.Dimension(560, 370)); chartPanel.setMouseZoomable(true, false); setContentPane(chartPanel); } private XYDataset createDataset() { final TimeSeries series = new TimeSeries("Random Data"); Second current = new Second(); double value = 100.0; for (int i = 0; i < 4000; i++) { try { value = value + Math.random() - 0.5; series.add(current, new Double(value)); current = (Second) current.next(); } catch (SeriesException e) { System.err.println("Error adding to series"); } } return new TimeSeriesCollection(series); } private JFreeChart createChart(final XYDataset dataset) { return ChartFactory.createTimeSeriesChart("Computing Test", "Seconds", "Value", dataset, false, false, false); } }