| ★ wanayoo — archive 1999 http://www.gnu.org/software/plotutils/plotutils.html | Nouvelle recherche | Portail wanayoo |
plotutils Package
The GNU plotutils package contains software for both
programmers and technically oriented users. Its centerpiece is
libplot/libplotter, a powerful C/C++ function library for
exporting 2-D vector graphics in many file formats. It can also do
vector graphics animations. Besides libplot/libplotter, the
package contains command-line programs for plotting scientific data.
The current version of the package is 2.3, released October 1999. It can be installed on GNU/Linux, FreeBSD, and Unix systems.
| |
The libplot library, and applications built on it, can
now export graphics files in
WebCGM format.
WebCGM is a format for 2-D vector graphics that has been recommended by
the Graphics Activity of the W3 Consortium. |
| |
The libplot library is now equipped with thread-safe APIs (application programming interfaces). The use of Posix threads, if available, is supported. |
The plotutils package comes with a 165-page manual. Here is
an older version of the manual.
The package is free software. The source code for the package is distributed as a gzipped tar file, 3.1 megabytes in size. Here is information on obtaining the source code.
What command-line programs does the package contain?
It includes
graph, which plots 2-D datasets or data streams
in real time. Being designed for command-line
use, it can be used in shell scripts. It produces output on an
X Window System display, in
PNM format, in pseudo-GIF format,
in WebCGM format, in
Illustrator format,
in Postscript format,
in PCL 5 format,
in HP-GL/2 format, in
Fig format
(editable
with the xfig
drawing editor), in Tektronix format, or in GNU
Metafile format. Output in Postscript format
may be edited with the idraw drawing editor.
idraw is available in the
ivtools package
from Vectaport, Inc.
Both xfig and idraw are free software.
plot, which translates GNU Metafile format
to any of the other formats.
tek2plot, for translating legacy Tektronix
data to any of the above formats.
pic2plot, for translating the pic
language (a scripting language for designing box-and-arrow diagrams)
to any of the above formats. The pic language was designed at
Bell Laboratories as an add-on to the troff text formatter.
The
troff Resources Page has more information
on pic.
plotfont, for displaying character maps of the
fonts that are available in the above formats.
spline, which does spline
interpolation of data. It normally uses either cubic spline
interpolation or exponential splines in tension, but it
can function as a real-time filter under some circumstances.
ode, which numerically integrates a system
consisting of one or more
ordinary differential equations.
graph, plot, and spline. The GNU
versions are far more powerful, and are free software.
What graphics library does the package contain?
GNU libplot, a C/C++ function library for device-independent
2-D vector graphics. GNU libplot is compatible with the
traditional Unix libplot library, but is far more powerful.
It is installed as part of the package. On systems that support
shared libraries, it is installed as a shared library. A C++ class
library called libplotter, which provides an object-oriented
interface to libplot's functionality, is optionally installed
as well.
GNU libplot and libplotter support all the
output formats mentioned above (X11,
PNM, pseudo-GIF,
WebCGM,
Illustrator format,
idraw-editable Postscript, PCL 5,
Fig format,
HP-GL/2, Tektronix, and GNU Metafile). They can produce
animated pseudo-GIFs, and smooth,
double-buffered animations on any X Window System
display. The libplot/libplotter imaging model is similar to Postscript's.
In any output format, they can draw the
following.
xfig drivers support the 35 standard Postscript fonts, and the
Illustrator format, PCL 5 and
HP-GL/2 drivers support the 45 standard PCL 5 fonts. All drivers
support a set of 22 Hershey vector fonts.
This includes HersheyCyrillic, a Russian font that uses the KOI8-R encoding, and
HersheyEUC, a Japanese font that uses the 8-bit EUC-JP encoding. Japanese text
strings may include both syllabic characters (Hiragana and Katakana) and
ideographic characters (Kanji). A library of over 600 Kanji is
built in. When using libplot or libplotter, a programmer draws
vector graphics in a `user frame', rather than in the device frame. As in
Postscript, the user frame may be transformed into the device frame by an
arbitrary affine map. Scaling, rotation, shearing, and translation are all
supported.
Does the package really produce GIF files?
Even though the plotutils package can produce what appear to be
GIFs and animated GIFs, it does not transgress the patents covering the LZW
compression algorithm. The reason is that instead of LZW encoding, it uses
run-length encoding, which is not patentable. To avoid confusion,
we call the files produced by the package `pseudo-GIF files'.
What related contributed software is available?
A simple piechart plotting program that illustrates the use of GNU
libplot is available here.
It was contributed by Bernhard Reiter.
Also, Juergen Pfeifer has
developed an Ada95 binding for libplot. Mike
Miller has developed a SWIG wrapper
for libplot, which lets libplot functions be called from
Python. It is available here. Recently,
Piotr Klaban has developed
a Perl module
for libplot.
Who developed the plotutils package?
The two primary authors of the plotutils package are Robert Maier and Nick Tufillaro (who developed
ode). Many other people contributed, however. The rasterization
code used by the PNM and pseudo-GIF drivers,
which is distributed as a
separate package,
is based on the vector
graphics code in the sample X Window System server.
Visit the Scientific Applications on Linux page, the Linux Software Encyclopedia page, and the Linux Applications and Utilities page. (Unfortunately, these pages refer to GNU/Linux as ``Linux''.)
Return to GNU's home page.
Please send FSF & GNU inquiries & questions to gnu@gnu.org. There are also other ways to contact the FSF.
Please send comments on these web pages to webmasters@www.gnu.org, send other questions to gnu@gnu.org.
Copyright (C) 1999 Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
Updated: 11 Dec 1999 jonas