plot
Programplot
The GNU plot filter plot
displays GNU graphics metafiles or
translates them to other formats. It will take input from files
specified on the command line or from standard input. The `-T'
option is used to specify the desired output format. Supported output
formats include "X", "pnm", "gif", "ai", "ps", "fig", "pcl", "hpgl",
"tek", and "meta" (the default).
The metafile format is a device-independent format for storage of vector
graphics. By default, it is a binary rather than a human-readable
format (see section The Graphics Metafile Format). Each of the graph
, pic2plot
,
tek2plot
, and plotfont
utilities will write a graphics
metafile to standard output if no `-T' option is specified on its
command line. The libplot
graphics library may also be used to
produce metafiles. Metafiles may contain arbitrarily many pages of
graphics, but each metafile produced by graph
contains only a
single page.
plot
, like the metafile format itself, is useful if you wish to
preserve a vector graphics file, and display or edit it with more than
one drawing editor. The following example shows how you may do this.
To produce a plot of data arranged as alternating x and y
coordinates in an ASCII file, you may use graph
as follows:
graph < ascii_data_file > test.meta
The file `test.meta' will be a single-page graphics metafile. Similarly, to create in metafile format a plot consisting of a simple figure, you may do:
echo 0 0 1 1 2 0 | spline | graph > test.meta
To display any such plot on an X Window System display, you would do
plot -T X test.meta
or
plot -T X < test.meta
To print the plot on a Postscript printer, you would do something like
plot -T ps < test.meta | lpr
To edit it with the free idraw
drawing editor, you would do
plot -T ps < test.meta > test.ps idraw test.ps
To produce a "portable anymap" (a file in PBM, PGM, or PPM format, whichever is most appropriate) you would do
plot -T pnm < test.meta > test.pnm
and to produce a pseudo-GIF file, you would do
plot -T gif < test.meta > test.gif
Similarly, to produce a version of the plot that can be edited with Adobe Illustrator, you would do
plot -T ai < test.meta > test.ai
and to produce a version that can be edited with the free xfig
drawing editor, you would do
plot -T fig < test.meta > test.fig xfig test.fig
Other formats may be obtained by using plot -T pcl
, plot -T
hpgl
, and plot -T tek
.
plot
may behave differently depending on the environment in which
it is invoked. In particular, plot -T ai
, plot -T ps
,
plot -T fig
, plot -T pcl
, and plot -T hpgl
are
affected by the environment variable PAGESIZE
. plot -T
X
, plot -T pnm
, and plot -T gif
are affected by the
environment variable BITMAPSIZE
. The DISPLAY
environment
variable affects the operation of plot -T X
, and the
TERM
environment variable affects the operation of plot -T
tek
. There are also several environment variables that affect the
operation of plot -T pcl
and plot -T hpgl
. For a complete
discussion of the effects of the environment on plot
, see
section Environment variables.
plot
command-line options
The plot filter plot
translates GNU graphics metafiles to other
formats. The `-T' option is used to specify the output format or
display type. Files in metafile format are produced by GNU
graph
, pic2plot
, tek2plot
, plotfont
, and
other applications that use the GNU libplot
graphics library.
For technical details on the metafile format, see section The Graphics Metafile Format.
Input file names may be specified anywhere on the command line. That is, the relative order of file names and command-line options does not matter. If no file names are specified, or the file name `-' is specified, the standard input is read. The output file is written to standard output, unless the `-T X' option is specified. In that case the output is displayed in a window or windows on an X Window System display, and there is no output file.
The full set of command-line options is listed below. There are four sorts of option:
plot
, i.e., relevant only if no
display type or output format is specified with the `-T' option.
Each option that takes an argument is followed, in parentheses, by the type and default value of the argument.
The following options set the values of drawing parameters.
idraw
-editable Postscript, the format used by the xfig
drawing editor, the Hewlett--Packard PCL 5 printer language, the
Hewlett--Packard Graphics Language (by default, HP-GL/2), Tektronix
format, and device-independent GNU graphics metafile format.
plot -T
X
or plot -T tek
, which plot in real time, will separate
successive frames by screen erasures. plot -T pnm
, plot -T
gif
, plot -T ai
, plot -T ps
, plot -T fig
,
plot -T pcl
, and plot -T hpgl
, which do not plot in real
time, will display only the last frame of any multi-frame page.
The default behavior, if `-p' is not used, is to display all pages.
For example, plot -T X
displays each page in its own X
window. If the `-T pnm' option, the `-T gif' option, the
`-T ai' option, or the `-T fig' option is used, the default
behavior is to display only the first page, since files in PNM,
pseudo-GIF, AI, or Fig format may contain only a single page of
graphics.
Most metafiles produced by the GNU plotting utilities (e.g., by raw
graph
) contain only a single page, consisting of two frames: an
empty one to clear the display, and a second one containing graphics.
graph
. This is an
alternative form of multiplotting (see section Multiplotting: placing multiple plots on a single page).
plot -T X
,
plot -T pnm
, and plot -T gif
, for which the graphics
display size can be expressed in terms of pixels. The environment
variable BITMAPSIZE
can equally well be used to specify the size.
For backward compatibility, the X resource Xplot.geometry
,
which can be set by the user, may be used to set the window size,
instead of `--bitmap-size' or BITMAPSIZE
.
MAX_LINE_LENGTH
can also be used to specify the maximum line length. This option has no
effect on plot -T tek
or raw plot
, since they draw
polylines in real time and have no buffer limitations.
plot -T ai
,
plot -T ps
, plot -T fig
, plot -T pcl
, and
plot -T hpgl
. "letter" means an 8.5in by 11in page.
Any ISO page size in the range "a0"..."a4" or ANSI page size in the
range "a"..."e" may be specified ("letter" is an alias for "a"
and "tabloid" is an alias for "b"). "legal", "ledger", and "b5"
are recognized page sizes also. The environment variable
PAGESIZE
can equally well be used to specify the page size.
For plot -T ai
and plot -T ps
, the graphics display within
which the plot is drawn will be a square region centered on the
specified page, occupying its full width (with allowance being made for
margins). For plot -T fig
, it will be a square region located of
the same size, located in the upper left corner of an xfig
display. For plot -T pcl
and plot -T hpgl
, the graphics
display will be a square region of the same size, but may be positioned
differently. Fine control over its positioning on the page may be
accomplished by setting certain environment variables (see section Environment variables).
The following options set the initial values of additional drawing parameters. All of these may be overridden by directives in the metafile itself. In fact, these options are useful mostly for plotting old metafiles in the pre-GNU `plot(5)' format, which did not include such directives.
plot -T X
,
plot -T pnm
, and plot -T gif
. An unrecognized name
sets the color to the default. For information on what names are
recognized, see section Specifying Colors by Name. The environment variable
BG_COLOR
can equally well be used to specify the background
color.
If the `-T gif' option is used, a transparent pseudo-GIF may be
produced by setting the TRANSPARENT_COLOR
environment variable to
the name of the background color. See section Environment variables.
plot -T pnm
, plot
-T gif
, plot -T pcl
, plot -T hpgl
, plot -T tek
,
and raw plot
, for all of which "HersheySerif" is the default.)
Set the font initially used for text (i.e., for `labels') to
font_name. Font names are case-insensitive. If the specified
font is not available, the default font will be used. Which fonts are
available depends on which `-T' option is used. For a list of all
fonts, see section Available text fonts. The plotfont
utility will produce a
character map of any available font. See section The plotfont
Utility.
libplot
graphics library should be used. This is
usually 1/850 times the size of the display, although if `-T X',
`-T pnm', or -T gif
is specified, it is zero. By
convention, a zero-thickness line is the thinnest line that can be
drawn. This is the case in all output formats. Note, however, that the
drawing editors idraw
and xfig
treat zero-thickness lines
as invisible.
plot -T tek
does not support drawing lines with other than a
default thickness, and plot -T hpgl
does not support doing so
if the environment variable HPGL_VERSION
is set to a value less
than "2" (the default).
The following option is relevant only to raw plot
, i.e., relevant
only if no output type is specified with the `-T' option. In this
case plot
outputs a graphics metafile, which may be translated to
other formats by a second invocation of plot
.
META_PORTABLE
to "yes".
plot
will automatically determine which type of GNU metafile
format the input is in. There are two types: binary (the default)
and portable (human-readable). The binary format is machine-dependent.
See section The Graphics Metafile Format.
For compatibility with older plotting software, the reading of input files in the pre-GNU `plot(5)' format is also supported. This is normally a binary format, with each integer in the metafile represented as a pair of bytes. The order of the two bytes is machine dependent. You may specify that input file(s) are in plot(5) format rather than ordinary GNU metafile format by using either the `-h' option ("high byte first") or the `-l' option ("low byte first"), whichever is appropriate. Some non-GNU systems support an ASCII (human-readable) variant of plot(5) format. You may specify that the input is in this format by using the `-A' option. Irrespective of the variant, a file in plot(5) format includes only one page of graphics.
The following options request information.
plot -T X
, plot -T ai
, plot -T ps
,
and plot -T fig
each support the 35 standard Postscript fonts.
plot -T ai
, plot -T pcl
, and plot -T hpgl
support the 45 standard PCL 5 fonts, and plot -T pcl
and
plot -T hpgl
support a number of Hewlett--Packard vector fonts.
All of the preceding, together with plot -T pnm
, plot -T
gif
, and plot -T tek
, support a set of 22 Hershey vector fonts.
Raw plot
in principle supports any of these fonts, since its
output must be translated to other formats with plot
. The
plotfont
utility will produce a character map of any available
font. See section The plotfont
Utility.
plot
and the plotting utilities
package, and exit.
The behavior of plot
is affected by several environment
variables. We have already mentioned the environment variables
BITMAPSIZE
, PAGESIZE
, BG_COLOR
, and
MAX_LINE_LENGTH
. They serve as backups for the options
`--bitmap-size', `--page-size', `--bg-color', and
`--max-line-length'. The remaining environment variables are
specific to individual output formats.
plot -T X
, which pops up a window on an X Window System
display and draws graphics in it, checks the DISPLAY
environment variable. The value of this variable determines the display
on which the window will be popped up.
plot -T pnm
, which produces output in Portable Anymap
(PBM/PGM/PPM) format, is affected by the PNM_PORTABLE
environment
variable. If its value is "yes", the output file will be in the
portable (human readable) version of PBM, PGM, or PPM format, rather
than the default (binary) version.
plot -T gif
, which produces output in pseudo-GIF format, is
affected by two environment variables. If the value of the
INTERLACE
variable is "yes", the pseudo-GIF output file will be
in interlaced format. Also, if the value of the
TRANSPARENT_COLOR
environment variable is the name of a color
that appears in the output file, that color will be treated as
transparent by most applications that read GIF files. For information
on what color names are recognized, see section Specifying Colors by Name.
plot -T pcl
, which produces PCL 5 output for Hewlett--Packard
printers and plotters, is affected by several environment variables.
The position of the graphics display on the page can be adjusted by
setting the PCL_XOFFSET
and PCL_YOFFSET
environment
variables, which may be specified in centimeters, millimeters, or
inches. For example, an offset could be specified as "2cm" or "1.2in".
Also, the display can be rotated 90 degrees counterclockwise on the
page by setting the PCL_ROTATE
environment variable to "yes".
Besides "no" and "yes", recognized values for this variable are "0",
"90", "180", and "270". "no" and "yes" are equivalent to "0"
and "90", respectively.
The variable PCL_ASSIGN_COLORS
is also recognized. It should be
set to "yes" when producing PCL 5 output for a color printer or
other color device. This will ensure accurate color reproduction by
giving the output device complete freedom in assigning colors,
internally, to its "logical pens". If it is "no" then the device will
use a fixed set of colored pens, and will emulate other colors by
shading. The default is "no" because monochrome PCL 5 devices,
which are much more common than colored ones, must use shading to
emulate color.
plot -T hpgl
, which produces Hewlett--Packard Graphics Language
output, is also affected by several environment variables. The most
important is HPGL_VERSION
, which may be set to "1", "1.5", or
"2" (the default). "1" means that the output should be generic
HP-GL, "1.5" means that the output should be suitable for the
HP7550A graphics plotter and the HP758x, HP7595A and HP7596A drafting
plotters (HP-GL with some HP-GL/2 extensions), and "2" means that
the output should be modern HP-GL/2. If the version is "1" or
"1.5" then the only available fonts will be vector fonts, and all lines
will be drawn with a default thickness (the `-W' option will not
work). Additionally, if the version is "1" then the filling of
arbitrary curves with solid color will not be supported (circles and
rectangles aligned with the coordinate axes may be filled, though).
The position of the plot -T hpgl
graphics display on the page can
be adjusted by setting the HPGL_XOFFSET
and HPGL_YOFFSET
environment variables, which may be specified in centimeters,
millimeters, or inches. For example, an offset could be specified as
"2cm" or "1.2in". Also, the display can be rotated 90 degrees
counterclockwise on the page by setting the HPGL_ROTATE
environment variable to "yes". Besides "no" and "yes", recognized
values for this variable are "0", "90", "180", and "270". "no"
and "yes" are equivalent to "0" and "90", respectively. "180" and
"270" are supported only if HPGL_VERSION
is "2" (the
default).
Opaque filling and the drawing of visible white lines are
supported only if HPGL_VERSION
is "2" (the default) and the
environment variable HPGL_OPAQUE_MODE
is "yes" (the default).
If the value is "no" then opaque filling will not be used, and white
lines (if any), which are normally drawn with pen #0, will not
be drawn. This feature is to accommodate older HP-GL/2 devices.
HP-GL/2 pen plotters, for example, do not support opacity or the use
of pen #0 to draw visible white lines. Some older HP-GL/2 devices
reportedly malfunction if asked to draw opaque objects.
By default, plot -T hpgl
will draw with a fixed set of pens.
Which pens are present may be specified by setting the HPGL_PENS
environment variable. If HPGL_VERSION
is "1", the default
value of HPGL_PENS
is "1=black"; if HPGL_VERSION
is "1.5"
or "2", the default value of HPGL_PENS
is
"1=black:2=red:3=green:4=yellow:5=blue:6=magenta:7=cyan". The format
should be self-explanatory. By setting HPGL_PENS
, you may
specify a color for any pen in the range #1...#31. For information
on what color names are recognized, see section Specifying Colors by Name. Pen #1
must always be present, though it need not be black. Any other pen in
the range #1...#31 may be omitted.
If HPGL_VERSION
is "2" then plot -T hpgl
will also be
affected by the environment variable HPGL_ASSIGN_COLORS
. If
the value of this variable is "yes", then plot -T hpgl
will not
be restricted to the palette specified in HPGL_PENS
: it will
assign colors to "logical pens" in the range #1...#31, as
needed. The default value is "no" because other than color LaserJet
printers and DesignJet plotters, not many HP-GL/2 devices allow the
assignment of colors to logical pens.
plot -T tek
, which produces output for a Tektronix terminal or
emulator, checks the TERM
environment variable. If the value
of TERM
is "xterm", "xterms", or "kterm", it is taken as a
sign that the current application is running in an X Window System
VT100 terminal emulator: an xterm
. Before drawing graphics,
plot -T tek
will emit an escape sequence that causes the terminal
emulator's auxiliary Tektronix window, which is normally hidden, to
pop up. After the graphics are drawn, an escape sequence that
returns control to the original VT100 window will be emitted. The
Tektronix window will remain on the screen.
If the value of TERM
is "kermit", "ansi.sys", "ansissys",
"ansi.sysk", or "ansisysk", it is taken as a sign that the current
application is running in the VT100 terminal emulator provided by the
MS-DOS version of kermit
. Before drawing graphics, plot -T
tek
will emit an escape sequence that switches the terminal emulator to
Tektronix mode. Also, some of the Tektronix control codes emitted by
plot -T tek
will be kermit
-specific. There will be a
limited amount of color support, which is not normally the case (the 16
ansi.sys
colors will be supported). After drawing graphics,
plot -T tek
will emit an escape sequence that returns the
emulator to VT100 mode. The key sequence `ALT minus' can be
employed manually within kermit
to switch between the two modes.
Go to the first, previous, next, last section, table of contents.