* PGPLOT [#f6892849]

>2001年になってから 5.22 というバージョンが出ています。
ftp://ftp.astro.caltech.edu/pub/pgplot/pgplot5.2.tar.gz
は
ftp://ftp.astro.caltech.edu/pub/pgplot/pgplot522.tar.gz
へのシンボリックリンクになっています。

** はじめに [#kd662b06]

PGPLOT は科学技術用グラフィックライブラリです。
フリーソフトです。
作者は Caltech の Tim Pearson さんです。
次のページから詳しい情報が得られます:

-[[PGPLOT Graphics Subroutine Library:http://www.astro.caltech.edu/~tjp/pgplot/]]

[FIXME]
以下はかなり前に書いたものです。
間違いがあったらご修正ください。

** インストール [#n588395f]

Linux(Vine 2.x 改)上でインストールしてみました。
あらかじめ gcc,g77 がインストールされていることを確かめておいてください
(Vine Linuxならg77は apt-get install gcc-g77 でインストール可能です)。


 cd /usr/local/src
 tar xvzf /ソースのある場所/pgplot5.2.tar.gz


/usr/local/src/pgplot というディレクトリができますが,
このディレクトリで make してはいけません。
別にインストールディレクトリ(たとえば /usr/local/pgplot)
を作成し,その中で次のような手順で make します。


 cd /usr/local
 mkdir pgplot
 cd pgplot
 cp /usr/local/src/pgplot/drivers.list .


ここで drivers.list をエディタで読み込み,
必要なドライバの頭の ! を外します。
! を外すとそのドライバが使えるようになります。
私は次のドライバを使えるようにしました。


-/GIF …… GIF
-/VGIF …… GIF(縦長)
-/PS …… PS
-/VPS …… PS(縦長)
-/CPS …… Color PS
-/VCPS …… Color PS(縦長)
-/XTERM …… xterm
-/XWINDOW …… X Window
-/XSERVE …… X Window(プログラムを終了しても絵が残る)


/XWINDOW と /XSERVE には次の違いがあります。


-/XWINDOW ではプログラムはグラフを描き終えると Enter
を押すように言ってきます。
Enter を押すとプログラムが終了し,グラフも消えます。
-/XSERVE ではプログラムはグラフを描き終えると勝手に終了し,
グラフは画面に残ったままになります。
次の PGPLOT を使うプログラムを起動すると,
さきほどのグラフの窓を再利用して描きます。
X Window は256色をいろいろなプログラム間で取り合う仕組みですので,
Netscape Communicator
のような色を多用するプログラムを起動した後では PGPLOT
の色が変になることがありますが,
Netscape Communicator より先に /XSERVE
を起動してしまえば,色が変になることを防げます。


実際のコンパイルは次のように行います。


 /usr/local/src/pgplot/makemake /usr/local/src/pgplot linux g77_gcc
 make
 make clean
 make cpg


PGPLOT を使う前に,次のように環境変数を設定しておきます。


 export PGPLOT_DIR=/usr/local/pgplot/
 export PGPLOT_DEV=/xserv
 export PGPLOT_FOREGROUND=black
 export PGPLOT_BACKGROUND=white
 export LD_LIBRARY_PATH=/usr/local/pgplot


/usr/local/pgplot ディレクトリに,
いくつかのデモプログラムが入ります。
いくつか実行してみましょう。
800x600 程度の画面では,はみ出してしまうので,
~/.Xdefaults に

 pgxwin.Win.geometry: 790x545+0+0

と書いて xrdb ~/.Xdefaults してから実行するといいでしょう。

>★
ここまで2001年9月6日に更新しました。後は未チェック。~
メーリングリストで出た話題:
 export LD_LIBRARY_PATH=/usr/local/pgplot
>が必要(あるいは /etc/ld.so.conf に /usr/local/pgplot と書いて ldconfig)。
 g77 -o pgdemo pgdemo1.f -L/usr/local/pgplot -lpgplot
>では駄目で -L/usr/X11R6/lib が必要。あと -fno-backslash も。


詳しいドキュメントは PGPLOT のホームページに HTML 形式であります。
各サブルーチンの詳しい仕様は /usr/local/pgplot/pgplot.doc
です。この HTML 版は,/usr/local/pgplot
ディレクトリで make pgplot.html
と打ち込むと生成されます。
同様に,LaTeX 版は make pgplot-routines.tex
と打ち込むと生成されます。

** C言語から PGPLOT を使う [#i0b3e44b]

次のようにしてコンパイルすればいいようです。


 gcc -Wall pgdemo3.c -lcpgplot -lpgplot -lf2c -lm -L/usr/X11R6/lib -lX11

また、f2cではなく

 g77 -Wall pgdemo3.c -lcpgplot -lpgplot -lm -L/usr/X11R6/lib -lX11

のようにg77でコンパイルする方法もあります(Vine Linux 3.0で確認)。


** 簡単な使い方 [#z007a743]

つぎのページが参考になるかもしれません。

http://www12.plala.or.jp/ksp/prog/pgplot/plot1.html
-[[グラフ・解析ツール PGPLOT:http://hooktail.org/computer/index.php?%A5%B0%A5%E9%A5%D5%A1%A6%B2%F2%C0%CF%A5%C4%A1%BC%A5%EB#tea2868a]]


** 図をLaTeXにインクルードするには [#x83d0f23]

PGPLOTを使うプログラムを起動するとドライバを聞いてきますが,
ここで/vps と答えると PostScript 形式で保存してくれます。

なお,PGPLOTの出力するPSファイルはBoundingBoxが最後に来る流儀です。
これを最初にするためには,
PGPLOT添付のpscapsというシェルスクリプトを使います。

 pscaps ファイル名

でBoundingBoxが最初に来る形式に直ります。

** (参考)WIP [#kc35ac30]

[[WIP:http://bima.astro.umd.edu/wip/]]
は PGPLOT の上に作られたユーザインターフェースです。
最新の wip2p2.tar.gz をいただいてきて,
インストールしてみました。

GNU の readline
ライブラリをあらかじめインストールしておくと行編集が可能になって便利です。
GNU をミラーしているところから readline-2.2.tar.gz
というファイルをもらってきて,次のようにしてインストールします。


 cd /usr/local/src
 tar xvzf /ソースのあるところ/readline-2.2.tar.gz
 cd readline-2.2


なお,たまたま私の持ってきたバージョンは,Makefile.in 206行目が

 -$(MV) $(libdir)/libreadline.a $(libdir)/libhistory.old

となっていましたが,これは

 -$(MV) $(libdir)/libhistory.a $(libdir)/libhistory.old

の間違いですね。直してから次に進みましょう。


 ./configure
 make
 make install
 cd /usr/local/lib


また,WIP のインストールスクリプトは f77
というコマンドを使おうとするので,f77 で g77
が起動するようにしておきます。


 ln -s /usr/bin/g77 /usr/local/bin/f77


いよいよ WIP のインストールです。


 cd /usr/local/src
 tar xvzf /ソースのある場所/wip2p2.tar.gz
 cd wip
 makewip -pgplot /usr/local/pgplot -lib /usr/local/lib -bin /usr/local/bin -xlib /usr/X11R6/lib -readline /usr/local/lib -cc "gcc -ansi"


PS 形式のマニュアルは doc/wip.ps.gz です。
あるいは doc/Examples の中で gunzip *.gz
してから doc/wip.dvi を xdvi などで見るのもいいでしょう。

WIP は便利そうですが,プログラミングの得意な人は,
PGPLOT をそのまま使う方が何かと便利そうです。