PGPLOT Version 5.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.

-------------------------------------------------------------------------------
Tim Pearson, California Institute of Technology, tjp@astro.caltech.edu
Copyright © 1995 California Institute of Technology
