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