2010年1月29日金曜日

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.setBackgroundPaint(
new java.awt.GradientPaint(
0, 0, new java.awt.Color(0xbb, 0xdd, 0xff),
100, 200, java.awt.Color.WHITE
)
)

ChartUtilities.saveChartAsPNG(new File("./bg-gradient.png"), jfc, 300, 200)


出力画像(bg-gradient.png)


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

0 件のコメント:

コメントを投稿