set autoscale
=============

   Auto scaling may be set individually on the x, y or z axis or globally on
all axes. The default is to autoscale all axes.

   When autoscaling, the plot range is automatically computed and the dependent
axis (y for a `plot' and z for `splot') is scaled to include the range of the
function or data being plotted.

   If autoscaling of the dependent axis (y or z) is not set, the current y or z
range is used.

   See `set yrange' or `set zrange'.

   Autoscaling the independent variables (x for `plot' and x,y for `splot') is
a request to set the domain to match any data file being plotted. If there are
no data files then autoscaling an independent variable has no effect. In other
words, in the absence of a data file, functions alone do not affect the x range
(or the y range if plotting z = f(x,y)).

   See `set xrange', or `set yrange'.

   The behavior of autoscaling remains consistent in parametric mode, however,
there are more dependent variables and hence more control over x, y, and z plot
scales. In parametric mode, the independent or dummy variable is t for `plot's
and u,v for `splot's.  Autoscale in parametric mode, then, controls all ranges
(t, u, v, x, y, and z) and allows x, y, and z to be fully autoscaled.

   See `set parametric'.

   Syntax:
            set autoscale <axes>
            set noautoscale <axes>
            show autoscale

   where <axes> is either `x', `y', `z' or `xy'. If <axes> is not given then
all axes are assumed.

   Examples:

   This sets autoscaling of the y axis. x axis autoscaling is not affected.
            set autoscale y

   This sets autoscaling of the x and y axes.
            set autoscale xy

   This sets autoscaling of the x, y and z axes.
            set autoscale

   This disables autoscaling of the x, y and z axes.
            set noautoscale

   This disables autoscaling of the z axis only.
            set noautoscale z

parametric mode
---------------

   When in parametric mode (`set parametric') the xrange is as fully scalable
as the yrange. In other words, in parametric mode the x axis can be
automatically scaled to fit the range of the parametric function that is being
plotted. Of course, the y axis can also be automatically scaled just as in the
non-parametric case. If autoscaling on the x axis is not set, the current x
range is used.

   When there is a mix of data files and functions, the xrange of the functions
is selected as that of the data files if autoscale is true for x. While this
keeps the behavior compatible with non-parametric plotting, it may not be
retained in the future.  The problem is that, in parametric mode, the x and y
ranges are not as distinguishable as in the non-parametric mode and this
behavior may not be the most useful.

   For completeness a last command `set autoscale t' is accepted.  However, the
effect of this "scaling" is very minor. When GNUPLOT determines that the t
range would be empty it makes a small adjustment if autoscaling is true.
Otherwise, GNUPLOT gives an error. Such behavior may, in fact, not be very
useful and the command `set autoscale t' is certainly questionable.

   `splot' extends the above idea similarly. If autoscaling is set then x, y,
and z ranges are computed and each axis scaled to fit the resulting data.

set border
==========

   The `set border' and `set noborder' commands controls the display of the
plot borders for the `plot' and `splot' commands.

   Syntax:
            set border
            set noborder
            show border

set boxwidth
============

   The `set boxwidth' command is used to set the default width of boxes in the
`boxes' and `boxerrorbars' styles.

   If a data file is plotted without the width being specified in the fifth
column, or a function is plotted, the width of each box is set by the `set
boxwidth' command.  If a width is given after the `set boxwidth' command then
this is used as the width.  Otherwise the width of each box will be calculated
automatically so that it touches the adjacent boxes.

   Syntax:
             set boxwidth {<width>}
             show boxwidth

   To set the box width to automatic use the command
             set boxwidth

set clabel
==========

   GNUPLOT will vary the linetype used for each contour level when clabel is
set. When this option on (the default), a legend labels each linestyle with the
z level it represents.

   Syntax:
            set clabel
            set noclabel
            show clabel

set clip
========

   GNUPLOT can clip data points and lines that are near the boundaries of a
plot.

   Syntax:
            set clip <clip-type>
            set noclip <clip-type>
            show clip

   Three clip types are supported by GNUPLOT: `points', `one', and `two'.  One,
two, or all three clip types may be active for a single plot.

   The `points' clip type forces GNUPLOT to clip (actually, not plot at all)
data points that fall within but too close to the boundaries (this is so the
large symbols used for points will not extend outside the boundary lines).
Without clipping points near the boundaries may look bad; try adjusting the x
and y ranges.

   Setting the `one' clip type causes GNUPLOT to plot the line segments which
have only one of the two endpoints within the plotting region.  Only the
in-range portion of the line is drawn.  The alternative is to not draw any
portion of the line segment.

   Some lines may have both endpoints out of range, but pass through the
plotting area. Setting the `two' clip-type allows the visible portion of these
lines to be drawn.

   In no case is a line drawn outside the plotting area.

   The defaults are `noclip points', `clip one', and `noclip two'.

   To check the state of all forms of clipping, use
            show clip

   For backward compatibility with older versions, the following forms are also
permitted.
           set clip
           set noclip
   `set clip' is synonymous with `set clip points'. `set noclip' turns off all
three types of clipping.

set cntrparam
=============

   Sets the different parameters for the contouring plot (see also `contour').

   Syntax:
     set cntrparam { { linear | cubicspline | bspline } |
        points <n> |
        order <n>  |
        levels { [ auto ] <n> |
        discrete <z1>,<z2>, ... |
        incremental {<start>, <incr>{, <end>} } }

   Examples:
        set cntrparam bspline
        set cntrparam points 7
        set cntrparam order 10
        set cntrparam levels auto 5                   # 5 automatic levels
        set cntrparam levels discrete .1,1/exp(1),.9  # 3 discrete at .1,.37,.9
        set cntrparam levels incremental  0,.1,.4
        # 5 incremental levels at 0, .1, .2, .3 and .4
        set cntrparam levels 10
        # sets n = 10 retaining current setting of auto, discr. and
        # increment's start and increment value, while changing end
        set cntrparam levels incremental 100,50
        # set start = 100 and increment = 50, retaining n levels

   This command controls the way contours are plotted. <n> should be an
integral constant expression and <z1>, <z2> any constant expressions.  The
parameters are:

   `linear', `cubicspline', `bspline' - Controls type of approximation or
interpolation. If `linear', then the contours are drawn piecewise linear, as
extracted from the surface directly. If `cubicspline', then piecewise linear
contours are interpolated to form a somewhat smoother contours, but which may
undulate. The third option is the uniform `bspline', which only approximates
the piecewise linear data but is guaranteed to be smoother.

   `points' - Eventually all drawings are done with piecewise linear strokes.
This number controls the number of points used to approximate a curve.
Relevant for `cubicspline' and `bspline' modes only.

   `order'  - Order of the bspline approximation to be used. The bigger this
order is, the smoother the resulting contour.  (Of course, higher order bspline
curves will move further away from the original piecewise linear data.)  This
option is relevant for `bspline' mode only. Allowed values are integers in the
range from 2 (linear) to 10.

   `levels' - Number of contour levels, 'n'.  Selection of the levels is
controlled by 'auto' (default), 'discrete', and 'incremental'. For 'auto', if
the surface is bounded by zmin and zmax then contours will be generated from
zmin+dz to zmax-dz in steps of size dz, where dz = (zmax - zmin) / (levels +
1).  For 'discrete', contours will be generated at z = z1, z2 ... as specified.
The number of discrete levels is limited to MAX_DISCRETE_LEVELS, defined in
plot.h to be 30.  If 'incremental', contours are generated at <n> values of z
beginning at <start> and increasing by <increment>.

set contour
===========

   Enable contour drawing for surfaces. This option is available for `splot'
only.

   Syntax:
            set contour { base | surface | both }
            set nocontour

   If no option is provided to `set contour', the default is `base'.  The three
options specify where to draw the contours: `base' draws the contours on the
grid base where the x/ytics are placed, `surface' draws the contours on the
surfaces themselves, and `both' draws the contours on both the base and the
surface.

   See also `set cntrparam' for the parameters that affect the drawing of
contours.

set data style
==============

   The `set data style' command changes the default plotting style for data
plots.

   Syntax:
            set data style
            show data style
            set data style <style-choice>

   In the first case, `set data style' returns the possible style choices:
`lines', `points', `linespoints', `dots', `steps', `impulses', `errorbars',
`boxes' or `boxerrorbars'.  `show data style' shows the current default
plotting style for data.  `set data style dots' would actually  change the
default plotting style.  See also `plot'.

set dgrid3d
===========

   Enables and sets the different parameters for non grid to grid data mapping.

   Syntax:
            set dgrid3d {,{<row_size>}{,{<col_size>}{,<norm>}}}
            set nodgrid3d

   Examples:
           set dgrid3d 10,10,2
           set dgrid3d ,,4

   The first selects a grid of size 10 by 10 to be constructed and the use of
L2 norm in the distance computation. The second only modifies the norm to be
used to L4.

   By default this option is disabled. When enabled, 3d data read from a file
is always treaded as a scattered data set. A grid with dimensions derived from
a bounding box of the scattered data and size as specified by the row/col_size
above is created for plotting and contouring. The grid is equally spaced in x
and y while the z value is computed as a weighted average of the scattered
points distance to the grid points. The closer the scatter points to a grid
point are the more effect they have on that grid point. The third, norm,
parameter controls the "meaning" of the distance, by specifying the distance
norm. This distance computation is optimized for powers of 2 norms,
specifically 1, 2, 4, 8, and 16, but any nonnegative integer can be used.

   This dgrid3d option is a simple low pass filter that converts scattered data
to a grid data set. More sophisticated approaches to this problem exists and
should be used as a preprocess to and outside gnuplot if this simple solution
is found inadequate.

set dummy
=========

   By default, GNUPLOT assumes that the independent variable for the `plot'
command is x, and the independent variables for the `splot' command are x and
y. They are called the dummy variables because it is just a notation to
indicate the independent variables.  The `set dummy' command changes these
default dummy variable names.  For example, it may be more convenient to call
the dummy variable t when plotting time functions:

            set dummy t
            plot sin(t), cos(t)

   Syntax:
            set dummy <dummy-var>{,<dummy-var>}
            show dummy

   Examples:
            set dummy u,v
            set dummy ,s

   to set both dummy variables to u and v or set only the second variable to s.

   The `set parametric' command also changes the dummy variables (to t for
`plot' and u,v for `splot's).

set format
==========

   The format of the tic-mark labels can be set with the `set format' command.
The default format for both axes is "%g", but other formats such as "%.2f" or
"%3.0fm" are often desirable. Anything accepted by printf when given a double
precision number, and then accepted by the terminal, will work. In particular,
the formats f, e, and g will work, and the d, o, x, c, s, and u formats will
not work.

   Syntax:
            set format {<axes>} {"<format-string>"}
            show format

   where <axes> is either `x', `y', `z', `xy', or nothing (which is the same as
`xy'). The length of the string representing a ticmark (after formatting with
printf) is restricted to 100 characters.  If the format string is omitted, the
format will be returned to the default "%g". For LaTeX users, the format "$%g$"
is often desirable.  If the empty string "" is used, no label will be plotted
with each tic, though the tic mark will still be plotted. To eliminate all tic
marks, use `set noxtics' or `set noytics'.

   See also `set xtics' and `set ytics' for more control over tic labels.

set function style
==================

   The `set function style' command changes the default plotting style for
functions.

   Syntax:
            set function style
            show function style
            set function style <style-choice>

   In the first case, `set function style' returns the possible style choices:
`lines', `points', `linespoints', `dots', `steps', `impulses', `errorbars',
`boxes', or `boxerrorbars'.  `show function style' shows the current default
plotting style for functions.  `set function style linespoints' would actually
change the default plotting style.   See also `plot'.

set functions
=============

   The `show functions' command lists all user-defined functions and their
definitions.

   Syntax:
            show functions

set grid
========

   The optional `set grid' draws a grid at the tic marks with the axis linetype.

   Syntax:
            set grid
            set nogrid
            show grid

set hidden3d
============

   The `set hidden3d' command enables hidden line removal for explicit surface
plotting (see `splot').  Hidden line removal may be used for both explicit
functions and for explicit data.  It now works for parametric surfaces as well.

   When this flag is set both the surface hidden portion and possibly its
hidden contours (see `set contour') as well as the hidden grid will be removed.
Labels and arrows are always visible and are unaffected by this command.

   Each surface has its hidden parts removed with respect to itself and to
other surfaces, if more than one surface is plotted. This mode is meaningful
when surfaces are plotted using line style drawing only.

   Syntax:
            set hidden3d
            set nohidden3d
            show hidden3d

set isosamples
==============

   An isoline is a curve parametrized by one of the surface parameters while
the other surface parameter is fixed. Isolines are a simple means to display a
surface. By fixing the u parameter of surface s(u,v), the iso-u lines of the
form c(v) = s(u0,v) are produced, and by fixing the v parameter, the iso-v
lines of the form c(u) = s(u,v0) are produced.

   The isoline density of surfaces may be changed by the `set isosamples'
command. By default, sampling is set to 10 isolines per u or v axis.  A higher
sampling rate will produce more accurate plots, but will take longer. This
parameter has no effect on data file plotting.

   Syntax:
            set isosamples <iso_1> {,<iso_2>}
            show isosamples

   Each surface plot will have <iso_1> iso-u lines and <iso_2> iso-v lines.  If
you only specify <iso_1>, <iso_2> will be set to the same value as <iso_1>.

   When a surface plot is being done without the removal of hidden lines, `set
samples' also has an effect on the number of points being evaluated. See `set
samples'.

set key
=======

   The `set key' enables a key describing curves on a plot.  By default the key
is placed in the upper right corner of the plot.

   Syntax:
            set key
            set key <x>,<y>{,<z>}
            set nokey
            show key

   The coordinates <x>, <y> (and <z> for `splot's) specify the location of the
key on the plot. The key is drawn as a sequence of lines, with one plot
described on each line. On the right hand side of each line is a representation
that attempts to mimic the way the curve is plotted.  On the left side of each
line is the text description, obtained from the `plot' command. See `plot
title' to change this description. The lines are vertically arranged so an
imaginary straight line divides the left- and right-hand sides of the key. It is
the coordinates of this line that are specified with the `set key' command. In
a `plot', only the x and y coordinates are used to specify the line position.
For a `splot', x, y and z are all being used as a 3-d location mapped using the
same mapping as the plot itself to form the required 2-d screen position of the
imaginary line.

   Some or all of the key may be outside of the plot boundary, although this
may interfere with other labels and may cause an error on some devices.

   Examples:

   This places the key at the default location:
            set key
   This disables the key:
            set nokey
   This places a key at coordinates 2,3.5,2
            set key 2,3.5,2

set label
=========

   Arbitrary labels can be placed on the plot using the `set label' command.
If the z coordinate is given on a `plot' it is ignored; if it is missing on a
`splot' it is assumed to be 0.

   Syntax:

             set label {<tag>} {"<label_text>"} {at <x>,<y>{,<z>}}
                               {<justification>}
             set nolabel {<tag>}
             show label

   The text defaults to "", and the position to 0,0,0.  The <x>, <y>, and <z>
values are in the graph's coordinate system.  The tag is an integer that is
used to identify the label. If no <tag> is given, the lowest unused tag value
is assigned automatically. The tag can be used to delete or change a specific
label. To change any attribute of an existing label, use the `set label'
command with the appropriate tag, and specify the parts of the label to be
changed.

   By default, the text is placed flush left against the point x,y,z.  To
adjust the way the label is positioned with respect to the point x,y,z, add the
parameter <justification>, which may be `left', `right' or `center', indicating
that the point is to be at the left, right or center of the text. Labels
outside the plotted boundaries are permitted but may interfere with axes labels
or other text.

   Examples:

   To set a label at (1,2) to "y=x" use:
             set label "y=x" at 1,2
   To set a label "y=x^2" with the right of the text at (2,3,4), and tag the
label number 3, use:
             set label 3 "y=x^2" at 2,3,4 right
   To change the preceding label to center justification, use:
             set label 3 center
   To delete label number 2 use:
             set nolabel 2
   To delete all labels use:
             set nolabel
   To show all labels (in tag order) use:
             show label

   (The EEPIC, Imagen, LaTeX, and TPIC drivers allow \\ in a string to specify
a newline.)

set logscale
============

   Log scaling may be set on the x, y, and z axes.

   Syntax:
            set logscale <axes> <base>
            set nologscale <axes>
            show logscale

   where <axes> may be any combinations of `x', `y', and `z', in any order, and
where <base> is the base of the log scaling.  If <base> is not given, then 10
is assumed.  If <axes> is not given then all three axes are assumed.  The
command `set logscale' turns on log scaling on the specified axes, while `set
nologscale' turns off log scaling.

   Examples:

   To enable log scaling in both x and z axes:
           set logscale xz
   To enable scaling log base 2 of the y axis:
           set logscale y 2
   To disable z axis log scaling:
           set nologscale z

set mapping
===========

   Syntax:
            set mapping { cartesian | spherical | cylindrical }

   Data for `splot's are usually in regular Euclidean space and are provided in
Cartesian coordinates. Such 3-d data require three coordinates (x, y and z) or
one coordinate (only z) in each line in the data file.  In order to be able to
use spherical or cylindrical coordinate systems, use the `set mapping' command.
In both cases two coordinates are expected in each line of the data. For a
spherical coordinate system, these are theta and phi (in units as specified by
`set angles') and the mapping is:

            x = cos( theta ) * cos( phi )
            y = sin( theta ) * cos( phi )
            z = sin( phi )

   For a cylindrical coordinate system, the mapping uses two variables, theta
(in units as specified by `set angles') and z:

            x = cos( theta )
            y = sin( theta )
            z = z

   Again, note that mapping will affect data file `splot's only.

set offsets
===========

   The amount of the graph that the plot takes up may be controlled to some
extent with the `set offsets' command. This command takes four offset
arguments: <left>, <right>, <top> and <bottom>. By default, each offset is 0.
Each offset may be a constant or an expression. Left and right offsets are
given in units of the x axis, while top and bottom offsets are given in units
of the y axis. The plot of sin(x), displayed with offsets of 0, 0, 2, 2 will
take up 1/3 of the displayed y axis. Offsets are particularly useful with polar
coordinates as a means of compensating for aspect ratio distortion.  Offsets
are ignored in `splot's.

   Syntax:
            set offsets <left>, <right>, <top>, <bottom>
            show offsets

set output
==========

   By default, plots are displayed to the standard output. The `set output'
command redirects the display to the specified file or device.

   Syntax:
            set output {"<filename>"}
            show output

   The filename must be enclosed in quotes. If the filename is omitted, output
will be sent to the standard output.

   On machines with popen functions (UNIX), output can be piped through a shell
command if the first letter of the filename is '|'.  For instance,

   Syntax:
            set output "|lpr -Plaser filename"
            set output "|lp -dlaser filename"

   (On MSDOS machines, set output "prn" will direct the output to the default
printer.)

set parametric
==============

   The `set parametric' command changes the meaning of `plot' (`splot') from
normal functions to parametric functions. The command `set noparametric'
changes the plotting style back to normal, single-valued expression plotting.

   In 2-d plotting, a parametric function is determined by a pair of parametric
functions operating on a parameter. An example of a 2-d parametric function
would be plot sin(t),cos(t) (which defines a circle).

   For 3-d plotting, the surface is described as x=f(u,v), y=g(u,v), z=h(u,v).
Therefore a triplet of functions are required. An example of 3-d parametric
function would be cos(u)*cos(v),cos(u)*sin(v),sin(u) (which defines a sphere).
It takes three parametric function specifications in terms of the parametric
dummy arguments to describe a single graph.

   The total set of possible plots is a superset of the simple f(x) style
plots, since the two (three) functions can describe the x and y (and z) values
to be computed separately. In fact, plots of the type t,f(t) (u,v,f(u,v)) are
equivalent to those produced with f(x) when the x values are computed using the
identity function as the first function.

   Note that the order the parametric functions are specified is xfunction,
yfunction (and zfunction) and that each operates over the common parametric
domain.

   Also, the `set parametric' function implies a new range of values.  Whereas
the normal f(x) and f(x,y) style plotting assume an xrange and yrange (and
zrange), the parametric mode additionally specifies a trange, urange, and
vrange. These ranges may be set directly with `set trange', `set urange' and
`set vrange', or by specifying the range on the `plot' or `splot' commands.
Currently the default range for these parametric variables is [-5:5].  Setting
the ranges to something more meaningful is expected.

set polar
=========

   The `set polar' command changes the meaning of the plot from rectangular
coordinates to polar coordinates. In polar coordinates, the dummy variable (x)
is an angle. The range of this angle is changed from whatever it was to
[0:2*pi], or, if degree unit has been selected, to [0:360] (see `set angles').

   The command `set nopolar' changes the meaning of the plot back to the
default rectangular coordinate system. The range of x is changed from whatever
it was to [-10:10].

   The `set polar' command is not supported for `splot's.  See the `set
mapping' command for similar functionality for `splot's.

   While in polar coordinates the meaning of an expression in x is really r =
f(x), where x is an angle of rotation. The xrange controls the domain (the
angle) of the function, and the yrange controls the range (the radius). The
plot is plotted in a rectangular box, and the x and y axes are both in units of
the radius. Thus, the yrange controls both dimensions of the plot output. The
tics and units are written along the axes rather than at the left and bottom.
These unit are offset by <rmin> specified by the `rrange' (See `set rrange').
It is not possible to specify different output dimensions in the x or y
directions. The yrange can be used to shift the plot diagonally to display only
the first or third quadrants.

   Syntax:
            set polar
            set nopolar
            show polar
   Example:
            set polar
            plot x*sin(x)
            plot [-2*pi:2*pi] [-3:3] x*sin(x)
   The first plot uses the default polar angular domain of 0 to 2*pi.  The
radius (and the size of the plot) is scaled automatically. The second plot
expands the domain, and restricts the range of the radius (and the size of the
plot) to [-3:3].

set rrange
==========

   The `set rrange' command sets the radial range used to compute x and y
values when in polar mode. If not in polar mode (see `set polar') then this
range is not used. Use of this command offsets the polar singularity to the
<rmin> value and shifts the units on the axes tic marks. For instance, `set
rrange [-40:40]' would set the origin to -40 and would plot values of radial
values between -40 to 40. Thus, if 360 degrees of data were plotted, then the
plot would extend 80 units in radially from the origin.  To view the entire
plot,  a `set yrange [-80:80]' command would create a square viewport with a
circular plot tangent at the axes.  Because `xrange' is used specify the
angular extent, only a square viewport can be specified by `yrange'.  For
instance, `set yrange [0:80]' would display the first quadrant and `set yrange
[-80:0]' would display the third quadrant.  Any square viewport of any size can
be specified but it is constrained to be centered on a 45 degree line.

   This range may also be specified on the `plot' command line when in polar
mode.

   Syntax:
            set rrange [{<rmin> : <rmax>}]

   where <rmin> and <rmax> terms are constants or expressions.

   Both the <rmin> and <rmax> terms are optional. Anything omitted will not be
changed, so
            set rrange [:10]
   changes rmax to 10 without affecting rmin.

set samples
===========

   The sampling rate of functions may be changed by the `set samples' command.
By default, sampling is set to 100 points. A higher sampling rate will produce
more accurate plots, but will take longer. This parameter no longer has any
effect on data-file plotting.

   Syntax:
            set samples <samples_1> {,<samples_2>}
            show samples

   When a 2-d plot is being done, only the value of <samples_1> is relevant.

   When a surface plot is being done without the removal of hidden lines, the
value of samples specifies the number of samples that are evaluated per iso
line. Each iso-v line will have <sample_1> samples and each iso-u line will
have <sample_2> samples. If you only specify <samples_1>, <samples_2> will be
set to the same value as <samples_1>.  See also `set isosamples'.

set size
========

   The `set size' command scales the displayed size of the plot.  On some
terminals, changing the size of the plot will result in text being misplaced.
Increasing the size of the plot may produce strange results. Decreasing is
safer.

   Syntax:

            set size {<xscale>,<yscale>}
            show size

   The <xscale> and <yscale> values are the scaling factors for the size.  The
defaults (1,1) are selected if the scaling factors are omitted.

   Examples:

   To set the size to normal size use:
            set size
   To make the plot half size use:
            set size 0.5,0.5
   To make a landscape plot have a 1:1 aspect ratio in polar mode use:
            set size 0.721,1.0
   To show the size use:
            show size

   For the LaTeX and Fig terminals the default size (scale factor 1,1) is 5
inches wide by 3 inches high. The big Fig terminal (`bfig') is 7 inches wide by
5 inches high. The postscript default is landscape mode 10 inches wide and 7
inches high.  Note that the size of the plot includes the space used by the
labels; the plotting area itself is smaller.

set style
=========

   Plots may be displayed in one of eight styles: `lines', `points',
`linespoints', `impulses', `dots', `steps', `errorbars', `boxes', or
`boxerrorbars'.  The `lines' style connects adjacent points with lines.  The
`points' style displays a small symbol at each point.  The `linespoints' style
does both `lines' and `points'.  The `impulses' style displays a vertical line
from the x axis (or from the grid base for `splot') to each point. The `dots'
style plots a tiny dot at each point; this is useful for scatter plots with
many points.

   The `errorbars' style is only relevant to 2-d data file plotting. It is
treated like `points' for `splot's and function `plot's. For data `plot's,
`errorbars' is like `points', except that a vertical error bar is also drawn:
for each point (x,y), a line is drawn from (x,ylow) to (x,yhigh). A tic mark is
placed at the ends of the error bar. The ylow and yhigh values are read from
the data file's columns, as specified with the `using' option to plot. See
`plot errorbars' for more information.

   The `boxes' style is only relevant to 2-d plotting.  It draws a box centred
about the given x coordinate from the yaxis to the given y coordinate.   The
width of the box is obtained in one of three ways.  If a data file has a fifth
column, this will be used to set the width of the box.  Otherwise, if a width
has been set using the `set boxwidth' command, this will be used.  Otherwise
the width of each box will be calculated automatically so that it touches the
adjacent boxes.  Another style called `boxerrorbars' is also available and is
only  relevant to 2-d data file plotting.  This style is a combination of the
`boxes' and `errorbars' styles.

   The `steps' style is only relevant to 2-d plotting.  This style connects
consecutive points with two line segments: the first from (x1,y1) to (x2,y1)
and the second from (x2,y1) to (x2,y2).

   Default styles are chosen with the `set function style' and `set data style'
commands. See `plot style' for information about how to override the default
plotting style for individual functions.

   Syntax:
            set function style <style>
            set data style <style>
            show function style
            show data style

   where <style> is `lines', `points', `linespoints', `impulses', `dots',
`steps', `errorbars', `boxes', or `boxerrorbars'.

set surface
===========

   `set surface' controls the display of surfaces. It is useful if contours are
to be displayed by themselves. Whenever `set nosurface' is issued, no surface
isolines/mesh will be drawn. See also `set contour'.

   Syntax:
            set surface
            set nosurface
            show surface

set terminal
============

   GNUPLOT supports many different graphics devices. Use the `set terminal'
command to select the type of device for which GNUPLOT will produce output.

   Syntax:
            set terminal {<terminal-type>}
            show terminal

   If <terminal-type> is omitted, GNUPLOT will list the available terminal
types. <terminal-type> may be abbreviated.

   Use `set output' to redirect this output to a file or device.

   Several terminals have additional options. For example, see `dumb',
`iris4d', `hpljii' or `postscript'.

aifm
----

   Several options may be set in the Adobe Illustrator 3.0 driver.

   Syntax:
            set terminal aifm {<color>}
                                    {"<fontname>"} {<fontsize>}

   Selecting default sets all options to their default values.  <color> is
either `color' or `monochrome'.  "<fontname>" is the name of a valid PostScript
font.  <fontsize> is the size of the font in PostScript points, before scaling
by the `set size' command.  Defaults are `monochrome', "Helvetica", and 14pt.

   Also, since AI does not really support multiple pages, multiple graphs will
be output directly on one another.  However, each graph will be grouped
individually, making it easy to separate them inside AI (just pick them up and
move them).

   Examples:

            set term aifm
            set term aifm 22
            set size 0.7,1.4
            set term aifm color "Times-Roman" 14

atari ST
--------

   The `atari' terminal has an option to set the character size and the screen
colors.  The driver expects a space separated list the char size and maximal 16
3 digit hex numbers where each digit represents RED, GREEN and BLUE (in that
order).  The range of 0-15 is scaled to whatever color range the screen
actually has.  On a normal ST screen, odd and even intensities are the same.

   Examples:

           set terminal atari 4 # (use small (6x6) font)
           set terminal atari 6 0 # (set monochrome screen to white on black)
           set terminal atari 13 0 fff f00 f0 f ff f0f ff0
           # (set first eight colors to black, white, green, blue, cyan, \
             purple, and yellow and use large font (8x16).)

   Additionally, if an environment variable GNUCOLORS exists, its contents are
interpreted as an options string, but an explicit terminal option takes
precedence.

dumb
----

   The dumb terminal driver has an optional size specification.

   Syntax:
            set terminal dumb {<xsize> <ysize>}

   where <xsize> and <ysize> set the size of the dumb terminals. Default is 79
by 24.

   Examples:
            set term dumb
            set term dumb 79 49 # VGA screen--why would anyone want to do that?

epson
-----

   This set of drivers support Epson printers and derivatives.   See also the
NEC driver.  `epson' is a generic 9 wire printer with a resolution of 512x384.
`starc' is a Star Color printer with the same resolution.  `epson180' and
`epson60' are 180 dpi and 60 dpi drivers for newer 24 wire printers.  This also
includes bubble jet printers.  Their resolutions are 1260x1080 and 480x360,
respectively.  The `tandy60' is identical to the `epson60' driver with one
additional escape sequence to start IBM mode.  With all of these drivers, a
binary copy is required on a PC to print.  Do not use `print'.

           copy file /b lpt1:

gpic
----

   This driver is only known to work the Free Software Foundation gpic/groff
package.  Modification for the Document Workbench pic/troff package would be
appreciated.  FSF gpic can also produce TeX output.

   A simple graph can be formatted using

         groff -p -mpic -Tps file.pic > file.ps.

   The output from pic can be pipe-lined into eqn, so it is possible to put
complex functions in a graph with the set label and set {x/y}label commands.
For instance,

       set ylab '@space 0 int from 0 to x alpha ( t ) roman d t@'

   Will label the y-axis with a nice integral if formatted with the command:

       gpic filename.pic | geqn -d@@ -Tps | groff -m[macro-package] -Tps
            > filename.ps

   Figures made this way can be scaled to fit into a document. The pic language
is easy to understand, so the graphs can be edited by hand if need be. All
coordinates in the pic-file produced by gnuplot are given as x+gnuplotx and
y+gnuploty. By default x and y are given the value 0 If this line is removed
with an editor in a number of files one can put several graphs i one figure
like this (default size is 5.0x3.0 inches)

       .PS 8.0
       x=0;y=3
       copy "figa.pic"
       x=5;y=3
       copy "figb.pic"
       x=0;y=0
       copy "figc.pic"
       x=5;y=0
       copy "figd.pic"
       .PE

   This will produce an 8 inches wide figure with four graphs in two rows on
top of each other

   One can also achieve the same thing by the command

      set term pic x y

   For example, using

      .PS 6.0
      copy "trig.pic"
      .PE

hpljii
------

   The HP LaserJet II and HP DeskJet drivers have a single option.

   Syntax:
            set terminal hpljii {<resolution>}
            set terminal hpdj   {<resolution>}

   where <resolution> is the resolution of the output in dots per inch.  It
must be `75', `100', `150' or `300'.  Note: there must be enough memory
available to rasterize at the higher resolutions.

   Example:
            set terminal hpljii 150

latex
-----

   The LaTeX and EMTeX driver allows one to specify a font type and a font size
for the labels around a gnuplot graph.

   Options are: Fonts:
          default          (Roman 10 point)
          courier
          roman

   at any size you specify. (BEWARE METAFONT will not like odd sizes.) eg.
          gnuplot> set term latex courier 5

   Unless your driver is capable of building fonts at any size (e.g. dvips),
stick to the standard 10, 11 and 12 point size.

iris4d
------

   The iris4d driver can operate in two modes.

   Syntax:
            set terminal iris4d {24}

   If the hardware supports only 8 bits, use the default `set terminal iris4d'.
If, however, the hardware supports 24 bits (8 per red/green/blue), use `set
terminal iris4d 24'.

   When using 24-bit mode, the colors can be directly specified via the file
.gnuplot_iris4d that is searched in the current directory and then in the home
directory specified by the HOME environment variable.  This file holds RGB
values for the background, border, labels and nine plotting colors, in that
order. For example, here is a file containing the default colors:

            85   85   85     /* Back Ground */
            0    0    0      /* Boundary */
            170  0    170    /* Labeling */
            85   255  255    /* Plot Color 1 */
            170  0    0      /* Plot Color 2 */
            0    170  0      /* Plot Color 3 */
            255  85   255    /* Plot Color 4 */
            255  255  85     /* Plot Color 5 */
            255  85   85     /* Plot Color 6 */
            85   255  85     /* Plot Color 7 */
            0    170  170    /* Plot Color 8 */
            170  170  0      /* Plot Color 9 */

   This file has exactly 12 lines of RGB triples. No empty lines are allowed
and anything after the third number in line is ignored.

mf
--

   The mf terminal driver creates a input file to the MetaFont program.  Thus a
figure may be used in the TeX document in the same way as a character is.

   To use the plot in a document the MetaFont program must be run with the
output file from GnuPlot as input. Thus, the user needs a basic knowledge of
the font creating process and inclusion of a new font in a document. However,
if the Metafont program is set up properly at the local site an unexperienced
user could perform the operation without much trouble.

   The text support is based on a MetaFont character set.  Currently the
Computer Modern Roman font set is input but the user are in principal free to
chose whatever fonts he/she needs.  The MetaFont source files for the chosen
font must be available.  Each character is stored in a separate picture
variable in MetaFont. These variables may be manipulated (rotated, scaled etc.)
when characters are needed. The drawback is the interpretation time in the
MetaFont program. On some machines (i.e. PC) the limited amount of memory
available may also cause problem if too many pictures are stored.

   - Set your terminal to metafont:
      set terminal mf
   - Select an output-file, e.g.:
      set output "myfigures.mf"
   - Do your plots. Each plot will generate a separate character. Its default
size will be 5*3 inches. You can change the size by saying set size 0.5,0.5 or
whatever fraction of the default size you want to have.

   - Quit gnuplot.

   - Generate a tfm- and gf-file by running metafont on the output of gnuplot.
Since the plot is quite large (5*3 in), you will have to use a version of
metafont that has a value of at least 150000 for memmax. On Unix-systems these
are conventionally installed under the name bigmf. For the following assume
that the command virmf stands for a big version of metafont. For example:

   - Invoke metafont:
        virmf '&plain'
   - Select the output device: At the metafont prompt ('*') type:
        \mode:=CanonCX;     % or whatever printer you use
   - Optionally select a magnification:
        mag:=1;             % or whatever you wish
   - Input the gnuplot-file:
        input myfigures.mf
   On a typical Unix machine there will usually be a script called mf that
executes virmf '&plain', so you probably can substitute mf for virmf &plain.
This will generate two files: mfput.tfm and mfput.$$$gf (where $$$ indicates
the resolution of your device). The above can be conveniently achieved by
typing everything on the command line, e.g.: virmf '&plain' '\mode:=CanonCX;
mag:=1; input myfigures.mf' In this case the output files will be named
myfigures.tfm and myfigures.300gf.

   - Generate a pk-file from the gf-file using gftopk:
      gftopk myfigures.300gf myfigures.300pk
   The name of the output-file for gftopk depends on the dvi-driver you use.
Ask your local TeX-administrator about the naming conventions.  Next, either
install the tfm- and pk-files in the appropriate directories, or set your
environment-variables properly. Usually this involves setting TEXFONTS to
include the current directory and do the same thing for the
environment-variable that your dvi-driver uses (no standard name here...).
This step is necessary so that TeX will find the font-metric file and your
dvi-driver will find the pk-file.

   - To include your plots in your document you have to tell TeX the font:
      \font\gnufigs=myfigures
   Each plot you made is stored in a single character. The first plot is
character 0, the second is character 1, and so on... After doing the above step
you can use the plots just like any other characters. Therefore, to place plots
1 and 2 centered in your document, all you have to do is:
      \centerline{\gnufigs\char0}
      \centerline{\gnufigs\char1}
   in plain TeX. For LaTeX you can, of course, use the picture environment and
place the plot according to your wishes using the \makebox and \put macros.

   It saves you a lot of time, once you have generated the font, since TeX
handles the plots as characters and uses minimal time to place them. Also the
documents you make change more often, than the plots do. Also it saves a lot of
TeX-memory. One last advantage of using the metafont-driver is that the
dvi-file really remains device independent, because no \special-commands are
used as in the eepic- and tpic-drivers.

mif
---

   Several options may be set in the MIF 3.00 driver.

   Syntax:
         set terminal mif {<pentype>} {<curvetype>} {<help>}

   <pentype> selects "colour" of the graphics.
         `colour'     plot lines with line types >= 0 in colour (MIF sep. 2-7).
         `monochrome' plot all line types in black (MIF sep. 0).
   <curvetype> selects how "curves" are plotted.
         `polyline'   plot curves as continuous curves.
         `vectors'    plot curves as collections of vectors
   <help> print online help on standard error output.
         `help'       print a short description of the usage, and the options
         `?'          print a short description of the usage

   This terminal driver produces Frame Maker MIF format version 3.00. It plots
in MIF Frames with the size 15*10 [cm], and plot primitives with the same pen
will be grouped in the same MIF group. Plot primitives in a gnuplot plot will
be plotted in a MIF Frame, and several MIF Frames are collected in one large
MIF Frame.  Plot primitives with line types >= 0 will as default be drawn in
colour.  As default curves are plotted as continuous lines. The MIF font used
for text is "Times".

   Examples:

         set term mif
         set term mif vectors
         set term mif help

nec-cp6
-------

   One option may be set in the nec-cp6 driver.  The resolution of this driver
is 400x320.

   Syntax:
            set terminal nec-cp6 monochrome
            set terminal nec-cp6 color
            set terminal nec-cp6 draft