2015年9月7日月曜日

jfreechartの試し

MAVENプロジェクトを作成する。
POMの設定は以下の通りです。

<dependency>
    <groupId>org.jfree</groupId>
<artifactId>jfreechart</artifactId>
<version>1.0.19</version>
</dependency>


円チャートを作成してみる。

■
public class Sample {

    public static void main(String[] args) {
        DefaultPieDataset data = new DefaultPieDataset();
        
        data.setValue("アサヒ", 37);
        data.setValue("キリン", 36);
        data.setValue("サントリー", 13);
        data.setValue("サッポロ", 12);
        data.setValue("その他", 2);
        
        JFreeChart chart = ChartFactory.createPieChart("Sample", data, true, false, false);
                
        File file  = new File("./chart.png");
        
        try {
            ChartUtilities.saveChartAsJPEG(file, chart, 500, 500);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }


}

結果:
文字が正しく表示されていない。

■日本語を表示設定

public class Sample {

    public static void main(String[] args) {
        DefaultPieDataset data = new DefaultPieDataset();
        
        data.setValue("アサヒ", 37);
        data.setValue("キリン", 36);
        data.setValue("サントリー", 13);
        data.setValue("サッポロ", 12);
        data.setValue("その他", 2);
        
        //JFreeChart chart = ChartFactory.createPieChart("Sample", data, true, false, false);
        JFreeChart chart = ChartFactory.createPieChart("Sample", data, true, false, Locale.JAPAN);
        //タイトル設定
        chart.setTitle(new TextTitle("サンプル", new Font("MS Mincho", Font.PLAIN, 24)));
        
        PiePlot plot = (PiePlot)chart.getPlot();
        plot.setLabelFont(new Font("MS Mincho", Font.PLAIN, 10));
        
        //凡例設定
        LegendTitle it = chart.getLegend();
        it.setItemFont(new Font("MS Mincho", Font.PLAIN, 10));
        
        File file  = new File("./chart.png");
        
        try {
            ChartUtilities.saveChartAsJPEG(file, chart, 500, 500);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}



結果:



0 件のコメント: