PGPLOT


PGPLOT is a device-independent graphics subroutine library written starting in 1983 by Tim Pearson, a professor at Caltech. PGPLOT is written mostly in FORTRAN with a modular output API that allows output to several dozen types of plotting device. PGPLOT has been widely used in the academic and scientific communities, because it provides both low-level plotting primitives and also high-level facilities for drawing graphs. PGPLOT may be redistributed to third parties and modified, but only in binary form. Neither the original nor modified source code are allowed to be redistributed. The most recent version of PGPLOT is 5.2.2, released in February 2001, although third parties have written unofficial patches that include support for additional devices, 64 bit systems, and RGB plotting.
PGPLOT provides C and Fortran 77 interface. There are also several user-contributed bindings, such as C++, perl, python, ruby and tcl/tk.
PGPLOT includes device-independent output to many devices including several types of image file, graphics display terminals and plotters, PostScript devices, and X Window. Interactive devices can be used to deliver numeric parameters to the controlling program via a graphics cursor. It is known to run on many operating systems, including most Unix-like systems, Mac OS, and Microsoft Windows.
In part because of its age, PGPLOT has several limitations compared to newer packages such as PLplot. In particular, PGPLOT supports only 8-bit indexed color graphics, and not full RGB color; and there is no clean way to render graphics directly to an array in program memory. The library PG2PLplot has been developed to aid the transition from PGPlot to PLplot in Fortran programs.