PLOT(1) FSF PLOT(1)
GNU Plotting Utilities GNU Plotting Utilities
Jun 2000
NAME
plot - translate GNU metafiles to other graphics formats
SYNOPSIS
plot [ options ] [ files ]
DESCRIPTION
plot translates files in GNU metafile format to other graphics
formats, or displays them on an X Window System display. GNU metafile
format is a device-independent format for the storage of graphic data.
It is the default output format of the programs graph(1), pic2plot(1),
tek2plot(1), and plotfont(1), and is further documented in plot(5),
since it is an enhanced version of the traditional plot(5) format
found on non-GNU systems. It can also be produced by the GNU libplot
2-D graphics export library (see plot(3)). The output format is
specified with the -T option. The possible output formats and display
types are the same as those supported by graph(1), plotfont(1),
pic2plot(1), and tek2plot(1). If an output file is produced, it is
written to standard output. Options and file names may be
interspersed on the command line, but the options are processed before
the file names are read. If -- is seen, it is interpreted as the end
of the options. If no file names are specified, or the file name - is
encountered, the standard input is read.
OPTIONS
General Options
-T type
--output-format type
Select type as the output format. It may be "X", "png", "pnm",
"gif", "svg", "ai", "ps", "cgm", "fig", "pcl", "hpgl", "regis",
"tek", or "meta" (the default). These refer respectively to the
X Window System, PNG (Portable Network Graphics) format, portable
anymap format (PBM/PGM/PPM), a pseudo-GIF format that does not
use LZW encoding, the new XML-based Scalable Vector Graphics
format, the format used by Adobe Illustrator, Postscript or
Encapsulated Postscript (EPS) that can be edited with idraw(1),
CGM format (by default, confirming to the WebCGM profile), the
format used by the xfig(1) drawing editor, the Hewlett-Packard
PCL 5 printer language, the Hewlett-Packard Graphics Language,
ReGIS graphics format (which can be displayed by the dxterm(1)
terminal emulator or by a VT330 or VT340 terminal), Tektronix
format (which can be displayed by the xterm(1) terminal
emulator), and device-independent GNU metafile format itself.
Unless type is "X", an output file is produced and written to
standard output.
Omitting the -T option is equivalent to specifying -T meta.
Translating from metafile format to itself is occasionally
useful, since there are two versions of metafile format (see the
- 1 - Formatted: November 2, 2025
PLOT(1) FSF PLOT(1)
GNU Plotting Utilities GNU Plotting Utilities
Jun 2000
-O option below).
A listing of the fonts available in any specified output format
may be obtained with the --help-fonts option (see below). If a
requested font is unavailable, a default font will be
substituted. The default font is "Helvetica" for "X", "svg",
"ai", "ps", "cgm", and "fig", "Univers" for "pcl", and
"HersheySerif" for "png", "pnm", "gif", "hpgl", "regis", "tek",
and "meta".
-p n
--page-number n
Output only page number n, within the metafile or sequence of
metafiles that is being translated.
Metafiles may consist of one or more pages, numbered beginning
with 1. Also, each page may contain multiple `frames'. plot -T
X, plot -T regis, and plot -T tek, which plot in real time, will
separate successive frames by screen erasures. plot -T png, plot
-T pnm, plot -T gif, plot -T svg, plot -T ai, plot -T ps, plot -T
cgm, plot -T fig, plot -T pcl, and plot -T hpgl, which do not
plot in real time, will output only the last frame of any multi-
frame page.
The default behavior, if -p is not used, is to output all pages.
For example, plot -T X displays each page in its own X window.
If the -T png, -T pnm, -T gif, -T ai, or -T fig option is used,
the default behavior is to output only the first nonempty page,
since files in those output formats contain only a single page of
graphics.
Metafiles produced by graph(1) and plotfont(1) contain only a
single page (page #1), which consists of two frames: an empty
frame to clear the display, and a second frame that contains the
graphics.
-s
--merge-pages
Merge all displayed pages into a single page, and also merge all
`frames'.
This option is useful when merging together single-page plots
from different sources. For example, it can be used to merge
together plots obtained from separate invocations of graph(1).
--bitmap-size bitmap_size
Set the size of the graphics display in which the plot will be
drawn, in terms of pixels, to be bitmap_size. The default is
"570x570". This is relevant only to plot -T X, plot -T png, plot
- 2 - Formatted: November 2, 2025
PLOT(1) FSF PLOT(1)
GNU Plotting Utilities GNU Plotting Utilities
Jun 2000
-T pnm, and plot -T gif, all of which produce bitmaps. If you
choose a rectangular (non-square) window size, the fonts in the
plot will be scaled anisotropically, i.e., by different factors
in the horizontal and vertical directions. For plot -T X, this
requires an X11R6 display. Any font that cannot be scaled in
this way will be replaced by a default scalable font, such as the
vector font "HersheySerif".
The environment variable BITMAPSIZE can equally well be used to
specify the window size. For backward compatibility, the X
resource Xplot.geometry may be used instead.
--emulate-color option
If option is yes, replace each color in the output by an
appropriate shade of gray. This is seldom useful, except when
using plot -T pcl to prepare output for a PCL 5 device. (Many
monochrome PCL 5 devices, such as monochrome LaserJets, do a poor
job of emulating color on their own.) You may equally well
request color emulation by setting the environment variable
EMULATE_COLOR to "yes".
--max-line-length max_line_length
Set the maximum number of points that a polygonal line may
contain, before it is flushed out, to be max_line_length. If
this flushing occurs, the polygonal line will be split into two
or more sub-lines, though the splitting should not be noticeable.
The default value of max_line_length is 500.
The reason for splitting long polygonal lines is that some
display devices (e.g., old Postscript printers and pen HP-GL
plotters) have limited buffer sizes. The environment variable
MAX_LINE_LENGTH can also be used to specify the maximum line
length.
--page-size pagesize
Set the size of the page on which the plot will be positioned.
This is relevant only to plot -T svg, plot -T ai, plot -T ps,
plot -T cgm, plot -T fig, plot -T pcl, and plot -T hpgl. The
default is "letter", which means an 8.5 inch by 11 inch 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" and "ledger" are
recognized page sizes also. The environment variable PAGESIZE
can equally well be used to specify the page size.
The graphics display in which the plot is drawn will, by default,
be a square region that occupies nearly the full width of the
specified page. An alternative size for the graphics display can
be specified. For example, the page size could be specified as
- 3 - Formatted: November 2, 2025
PLOT(1) FSF PLOT(1)
GNU Plotting Utilities GNU Plotting Utilities
Jun 2000
"letter,xsize=4in,ysize=6in", or "a4,xsize=5.0cm,ysize=100mm".
For all of the above except plot -T hpgl, the graphics display
will, by default, be centered on the page. For all of the above
except plot -T svg and plot -T cgm, the graphics display may be
repositioned manually, by specifying the location of its lower
left corner, relative to the lower left corner of the page. For
example, the page size could be specified as
"letter,xorigin=2in,yorigin=3in", or
"a4,xorigin=0.5cm,yorigin=0.5cm". It is also possible to specify
an offset vector. For example, the page size could be specified
as "letter,xoffset=1in", or "letter,xoffset=1in,yoffset=1.2in",
or "a4,yoffset=-1cm". In SVG format and WebCGM format it is
possible to specify the size of the graphics display, but not its
position.
--rotation angle
Rotate the graphics display by angle degrees. Recognized values
are "0", "90", "180", and "270". "no" and "yes" are equivalent
to "0" and "90", respectively. The environment variable ROTATION
can also be used to specify a rotation angle.
Parameter Initialization Options
The following options set the initial values of drawing parameters.
However, all of these may be overridden by directives in a metafile.
In fact, these options are useful primarily when plotting old
metafiles in the traditional (pre-GNU) plot(5) format, which did not
support such directives.
--bg-color name
Set the color initially used for the background to be name. This
is relevant only to plot -T X, plot -T png, plot -T pnm, plot -T
gif, plot -T svg, plot -T cgm, and plot -T regis. An
unrecognized name sets the color to the default, which is
"white". The environment variable BG_COLOR can equally well be
used to specify the background color.
If the -T png or -T gif option is used, a transparent PNG file or
a transparent pseudo-GIF, respectively, may be produced by
setting the TRANSPARENT_COLOR environment variable to the name of
the background color. If the -T svg or -T cgm option is used, an
output file without a background may be produced by setting the
background color to "none".
-f size
--font-size size
Set the size of the font initially used for rendering text, as a
fraction of the width of the graphics display, to be size. The
default is 0.0525.
- 4 - Formatted: November 2, 2025
PLOT(1) FSF PLOT(1)
GNU Plotting Utilities GNU Plotting Utilities
Jun 2000
-F name
--font-name name
Set the font initially used for text to be name. Font names are
case-insensitive. If the specified font is not available, the
default font will be used. Which fonts are available, and the
default font, depend on which -T option is specified (see above).
A list of available fonts can be obtained with the --help-fonts
option (see below).
-W line_width
--line-width line_width
Set the initial width of lines, as a fraction of the width of the
display, to be line_width. A negative value means that a default
value should be used. This value is format-dependent. The
interpretation of zero line width is also format-dependent (in
some output formats, a zero-width line is the thinnest line that
can be drawn; in others, a zero-width line is invisible).
--pen-color name
Set the initial pen color to be name. An unrecognized name sets
the pen color to the default, which is "black".
Options for Metafile Output
The following option is relevant only if the -T option is omitted or
if -T meta is used. In this case the output of plot, like the input,
will be in GNU graphics metafile format.
-O
--portable-output
Output the portable (human-readable) version of GNU metafile
format, rather than the binary version (the default). The format
of the binary version is machine-dependent.
Options for Backward Compatibility
By default, plot assumes that its input file(s) are in either the
binary version or the portable version of GNU metafile format. You
may specify that the input is, instead, in the traditional Unix (pre-
GNU) graphics metafile format, which is documented in plot(5). The
traditional graphics metafile format was produced by pre-GNU versions
of graph(1).
-h
--high-byte-first-input
Input file(s) are assumed to be in the binary, `high byte first'
version of traditional metafile format. This variant is
uncommon.
-l
--low-byte-first-input
- 5 - Formatted: November 2, 2025
PLOT(1) FSF PLOT(1)
GNU Plotting Utilities GNU Plotting Utilities
Jun 2000
Input file(s) are assumed to be in the binary, `low byte first'
version of traditional metafile format. This variant is the most
common.
-A
--ascii-input
Input file(s) are assumed to be in the ASCII (human-readable)
variant of traditional metafile format. On some older Unix
systems, this variant was produced by plottoa(1).
Informational Options
--help
Print a list of command-line options, and exit.
--help-fonts
Print a table of available fonts, and exit. The table will
depend on which output format is specified with the -T option.
plot -T X, plot -T svg, plot -T ai, plot -T ps, plot -T cgm, and
plot -T fig each support the 35 standard Postscript fonts. plot
-T svg, plot -T pcl, and plot -T hpgl support the 45 standard PCL
5 fonts, and the latter two support a number of Hewlett-Packard
vector fonts. All seven support a set of 22 Hershey vector
fonts, as do plot -T png, plot -T pnm, plot -T gif, plot -T
regis, and plot -T tek. plot without a -T option in principle
supports any of these fonts, since its output must be translated
to other formats by a further invocation of plot.
The plotfont(1) utility may be used to obtain a character map of
any supported font.
--list-fonts
Like --help-fonts, but lists the fonts in a single column to
facilitate piping to other programs. If no output format is
specified with the -T option, the full set of supported fonts is
listed.
--version
Print the version number of plot and the plotting utilities
package, and exit.
ENVIRONMENT
The environment variables BITMAPSIZE, PAGESIZE, BG_COLOR,
EMULATE_COLOR, MAX_LINE_LENGTH and ROTATION serve as backups for the
options --bitmap-size, --page-size, --bg-color, --emulate-color,
--max-line-length, and --rotation, respectively. 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. Its value
determines the display that will be used. plot -T png and plot -T
- 6 - Formatted: November 2, 2025
PLOT(1) FSF PLOT(1)
GNU Plotting Utilities GNU Plotting Utilities
Jun 2000
gif, which produce output in PNG format and pseudo-GIF format
respectively, are affected by the INTERLACE environment variable. If
its value is "yes", the output will be interlaced. Also, if the
TRANSPARENT_COLOR environment variable is set to the name of a color,
that color will be treated as transparent in the output. 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 will be in a human-readable format rather than
binary (the default). plot -T cgm, which produces output in CGM
(Computer Graphics Metafile) format, is affected by the
CGM_MAX_VERSION and CGM_ENCODING environment variables. By default,
it produces a binary-encoded version of CGM version 3 format. For
backward compatibility, the version number may be reduced by setting
CGM_MAX_VERSION to "2" or "1". Irrespective of version, the output
CGM file will use the human-readable clear text encoding if
CGM_ENCODING is set to "clear_text". However, only binary-encoded CGM
files conform to the WebCGM profile. plot -T pcl, which produces PCL
5 output for Hewlett-Packard printers and plotters, is affected by the
environment variable PCL_ASSIGN_COLORS. 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 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 width (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 rotated 90 degrees counterclockwise by setting the
HPGL_ROTATE environment variable to "yes". This is not the same as
the rotation obtained with the --rotation option, since it both
rotates the graphics display and repositions its lower left corner
toward another corner of the page. Besides "no" and "yes", recognized
values for HPGL_ROTATE 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). 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
- 7 - Formatted: November 2, 2025
PLOT(1) FSF PLOT(1)
GNU Plotting Utilities GNU Plotting Utilities
Jun 2000
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. All color names recognized
by the X Window System may be used. 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 its value
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. Opaque
filling and the drawing of visible white lines are supported only if
HPGL_VERSION is "2" and the environment variable HPGL_OPAQUE_MODE is
"yes" (the default). If its value is "no" then 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 may, in fact, malfunction if
asked to draw opaque objects. plot -T tek, which produces output for
a Tektronix terminal or emulator, checks the TERM environment
variable. If the value of TERM is a string beginning with "xterm",
"nxterm", or "kterm", it is taken as a sign that plot is running in an
X Window System VT100 terminal emulator: a copy of xterm(1),
nxterm(1), or kterm(1). 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 a string beginning with
"kermit", "ansi.sys", or "nansi.sys", it is taken as a sign that plot
is running in the VT100 terminal emulator provided by the MS-DOS
version of kermit(1). 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.
SEE ALSO
graph(1), pic2plot(1), tek2plot(1), plotfont(1), plot(3), plot(5), and
"The GNU Plotting Utilities Manual".
AUTHORS
- 8 - Formatted: November 2, 2025
PLOT(1) FSF PLOT(1)
GNU Plotting Utilities GNU Plotting Utilities
Jun 2000
plot was written by Robert S. Maier (rsm@math.arizona.edu).
BUGS
Email bug reports to bug-gnu-utils@gnu.org.
- 9 - Formatted: November 2, 2025