Several of the GNU plotting utilities were inspired by Unix plotting
utilities. A 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
Lorinda Cherry.
By the time of Version 7 Unix (1979) and the subsequent Berkeley
releases, the package consisting of graph
, plot
,
spline
, and several device-dependent versions of libplot
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
versions of graph
, plot
, and spline
, and the
earliest documentation. Richard Stallman further directed development
of the programs and provided editorial support for the documentation.
John Interrante, of the InterViews
team at Stanford, generously provided the idraw
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 Maier took over
development of the package, and designed and wrote the current,
maximally device-independent, standalone version of libplot
.
He also rewrote graph
from scratch, turning it into a real-time
filter that would use the new library. He fleshed out spline
too, by adding support for splines in tension, periodicity, and cubic
Bessel interpolation.
libplot
now incorporates the X Window System code for filling
polygons and drawing wide polygonal lines and arcs. This code is used
when producing output in bitmap formats (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 (C) 1985--89
by the X Consortium.
The pseudo-GIF support now in libplot
uses the `miGIF' run-length
encoding routines developed by
der Maus and
ivo, which are copyright (C) 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 utilities.
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 modified Nick's 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
gnuplot
, and extended the exception handling.
Many other people aided the development of the plotting utilities
package along the way. The Hershey vector fonts now in libplot
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 Karnow 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
Tufillaro's ode
manual. Julie Sussmann checked over the
documentation for style and clarity.
Go to the first, previous, next, last section, table of contents.