PGplot is a Fortran Library (it means you need to write a program and link to this library, unless one use WIP) and has long history, it is very suitable for plot 2D graphic with additional labels, symbols, arrow, etc. It can be called by C and other languages, and it can install on many systems, some systems (for example SuSE 10.3, MacOSX Tiger )use the new gcc4.0 compiler, so use "gfortran" replace "g77". If you like C may be can refer to plplot.
# Install PGplot
## MacOSX
### Fink
INSTALL FINK
fink selfupdate
fink update-all
fink install pgplot
### Macport
INSTALL Macport
sudo port selfupdate
sudo port upgrade outdated
sudo port install pgplot
## Linux ubuntu (debian)
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install pgplot
## Linux g77
1/ Get the source tar file from
http://astro.caltech.edu/~tjp/pgplot/
2/ Execute the following, as super-user (su) :
cp pgplot5.2.tar.gz /usr/local/src
cd /usr/local/src # directory for the sources
tar -zxvf pgplot5.2.tar.gz
cd pgplot
mkdir /usr/local/pgplot # create the directory for the binaries and font files
cd !$
cp /usr/local/src/pgplot/drivers.list .
emacs (or vi) drivers.list & # select (by removing the ! sign) the drivers to be
# used for pgplot outputs: typically:
# PNDRIV 1,2 : PNG figures (requires that the
# package libpng3-devel or an equivalent one is
# installed on your system)
# PSDRIV 1,2,3,4 : EPS figures
# XWDRIV 1,2 : X-window output (requires that the
# package libxorg-x11-devel or an equivalent one
# is installed on your system)
# ----- Optional part : to increase the number of simultaneous devices -------
# from 8 to 32
/usr/local/src/pgplot/makemake /usr/local/src/pgplot linux g77_gcc
make
make clean
make cpg
vi ~/.bashrc
# if bash shell:
PGPLOT_DIR=/usr/local/pgplot/
export PGPLOT_DIR
PGPLOT_DEV=/xwin # prefered output device, an alternative is /xserve
export PGPLOT_DEV
cd /usr/local/pgplot
./pgdemo1
/xw(should be default)
/PS
/GIF
================================================================
## Linux gfortran
2/ Execute the following, as super-user (su) :
cp pgplot5.2.tar.gz /usr/local/src
cd /usr/local/src # directory for the sources
tar -zxvf pgplot5.2.tar.gz
cd pgplot
mkdir /usr/local/pgplot # create the directory for the binaries and font files
cd !$
cp /usr/local/src/pgplot/drivers.list .
emacs (or vi) drivers.list & # select (by removing the ! sign) the drivers to be
# used for pgplot outputs: typically:
# PNDRIV 1,2 : PNG figures (requires that the
# package libpng3-devel or an equivalent one is
# installed on your system)
# PSDRIV 1,2,3,4 : EPS figures
# XWDRIV 1,2 : X-window output (requires that the
# package libxorg-x11-devel or an equivalent one
# is installed on your system)
# ----- Optional part : to increase the number of simultaneous devices -------
# from 8 to 32
cd /usr/local/src/pgplot/src
cp grpckg1.inc grpckg1.inc_backup # to keep a copy of the original source file
cp pgplot.inc pgplot.inc_backup #
emacs (or vi) grpckg1.inc & # Replace " PARAMETER (GRIMAX = 8) " in line 29
# by " PARAMETER (GRIMAX = 32) "
emacs (or vi) pgplot.inc & # Replace " PARAMETER (PGMAXD=8) " in line 7
# by " PARAMETER (PGMAXD=32) "
cd /usr/local/pgplot
# ---------------------- End of optional part ---------------------------------
/usr/local/src/pgplot/makemake /usr/local/src/pgplot linux g77_gcc # prepares
# the makefile for linux system + gcc compiler
# ---------------- Special treatment for gcc 4.0 (or above) ------------------
#
# If you are using the gcc 4.0 (or above) compilers (i.e. gfortran instead
# of g77), perform the following:
emacs(or vi) makefile & # Replace "FCOMPL=g77" in line 25
# by "FCOMPL=gfortran"
#
# Replace "FFLAGC=-u -Wall -fPIC -O" in line 26
# by "FFLAGC=-ffixed-form -ffixed-line-length-none -u -Wall -fPIC -O"
# ---------------- End of special treatment for gcc 4.0 ----------------------
emacs (or vi) makefile & # Go to line 880 and replace
# "pndriv.o : ./png.h ./pngconf.h ./zlib.h ./zconf.h"
# by "pndriv.o : "
make # compiles the Fortran part
make cpg # compiles the C part (binding to Fortran)
emacs (or vi) /usr/local/src/pgplot/makehtml & # this file needs to be edited to
# replace the first line by
# #!/usr/bin/perl
make pgplot.html # produces the html documentation
make clean
cd /usr/local/lib # libraries for local installations
ln -s /usr/local/pgplot/libpgplot.a libpgplot.a # F77 static library
ln -s /usr/local/pgplot/libcpgplot.a libcpgplot.a # C static library
cp /usr/local/pgplot/libpgplot.so . # dynamic (runtine) library
emacs /etc/ld.so.conf & # edit this file to add the line /usr/local/lib
/sbin/ldconfig -v # updates the path for runtime libraries
ln -s /usr/local/pgplot/cpgplot.h /usr/local/include/cpgplot.h
3/ Each end user should type (or put in his .bashrc or .tcshrc file):
# if csh or tcsh shells:
setenv PGPLOT_DIR /usr/local/pgplot/
setenv PGPLOT_DEV /xwin # prefered output device, an alternative is /xserve
# if bash shell:
PGPLOT_DIR=/usr/local/pgplot/
export PGPLOT_DIR
PGPLOT_DEV=/xwin # prefered output device, an alternative is /xserve
export PGPLOT_DEV
cd /usr/local/pgplot
./pgdemo1 # it should work !
============================================================
It also can be install on openbsd, opensolar-x86 netbsd