forked from codehouseindia/Java-Programs
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTimeseries chart in java
More file actions
92 lines (81 loc) · 3.26 KB
/
Timeseries chart in java
File metadata and controls
92 lines (81 loc) · 3.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# https://www.facebook.com/permalink.php?story_fbid=2675366319446169&id=100009184817938
# subscibed by Devesh Sharma
# Time Series chart in java
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import javax.swing.WindowConstants;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.XYPlot;
import org.jfree.data.time.Day;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
import org.jfree.data.xy.XYDataset;
public class TimeSeriesChartExample extends JFrame {
private static final long serialVersionUID = 1L;
public TimeSeriesChartExample(String title) {
super(title);
// Create dataset
XYDataset dataset = createDataset();
// Create chart
JFreeChart chart = ChartFactory.createTimeSeriesChart(
"Time Series Chart Example", // Chart
"Date", // X-Axis Label
"Number", // Y-Axis Label
dataset);
//Changes background color
XYPlot plot = (XYPlot)chart.getPlot();
plot.setBackgroundPaint(new Color(255,228,196));
ChartPanel panel = new ChartPanel(chart);
setContentPane(panel);
}
private XYDataset createDataset() {
TimeSeriesCollection dataset = new TimeSeriesCollection();
TimeSeries series1 = new TimeSeries("Series1");
series1.add(new Day(1, 1, 2017), 50);
series1.add(new Day(2, 1, 2017), 40);
series1.add(new Day(3, 1, 2017), 45);
series1.add(new Day(4, 1, 2017), 30);
series1.add(new Day(5, 1, 2017), 50);
series1.add(new Day(6, 1, 2017), 45);
series1.add(new Day(7, 1, 2017), 60);
series1.add(new Day(8, 1, 2017), 45);
series1.add(new Day(9, 1, 2017), 55);
series1.add(new Day(10, 1, 2017), 48);
series1.add(new Day(11, 1, 2017), 60);
series1.add(new Day(12, 1, 2017), 45);
series1.add(new Day(13, 1, 2017), 65);
series1.add(new Day(14, 1, 2017), 45);
series1.add(new Day(15, 1, 2017), 55);
dataset.addSeries(series1);
TimeSeries series2 = new TimeSeries("Series2");
series2.add(new Day(1, 1, 2017), 40);
series2.add(new Day(2, 1, 2017), 35);
series2.add(new Day(3, 1, 2017), 26);
series2.add(new Day(4, 1, 2017), 45);
series2.add(new Day(5, 1, 2017), 40);
series2.add(new Day(6, 1, 2017), 35);
series2.add(new Day(7, 1, 2017), 45);
series2.add(new Day(8, 1, 2017), 48);
series2.add(new Day(9, 1, 2017), 31);
series2.add(new Day(10, 1, 2017), 32);
series2.add(new Day(11, 1, 2017), 21);
series2.add(new Day(12, 1, 2017), 35);
series2.add(new Day(13, 1, 2017), 10);
series2.add(new Day(14, 1, 2017), 25);
series2.add(new Day(15, 1, 2017), 15);
dataset.addSeries(series2);
return dataset;
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
TimeSeriesChartExample example = new TimeSeriesChartExample("Time Series Chart");
example.setSize(800, 400);
example.setLocationRelativeTo(null);
example.setVisible(true);
example.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
});
}
}