Several of the GNU plotting utilities were inspired by Unix plotting
graph utility and various plot filters were present
in the first releases of Unix from Bell Laboratories, going at least
as far back as the Version 4 distribution (1973). The first
supported display device was a Tektronix 611 storage scope. Most of the
work on tying the plot filters together and breaking out
device-dependent versions of
libplot was performed by
By the time of Version 7 Unix (1979) and the subsequent Berkeley
releases, the package consisting of
spline, and several device-dependent versions of
was a standard Unix feature. Supported devices by the early 1980's
included Tektronix storage scopes, early graphics terminals,
200dpi electrostatic printer/plotters from Versatec and Varian,
and pen plotters from Hewlett–Packard.
In 1989, Rich Murphey wrote the first GNU
spline, and the
earliest documentation. Richard Stallman further directed development
of the programs and provided editorial support for the documentation.
John Interrante, then of the
InterViews team at Stanford, generously provided the
Postscript prologue now included in
libplot, and helpful
comments. The package as it stood in 1991 was distributed under the
name `GNU graphics'.
In 1995 Robert S. Maier took over
development of the package, and designed and wrote the current,
maximally device-independent, standalone version of
He also rewrote
graph from scratch, turning it into a real-time
filter that would use the new library. He fleshed out
too, by adding support for splines in tension, periodicity, and cubic
libplot now incorporates the X Window System code for
filling polygons and drawing wide polygonal lines and arcs. The code
is used when producing output in bitmap formats (e.g., PNG, PNM, and
pseudo-GIF). It was written by Brian Kelleher, Joel McCormack,
Todd Newman, Keith Packard, Robert Scheifler and Ken Whaley, who
worked for Digital Equipment Corp., MIT, and/or the X Consortium,
and is copyright © 1985–89 by the X Consortium.
Affinely transformed text strings are now generated and displayed by a
technique similar to that used by Alan Richardson in his
xvertext package, for displaying rotated strings.
The pseudo-GIF support now in
libplot uses the `miGIF'
run-length encoding routines developed by
der Maus and ivo which are
copyright © 1998 by Hutchison Avenue Software Corporation.
The copyright notice and permission notice for the miGIF routines are
distributed with the source code distribution of the plotting
Most development work on
ode was performed by
Nick Tufillaro in 1978–1994, on a sequence of
platforms that extended back to a PDP-11 running Version 4 Unix. In
1997 Robert Maier modified his 1994 version to agree with GNU
conventions on coding and command-line parsing, extended it to support
the full set of special functions supported by
extended the exception handling.
Many other people aided the development of the plotting utilities
package along the way. The Hershey vector fonts now in
are of course based on the characters digitized in the mid to late
1960's by Allen V. Hershey, who deserves a vote of thanks.
Additional characters and/or marker symbols were taken from the SLAC
Unified Graphics System developed by Robert C. Beach in the
mid-1970's, and from the fonts designed by
Thomas Wolff for Ghostscript. The
interpolation algorithms used in
spline are based on the
algorithms of Alan K. Cline, as
described in his papers in the Apr. 1974 issue of
Communications of the ACM. The table-driven parser used in
tek2plot was written at Berkeley in the mid-1980's by
Edward Moy. The `sagitta' algorithm used
in an extended form in
libplot for drawing circular and
elliptic arcs was developed by Peter Karow of URW and
Ken Turkowski of Apple.
Raymond Toy helped with the tick mark
spacing code in
graph and was the first to incorporate GNU
getopt. Arthur Smith, formerly of LASSP at Cornell, provided
code for his
xplot utility. Nelson Beebe exhaustively tested the package installation process.
Robert Maier wrote the documentation, which now incorporates Nick
ode manual. Julie Sussmann checked over the
documentation for style and clarity.