【Java】JFreeChartを使って簡単にチャートを描くサンプル。
JFreeChartとは
JFreeChartとはチャートやグラフをJavaで簡単に描くための便利なライブラリです。
ここからダウンロードできます。
http://www.jfree.org/
サンプル
以下のサンプルは、パイチャート用のデータセットを作成し、
それを元にパイチャートオブジェクトをつくり、それを出力しています。
出力先は、
?がファイル出力、?がバイト配列、?がInputStreamです。
都合よく使い分けましょう。
ちなみに、画像ファイルの出力サイズは300x300に、またバイト配列出力におけるサイズは500x500に指定しています。
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.LegendItem;
import org.jfree.chart.title.LegendTitle;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.ui.HorizontalAlignment;
public class PieChartSample {
public static void main(String[] args) {
// データセットの作成
DefaultPieDataset data = new DefaultPieDataset();
data.setValue("Orange", 10);
data.setValue("Apple", 20);
data.setValue("Pine", 30);
data.setValue("Grape", 40);
data.setValue("Banana", 50);
// JFreeChartオブジェクトの生成
JFreeChart chart = ChartFactory.createPieChart("Sample Pie Chart",
data, true, true, false);
// グラフの出力
File outputFile = new File("./samplePieChart.png");
try {
// ? pngファイルで出力する場合
ChartUtilities.saveChartAsPNG(outputFile, chart, 300, 300);
// ? 作成した画像をバイト配列で出力する場合
BufferedImage bufferedImage = chart.createBufferedImage(500, 500);
byte[] byteArray = ChartUtilities.encodeAsPNG(bufferedImage);
// ? 作成した画像をInputStreamへ変換する場合
InputStream is = new ByteArrayInputStream(byteArray);
} catch (IOException ioEx) {
ioEx.printStackTrace();
}
}
}