グラフ表示ライブラリとして一部の業界ではデファクトスタンダードのPGPLOT. Cygwin/XがあればWindowsでも動くかなあと思い,コンパイルしてみたら見事動作しました (makefileとソースを一部編集する必要がありました).
せっかくWindowsなのですから,できるだけGUIを利用した方法で紹介します.
PGPLOTのサイト から pgplot5.2.tar.gz を入手します. 最新バージョンは5.2.2(2004年11月現在)です.デスクトップにでも保存しておきます.
デスクトップに保存したpgplot522.tar.gzというファイルを解凍します (解凍ソフトは WinRAR が便利です).
C:\cygwin\usr\localフォルダを開きます.
ここにpgplotとsrcという名前のフォルダを作ります.
いま作ったsrcフォルダに移動し,先ほど解凍してできたpgplotフォルダを ここ(C:\cygwin\usr\local\src)に移動します.
そのpgplot(C:\cygwin\usr\local\src\pgplot)フォルダを開きます. drivers.listというファイルがあるので,それをコピーします.
コピーしたdrivers.listをC:\cygwin\usr\local\pgplotに貼り付けます.
このdrivers.listをテキストエディタで編集します. 編集はメモ帳でもいいのですが,改行コードがWindowsと異なる(CR+LF)ため読みづらいです. テキストエディタには xyzzy をお勧めします. というわけで,とりあえずdrivers.listを開きます.
先頭に「!」がついている行はコメント行です.このコメントをいくつか外します. そうすることでPGPLOTで使用可能なドライバを選択するわけです.
のある行のコメントを外せば大丈夫だと思います.
コンパイルの手順を示すmakefileというものを作ります. そのmakefileをつくるmakemakeというコマンドがあるので,それを実行します. ここでようやくCygwinの出番です.
Cygwinを立ち上げ,つぎのコマンドを入力します.
実行したら,C:\cygwin\usr\local\pgplotにいくつか新しくファイルができています. Cygwinのウィンドウは後で使うので,そのまま残しておいてください.
本来なら,ここまでで準備完了です. が,Cygwinのバージョンがあがったせいなのかよく分かりませんが, このままではコンパイルできず,若干の修正が必要でした.
まずmakefileです.テキストエディタで開きます. 31,32,34,48行目以降に「/usr/X11R6.4/include」という部分があります. この「X11R6.4」という部分の「.4」を削除します. つまり「/usr/X11R6/include」という具合にします.
修正するのはもう一カ所です.C:\cygwin\usr\local\src\pgplot\pgdispd\proccom.cというファイルを開き, 97行目の「#include <valuse.h>」をコメントアウトします.
以上で準備完了,コンパイルします.Cygwinのウィンドウに
と打ち込みます.しばらくメッセージが流れた後,
*** Finished compilation of PGPLOT *** Note that if you plan to install PGPLOT in a different directory than the current one, the following files will be needed. libpgplot.a grfont.dat rgb.txt pgdisp pgxwin_server Also note that subsequent usage of PGPLOT programs requires that the full path of the chosen installation directory be named in an environment variable named PGPLOT_DIR.
というメッセージで止まっていれば正常終了です. さらに,C言語からもPGPLOTを呼び出せるよう,つぎのようにコマンドを入力します.
しばらくして
*** Finished compilation of the C PGPLOT wrapper library *** Note that if you plan to install the library in a different directory than the current one, both libcpgplot.a and cpgplot.h will be needed.
というメッセージが出れば正常終了です. ここまでくれば無事コンパイルが終わったので,不要なオブジェクトファイルを消すため
とコマンドを打ちます.
PGPLOTの使用する環境変数を設定します.C:\cygwin\home\fooディレクトリに移動し (fooの部分はユーザ名.僕の設定ではsakima), そこにある「.bashrc」というファイルをエディタで開きます.
このファイルの一番下に
export PGPLOT_DIR=/usr/local/pgplot export PGPLOT_DEV=/xserv export LD_LIBRARY_PATH=/usr/local/pgplot
を書き込みます.保存したら,環境変数の設定を反映させるため, いったんログアウトする(つまりCygwinをいったん終了する)か,
というコマンドを打ち込みます.
まず,X Window Systemを立ち上げておきます.Cygwinのウィンドウで
と入力します.すると,xtermという仮想ターミナルが立ち上がります.
ここからデモプログラムを実行します.実行するには
などとコマンドを打ちます.数字の部分は1から17まであるのでいろいろ試すといいでしょう. つぎのスクリーンショットは,pgdemo15を実行したところです.
いやはや,Cygwinってすごく便利ですね.こんなにスムーズに行くとは.