绘图软件


pgplot

pgplot是在国际天文界得到广泛使用的绘图软件包, 是由Caltech的Tim Pearson开发的, 能够绘制各种图形和标记数学符号 与特殊符号, 对于图象则可以显示三维曲面, 等高线图, 灰度图和伪彩色图等. 其源程序为 pgplot5_2_tar.gz(1.2MB).

pgplot主要是用FORTRAN语言编写的, 需要编程序来调用绘图功能. 对FORTRAN程序 需用如下命令来编译(源程序为xxx.f, 编译后的可执行程序为xxx):

f77 -o xxx xxx.f -L/usr/local/lib/pgplot -lpgplot -lX11 -lm 对于C语言的程序, 需要在程序头上加上"#include<cpgplot.h>", 然后用下面的命令进行编译: cc -c xxx.c -I/usr/local/lib/pgplot
f77 -o xxx xxx.o -L/usr/local/lib/pgplot -lcpgplot -lpgplot -lX11 -lm
对编译好的程序, 在运行前需设置pgplot的路径(在csh下): setenv PGPLOT_PATH /usr/local/lib/pgplot 然后再执行程序.

详细的说明参看pgplot文档以及老版本的PS手册 old_manual.ps.gz.

pgperl

pgperl使用Internet上十分流行的perl语言来调用pgplot的绘图程序, 可以避免编程的麻烦, 并能够作为CGI程序实时地生成GIF文件. pgperl需要先安装pgplot并具有perl语言环境. 其源程序为 PGPLOT-2_16_tar.gz(48KB), 可能还需要perl 下的F77模块 ExtUtils-F77-1.12.tar.gz(7KB).

pgperl的用法可参看pgperl简要说明, 它所用的绘图函数与 pgplot完全相同. 该软件是由AAO的Karl Glazebrook开发的.

wip

wip是在pgplot的基础上完全实现了交互式绘图, 如同下面的sm一样, 简化了pgplot的使用. 它也需要先安装pgplot, 其源程序为wip2p3_tar.gz(1.4MB), 可能还需要libf2c.tar.gz(72KB).

wip的使用详见wip文档或PS文件 wip.ps.gz(412KB). 该软件是由James Morgan开发的.

sm

sm是在天文界广泛使用的交互式绘图软件, 可以绘制各种图形和标记符号, 对图象可以生成等高线图. 其源程序为sm-2.3.1.tar.gz(767KB), 它实际上 是个共享软件, 是由Robert Lupton和Patricia Monger开发的.

运行sm需要先用.sm文件设置运行环境, 例如:

cp /usr/local/lib/sm/unix.sm ~/.sm 具体内容参看PS文档sm.ps.gz(350KB).

也可以使用程序调用sm的绘图函数, 这些函数是在交互式命令前加上sm_即可. C语言程序需在开头加上#include<sm_declare.h>. 编译命令为:

cc -o xxx xxx.c -I/usr/local/include -L/usr/local/lib -lplotsub -ldevices -lutils -lX11 -lm
f77 -o xxx xxx.f -I/usr/local/include -L/usr/local/lib -lplotsub -ldevices -lutils -lX11 -lm

gnuplot

gnuplot是随GNU一起分发的自由软件, 交互式地绘出图形, 对图象则绘出三维曲面或等高线图. 例如将data.txt中的数据绘成曲线, 只要在gnuplot下输入如下命令即可:

plot 'data.txt' using 1:2 with lines 详细用法参考gnuplot文档或PS手册 gnuplot.ps.gz(239KB)和命令参考 gpcard.ps.gz(47KB).

可以利用Unix的"管道"特色来实现从程序中调用gnuplot, 例如 Chart-GnuPlot-0_02_tar.tar.gz(9KB) 提供从perl语言中调用gnuplot来实时地生成GIF图象, 而 gnuplot_pipes_tar.gz(8KB)提供了从C语言中 调用gnuplot的例子.