PGPLOT version 5.0.0
All changes are intended to be backwards-compatible: i.e.,
existing programs should run correctly when recompiled, and
recompilation should not be necessary. Some programs may give
slightly different results, owing to the bug fixes described
below.
New installation procedure
The installation procedure for UNIX systems has changed
substantially, to allow automatic generation of the makefile and
the device dispatch routine (grexec.f
).
New C binding
This release of PGPLOT includes an experimental C binding for calling PGPLOT from C programs.
It consists of two files, a header file cpgplot.h
that
should be included in C programs that call PGPLOT, and a
system-dependent wrapper library that encapsulates the
manipulations necessary to call Fortran subroutines from C programs
(e.g, converting C null-terminated char arrays to Fortran character
strings). The wrapper library requires an ANSI-compliant C
compiler, and is not available on all systems (interlanguage calls
are very difficult or impossible on some systems).
Changes to device drivers
- PostScript: the PostScript device
driver (device types /PS, /VPS, /CPS, and /VCPS) has been changed
to handle the new PGIMAG
routine. Use /CPS or /VCPS for color images. One side-effect is
that the monochrome types (/PS and /VPS) now honor color
representation changes requested by PGSCR, although they substitute a grey
level for the requested color.
- X-Window: the X-Window driver has had
major changes to speed it up, make it more portable, and add new
features. The window is now resizable, and it is possible to
specify that it stay up after the PGPLOT program exits. The driver
provides support for the new cursor features in PGBAND. The number of colors reserved
and the default placement of the window can be specified in X
resources.
- GIF (Graphics Interchange Format): a
new driver to create GIF files (type /GIF or /VGIF).
- PPM (Portable Pixmap): a new driver
to create PPM files (type /PPM or /VPPM).
- Many of the other drivers have been cleaned up to make them
more portable.
New routines
For details of all the PGPLOT routines, see file pgplot.doc or
pgplot.html that the installation
procedures puts in the pgplot directory. The file pgplot.html can
be viewed with Mosaic (e.g., Mosaic
/usr/local/pgplot/pgplot.html
).
- PGSCIR, PGQCIR: set/query the range of color
indices used by routines
PGGRAY and PGIMAG.
- PGERAS: erase screen
without advancing to new page.
- PGCONL: for labelling
contours drawn with
PGCONT.
- PGBAND: new cursor
routine, with many more features than PGCURS including cross-hairs and
rubber-bands (on devices that support this; currently only
X-window).
- PGIMAG: new routine (like
PGGRAY) for color
images.
- PGCTAB: for generating a
color table for use with
PGIMAG.
- PGSITF/PGQITF: set/query the image transfer
function used by routines
PGGRAY and PGIMAG.
- PGPANL: to move to a
different panel when the view surface has been divided into panels
with PGBEG or PGSUBP.
The pgdem* programs in pgplot/examples have been enhanced to
demonstrate the new routines, and there are new demos programs
(10--12).
Enhanced routines
- PGBOX: new options for
forcing decimal or exponential labeling.
- PGBEG (PGBEGIN): now
parses device specifications differently, so that file names
including slash characters do not need to be quoted.
- PGCONX: contours are now
traced in a consistent direction (clockwise or anticlockwise).
- PGGRAY: enhanced to allow
use of linear, log, or square-root mapping of array value onto
image brightness (see
PGSITF).
- PGPIXL: new algorithm
makes smaller PS files that print faster.
- PGPAGE: no longer beeps
when prompting for next page.
Bugs fixed
- PGNUMB: the FORM argument
was ignored, but is now used as documented.
- PGPAP (PGPAPER) was boken
in 4.9H; it now works as documented, and can be used to change size
between pages.
- PGQCR: now works as
advertised (on most devices).
- Calling PGSCR before
starting a new page (or defining PGPLOT_BACKGROUND or
PGPLOT_FOREGROUND) no longer creates a blank page in the graphics
file.
- Filled polygons are now correctly clipped against the window on
all devices; formerly they were not clipped on PostScript and
X-Window devices.
- The unit of line-width in
PGSLW is now 0.005 inch on all devices.
- Sometimes markers centered exactly on the edge of the window
were not drawn when they should have been.