今回のテーマはグラフ作成だ。「実験室 イントラ編3」でデータベースを作成したが,その結果は表出力だけ(サンプルだ)なのでアピールに欠けるところもある。やはりビジネスレポート(?)はグラフィカルに視覚に訴えるところが欲しい...という訳でデータベースの検索結果を基にグラフ化をおこなってみよう。
まずはシステム構成の再確認だ。
サーバーOS | Winsows2000Server | なんのかんのいってもMicrosoftは偉大だ,簡単セットアップが嬉しいぞ(^^; それに全体的にはActiveDirectoryで構築されてるみたいだから他のOS入れると浮いてしまう(^^;; |
---|---|---|
Web サービス | InternetInformationService (IIS) | だっておまけで付いてるから(^^; まぁ,外部に公開しなけりゃセキュリティ云々も問題にはならないだろう |
クライアント | Windows2000 InternetExplorler | 上の理由と同じだ(^^) |
追加したソフト | ActivePerl | 「実験室 イントラ編1」で組み込んであるぞ |
グラフ作成ツールにはどんなものがあるのだろう。javaの「JFreeChart」ってのもあったけど,どうもjavaは難しい(...と感じる)ため,あえなく挫折。そこで採用したのは「GD」と,そのサブモジュールである「GD::Graph」だ。こちらはPerlで動作するので今まで勉強してきたPerlの知識が使い回せるのがとっても嬉しい。
右のグラフが,GD(GD::Graph)で作ったサンプルグラフだ。...えっ,これが見えない? その場合はブラウザを最新版にアップデートすることをおすすめするぞ。(画像フォーマットはPNGだ)
※継続してグラフ出力モジュールを探していたところ,PHPで動作する「JPGraph」ってのを発見。これはなかなか使えそうなので機会があれば別項にて紹介することにしよう。
とりあえず,ActivePerlをインストールしなけりゃね。(実験室 イントラ編1参照)
では,GD本体のセットアップを始めよう。ソースコードから環境を構築できるような優秀な人はhttp://www.cpan.org/からでも勝手に落としてもらって進めてもらおう。
...「んなもん,できるかい!」と,ネットサーフィンしていると...
あった,あった。http://theoryx5.uwinnipeg.ca/から簡単インストールできるWin32 ActivePerl用ppmパッケージがダウンロードできるじゃないか。
ここで一つ問題発生だ。「実験室 イントラ編1」でも書いたけど,ActivePerlのバージョンによってパッケージが別になってるものもあるんだがこれもそうなのか?どうやらActivePerlのバージョンによってリンク先が違うようだが中身はどうなんだろう? まぁ細かいことはおいておいて,ホームページ上でActivePerlのバージョン毎のGD.ppdの在処を確認したら,コマンドプロンプトからppmと入力し,以下を実行しよう。(ここではActivePerl8xx用とする)
これで,GD本体のインストールは完了だ。引き続き同所にある「GDTextUtil.ppd」と「GDGraph.ppd」も同様にインストールをおこなおう。
まずは,「c:\perl\html\index.html」のActivePerlマニュアルで確認しよう。とはいっても英語なので敷居が高いぞ(^^;
ん〜よくわからないなぁ。サンプルプログラムでも見てみよう。http://www.cpan.org/から「GDGraph-x.xx.tar.gz」(x.xxはバージョンNo.だ)を落としてみよう。これを解凍するとサンプルプログラムが含まれているぞ。そのサンプルを参考に作ったのが上の画像を出力するプログラム(sample.pl)だ。
一応,ポイントだけ説明していこうか。まず,
だ。これを指定することで,グラフ中の文字をTrueTypeFontにする事が可能になるぞ。なんせデフォルトだと日本語は使用できないので是非とも必要な設定だ。当然,Path指定はフォントファイルのある位置にしないとダメだ(^^; そして,プログラム中にあるように「...._font」指定のところでフォント名を指定すればOKだ。
あっ,そうそう,グラフ中に日本語を使用する場合は文字コードをUTF-8にしてプログラムを保存しないと文字化けするぞ。
次は,
だな。ここで,カラー定義ファイル(rgb.txt)を読み込み指定している。デフォルトだと赤,青,緑...といった基本的な色しか使用できないので中間色を使った綺麗なグラフにしようと思ったら必須だ。ちなみに「rgb.txt」は上で落としてきたサンプルプログラムに含まれているのでそれを利用しよう。この色の設定は,「dclrs」や「borderclrs」といったパラメータで指定可能だ。詳細はマニュアルを読んでくれい(^^;
次が肝心のデータ指定だ。最初の配列はX軸,2個め以降はY軸のデータとなっている。
ここからがいよいよGraph本体の設定だ。
この行でグラフを定義して,以降で各パラメータの指定だ。必要なパラメータの指定が終わったら,
で,プロットだ(まだこの段階では出力されない)。
最後にファイル出力してできあがり。
さて,いよいよCGIでのブラウザ出力へと進んでいくぞ。いざ後編へ