前回の続きです。
JFreeChartの入手方法は、こちらをどうぞ。
Java JFreeChartを使って、円グラフの画像を出力するサンプル
JFreeChartを使って、円グラフの画像ファイル(PNG形式)を出力します。
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 | package jfreechart; import java.awt.Font; import java.io.File; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartUtils; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PiePlot; import org.jfree.data.general.DefaultPieDataset; public class PieChartTest { public static void main(String[] args) throws Exception { //タイトルのフォントを指定 Font font = new Font("MS Pゴシック", Font.BOLD, 18); DefaultPieDataset<String> dataset = new DefaultPieDataset(); dataset.setValue("牛丼", 100); dataset.setValue("かつ丼", 50); dataset.setValue("天丼", 30); dataset.setValue("漬けまぐろ丼", 10); dataset.setValue("その他", 20); JFreeChart chart = ChartFactory.createPieChart( "どんぶりランキング", dataset, true, true, false ); chart.getTitle().setFont(font); chart.getLegend().setItemFont(font); PiePlot plot = (PiePlot) chart.getPlot(); plot.setLabelFont(font); plot.setNoDataMessage("No data available"); //グラフを画像ファイルに出力 ChartUtils.saveChartAsPNG(new File("D:\\work\\PieChartTest.png"), chart, 800, 600); } } |
実行結果
こんな画像ファイルが出力されます。
サンプルの解説
ChartFactory.createPieChartで、チャートが作れます。
第1引数がタイトル、第2引数がデータセットです。第3引数以降はとくに指定しなくても大丈夫ですが、凡例の表示有無などの指定です。
フォントは必ずセットしておきましょう。セットしないと日本語は出ません。
あとは、ChartUtils.saveChartAsPNG(File,JFreeChart,int,int)で、画像ファイルに出力だけですね。
PNGまたはJPEG形式で出力できます。