2010年2月2日火曜日

groovyとJFreeChartで凡例の位置を変更する

groovyとJFreeChartで凡例の位置を変更するには、以下のコードを実行します。

import org.jfree.chart.*
import org.jfree.chart.plot.*
import org.jfree.data.category.*

dcd = new DefaultCategoryDataset()
dcd.with {
addValue(100, "ABC Inc.", "Jan 2010")
addValue(110, "ABC Inc.", "Feb 2010")
addValue(120, "ABC Inc.", "Mar 2010")
addValue(90, "DEF Corp.", "Jan 2010")
addValue(120, "DEF Corp.", "Feb 2010")
addValue(110, "DEF Corp.", "Mar 2010")
}

jfc = ChartFactory.createLineChart(
"売上推移",
"年月",
"売上",
dcd,
PlotOrientation.VERTICAL,
true,
false,
false)

// 凡例の位置を変更する
// 凡例を上部に表示
jfc.getLegend().setPosition(org.jfree.ui.RectangleEdge.TOP);
ChartUtilities.saveChartAsPNG(new File("./legend-top.png"), jfc, 300, 200)

// 凡例を下部に表示
jfc.getLegend().setPosition(org.jfree.ui.RectangleEdge.BOTTOM);
ChartUtilities.saveChartAsPNG(new File("./legend-bottom.png"), jfc, 300, 200)

// 凡例を左部に表示
jfc.getLegend().setPosition(org.jfree.ui.RectangleEdge.LEFT);
ChartUtilities.saveChartAsPNG(new File("./legend-left.png"), jfc, 300, 200)

// 凡例を右部に表示
jfc.getLegend().setPosition(org.jfree.ui.RectangleEdge.RIGHT);
ChartUtilities.saveChartAsPNG(new File("./legend-right.png"), jfc, 300, 200)


出力画像(legend-top.png)


出力画像(legend-bottom.png)


出力画像(legend-left.png)


出力画像(legend-right.png)


動作環境
JDK1.6 Update 15, groovy 1.6.3, JFreeChart1.0.13, JCommon1.0.16

0 件のコメント:

コメントを投稿