dak ブログ

python、rubyなどのプログラミング、MySQL、サーバーの設定などの備忘録。レゴの写真も。

gnuplot でグラフ作成

2006-10-07 23:49:19 | ウェブサービス
社内ツールなどでページのアクセス数などをグラフ化しようとしたときには、グラフを簡単に描ける gnuplot が便利です。
gnuplot ではデフォルトでは日本語を表示できないようなので、gd を自前でコンパイルする必要があります。
また、ウェブページにグラフを載せるには gif 画像に変換するのがよいと思いますが、gif に変換するなら ImageMagick が便利です。

では、gnuplot、gd のインストール方法。

1. gd のインストール。
コンパイルオプションに -DJISX0208 を指定してコンパイルします。
configure を実行して作成された Makefile 中の CFLAGS= のところに -DJISX0208 を追加して make すればOKでした。

2. gnuplot のインストール。
先ほどインストールした gd ライブラリがリンクされるように make します。
gd ライブラリは /usr/local/lib にインストールされているので、
configure のオプションに --with-gd=/usr/local を指定して configure します。
src/Makefile の LDFLAG に -L/usr/local/lib -lgd を指定して make するのもよいかもしれません。


gnuplot を使ってグラフ画像を返す CGI を perl で以下のように作成しました。
gnuplot の出力は postscript にしておいて、ImageMagick で ps --> gif の変換を行います。

open(WR, "| /usr/local/bin/gnuplot | /usr/local/bin/convert - gif:-");

print(WR "set output\n");
print(WR "set encoding euc-jp\n");
print(WR "set terminal postscript eps color \"Kochi-Mincho-EUC-H\" 32\n");

for (my $i = 0; $i < @data; $i++) {
printf(WR "%d\t%d\n", $i, $data[$i]);
}

close(WR);