Table of Contents
plot - translate GNU metafiles to other graphics formats
plot
[ options ] [ files ]
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 or display type 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.
- -T type
- --display-type type
- Select type as the output format or display type. 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 -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 -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 "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.
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.
- -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".
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.
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
- 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)
.
- --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 or display type 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.
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 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 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.
graph(1)
, pic2plot(1)
, tek2plot(1)
, plotfont(1)
, plot(3)
, plot(5)
,
and "The GNU Plotting Utilities Manual".
plot was written by Robert
S. Maier (rsm@math.arizona.edu).
Email bug reports to bug-gnu-utils@gnu.org.
Table of Contents