javaのお勉強の一環でJFreeChartでTimeSeriesChart(時系列チャート)を書いてみた。画像で出力すると一々選択して開かないといけないのが面倒で、swingで書いてみた。なぜか文字化けしてるけどあまり細かいことは気にせず。IDEはやっぱり便利。
まだX軸,Y軸の編集やデータが固定でかっこ悪いけど、忘れないうちにメモ代わりで。次はX軸,Y軸の編集とcsvでの読み込みをあわせてみよう。
下記ソースコード
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
import javax.swing.JFrame;
import java.awt.BorderLayout;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.data.time.Month;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
/**
*
* @author earu
*/
public class TimeSeriesChart extends JFrame{
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
TimeSeriesChart frame = new TimeSeriesChart();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(200, 200, 200, 200);
frame.setTitle("チャートサンプル");
frame.setVisible(true);
}
TimeSeriesChart(){
TimeSeriesCollection chartdata = new TimeSeriesCollection();
TimeSeries series = new TimeSeries("Aクラス", Month.class);
series.add(new Month(7, 2007),120);
series.add(new Month(8, 2007),140);
series.add(new Month(9, 2007),150);
series.add(new Month(10, 2007),100);
series.add(new Month(11, 2007),200);
series.add(new Month(12, 2007),210);
series.add(new Month(1, 2008),170);
chartdata.addSeries(series);
JFreeChart chart = ChartFactory.createTimeSeriesChart("test", "test1", "test2", chartdata, true, false, false);
ChartPanel cpanel = new ChartPanel(chart);
getContentPane().add(cpanel, BorderLayout.CENTER);
}
}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
参考サイト:http://www.syboos.jp/opensource/doc/20080310223715891.html