ファイヤープロジェクト
JFreeChartって何だ?
2004-02-07T15:30+09:00   matsu
JFreeChartの開発元についてちょっと触れ,JFreeChartのインストールとサンプル実行,JFreeChartのフレームワークについて記述する.
JFreeChartはwww.jfree.orgで開発されているグラフ生成用Javaクラスライブラリ及びフレームワークである.ここではJFreeChartだけでなくレポート作成JavaクラスライブラリJFreeReportやJFree製品共通クラスライブラリJCommon,JFreeReportのためのgraphical report definition editor(何?)JFreeDesignerなど,JFreeをその名に冠するものをいろいろと作っている.JFreeChartはGoogleのAdWords(tm)などで使用されていたりするらしい.
JFreeChartのクラスライブラリとフレームワークにより,棒グラフや円グラフなどを簡単に作成できる.その成果物はPanelやFrameとしてJavaアプリケーションやアプレットで使用できるし,サーブレットからHttpクライアントに画像データを出力することもできるらしい.
JFreeChartを使用するには,JFreeChartとJCommonをインストールする必要がある.www.jfree.orgから両者をダウンロードする.私は以下をダウンロードした.
  • jfreechart-0.9.16.tar.gz(For GNU/Linux)
  • jcommon-0.9.1.tar.gz(For GNU/Linux)
これらを展開してブツをCLASSPATHにいれる.
export CLASSPATH=$CLASSPATH:/..../jcommon/jcommon-0.9.1/jcommon-0.9.1.jar
export CLASSPATH=$CLASSPATH:/.../jfreechart/jfreechart-0.9.16/jfreechart-0.9.16.jar
簡単(※).
※ 恥かしながら私は基本的なCLASSPATHの設定が不足していたので,以下も追加する必要があった(私の環境はDebian GNU/Linux Woody).
export CLASSPATH=$CLASSPATH:/usr/share/orp/classpath/
上記の方法でJFreeChartをインストールすると,サンプルも付属してくる.READMEファイルによると以下で実行できる.
java -jar jfreechart-0.9.16-demo.jar
サンプルではJFreeChartで作成できる(おそらく)全パターンのグラフを閲覧できるグラフを閲覧できるようだ.
サンプルやJavaDocを見て,私なりにJFreeChartのフレームワークを解釈してみた.まず概観するためにクラス図を書いてみた.
JFreeChartの中心となるクラスはJFreeChartである.このクラスを使用して最終的にChartPanelやChartFrameをnewする.これらはそれぞれSWINGのPanel,Frameのサブクラスであり,ここより上位はSWINGのフレームワークの範疇となる.JFreeChartに主眼をおいたコードの流れは大体以下のようになる.
  1. DatasetUtilitiesでCategoryDatasetを作成.
  2. ChartFactoryにCategoryDatasetを渡してJFreeChartを作成.
  3. JFreeChartを使用してChartPanelやChartFrameを作成.
ざっとこんな作業で簡単にグラフを作成することができる.ChartPanelやChartFrameはJFreeChartのもつデータをもとにPanelやFrameを作成される.
上のクラス図のようにJFreeChartにはTitle,Legend,Plot,Datasetといった情報を持つ.
Title
グラフタイトルl
Legend
グラフ中に表示されるプロットの説明.
Plot
JFreeChartからの委譲により,実際にグラフをプロットする実体.すなわちSWINGフレームワークでChartPanelやCharFrameに描画命令が下ると,それらは保持しているJFreeChartに委譲し,JFreeChartはPlotに委譲するということだろうか.
Dataset
描画に使用するデータ.
JFreeChartは多機能で,この他にもイベントリスナなどに関する仕組みも持っているらしいが,それは別の機会で.
matsu(C)
Since 2002
Mail to matsu