package jfreechart;

import java.io.File;
import java.io.IOException;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;

/**
* 折れ線グラフのサンプル
*/
public class LineChartSample {
public static void main(String[] args) {
// (1)データセットの作成
String series1 = "First";
String series2 = "Second";
String series3 = "Third";
// カテゴリーの設定
String category1 = "Category 1";
String category2 = "Category 2";
String category3 = "Category 3";
String category4 = "Category 4";
String category5 = "Category 5";
String category6 = "Category 6";
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(3.0, series1, category1);
dataset.addValue(2.0, series1, category2);
dataset.addValue(4.0, series1, category3);
dataset.addValue(4.0, series1, category4);
dataset.addValue(4.0, series1, category5);
dataset.addValue(6.0, series1, category6);

dataset.addValue(5.0, series2, category1);
dataset.addValue(3.0, series2, category2);
dataset.addValue(6.0, series2, category3);
dataset.addValue(5.0, series2, category4);
dataset.addValue(6.0, series2, category5);
dataset.addValue(5.0, series2, category6);

dataset.addValue(6.0, series3, category1);
dataset.addValue(7.0, series3, category2);
dataset.addValue(7.0, series3, category3);
dataset.addValue(6.0, series3, category4);
dataset.addValue(5.0, series3, category5);
dataset.addValue(7.0, series3, category6);

// (2)JFreeChartオブジェクトの生成
JFreeChart chart = ChartFactory.createLineChart("Sample Line Chart",
"Category", "Value", dataset, PlotOrientation.VERTICAL, true,
true, false);

// (3)グラフの出力
File outputFile = new File("./output/SampleLineChart.png");
try {
ChartUtilities.saveChartAsPNG(outputFile, chart, 500, 500);
} catch (IOException ioEx) {
ioEx.printStackTrace();
}
}
}