-
package lw.release.s1TimeSeries;
-
import java.awt.Dimension;
-
import java.awt.Font;
-
import javax.swing.BorderFactory;
-
import javax.swing.JPanel;
-
import javax.swing.border.CompoundBorder;
-
import org.jfree.chart.ChartFactory;
-
import org.jfree.chart.ChartPanel;
-
import org.jfree.chart.JFreeChart;
-
import org.jfree.chart.StandardChartTheme;
-
import org.jfree.data.time.Month;
-
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;
-
import lw.release.ChartBasePanel;
-
-
-
-
-
-
-
-
-
-
-
-
@SuppressWarnings("serial")
-
public class TimeSeries01 extends ApplicationFrame {
-
public TimeSeries01(String title) {
-
super(title);
-
setContentPane(new TimeSeriesPanel());
-
}
-
public JPanel createDemoPanel() {
-
return new TimeSeriesPanel();
-
}
-
public static void main(String[] arg) {
-
TimeSeries01 timeSeries = new TimeSeries01("基础时间序列图");
-
timeSeries.pack();
-
RefineryUtilities.centerFrameOnScreen(timeSeries);
-
timeSeries.setVisible(true);
-
}
-
-
-
-
-
-
private class TimeSeriesPanel extends ChartBasePanel {
-
private TimeSeries series[] = new TimeSeries[2];
-
private ChartPanel chartPanel;
-
private JFreeChart chart = createChart();
-
public TimeSeriesPanel() {
-
super();
-
addChart(this.chart);
-
-
-
-
this.chartPanel = new ChartPanel(this.chart);
-
this.chartPanel.setPreferredSize(new Dimension(600, 250));
-
-
CompoundBorder compoundBorder = BorderFactory.createCompoundBorder(
-
BorderFactory.createEmptyBorder(4, 4,4, 4),
-
BorderFactory.createEtchedBorder());
-
this.chartPanel.setBorder(compoundBorder);
-
-
add(this.chartPanel);
-
}
-
-
-
-
private JFreeChart createChart() {
-
-
XYDataset xyDataset = createDataset();
-
-
StandardChartTheme standardChartTheme=new StandardChartTheme("CN");
-
standardChartTheme.setExtraLargeFont(new Font("隶书",Font.BOLD,20));
-
standardChartTheme.setRegularFont(new Font("SimSun",Font.PLAIN,15));
-
standardChartTheme.setLargeFont(new Font("宋体",Font.PLAIN,15));
-
ChartFactory.setChartTheme(standardChartTheme);
-
-
-
JFreeChart jFreeChart = ChartFactory.createTimeSeriesChart(
-
"基础时间序列图",
-
"时间",
-
"数值",
-
xyDataset,
-
true,
-
false,
-
false);
-
-
return jFreeChart;
-
}
-
-
-
-
-
-
private XYDataset createDataset() {
-
-
-
-
-
-
-
this.series[0] = new TimeSeries("序列1");
-
series[0].add(new Month(2, 2001), 181.8);
-
series[0].add(new Month(3, 2001), 167.3);
-
series[0].add(new Month(4, 2001), 153.8);
-
series[0].add(new Month(5, 2001), 167.6);
-
series[0].add(new Month(6, 2001), 158.8);
-
series[0].add(new Month(7, 2001), null);
-
series[0].add(new Month(8, 2001), 153.9);
-
series[0].add(new Month(9, 2001), 142.7);
-
series[0].add(new Month(10, 2001), 123.2);
-
series[0].add(new Month(11, 2001), 131.8);
-
series[0].add(new Month(12, 2001), 139.6);
-
series[0].add(new Month(1, 2002), 142.9);
-
series[0].add(new Month(2, 2002), 138.7);
-
-
-
this.series[1] = new TimeSeries("序列2");
-
series[1].add(new Month(2, 2001), 129.6);
-
series[1].add(new Month(3, 2001), 123.2);
-
series[1].add(new Month(4, 2001), 117.2);
-
series[1].add(new Month(5, 2001), 124.1);
-
series[1].add(new Month(6, 2001), 122.6);
-
series[1].add(new Month(7, 2001), 119.2);
-
series[1].add(new Month(8, 2001), 116.5);
-
series[1].add(new Month(9, 2001), 112.7);
-
series[1].add(new Month(10, 2001), 101.5);
-
series[1].add(new Month(11, 2001), 106.1);
-
series[1].add(new Month(12, 2001), 110.3);
-
series[1].add(new Month(1, 2002), 111.7);
-
series[1].add(new Month(2, 2002), 111.0);
-
-
-
-
TimeSeriesCollection dataset = new TimeSeriesCollection();
-
dataset.addSeries(this.series[0]);
-
dataset.addSeries(this.series[1]);
-
-
return dataset;
-
}
-
}
-
}