2011年1月28日金曜日

groovyとgooglechartwrapperでレーダーチャートを描画する

groovyとgooglechartwrapperでレーダーチャートを描画するには、以下のコードを実行します。

import java.awt.*
import java.net.*
import javax.imageio.*
import de.toolforge.googlechartwrapper.*
import de.toolforge.googlechartwrapper.data.*
import de.toolforge.googlechartwrapper.label.*
import de.toolforge.googlechartwrapper.util.*
import de.toolforge.googlechartwrapper.coder.*

// レーダーチャート
rc = new RadarChart(new Dimension(400, 350))
rc.setEncoder(EncoderFactory.getEncoder(
EncodingType.TextEncoding))

rc.addRadarChartLine(
new RadarChartLine(new Color(0x77, 0x99, 0xff),
[80, 90, 70, 60, 50, 80])
)
// カーブを無効に設定
rc.setDefault()

xa = new AxisLabelContainer(AxisType.XAxis)
xa.addLabel(new AxisLabel(URLEncoder.encode("価格", "UTF-8")))
xa.addLabel(new AxisLabel(URLEncoder.encode("性能", "UTF-8")))
xa.addLabel(new AxisLabel(URLEncoder.encode("サポート", "UTF-8")))
xa.addLabel(new AxisLabel(URLEncoder.encode("入手性", "UTF-8")))
xa.addLabel(new AxisLabel(URLEncoder.encode("バリエーション", "UTF-8")))
rc.addAxisLabelContainer(xa)

ya = new AxisLabelContainer(AxisType.YAxis)
ya.setAxisRange(new AxisRange(0, 100, 20))
rc.addAxisLabelContainer(ya)

// URLを取得
println rc.getUrl()
// 画像として保存
bi = MiscUtils.getBufferedImage(rc)
ImageIO.write(bi, "png", new File ("barchart27.png"))



出力画面


※以下のjarを$GROOVY_HOME/libにコピー
googlechartwrapper_1.1.jar

動作環境
groovy 1.7.5, JDK6 Update22, googlechartwrapper 1.1

関連情報
googlechartwrapperのwebサイト
http://code.google.com/p/googlechartwrapper/

0 件のコメント:

コメントを投稿