





















                              GGNNUUPPLLOOTT
                  AAnn IInntteerraaccttiivvee PPlloottttiinngg PPrrooggrraamm


                   _T_h_o_m_a_s _W_i_l_l_i_a_m_s _& _C_o_l_i_n _K_e_l_l_e_y
                _V_e_r_s_i_o_n _4_._0 _o_r_g_a_n_i_z_e_d _b_y_: _L_a_r_s _H_e_c_k_i_n_g
                _M_a_j_o_r _c_o_n_t_r_i_b_u_t_o_r_s _(_a_l_p_h_a_b_e_t_i_c _o_r_d_e_r_)_:
                        _H_a_n_s_-_B_e_r_n_h_a_r_d _B_r_o_e_k_e_r
                            _J_o_h_n _C_a_m_p_b_e_l_l
                          _R_o_b_e_r_t _C_u_n_n_i_n_g_h_a_m
                            _D_a_v_i_d _D_e_n_h_o_l_m
                            _G_e_r_s_h_o_n _E_l_b_e_r
                            _R_o_g_e_r _F_e_a_r_i_c_k
                           _C_a_r_s_t_e_n _G_r_a_m_m_e_s
                              _L_u_c_a_s _H_a_r_t
                             _L_a_r_s _H_e_c_k_i_n_g
                            _T_h_o_m_a_s _K_o_e_n_i_g
                              _D_a_v_i_d _K_o_t_z
                             _E_d _K_u_b_a_i_t_i_s
                             _R_u_s_s_e_l_l _L_a_n_g
                          _A_l_e_x_a_n_d_e_r _L_e_h_m_a_n_n
                            _A_l_e_x_a_n_d_e_r _M_a_i
                            _E_t_h_a_n _M_e_r_r_i_t_t
                             _P_e_t_r _M_i_k_u_l_i_k
                            _C_a_r_s_t_e_n _S_t_e_g_e_r
                              _T_o_m _T_k_a_c_i_k
                          _J_o_s _V_a_n _d_e_r _W_o_u_d_e
                               _A_l_e_x _W_o_o
                          _J_a_m_e_s _R_. _V_a_n _Z_a_n_d_t
                           _J_o_h_a_n_n_e_s _Z_e_l_l_n_e_r
  _C_o_p_y_r_i_g_h_t _(_C_) _1_9_8_6 _- _1_9_9_3_, _1_9_9_8_, _2_0_0_4   _T_h_o_m_a_s _W_i_l_l_i_a_m_s_, _C_o_l_i_n _K_e_l_l_e_y
     Mailing list for comments: gnuplot-info@lists.sourceforge.net
   Mailing list for bug reports: gnuplot-bugs@lists.sourceforge.net
                           25 March 2006




















                                 -2-








             This manual was prepared by Dick Crawford.
                          3 December 1998





























































11..  GGnnuupplloott





22..  CCooppyyrriigghhtt


      Copyright (C) 1986 - 1993, 1998, 2004   Thomas Williams, Colin
Kelley

Permission to use, copy, and distribute this software and its docu-
mentation for any purpose with or without fee is hereby granted,
provided that the above copyright notice appear in all copies and
that both that copyright notice and this permission notice appear in
supporting documentation.

Permission to modify the software is granted, but not the right to
distribute the complete modified source code.  Modifications are to
be distributed as patches to the released version.  Permission to
distribute binaries produced by compiling modified sources is
granted, provided you
  1. distribute the corresponding source modifications from the
   released version in the form of a patch file along with the bina-
ries,
  2. add special version identification to distinguish your version
   in addition to the base release version number,
  3. provide your name and address as the primary contact for the
   support of your modified version, and
  4. retain our contact information in regard to use of the base
   software.
Permission to distribute the released version of the source code
along with corresponding source modifications in the form of a patch
file is granted with same provisions 2 through 4 for binary distri-
butions.

This software is provided "as is" without express or implied war-
ranty to the extent permitted by applicable law.


      AUTHORS

      Original Software:










GNUPLOT 4.0                                                        2


         Thomas Williams,  Colin Kelley.

      Gnuplot 2.0 additions:
         Russell Lang, Dave Kotz, John Campbell.

      Gnuplot 3.0 additions:
         Gershon Elber and many others.

      Gnuplot 4.0 additions:
         See list of contributors at head of this document.



33..  IInnttrroodduuccttiioonn


ggnnuupplloott is a command-driven interactive function and data plotting
program.  It is case sensitive (commands and function names written
in lowercase are not the same as those written in CAPS).  All com-
mand names may be abbreviated as long as the abbreviation is not
ambiguous.  Any number of commands may appear on a line (with the
exception that llooaadd or ccaallll must be the final command), separated by
semicolons (;).  Strings are indicated with quotes.  They may be
either single or double quotation marks, e.g.,

      load "filename"
      cd 'dir'

although there are some subtle differences (see ssyynnttaaxx for more
details).

Any command-line arguments are assumed to be names of files contain-
ing ggnnuupplloott commands, with the exception of standard X11 arguments,
which are processed first.  Each file is loaded with the llooaadd com-
mand, in the order specified.  ggnnuupplloott exits after the last file is
processed.  When no load files are named, ggnnuupplloott enters into an
interactive mode.  The special filename "-" is used to denote stan-
dard input.  See "help batch/interactive" for more details.

Many ggnnuupplloott commands have multiple options.  These options must
appear in the proper order, although unwanted ones may be omitted in
most cases.  Thus if the entire command is "command a b c", then
"command a c" will probably work, but "command c a" will fail.

Commands may extend over several input lines by ending each line but
the last with a backslash (\).  The backslash must be the _last_
character on each line.  The effect is as if the backslash and new-
line were not there.  That is, no white space is implied, nor is a
comment terminated.  Therefore, commenting out a continued line com-
ments out the entire command (see ccoommmmeennttss).  But note that if an
error occurs somewhere on a multi-line command, the parser may not
be able to locate precisely where the error is and in that case will
not necessarily point to the correct line.










GNUPLOT 4.0                                                        3


In this document, curly braces ({}) denote optional arguments and a
vertical bar (|) separates mutually exclusive choices.  ggnnuupplloott key-
words or hheellpp topics are indicated by backquotes or bboollddffaaccee (where
available).  Angle brackets (<>) are used to mark replaceable
tokens.  In many cases, a default value of the token will be taken
for optional arguments if the token is omitted, but these cases are
not always denoted with braces around the angle brackets.

For on-line help on any topic, type hheellpp followed by the name of the
topic or just hheellpp or ?? to get a menu of available topics.

The new ggnnuupplloott user should begin by reading about pplloottttiinngg (if on-
line, type hheellpp pplloottttiinngg).

See the simple.dem demo, also available together with other demos on
the web page
          http://www.gnuplot.info/demo/simple.html



44..  SSeeeekkiinngg--aassssiissttaannccee


There is a mailing list for ggnnuupplloott users.  Note, however, that the
newsgroup
      comp.graphics.apps.gnuplot
is identical to the mailing list (they both carry the same set of
messages).  We prefer that you read the messages through the news-
group rather than subscribing to the mailing list.  Instructions for
subscribing to gnuplot mailing lists may be found via the gnuplot
development website on SourceForge
          http://sourceforge.net/projects/gnuplot

The address for mailing to list members is:
      gnuplot-info@lists.sourceforge.net

Bug reports and code contributions should be mailed to:
      gnuplot-bugs@lists.sourceforge.net

The list of those interested in beta-test versions is:
      gnuplot-beta@lists.sourceforge.net

There is also the canonical (if occassionally out-of-date) gnuplot
web page at

          http://www.gnuplot.info

Before seeking help, please check the

          FAQ (Frequently Asked Questions) list.

When posting a question, please include full details of the version
of ggnnuupplloott, the machine, and operating system you are using.  A










GNUPLOT 4.0                                                        4


_small_ script demonstrating the problem may be useful.  Function
plots are preferable to datafile plots.  If email-ing to gnuplot-
info, please state whether or not you are subscribed to the list, so
that users who use news will know to email a reply to you.  There is
a form for such postings on the WWW site.




55..  WWhhaatt iiss NNeeww iinn VVeerrssiioonn 44..00


The previous official release of gnuplot was version 3.7, with sub-
versions up to 3.7.3. Gnuplot version 4.0 contains many new fea-
tures, which were gradually introduced into a series of development
snapshots 3.8a through 3.8k. This section lists major additions and
gives a partial list of changes and minor new features. Sample gnu-
plot scripts demonstrating many of these features are provided in
the gnuplot distribution, and are referred to here by name.





     55..11..  MMoouussee aanndd hhoottkkeeyy ssuuppppoorrtt iinn iinntteerraaccttiivvee tteerrmmiinnaallss



     Interaction with the current plot via mouse and hotkeys is sup-
     ported for the X11, OS/2 Presentation Manager, ggi and Windows
     terminals. See mmoouussee iinnppuutt for more information on mousing. See
     help for bbiinndd for information on hotkeys. Also see the documen-
     tation for individual mousing terminals ggggii, ppmm, wwiinnddoowwss and
     xx1111.

     Here are briefly some useful hotkeys.  Hit 'h' in the interac-
     tive interval for help. Hit 'm' to switch mousing on/off.  Hit
     'g' for grid, 'l' for log and 'e' for replot.  Hit 'r' for
     ruler to measure peak distances (linear scale) or peak ratios
     (log scale), and '5' for polar coordinates inside a map.  Zoom
     by mouse (MB3), and move in the zoom history by 'p', 'u', 'n';
     hit 'a' for autoscale.  Use other mouse buttons to put current
     mouse coordinates to clipboard (double click of MB1), add tem-
     porarily or permanently labels to the plot (middle mouse button
     MB2).  Rotate a 3D surface by mouse.  Hit spacebar to switch to
     the gnuplot command window.

     Sample script: mousevariables.dem















GNUPLOT 4.0                                                        5


     55..22..  NNeeww tteerrmmiinnaall ffeeaattuurreess



     aaqquuaa: New terminal for Mac OS X. Requires AquaTerm 1.0 or
     later.

     eeppssllaatteexx: New terminal. Prepares eps figures for inclusion in
     LaTeX documents.

     ggiiff: Support for this terminal has been dropped in favour of
     the ppnngg format for legal reasons; under usual configure condi-
     tions, old scripts that request gif will work but will produce
     a ppnngg file instead.

     ggggii: New full-screen interactive terminal for Linux. Interface
     to the General Graphics Interface Library.

     ppddff: New terminal exporting Adobe Portable Document Format.
     Requires libpdf.

     ppnngg and jjppeegg: Support for both PNG and JPEG image output is
     provided by a new driver via libgd. The new driver supports
     many more features than the old png driver, including TrueType
     fonts. Requires libgd.

     ppoossttssccrriipptt: The PostScript driver now provides an oblique sym-
     bol font, and allows run-time inclusion of embedded PostScript
     fonts. It also supports additional character encodings. See
     ppoossttssccrriipptt ffoonnttffiillee and sseett eennccooddiinngg.

     Sample script: fontfile.dem

     ssvvgg: New terminal exporting Scalable Vector Graphics.

     xx1111: The X-windows driver now allows you to specify fonts, see
     sseett tteerrmm xx1111 xx1111__ffoonnttss. There is no longer a limit to the num-
     ber of x11 plot windows opened simultaneously, and each plot
     window can be given its own title. See sseett tteerrmm xx1111.




     55..33..  NNeeww pplloott ssttyyllee ``ppmm33dd``



     The sspplloott command is now capable of plotting 2D maps and 3D
     surfaces colored by greyscale or color palettes. See help for
     sseett ppmm33dd, sseett ppaalleettttee, sseett ccbbrraannggee, sseett vviieeww mmaapp, sseett ccoolloorrbbooxx
     and tteesstt ppaalleettttee.

     Sample scripts: pm3d.dem pm3dcolors.dem pm3dgamma.dem










GNUPLOT 4.0                                                        6


     55..44..  NNeeww pplloott ssttyyllee ``ffiilllleeddccuurrvveess``



     The style ffiilllleeddccuurrvveess allows to fill an area between the drawn
     curve and a horizontal line.

     Sample script: fillcrvs.dem




     55..55..  FFiilllleedd bbooxxeess



     A solid color or patterned fill style can be set for any plot
     style that contains boxes. See bbooxxeess, bbooxxeerrrroorrbbaarrss, bbooxxxxyyeerrrroorr--
     bbaarrss, ccaannddlleessttiicckkss, sseett ssttyyllee ffiillll.

     Sample scripts: fillstyle.dem candlesticks.dem




     55..66..  NNeeww pplloott ooppttiioonn ssmmooootthh ffrreeqquueennccyy



     Input data can be filtered through several built-in routines
     for interpolation or approximation of data.  See ssmmooootthh, ffrree--
     qquueennccyy, uunniiqquuee.

     Sample scripts: step.dem mgr.dem




     55..77..  IImmpprroovveedd tteexxtt ooppttiioonnss



     Most gnuplot plot commands that produce text labels now accept
     modifiers to specify text color, font, size, and rotation
     angle. See sseett llaabbeell.  Not all terminal types support these
     options, however.  The enhanced text mode previously available
     for the postscript and pm terminals has been extended to other
     terminal types as well.  Terminal types currently supported
     include dumb, jpeg, pdf, pm, png, postscript, and x11. See
     eennhhaanncceedd tteexxtt.

     Sample scripts: textcolor.dem textrotate.dem











GNUPLOT 4.0                                                        7


     55..88..  MMoorree tteexxtt eennccooddiinnggss



     Several terminals, including ppoossttssccrriipptt, xx1111 and ppmm, support
     additional text eennccooddiinnggss: ISO 8859-1 (Latin 1), ISO 8859-2
     (Latin 2), ISO 8859-15 (variant of 8859-1 with Euro sign),
     KOI8-R (cyrillic), and miscellaneous codepages. See eennccooddiinngg
     for more details.




     55..99..  AArrrroowwss



     Single- or double-ended arrows can be placed on a plot individ-
     ually from the command line or from a data file via the pplloott
     wwiitthh vveeccttoorrss style.  See sseett ssttyyllee aarrrrooww, pplloottttiinngg ssttyylleess vveecc--
     ttoorrss.

     Sample script: arrowstyle.dem




     55..1100..  DDaattaa ffiillee ffoorrmmaatt



     The new sseett ddaattaaffiillee command can be used to specify information
     about the format of input data files, including the characters
     used to separate fields, to indicate comment lines, and to
     specify missing data.  Gnuplot now attempts to recognize text
     fields with embedded blanks as single entities based on the
     datafile format settings.  This allows input from csv (comma-
     separated value) files such as those exported by spreadsheet
     programs. See sseett ddaattaaffiillee.




     55..1111..  OOtthheerr cchhaannggeess aanndd aaddddiittiioonnss



     The preferred syntax to undo a command sseett <<ssoommeetthhiinngg>> is now
     uunnsseett <<ssoommeetthhiinngg>> rather than sseett nnoo<<ssoommeetthhiinngg>>. The older form
     has been deprecated.  Version 4.0 continues to allow the older
     syntax, but such backwards compatibility may be lost in future
     versions.











GNUPLOT 4.0                                                        8


     Commands of the form sseett <<ssoommeetthhiinngg>> <<ssttyyllee>> also are deprec-
     tated in favor of the more general form sseett ssttyyllee <<ssoommeetthhiinngg>>
     <<ooppttiioonnss>>.  Many more plot elements now have style options of
     their own, including arrows, filled areas, lines, and points.
     There are also style settings for input data and formatting.
     Please see sseett ssttyyllee, sseett ddeecciimmaallssiiggnn, and sseett ddaattaaffiillee.

     Improved 2D and 3D clipping (hidden lines).

     More consistent point styles and other default formatting
     styles across all terminals. Please use the tteesstt command to
     check default styles and plotting capabilities for the cur-
     rently selected terminal type.

     The sseett llaabbeell command supports associated points, and allows
     you to specify point style and text style (font, rotation,
     etc). User variables can be included in labels via format spec-
     ifiers in the label text.  See sseett llaabbeell.

     New command sseett vviieeww mmaapp to select top-view 2D projection of 3D
     surface plot.

     New commands sseett tteerrmm ppuusshh and sseett tteerrmm ppoopp to achieve platform
     independent restoring of the terminal after printing,

     The llooaadd and ssaavvee commands accept piped input and output,
     respectively.

     The hhiissttoorryy command (for gnuplot with its own readline, not
     with GNU readline) now includes several useful options.

     The built-in function rraanndd((xx)) has been modified to allow
     explicit seeding of the pseudo-random number generator. See
     rraannddoomm.

     The MS Windows package includes an additional executable ppggnnuu--
     pplloott..eexxee to support piping command through standard input,
     which is otherwise not available for graphical applications on
     this system.




     55..1122..  AAccccoommppaannyyiinngg ddooccuummeennttaattiioonn



     In directory docs/psdocs/ you may find new information in the
     gnuplot output postscript file guide, list of postscript sym-
     bols in different encodings.

     Improved FAQ. Please read it before asking your question in a
     public forum.










GNUPLOT 4.0                                                        9


     There are plenty of new demos *.dem in the demo/ directory.
     Please run them, for example by
           load "all.dem"
     before asking for help.  Plots produced by the demo scripts can
     also be viewed at http://www.gnuplot.info/demo/




66..  BBaattcchh//IInntteerraaccttiivvee OOppeerraattiioonn


ggnnuupplloott may be executed in either batch or interactive modes, and
the two may even be mixed together on many systems.

Any command-line arguments are assumed to be names of files contain-
ing ggnnuupplloott commands (with the exception of standard X11 arguments,
which are processed first).  Each file is loaded with the llooaadd com-
mand, in the order specified.  ggnnuupplloott exits after the last file is
processed.  When no load files are named, ggnnuupplloott enters into an
interactive mode.  The special filename "-" is used to denote stan-
dard input.

Both the eexxiitt and qquuiitt commands terminate the current command file
and llooaadd the next one, until all have been processed.

Examples:

To launch an interactive session:
      gnuplot

To launch a batch session using two command files "input1" and
"input2":
      gnuplot input1 input2

To launch an interactive session after an initialization file
"header" and followed by another command file "trailer":
      gnuplot header - trailer



77..  CCoommmmaanndd--lliinnee--eeddiittiinngg


Command-line editing is supported by the Unix, Atari, VMS, MS-DOS
and OS/2 versions of ggnnuupplloott.  Also, a history mechanism allows pre-
vious commands to be edited and re-executed.  After the command line
has been edited, a newline or carriage return will enter the entire
line without regard to where the cursor is positioned.

(The readline function in ggnnuupplloott is not the same as the readline
used in GNU Bash and GNU Emacs.  If the GNU version is desired, it
may be selected instead of the ggnnuupplloott version at compile time.)










GNUPLOT 4.0                                                       10


The editing commands are as follows:




   +-------------------------------------------------------------+
   |Character   Function                                         |
   +-------------------------------------------------------------+
   |            Line Editing                                     |
   |   ^B       move back a single character.                    |
   |   ^F       move forward a single character.                 |
   |   ^A       move to the beginning of the line.               |
   |   ^E       move to the end of the line.                     |
   | ^H, DEL    delete the previous character.                   |
   |   ^D       delete the current character.                    |
   |   ^K       delete from current position to the end of line. |
   | ^L, ^R     redraw line in case it gets trashed.             |
   |   ^U       delete the entire line.                          |
   |   ^W       delete from the current word to the end of line. |
   +-------------------------------------------------------------+
   |            History                                          |
   |   ^P       move back through history.                       |
   |   ^N       move forward through history.                    |
   +-------------------------------------------------------------+



On the IBM PC, the use of a TSR program such as DOSEDIT or CED may
be desired for line editing.  The default makefile assumes that this
is the case;  by default ggnnuupplloott will be compiled with no line-edit-
ing capability.  If you want to use ggnnuupplloott's line editing, set
READLINE in the makefile and add readline.obj to the link file.  The
following arrow keys may be used on the IBM PC and Atari versions if
readline is used:




                  +-------------------------------+
                  |   Arrow key       Function    |
                  +-------------------------------+
                  |   Left Arrow      same as ^B. |
                  |  Right Arrow      same as ^F. |
                  |Ctrl Left Arrow    same as ^A. |
                  |Ctrl Right Arrow   same as ^E. |
                  |    Up Arrow       same as ^P. |
                  |   Down Arrow      same as ^N. |
                  +-------------------------------+
                  +-------------------------------+



The Atari version of readline defines some additional key aliases:










GNUPLOT 4.0                                                       11


                  +------------------------------+
                  |   Key      Function          |
                  +------------------------------+
                  |  Undo      same as ^L.       |
                  |  Home      same as ^A.       |
                  |Ctrl Home   same as ^E.       |
                  |   Esc      same as ^U.       |
                  |  Help      help plus return. |
                  |Ctrl Help   help .            |
                  +------------------------------+
                  +------------------------------+





88..  CCoommmmeennttss


Comments are supported as follows: a ## may appear in most places in
a line and ggnnuupplloott will ignore the rest of the line.  It will not
have this effect inside quotes, inside numbers (including complex
numbers), inside command substitutions, etc.  In short, it works
anywhere it makes sense to work.

See also sseett ddaattaaffiillee ccoommmmeennttsscchhaarrss for specifying comment charac-
ters in data files.



99..  CCoooorrddiinnaatteess


The commands sseett aarrrrooww, sseett kkeeyy, and sseett llaabbeell allow you to draw
something at an arbitrary position on the graph.  This position is
specified by the syntax:

      {<system>} <x>, {<system>} <y> {,{<system>} <z>}

Each <system> can either be ffiirrsstt, sseeccoonndd, ggrraapphh or ssccrreeeenn.

ffiirrsstt places the x, y, or z coordinate in the system defined by the
left and bottom axes; sseeccoonndd places it in the system defined by the
second axes (top and right); ggrraapphh specifies the area within the
axes---0,0 is bottom left and 1,1 is top right (for splot, 0,0,0 is
bottom left of plotting area; use negative z to get to the
base---see sseett ttiiccsslleevveell); and ssccrreeeenn specifies the screen area (the
entire area---not just the portion selected by sseett ssiizzee), with 0,0
at bottom left and 1,1 at top right.

If the coordinate system for x is not specified, ffiirrsstt is used.  If
the system for y is not specified, the one used for x is adopted.











GNUPLOT 4.0                                                       12


If one (or more) axis is timeseries, the appropriate coordinate
should be given as a quoted time string according to the ttiimmeeffmmtt
format string.  See sseett xxddaattaa and sseett ttiimmeeffmmtt.  ggnnuupplloott will also
accept an integer expression, which will be interpreted as seconds
from 1 January 2000.



1100..  EEnnvviirroonnmmeenntt


A number of shell environment variables are understood by ggnnuupplloott.
None of these are required, but may be useful.

If GNUTERM is defined, it is used as the name of the terminal type
to be used.  This overrides any terminal type sensed by ggnnuupplloott on
start-up, but is itself overridden by the .gnuplot (or equivalent)
start-up file (see ssttaarrtt--uupp) and, of course, by later explicit
changes.

On Unix, AmigaOS, AtariTOS, MS-DOS and OS/2, GNUHELP may be defined
to be the pathname of the HELP file (gnuplot.gih).

On VMS, the logical name GNUPLOT$HELP should be defined as the name
of the help library for ggnnuupplloott.  The ggnnuupplloott help can be put inside
any system help library, allowing access to help from both within
and outside ggnnuupplloott if desired.

On Unix, HOME is used as the name of a directory to search for a
.gnuplot file if none is found in the current directory.  On Ami-
gaOS, AtariTOS, MS-DOS, Windows and OS/2, GNUPLOT is used.  On Win-
dows, the NT-specific variable USERPROFILE is tried, too. VMS,
SYS$LOGIN: is used. Type hheellpp ssttaarrtt--uupp.

On Unix, PAGER is used as an output filter for help messages.

On Unix, AtariTOS and AmigaOS, SHELL is used for the sshheellll command.
On MS-DOS and OS/2, COMSPEC is used for the sshheellll command.

On MS-DOS, if the BGI or Watcom interface is used, PCTRM is used to
tell the maximum resolution supported by your monitor by setting it
to S<max. horizontal resolution>. E.g. if your monitor's maximum
resolution is 800x600, then use:
      set PCTRM=S800
If PCTRM is not set, standard VGA is used.

FIT_SCRIPT may be used to specify a ggnnuupplloott command to be executed
when a fit is interrupted---see ffiitt.  FIT_LOG specifies the default
filename of the logfile maintained by fit.

GNUPLOT_LIB may be used to define additional search directories for
data and command files. The variable may contain a single directory
name, or a list of directories separated by a platform-specific path










GNUPLOT 4.0                                                       13


separator, eg. ':' on Unix, or ';' on DOS/Windows/OS/2/Amiga plat-
forms. The contents of GNUPLOT_LIB are appended to the llooaaddppaatthh
variable, but not saved with the ssaavvee and ssaavvee sseett commands.

Several gnuplot terminal drivers access TrueType fonts via the gd
library.  For these drivers the font search path is controlled by
the environmental variable GDFONTPATH.  Furthermore, a default font
for these drivers may be set via the environmental variable GNU-
PLOT_DEFAULT_GDFONT.

The postscript terminal uses its own font search path. It is con-
trolled by the environmental variable GNUPLOT_FONTPATH. The format
is the same as for GNUPLOT_LIB. The contents of GNUPLOT_FONTPATH are
appended to the ffoonnttppaatthh variable, but not saved with the ssaavvee and
ssaavvee sseett commands.



1111..  EExxpprreessssiioonnss


In general, any mathematical expression accepted by C, FORTRAN, Pas-
cal, or BASIC is valid.  The precedence of these operators is deter-
mined by the specifications of the C programming language.  White
space (spaces and tabs) is ignored inside expressions.

Complex constants are expressed as {<real>,<imag>}, where <real> and
<imag> must be numerical constants.  For example, {3,2} represents 3
+ 2i; {0,1} represents 'i' itself.  The curly braces are explicitly
required here.

Note that gnuplot uses both "real" and "integer" arithmetic, like
FORTRAN and C.  Integers are entered as "1", "-10", etc; reals as
"1.0", "-10.0", "1e1", 3.5e-1, etc.  The most important difference
between the two forms is in division: division of integers trun-
cates: 5/2 = 2; division of reals does not: 5.0/2.0 = 2.5.  In mixed
expressions, integers are "promoted" to reals before evaluation:
5/2e0 = 2.5.  The result of division of a negative integer by a pos-
itive one may vary among compilers.  Try a test like "print -5/2" to
determine if your system chooses -2 or -3 as the answer.

The integer expression "1/0" may be used to generate an "undefined"
flag, which causes a point to ignored; the tteerrnnaarryy operator gives an
example.

The real and imaginary parts of complex expressions are always real,
whatever the form in which they are entered: in {3,2} the "3" and
"2" are reals, not integers.















GNUPLOT 4.0                                                       14


     1111..11..  FFuunnccttiioonnss


     The functions in ggnnuupplloott are the same as the corresponding
     functions in the Unix math library, except that all functions
     accept integer, real, and complex arguments, unless otherwise
     noted.

     For those functions that accept or return angles that may be
     given in either degrees or radians (sin(x), cos(x), tan(x),
     asin(x), acos(x), atan(x), atan2(x) and arg(z)), the unit may
     be selected by sseett aanngglleess, which defaults to radians.



















































GNUPLOT 4.0                                                       15


+--------------------------------------------------------------------------------+
|  Function      Arguments    Returns                                            |
+--------------------------------------------------------------------------------+
|   abs(x)          any       absolute value of _x, |_x|; same type                |
|   abs(x)        complex     length of _x, real(_x)2+imag(_x)2                     |
|  acos(x)          any       cos-1_x (inverse cosine)                            |
|  acosh(x)         any       cosh-1_x (inverse hyperbolic cosine) in radians     |
|   arg(x)        complex     the phase of _x                                     |
|  asin(x)          any       sin-1_x (inverse sin)                               |
|  asinh(x)         any       sinh-1_x (inverse hyperbolic sin) in radians        |
|  atan(x)          any       tan-1_x (inverse tangent)                           |
| atan2(y,x)    int or real   tan-1(_y/_x) (inverse tangent)                       |
|  atanh(x)         any       tanh-1_x (inverse hyperbolic tangent) in radians    |
|  besj0(x)     int or real   _j0 Bessel function of _x, in radians                |
|  besj1(x)     int or real   _j1 Bessel function of _x, in radians                |
|  besy0(x)     int or real   _y0 Bessel function of _x, in radians                |
|  besy1(x)     int or real   _y1 Bessel function of _x, in radians                |
|  ceil(x)          any       _x, smallest integer not less than _x (real part)    |
|   cos(x)        radians     cos_x, cosine of _x                                  |
|  cosh(x)          any       cosh_x, hyperbolic cosine of _x in radians           |
|   erf(x)          any       _e_r_f(real(_x)), error function of real (_x)           |
|  erfc(x)          any       _e_r_f_c(real(_x)), 1.0 - error function of real (_x)    |
|   exp(x)          any       _e_x, exponential function of _x                      |
|  floor(x)         any       _x, largest integer not greater than _x (real part)  |
|  gamma(x)         any       (real(_x)), gamma function of real (_x)              |
|ibeta(p,q,x)       any       _i_b_e_t_a(real(_p,_q,_x)), ibeta function of real (_p,_q,_x) |
| inverf(x)         any       inverse error function real(_x)                     |
|igamma(a,x)        any       _i_g_a_m_m_a(real(_a,_x)), igamma function of real (_a,_x)   |
|  imag(x)        complex     imaginary part of _x as a real number               |
| invnorm(x)        any       inverse normal distribution function real(_x)       |
|   int(x)         real       integer part of _x, truncated toward zero           |
|lambertw(x)       real       Lambert W function                                 |
| lgamma(x)         any       _l_g_a_m_m_a(real(_x)), lgamma function of real (_x)       |
|   log(x)          any       ln_x, natural logarithm (base _e) of _x               |
|  log10(x)         any       log10_x, logarithm (base 10) of _x                   |
|  norm(x)          any       _n_o_r_m(_x), normal distribution function of real(_x)   |
|  rand(x)          any       _r_a_n_d(_x), pseudo random number generator            |
|  real(x)          any       real part of _x                                     |
|   sgn(x)          any       1 if _x>0, -1 if _x<0, 0 if _x=0. imag(_x) ignored     |
|   sin(x)          any       sin_x, sine of _x                                    |
|  sinh(x)          any       sinh_x, hyperbolic sine of _x in radians             |
|  sqrt(x)          any       _x, square root of _x                                |
|   tan(x)          any       tan_x, tangent of _x                                 |
|  tanh(x)          any       tanh_x, hyperbolic tangent of _x in radians          |
+--------------------------------------------------------------------------------+



A few additional functions are also available.














GNUPLOT 4.0                                                       16


+---------------------------------------------------------------------------------+
| Function      Arguments     Returns                                             |
+---------------------------------------------------------------------------------+
|column(x)         int         column _x during datafile manipulation.             |
|defined(X)   variable name    returns 1 if a variable X is defined, 0 otherwise. |
|tm_hour(x)        int        the hour                                            |
|tm_mday(x)        int        the day of the month                                |
|tm_min(x)         int        the minute                                          |
|tm_mon(x)         int        the month                                           |
|tm_sec(x)         int        the second                                          |
|tm_wday(x)        int        the day of the week                                 |
|tm_yday(x)        int        the day of the year                                 |
|tm_year(x)        int        the year                                            |
| valid(x)         int         test validity of column(_x) during datafile manip.  |
+---------------------------------------------------------------------------------+


See also airfoil.dem: use of functions and complex variables for
airfoils demo.





          1111..11..11..  RRaannddoomm nnuummbbeerr ggeenneerraattoorr



          The behavior of the built-in function rraanndd((xx)) has changed
          as of version 3.8l.  Older scripts that expected rand(x>0)
          to produce sequential pseudo-random numbers from the same
          seeded sequence must be changed to call rand(0) instead.
          The current behavior is as follows:
           `rand(0)`  returns a pseudo random number in the interval
          [0:1] generated
                      from the current value of two internal 32-bit
          seeds.
           `rand(-1)` resets both seeds to a standard value.
           `rand(x)`  for x>0 sets both seeds to a value based on
          the value of x.
           `rand({x,y})` for x>0 sets seed1 to x and seed2 to y.




     1111..22..  OOppeerraattoorrss


     The operators in ggnnuupplloott are the same as the corresponding
     operators in the C programming language, except that all opera-
     tors accept integer, real, and complex arguments, unless other-
     wise noted.  The ** operator (exponentiation) is supported, as
     in FORTRAN.










GNUPLOT 4.0                                                       17


     Parentheses may be used to change order of evaluation.




          1111..22..11..  UUnnaarryy


          The following is a list of all the unary operators and
          their usages:







 +-----------------------------------------------------------------+
 |Symbol   Example   Explanation                                   |
 +-----------------------------------------------------------------+
 |  -        -a      unary minus                                   |
 |  +        +a      unary plus (no-operation)                     |
 |  ~        ~a      * one's complement                            |
 |  !        !a      * logical negation                            |
 |  !        a!      * factorial                                   |
 |  $        $3      * call arg/column during `using` manipulation |
 +-----------------------------------------------------------------+
 +-----------------------------------------------------------------+


(*) Starred explanations indicate that the operator requires an
integer argument.

Operator precedence is the same as in Fortran and C.  As in those
languages, parentheses may be used to change the order of operation.
Thus -2**2 = -4, but (-2)**2 = 4.

The factorial operator returns a real number to allow a greater
range.



          1111..22..22..  BBiinnaarryy


          The following is a list of all the binary operators and
          their usages:
















GNUPLOT 4.0                                                       18


           +--------------------------------------------+
           |Symbol   Example   Explanation              |
           +--------------------------------------------+
           |  **      a**b     exponentiation           |
           |  *        a*b     multiplication           |
           |  /        a/b     division                 |
           |  %        a%b     * modulo                 |
           |  +        a+b     addition                 |
           |  -        a-b     subtraction              |
           |  ==      a==b     equality                 |
           |  !=      a!=b     inequality               |
           |  <        a<b     less than                |
           |  <=      a<=b     less than or equal to    |
           |  >        a>b     greater than             |
           |  >=      a>=b     greater than or equal to |
           |  &        a&b     * bitwise AND            |
           |  ^        a^b     * bitwise exclusive OR   |
           |  |        a|b     * bitwise inclusive OR   |
           |  &&      a&&b     * logical AND            |
           |  ||      a||b     * logical OR             |
           +--------------------------------------------+


(*) Starred explanations indicate that the operator requires integer
arguments.

Logical AND (&&) and OR (||) short-circuit the way they do in C.
That is, the second &&&& operand is not evaluated if the first is
false; the second |||| operand is not evaluated if the first is true.



          1111..22..33..  TTeerrnnaarryy


          There is a single ternary operator:




              +---------------------------------------+
              |Symbol   Example   Explanation         |
              +---------------------------------------+
              |  ?:      a?b:c    * ternary operation |
              +---------------------------------------+


The ternary operator behaves as it does in C.  The first argument
(a), which must be an integer, is evaluated.  If it is true (non-
zero), the second argument (b) is evaluated and returned; otherwise
the third argument (c) is evaluated and returned.

The ternary operator is very useful both in constructing piecewise










GNUPLOT 4.0                                                       19


functions and in plotting points only when certain conditions are
met.

Examples:

Plot a function that is to equal sin(x) for 0 <= x < 1, 1/x for 1 <=
x < 2, and undefined elsewhere:
      f(x) = 0<=x && x<1 ? sin(x) : 1<=x && x<2 ? 1/x : 1/0
      plot f(x)
Note that ggnnuupplloott quietly ignores undefined values, so the final
branch of the function (1/0) will produce no plottable points.  Note
also that f(x) will be plotted as a continuous function across the
discontinuity if a line style is used.  To plot it discontinuously,
create separate functions for the two pieces.  (Parametric functions
are also useful for this purpose.)

For data in a file, plot the average of the data in columns 2 and 3
against the datum in column 1, but only if the datum in column 4 is
non-negative:

      plot 'file' using 1:( $4<0 ? 1/0 : ($2+$3)/2 )

Please see pplloott ddaattaaffiillee uussiinngg for an explanation of the uussiinngg syn-
tax.



     1111..33..  UUsseerr--ddeeffiinneedd


     New user-defined variables and functions of one through five
     variables may be declared and used anywhere, including on the
     pplloott command itself.

     User-defined function syntax:
           <func-name>( <dummy1> {,<dummy2>} ... {,<dummy5>} ) =
     <expression>

     where <expression> is defined in terms of <dummy1> through
     <dummy5>.

     User-defined variable syntax:
           <variable-name> = <constant-expression>

     Examples:
           w = 2
           q = floor(tan(pi/2 - 0.1))
           f(x) = sin(w*x)
           sinc(x) = sin(pi*x)/(pi*x)
           delta(t) = (t == 0)
           ramp(t) = (t > 0) ? t : 0
           min(a,b) = (a < b) ? a : b
           comb(n,k) = n!/(k!*(n-k)!)










GNUPLOT 4.0                                                       20


           len3d(x,y,z) = sqrt(x*x+y*y+z*z)
           plot f(x) = sin(x*a), a = 0.2, f(x), a = 0.4, f(x)

     Note that the variable ppii is already defined.  But it is in no
     way magic; you may redefine it to be whatever you like.

     Valid names are the same as in most programming languages: they
     must begin with a letter, but subsequent characters may be let-
     ters, digits, "$", or "_".  Note, however, that the ffiitt mecha-
     nism uses several variables with names that begin "FIT_".  It
     is safest to avoid using such names.  "FIT_LIMIT", however, is
     one that you may wish to redefine. See the documentation on ffiitt
     for details.

     See sshhooww ffuunnccttiioonnss, sshhooww vvaarriiaabblleess, and ffiitt.




1122..  GGlloossssaarryy


Throughout this document an attempt has been made to maintain con-
sistency of nomenclature.  This cannot be wholly successful because
as ggnnuupplloott has evolved over time, certain command and keyword names
have been adopted that preclude such perfection.  This section con-
tains explanations of the way some of these terms are used.

A "page" or "screen" is the entire area addressable by ggnnuupplloott.  On
a monitor, it is the full screen; on a plotter, it is a single sheet
of paper.

A screen may contain one or more "plots".  A plot is defined by an
abscissa and an ordinate, although these need not actually appear on
it, as well as the margins and any text written therein.

A plot contains one "graph".  A graph is defined by an abscissa and
an ordinate, although these need not actually appear on it.

A graph may contain one or more "lines".  A line is a single func-
tion or data set.  "Line" is also a plotting style.  The word will
also be used in sense "a line of text".  Presumably the context will
remove any ambiguity.

The lines on a graph may have individual names.  These may be listed
together with a sample of the plotting style used to represent them
in the "key", sometimes also called the "legend".

The word "title" occurs with multiple meanings in ggnnuupplloott.  In this
document, it will always be preceded by the adjective "plot",
"line", or "key" to differentiate among them.

A 2-d graph may have up to four labelled axes.  The names of the










GNUPLOT 4.0                                                       21


four axes for these usages are "x" for the axis along the bottom
border of the plot, "y" for the left border, "x2" for the top bor-
der, and "y2" for the right border.

A 3-d graph may have up to three labelled axes -- "x", "y" and "z".
It is not possible to say where on the graph any particular axis
will fall because you can change the direction from which the graph
is seen with sseett vviieeww.

When discussing data files, the term "record" will be resurrected
and used to denote a single line of text in the file, that is, the
characters between newline or end-of-record characters.  A "point"
is the datum extracted from a single record.  A "datablock" is a set
of points from consecutive records, delimited by blank records.  A
line, when referred to in the context of a data file, is a subset of
a datablock.



1133..  MMoouussee iinnppuutt


The xx1111, ppmm, wwiinnddoowwss, and ggggii terminals allow interaction with the
current plot using the mouse. They also support the definition of
hotkeys to activate pre-defined functions by hitting a single key
while the mouse focus is in the active plot window.  It is even pos-
sible to combine mouse input with bbaattcchh command scripts, by invoking
the command ppaauussee mmoouussee and then using the mouse variables returned
by mouse clicking as parameters for subsequent scripted actions. See
bbiinndd and mmoouussee vvaarriiaabblleess.  See also the command sseett mmoouussee.





     1133..11..  BBiinndd


     The bbiinndd allows defining or redefining a hotkey, i.e. a
     sequence of gnuplot commands which will be executed when a cer-
     tain key or key sequence is pressed while the driver's window
     has the input focus. Note that bbiinndd is only available if gnu-
     plot was compiled with mmoouussee support and it is used by all
     mouse-capable terminals. Bindings overwrite the builtin bind-
     ings (like in every real editor), except <space> and 'q' which
     cannot be rebound. Mouse buttons cannot be rebound.

     Note that multikey-bindings with modifiers have to be quoted.

     Syntax:
           bind [<key-sequence>] ["<gnuplot commands>"]
           bind!











GNUPLOT 4.0                                                       22


     Examples:

     - set bindings:

         bind a "replot"
         bind "ctrl-a" "plot x*x"
         bind "ctrl-alt-a" 'print "great"'
         bind Home "set view 60,30; replot"

     - show bindings:
         bind "ctrl-a"          # shows the binding for ctrl-a
         bind                   # shows all bindings

     - remove bindings:
         bind "ctrl-alt-a" ""   # removes binding for ctrl-alt-a
                                  (note that builtins cannot be
     removed)
         bind!                  # installs default (builtin) bind-
     ings

     - bind a key to toggle something:
       v=0
       bind "ctrl-r" "v=v+1;if(v%2)set term x11 noraise; else set
     term x11 raise"

     Modifiers (ctrl / alt) are case insensitive, keys not:
         ctrl-alt-a == CtRl-alT-a
         ctrl-alt-a != ctrl-alt-A

     List of modifiers (alt == meta):
         ctrl, alt

     List of supported special keys:

        "BackSpace", "Tab", "Linefeed", "Clear", "Return", "Pause",
     "Scroll_Lock",
        "Sys_Req", "Escape", "Delete", "Home", "Left", "Up",
     "Right", "Down",
        "PageUp", "PageDown", "End", "Begin",

        "KP_Space", "KP_Tab", "KP_Enter", "KP_F1", "KP_F2", "KP_F3",
     "KP_F4",
        "KP_Home", "KP_Left", "KP_Up", "KP_Right", "KP_Down",
     "KP_PageUp",
        "KP_PageDown", "KP_End", "KP_Begin", "KP_Insert",
     "KP_Delete", "KP_Equal",
        "KP_Multiply", "KP_Add", "KP_Separator", "KP_Subtract",
     "KP_Decimal",
        "KP_Divide",

        "KP_1" - "KP_9", "F1" - "F12"

     See also help for mmoouussee and iiff.










GNUPLOT 4.0                                                       23


     1133..22..  MMoouussee__vvaarriiaabblleess


     When mousing is active, clicking in the active window will set
     several user variables that can be accessed from the gnuplot
     command line. The coordinates of the mouse at the time of the
     click are stored in MOUSE_X MOUSE_Y MOUSE_X2 and MOUSE_Y2. The
     mouse button clicked, and any meta-keys active at that time,
     are stored in MOUSE_BUTTON MOUSE_SHIFT MOUSE_ALT and
     MOUSE_CTRL.  These variables are set to undefined at the start
     of every plot, and only become defined in the event of a mouse
     click in the active plot window. To determine from a script if
     the mouse has been clicked in the active plot window, it is
     sufficient to test for any one of these variables being
     defined.

           plot 'something'
           set pause mouse
           if (defined(MOUSE_BUTTON)) call 'something_else'; \
           else print "No mouse click."




1144..  PPlloottttiinngg


There are three ggnnuupplloott commands which actually create a plot: pplloott,
sspplloott and rreepplloott.  pplloott generates 2-d plots, sspplloott generates 3-d
plots (actually 2-d projections, of course), and rreepplloott appends its
arguments to the previous pplloott or sspplloott and executes the modified
command.

Much of the general information about plotting can be found in the
discussion of pplloott; information specific to 3-d can be found in the
sspplloott section.

pplloott operates in either rectangular or polar coordinates -- see sseett
ppoollaarr for details of the latter.  sspplloott operates only in rectangular
coordinates, but the sseett mmaappppiinngg command allows for a few other
coordinate systems to be treated.  In addition, the uussiinngg option
allows both pplloott and sspplloott to treat almost any coordinate system
you'd care to define.

pplloott also lets you use each of the four borders -- x (bottom), x2
(top), y (left) and y2 (right) -- as an independent axis.  The aaxxeess
option lets you choose which pair of axes a given function or data
set is plotted against.  A full complement of sseett commands exists to
give you complete control over the scales and labelling of each
axis.  Some commands have the name of an axis built into their
names, such as sseett xxllaabbeell.  Other commands have one or more axis
names as options, such as sseett llooggssccaallee xxyy.  Commands and options
controlling the z axis have no effect on 2-d graphs.










GNUPLOT 4.0                                                       24


sspplloott can plot surfaces and contours in addition to points and/or
lines.  In addition to sspplloott, see sseett iissoossaammpplleess for information
about defining the grid for a 3-d function;  sspplloott ddaattaaffiillee for
information about the requisite file structure for 3-d data values;
and sseett ccoonnttoouurr and sseett ccnnttrrppaarraamm for information about contours.

In sspplloott, control over the scales and labels of the axes are the
same as with pplloott, except that commands and options controlling the
x2 and y2 axes have no effect whereas of course those controlling
the z axis do take effect.

sspplloott allows plotting of binary and matrix data, but only for spe-
cific data formats.  See sspplloott for details.



1155..  SSttaarrtt--uupp


When ggnnuupplloott is run, it looks for an initialization file to load.
This file is called ..ggnnuupplloott on Unix and AmigaOS systems, and GGNNUU--
PPLLOOTT..IINNII on other systems.  If this file is not found in the current
directory, the program will look for it in the HOME directory (under
AmigaOS, Atari(single)TOS, MS-DOS, Windows and OS/2, the environment
variable GGNNUUPPLLOOTT should contain the name of this directory; on Win-
dows NT, it will use UUSSEERRPPRROOFFIILLEE if GNUPLOT isn't defined).  Note:
if NOCWDRC is defined during the installation, ggnnuupplloott will not read
from the current directory.

If the initialization file is found, ggnnuupplloott executes the commands
in it.  These may be any legal ggnnuupplloott commands, but typically they
are limited to setting the terminal and defining frequently-used
functions or variables.



1166..  SSuubbssttiittuuttiioonn


Command-line substitution is specified by a system command enclosed
in backquotes.  This command is spawned and the output it produces
replaces the name of the command (and backquotes) on the command
line.  Some implementations also support pipes;  see pplloott ddaattaaffiillee
ssppeecciiaall--ffiilleennaammeess.

Command-line substitution can be used anywhere on the ggnnuupplloott com-
mand line, except inside strings delimited by single quotes.

Example:

This will run the program lleeaassttssqq and replace lleeaassttssqq (including
backquotes) on the command line with its output:
      f(x) = `leastsq`










GNUPLOT 4.0                                                       25


or, in VMS
      f(x) = `run leastsq`

These will generate labels with the current time and userid:
      set label "generated on `date +%Y-%m-%d`by `whoami`" at 1,1
      set timestamp "generated on %Y-%m-%d by `whoami`"




1177..  SSyynnttaaxx


The general rules of syntax and punctuation in ggnnuupplloott are that key-
words and options are order-dependent.  Options and any accompanying
parameters are separated by spaces whereas lists and coordinates are
separated by commas.  Ranges are separated by colons and enclosed in
brackets [], text and file names are enclosed in quotes, and a few
miscellaneous things are enclosed in parentheses.  Braces {} are
used for a few special purposes.

Commas are used to separate coordinates on the sseett commands aarrrrooww,
kkeeyy, and llaabbeell; the list of variables being fitted (the list after
the vviiaa keyword on the ffiitt command); lists of discrete contours or
the loop parameters which specify them on the sseett ccnnttrrppaarraamm command;
the arguments of the sseett commands ddggrriidd33dd, dduummmmyy, iissoossaammpplleess, ooffff--
sseettss, oorriiggiinn, ssaammpplleess, ssiizzee, ttiimmee, and vviieeww; lists of tics or the
loop parameters which specify them; the offsets for titles and axis
labels; parametric functions to be used to calculate the x, y, and z
coordinates on the pplloott, rreepplloott and sspplloott commands; and the complete
sets of keywords specifying individual plots (data sets or func-
tions) on the pplloott, rreepplloott and sspplloott commands.

Parentheses are used to delimit sets of explicit tics (as opposed to
loop parameters) and to indicate computations in the uussiinngg filter of
the ffiitt, pplloott, rreepplloott and sspplloott commands.

(Parentheses and commas are also used as usual in function nota-
tion.)

Brackets are used to delimit ranges, whether they are given on sseett,
pplloott or sspplloott commands.

Colons are used to separate extrema in rraannggee specifications (whether
they are given on sseett, pplloott or sspplloott commands) and to separate
entries in the uussiinngg filter of the pplloott, rreepplloott, sspplloott and ffiitt com-
mands.

Semicolons are used to separate commands given on a single command
line.

Braces are used in text to be specially processed by some terminals,
like ppoossttssccrriipptt.  They are also used to denote complex numbers:










GNUPLOT 4.0                                                       26


{3,2} = 3 + 2i.

Text may be enclosed in single- or double-quotes.  Backslash pro-
cessing of sequences like \n (newline) and \345 (octal character
code) is performed for double-quoted strings, but not for single-
quoted strings.

The justification is the same for each line of a multi-line string.
Thus the center-justified string
      "This is the first line of text.\nThis is the second line."
will produce
                       This is the first line of text.
                          This is the second line.
but
      'This is the first line of text.\nThis is the second line.'
will produce
          This is the first line of text.\nThis is the second line.

Filenames may be entered with either single- or double-quotes.  In
this manual the command examples generally single-quote filenames
and double-quote other string tokens for clarity.

At present you should not embed \n inside {} when using the eennhhaanncceedd
ppoossttssccrriipptt terminal.

The EEPIC, Imagen, Uniplex, LaTeX, and TPIC drivers allow a newline
to be specified by \\ in a single-quoted string or \\\\ in a double-
quoted string.

Back-quotes are used to enclose system commands for substitution.



1188..  TTiimmee//DDaattee ddaattaa


ggnnuupplloott supports the use of time and/or date information as input
data.  This feature is activated by the commands sseett xxddaattaa ttiimmee, sseett
yyddaattaa ttiimmee, etc.

Internally all times and dates are converted to the number of sec-
onds from the year 2000.  The command sseett ttiimmeeffmmtt defines the format
for all inputs: data files, ranges, tics, label positions---in
short, anything that accepts a data value must receive it in this
format.  Since only one input format can be in force at a given
time, all time/date quantities being input at the same time must be
presented in the same format.  Thus if both x and y data in a file
are time/date, they must be in the same format.

The conversion to and from seconds assumes Universal Time (which is
the same as Greenwich Standard Time).  There is no provision for
changing the time zone or for daylight savings.  If all your data
refer to the same time zone (and are all either daylight or










GNUPLOT 4.0                                                       27


standard) you don't need to worry about these things.  But if the
absolute time is crucial for your application, you'll need to con-
vert to UT yourself.

Commands like sshhooww xxrraannggee will re-interpret the integer according to
ttiimmeeffmmtt.  If you change ttiimmeeffmmtt, and then sshhooww the quantity again,
it will be displayed in the new ttiimmeeffmmtt.  For that matter, if you
give the deactivation command (like sseett xxddaattaa), the quantity will be
shown in its numerical form.

The command sseett ffoorrmmaatt defines the format that will be used for tic
labels, whether or not the specified axis is time/date.

If time/date information is to be plotted from a file, the uussiinngg
option _must_ be used on the pplloott or sspplloott command.  These commands
simply use white space to separate columns, but white space may be
embedded within the time/date string.  If you use tabs as a separa-
tor, some trial-and-error may be necessary to discover how your sys-
tem treats them.

The following example demonstrates time/date plotting.

Suppose the file "data" contains records like

      03/21/95 10:00  6.02e23

This file can be plotted by

      set xdata time
      set timefmt "%m/%d/%y"
      set xrange ["03/21/95":"03/22/95"]
      set format x "%m/%d"
      set timefmt "%m/%d/%y %H:%M"
      plot "data" using 1:3

which will produce xtic labels that look like "03/21".

See the descriptions of each command for more details.




1199..  CCoommmmaannddss


This section lists the commands acceptable to ggnnuupplloott in alphabeti-
cal order.  Printed versions of this document contain all commands;
on-line versions may not be complete.  Indeed, on some systems there
may be no commands at all listed under this heading.

Note that in most cases unambiguous abbreviations for command names
and their options are permissible, i.e., "pp ff((xx)) ww llii" instead of
"pplloott ff((xx)) wwiitthh lliinneess".










GNUPLOT 4.0                                                       28


In the syntax descriptions, braces ({}) denote optional arguments
and a vertical bar (|) separates mutually exclusive choices.



2200..  CCdd


The ccdd command changes the working directory.

Syntax:
      cd '<directory-name>'

The directory name must be enclosed in quotes.

Examples:
      cd 'subdir'
      cd ".."

DOS users _must_ use single-quotes---backslash [\] has special sig-
nificance inside double-quotes.  For example,
      cd "c:\newdata"
fails, but
      cd 'c:\newdata'
works as expected.



2211..  CCaallll


The ccaallll command is identical to the load command with one excep-
tion: you can have up to ten additional parameters to the command
(delimited according to the standard parser rules) which can be sub-
stituted into the lines read from the file.  As each line is read
from the ccaalllled input file, it is scanned for the sequence $$ (dol-
lar-sign) followed by a digit (0--9).  If found, the sequence is
replaced by the corresponding parameter from the ccaallll command line.
If the parameter was specified as a string in the ccaallll line, it is
substituted without its enclosing quotes.  $$ followed by any charac-
ter other than a digit will be that character.  E.g. use $$$$ to get a
single $$.  Providing more than ten parameters on the ccaallll command
line will cause an error.  A parameter that was not provided substi-
tutes as nothing.  Files being ccaalllled may themselves contain ccaallll or
llooaadd commands.

The ccaallll command _must_ be the last command on a multi-command line.

Syntax:
      call "<input-file>" <parameter-0> <parm-1> ... <parm-9>

The name of the input file must be enclosed in quotes, and it is
recommended that parameters are similarly enclosed in quotes (future










GNUPLOT 4.0                                                       29


versions of gnuplot may treat quoted and unquoted arguments differ-
ently).

Example:

If the file 'calltest.gp' contains the line:
      print "p0=$0 p1=$1 p2=$2 p3=$3 p4=$4 p5=$5 p6=$6 p7=x$7x"

entering the command:
      call 'calltest.gp' "abcd" 1.2 + "'quoted'" -- "$2"

will display:
      p0=abcd p1=1.2 p2=+ p3='quoted' p4=- p5=- p6=$2 p7=xx

NOTE: there is a clash in syntax with the datafile uussiinngg callback
operator.  Use $$$$nn or ccoolluummnn((nn)) to access column n from a datafile
inside a ccaalllled datafile plot.



2222..  CClleeaarr


The cclleeaarr command erases the current screen or output device as
specified by sseett oouuttppuutt.  This usually generates a formfeed on hard-
copy devices.  Use sseett tteerrmmiinnaall to set the device type.

For some terminals cclleeaarr erases only the portion of the plotting
surface defined by sseett ssiizzee, so for these it can be used in conjunc-
tion with sseett mmuullttiipplloott to create an inset.

Example:
      set multiplot
      plot sin(x)
      set origin 0.5,0.5
      set size 0.4,0.4
      clear
      plot cos(x)
      unset multiplot

Please see sseett mmuullttiipplloott, sseett ssiizzee, and sseett oorriiggiinn for details of
these commands.



2233..  EExxiitt


The commands eexxiitt and qquuiitt and the END-OF-FILE character will exit
the current ggnnuupplloott command file and llooaadd the next one.  See "help
batch/interactive" for more details.

Each of these commands will clear the output device (as does the










GNUPLOT 4.0                                                       30


cclleeaarr command) before exiting.



2244..  FFiitt


The ffiitt command can fit a user-defined function to a set of data
points (x,y) or (x,y,z), using an implementation of the nonlinear
least-squares (NLLS) Marquardt-Levenberg algorithm.  Any user-
defined variable occurring in the function body may serve as a fit
parameter, but the return type of the function must be real.

Syntax:
      fit {[xrange] {[yrange]}} <function> '<datafile>'
          {datafile-modifiers}
          via '<parameter file>' | <var1>{,<var2>,...}

Ranges may be specified to temporarily limit the data which is to be
fitted; any out-of-range data points are ignored. The syntax is
      [{dummy_variable=}{<min>}{:<max>}],
analogous to pplloott; see pplloott rraannggeess.

<function> is any valid ggnnuupplloott expression, although it is usual to
use a previously user-defined function of the form f(x) or f(x,y).

<datafile> is treated as in the pplloott command.  All the pplloott ddaattaaffiillee
modifiers (uussiinngg, eevveerryy,...) except ssmmooootthh and the deprecated tthhrruu
are applicable to ffiitt. See pplloott ddaattaaffiillee.

The default data formats for fitting functions with a single inde-
pendent variable, y=f(x), are {x:}y or x:y:s; those formats can be
changed with the datafile uussiinngg qualifier.  The third item (a column
number or an expression), if present, is interpreted as the standard
deviation of the corresponding y value and is used to compute a
weight for the datum, 1/s**2.  Otherwise, all data points are
weighted equally, with a weight of one.  Note that if you don't
specify a uussiinngg option at all, no y deviations are read from the
datafile even if it does have a third column, so you'll always get
unit weights.

To fit a function with two independent variables, z=f(x,y), the
required format is uussiinngg with four items, x:y:z:s.  The complete
format must be given---no default columns are assumed for a missing
token.  Weights for each data point are evaluated from 's' as above.
If error estimates are not available, a constant value can be speci-
fied as a constant expression (see pplloott ddaattaaffiillee uussiinngg), e.g., uussiinngg
11::22::33::((11)).

Multiple datasets may be simultaneously fit with functions of one
independent variable by making y a 'pseudo-variable', e.g., the
dataline number, and fitting as two independent variables.  See ffiitt
mmuullttii--bbrraanncchh.










GNUPLOT 4.0                                                       31


The vviiaa qualifier specifies which parameters are to be adjusted,
either directly, or by referencing a parameter file.

Examples:
      f(x) = a*x**2 + b*x + c
      g(x,y) = a*x**2 + b*y**2 + c*x*y
      FIT_LIMIT = 1e-6
      fit f(x) 'measured.dat' via 'start.par'
      fit f(x) 'measured.dat' using 3:($7-5) via 'start.par'
      fit f(x) './data/trash.dat' using 1:2:3 via a, b, c
      fit g(x,y) 'surface.dat' using 1:2:3:(1) via a, b, c

After each iteration step, detailed information about the current
state of the fit is written to the display.  The same information
about the initial and final states is written to a log file,
"fit.log".  This file is always appended to, so as to not lose any
previous fit history;  it should be deleted or renamed as desired.
By using the command sseett ffiitt llooggffiillee, the name of the log file can
be changed.

If gnuplot was built with this option, and you activated it using
sseett ffiitt eerrrroorrvvaarriiaabblleess, the error for each fitted parameter will be
stored in a variable named like the parameter, but with "_err"
appended.  Thus the errors can be used as input for further computa-
tions.

The fit may be interrupted by pressing Ctrl-C (any key but Ctrl-C
under MSDOS and Atari Multitasking Systems).  After the current
iteration completes, you have the option to (1) stop the fit and
accept the current parameter values, (2) continue the fit, (3) exe-
cute a ggnnuupplloott command as specified by the environment variable
FIT_SCRIPT.  The default for FIT_SCRIPT is rreepplloott, so if you had
previously plotted both the data and the fitting function in one
graph, you can display the current state of the fit.

Once ffiitt has finished, the uuppddaattee command may be used to store final
values in a file for subsequent use as a parameter file.   See
uuppddaattee for details.




     2244..11..  AAddjjuussttaabbllee ppaarraammeetteerrss


     There are two ways that vviiaa can specify the parameters to be
     adjusted, either directly on the command line or indirectly, by
     referencing a parameter file.  The two use different means to
     set initial values.

     Adjustable parameters can be specified by a comma-separated
     list of variable names after the vviiaa keyword.  Any variable
     that is not already defined is created with an initial value of










GNUPLOT 4.0                                                       32


     1.0.  However, the fit is more likely to converge rapidly if
     the variables have been previously declared with more appropri-
     ate starting values.

     In a parameter file, each parameter to be varied and a corre-
     sponding initial value are specified, one per line, in the form
           varname = value

     Comments, marked by '#', and blank lines are permissible.  The
     special form
           varname = value       # FIXED

     means that the variable is treated as a 'fixed parameter', ini-
     tialized by the parameter file, but not adjusted by ffiitt.  For
     clarity, it may be useful to designate variables as fixed
     parameters so that their values are reported by ffiitt.  The key-
     word ## FFIIXXEEDD has to appear in exactly this form.




     2244..22..  SShhoorrtt iinnttrroodduuccttiioonn


     ffiitt is used to find a set of parameters that 'best' fits your
     data to your user-defined function.  The fit is judged on the
     basis of the sum of the squared differences or 'residuals'
     (SSR) between the input data points and the function values,
     evaluated at the same places.  This quantity is often called
     'chisquare' (i.e., the Greek letter chi, to the power of 2).
     The algorithm attempts to minimize SSR, or more precisely,
     WSSR, as the residuals are 'weighted' by the input data errors
     (or 1.0) before being squared; see ffiitt eerrrroorr__eessttiimmaatteess for
     details.

     That's why it is called 'least-squares fitting'.  Let's look at
     an example to see what is meant by 'non-linear', but first we
     had better go over some terms.  Here it is convenient to use z
     as the dependent variable for user-defined functions of either
     one independent variable, z=f(x), or two independent variables,
     z=f(x,y).  A parameter is a user-defined variable that ffiitt will
     adjust, i.e., an unknown quantity in the function declaration.
     Linearity/non-linearity refers to the relationship of the
     dependent variable, z, to the parameters which ffiitt is adjust-
     ing, not of z to the independent variables, x and/or y.  (To be
     technical, the second {and higher} derivatives of the fitting
     function with respect to the parameters are zero for a linear
     least-squares problem).

     For linear least-squares (LLS), the user-defined function will
     be a sum of simple functions, not involving any parameters,
     each multiplied by one parameter.  NLLS handles more compli-
     cated functions in which parameters can be used in a large










GNUPLOT 4.0                                                       33


     number of ways.  An example that illustrates the difference
     between linear and nonlinear least-squares is the Fourier
     series.  One member may be written as
          z=a*sin(c*x) + b*cos(c*x).
     If a and b are the unknown parameters and c is constant, then
     estimating values of the parameters is a linear least-squares
     problem.  However, if c is an unknown parameter, the problem is
     nonlinear.

     In the linear case, parameter values can be determined by com-
     paratively simple linear algebra, in one direct step.  However
     LLS is a special case which is also solved along with more gen-
     eral NLLS problems by the iterative procedure that ggnnuupplloott
     uses.  ffiitt attempts to find the minimum by doing a search.
     Each step (iteration) calculates WSSR with a new set of parame-
     ter values.  The Marquardt-Levenberg algorithm selects the
     parameter values for the next iteration.  The process continues
     until a preset criterion is met, either (1) the fit has "con-
     verged" (the relative change in WSSR is less than FIT_LIMIT),
     or (2) it reaches a preset iteration count limit, FIT_MAXITER
     (see ffiitt ccoonnttrrooll vvaarriiaabblleess).  The fit may also be interrupted
     and subsequently halted from the keyboard (see ffiitt).

     Often the function to be fitted will be based on a model (or
     theory) that attempts to describe or predict the behaviour of
     the data.  Then ffiitt can be used to find values for the free
     parameters of the model, to determine how well the data fits
     the model, and to estimate an error range for each parameter.
     See ffiitt eerrrroorr__eessttiimmaatteess.

     Alternatively, in curve-fitting, functions are selected inde-
     pendent of a model (on the basis of experience as to which are
     likely to describe the trend of the data with the desired reso-
     lution and a minimum number of parameters*functions.)  The ffiitt
     solution then provides an analytic representation of the curve.

     However, if all you really want is a smooth curve through your
     data points, the ssmmooootthh option to pplloott may be what you've been
     looking for rather than ffiitt.



     2244..33..  EErrrroorr eessttiimmaatteess


     In ffiitt, the term "error" is used in two different contexts,
     data error estimates and parameter error estimates.

     Data error estimates are used to calculate the relative weight
     of each data point when determining the weighted sum of squared
     residuals, WSSR or chisquare.  They can affect the parameter
     estimates, since they determine how much influence the devia-
     tion of each data point from the fitted function has on the










GNUPLOT 4.0                                                       34


     final values.  Some of the ffiitt output information, including
     the parameter error estimates, is more meaningful if accurate
     data error estimates have been provided.

     The 'statistical overview' describes some of the ffiitt output and
     gives some background for the 'practical guidelines'.




          2244..33..11..  SSttaattiissttiiccaall oovveerrvviieeww


          The theory of non-linear least-squares (NLLS) is generally
          described in terms of a normal distribution of errors,
          that is, the input data is assumed to be a sample from a
          population having a given mean and a Gaussian (normal)
          distribution about the mean with a given standard devia-
          tion.  For a sample of sufficiently large size, and know-
          ing the population standard deviation, one can use the
          statistics of the chisquare distribution to describe a
          "goodness of fit" by looking at the variable often called
          "chisquare".  Here, it is sufficient to say that a reduced
          chisquare (chisquare/degrees of freedom, where degrees of
          freedom is the number of datapoints less the number of
          parameters being fitted) of 1.0 is an indication that the
          weighted sum of squared deviations between the fitted
          function and the data points is the same as that expected
          for a random sample from a population characterized by the
          function with the current value of the parameters and the
          given standard deviations.

          If the standard deviation for the population is not con-
          stant, as in counting statistics where variance = counts,
          then each point should be individually weighted when com-
          paring the observed sum of deviations and the expected sum
          of deviations.

          At the conclusion ffiitt reports 'stdfit', the standard devi-
          ation of the fit, which is the rms of the residuals, and
          the variance of the residuals, also called 'reduced
          chisquare' when the data points are weighted.  The number
          of degrees of freedom (the number of data points minus the
          number of fitted parameters) is used in these estimates
          because the parameters used in calculating the residuals
          of the datapoints were obtained from the same data.

          To estimate confidence levels for the parameters, one can
          use the minimum chisquare obtained from the fit and
          chisquare statistics to determine the value of chisquare
          corresponding to the desired confidence level, but consid-
          erably more calculation is required to determine the com-
          binations of parameters which produce such values.










GNUPLOT 4.0                                                       35


          Rather than determine confidence intervals, ffiitt reports
          parameter error estimates which are readily obtained from
          the variance-covariance matrix after the final iteration.
          By convention, these estimates are called "standard
          errors" or "asymptotic standard errors", since they are
          calculated in the same way as the standard errors (stan-
          dard deviation of each parameter) of a linear least-
          squares problem, even though the statistical conditions
          for designating the quantity calculated to be a standard
          deviation are not generally valid for the NLLS problem.
          The asymptotic standard errors are generally over-opti-
          mistic and should not be used for determining confidence
          levels, but are useful for qualitative purposes.

          The final solution also produces a correlation matrix,
          which gives an indication of the correlation of parameters
          in the region of the solution; if one parameter is
          changed, increasing chisquare, does changing another com-
          pensate?  The main diagonal elements, autocorrelation, are
          all 1; if all parameters were independent, all other ele-
          ments would be nearly 0.  Two variables which completely
          compensate each other would have an off-diagonal element
          of unit magnitude, with a sign depending on whether the
          relation is proportional or inversely proportional.  The
          smaller the magnitudes of the off-diagonal elements, the
          closer the estimates of the standard deviation of each
          parameter would be to the asymptotic standard error.



          2244..33..22..  PPrraaccttiiccaall gguuiiddeelliinneess


          If you have a basis for assigning weights to each data
          point, doing so lets you make use of additional knowledge
          about your measurements, e.g., take into account that some
          points may be more reliable than others.  That may affect
          the final values of the parameters.

          Weighting the data provides a basis for interpreting the
          additional ffiitt output after the last iteration.  Even if
          you weight each point equally, estimating an average stan-
          dard deviation rather than using a weight of 1 makes WSSR
          a dimensionless variable, as chisquare is by definition.

          Each fit iteration will display information which can be
          used to evaluate the progress of the fit.  (An '*' indi-
          cates that it did not find a smaller WSSR and is trying
          again.)  The 'sum of squares of residuals', also called
          'chisquare', is the WSSR between the data and your fitted
          function; ffiitt has minimized that.  At this stage, with
          weighted data, chisquare is expected to approach the num-
          ber of degrees of freedom (data points minus parameters).










GNUPLOT 4.0                                                       36


          The WSSR can be used to calculate the reduced chisquare
          (WSSR/ndf) or stdfit, the standard deviation of the fit,
          sqrt(WSSR/ndf).  Both of these are reported for the final
          WSSR.

          If the data are unweighted, stdfit is the rms value of the
          deviation of the data from the fitted function, in user
          units.

          If you supplied valid data errors, the number of data
          points is large enough, and the model is correct, the
          reduced chisquare should be about unity.  (For details,
          look up the 'chi-squared distribution' in your favourite
          statistics reference.)  If so, there are additional tests,
          beyond the scope of this overview, for determining how
          well the model fits the data.

          A reduced chisquare much larger than 1.0 may be due to
          incorrect data error estimates, data errors not normally
          distributed, systematic measurement errors, 'outliers', or
          an incorrect model function.  A plot of the residuals,
          e.g., pplloott ''ddaattaaffiillee'' uussiinngg 11::(($$22--ff(($$11)))), may help to show
          any systematic trends.  Plotting both the data points and
          the function may help to suggest another model.

          Similarly, a reduced chisquare less than 1.0 indicates
          WSSR is less than that expected for a random sample from
          the function with normally distributed errors.  The data
          error estimates may be too large, the statistical assump-
          tions may not be justified, or the model function may be
          too general, fitting fluctuations in a particular sample
          in addition to the underlying trends.  In the latter case,
          a simpler function may be more appropriate.

          You'll have to get used to both ffiitt and the kind of prob-
          lems you apply it to before you can relate the standard
          errors to some more practical estimates of parameter
          uncertainties or evaluate the significance of the correla-
          tion matrix.

          Note that ffiitt, in common with most NLLS implementations,
          minimizes the weighted sum of squared distances (y-
          f(x))**2.  It does not provide any means to account for
          "errors" in the values of x, only in y.  Also, any "out-
          liers" (data points outside the normal distribution of the
          model) will have an exaggerated effect on the solution.



     2244..44..  FFiitt ccoonnttrroolllliinngg













GNUPLOT 4.0                                                       37


     There are a number of ggnnuupplloott variables that can be defined to
     affect ffiitt.  Those which can be defined once ggnnuupplloott is running
     are listed under 'control_variables' while those defined before
     starting ggnnuupplloott are listed under 'environment_variables'.




          2244..44..11..  CCoonnttrrooll vvaarriiaabblleess


          The default epsilon limit (1e-5) may be changed by declar-
          ing a value for
                FIT_LIMIT
          When the sum of squared residuals changes between two
          iteration steps by a factor less than this number
          (epsilon), the fit is considered to have 'converged'.

          The maximum number of iterations may be limited by declar-
          ing a value for
                FIT_MAXITER
          A value of 0 (or not defining it at all)  means that there
          is no limit.

          If you need even more control about the algorithm, and
          know the Marquardt-Levenberg algorithm well, there are
          some more variables to influence it. The startup value of
          llaammbbddaa is normally calculated automatically from the ML-
          matrix, but if you want to, you may provide your own one
          with
                FIT_START_LAMBDA
          Specifying FIT_START_LAMBDA as zero or less will re-enable
          the automatic selection. The variable
                FIT_LAMBDA_FACTOR
          gives the factor by which llaammbbddaa is increased or decreased
          whenever the chi-squared target function increased or
          decreased significantly.  Setting FIT_LAMBDA_FACTOR to
          zero re-enables the default factor of 10.0.

          Other variables with the FIT_ prefix may be added to ffiitt,
          so it is safer not to use that prefix for user-defined
          variables.

          The variables FIT_SKIP and FIT_INDEX were used by earlier
          releases of ggnnuupplloott with a 'fit' patch called ggnnuuffiitt and
          are no longer available.  The datafile eevveerryy modifier pro-
          vides the functionality of FIT_SKIP.  FIT_INDEX was used
          for multi-branch fitting, but multi-branch fitting of one
          independent variable is now done as a pseudo-3D fit in
          which the second independent variable and uussiinngg are used
          to specify the branch.  See ffiitt mmuullttii--bbrraanncchh.












GNUPLOT 4.0                                                       38


          2244..44..22..  EEnnvviirroonnmmeenntt vvaarriiaabblleess


          The environment variables must be defined before ggnnuupplloott
          is executed; how to do so depends on your operating sys-
          tem.

                FIT_LOG
          changes the name (and/or path) of the file to which the
          fit log will be written from the default of "fit.log" in
          the working directory. The default value can be overwrit-
          ten using the command sseett ffiittllooggffiillee.

                FIT_SCRIPT
          specifies a command that may be executed after an user
          interrupt. The default is rreepplloott, but a pplloott or llooaadd com-
          mand may be useful to display a plot customized to high-
          light the progress of the fit.



     2244..55..  MMuullttii--bbrraanncchh


     In multi-branch fitting, multiple data sets can be simultane-
     ously fit with functions of one independent variable having
     common parameters by minimizing the total WSSR.  The function
     and parameters (branch) for each data set are selected by using
     a 'pseudo-variable', e.g., either the dataline number (a 'col-
     umn' index of -1) or the datafile index (-2), as the second
     independent variable.

     Example:  Given two exponential decays of the form, z=f(x),
     each describing a different data set but having a common decay
     time, estimate the values of the parameters.  If the datafile
     has the format x:z:s, then
          f(x,y) = (y==0) ? a*exp(-x/tau) : b*exp(-x/tau)
          fit f(x,y) 'datafile' using  1:-1:2:3  via a, b, tau

     For a more complicated example, see the file "hexa.fnc" used by
     the "fit.dem" demo.

     Appropriate weighting may be required since unit weights may
     cause one branch to predominate if there is a difference in the
     scale of the dependent variable.  Fitting each branch sepa-
     rately, using the multi-branch solution as initial values, may
     give an indication as to the relative effect of each branch on
     the joint solution.















GNUPLOT 4.0                                                       39


     2244..66..  SSttaarrttiinngg vvaalluueess


     Nonlinear fitting is not guaranteed to converge to the global
     optimum (the solution with the smallest sum of squared residu-
     als, SSR), and can get stuck at a local minimum.  The routine
     has no way to determine that;  it is up to you to judge whether
     this has happened.

     ffiitt may, and often will get "lost" if started far from a solu-
     tion, where SSR is large and changing slowly as the parameters
     are varied, or it may reach a numerically unstable region
     (e.g., too large a number causing a floating point overflow)
     which results in an "undefined value" message or ggnnuupplloott halt-
     ing.

     To improve the chances of finding the global optimum, you
     should set the starting values at least roughly in the vicinity
     of the solution, e.g., within an order of magnitude, if possi-
     ble.  The closer your starting values are to the solution, the
     less chance of stopping at another minimum.  One way to find
     starting values is to plot data and the fitting function on the
     same graph and change parameter values and rreepplloott until reason-
     able similarity is reached.  The same plot is also useful to
     check whether the fit stopped at a minimum with a poor fit.

     Of course, a reasonably good fit is not proof there is not a
     "better" fit (in either a statistical sense, characterized by
     an improved goodness-of-fit criterion, or a physical sense,
     with a solution more consistent with the model.)  Depending on
     the problem, it may be desirable to ffiitt with various sets of
     starting values, covering a reasonable range for each parame-
     ter.



     2244..77..  TTiippss


     Here are some tips to keep in mind to get the most out of ffiitt.
     They're not very organized, so you'll have to read them several
     times until their essence has sunk in.

     The two forms of the vviiaa argument to ffiitt serve two largely dis-
     tinct purposes.  The vviiaa ""ffiillee"" form is best used for (possibly
     unattended) batch operation, where you just supply the startup
     values in a file and can later use uuppddaattee to copy the results
     back into another (or the same) parameter file.

     The vviiaa vvaarr11,, vvaarr22,, ...... form is best used interactively, where
     the command history mechanism may be used to edit the list of
     parameters to be fitted or to supply new startup values for the
     next try.  This is particularly useful for hard problems, where










GNUPLOT 4.0                                                       40


     a direct fit to all parameters at once won't work without good
     starting values.  To find such, you can iterate several times,
     fitting only some of the parameters, until the values are close
     enough to the goal that the final fit to all parameters at once
     will work.

     Make sure that there is no mutual dependency among parameters
     of the function you are fitting.  For example, don't try to fit
     a*exp(x+b), because a*exp(x+b)=a*exp(b)*exp(x).  Instead, fit
     either a*exp(x) or exp(x+b).

     A technical issue:  the parameters must not be too different in
     magnitude.  The larger the ratio of the largest and the small-
     est absolute parameter values, the slower the fit will con-
     verge.  If the ratio is close to or above the inverse of the
     machine floating point precision, it may take next to forever
     to converge, or refuse to converge at all.  You will have to
     adapt your function to avoid this, e.g., replace 'parameter' by
     '1e9*parameter' in the function definition, and divide the
     starting value by 1e9.

     If you can write your function as a linear combination of sim-
     ple functions weighted by the parameters to be fitted, by all
     means do so.  That helps a lot, because the problem is no
     longer nonlinear and should converge with only a small number
     of iterations, perhaps just one.

     Some prescriptions for analysing data, given in practical
     experimentation courses, may have you first fit some functions
     to your data, perhaps in a multi-step process of accounting for
     several aspects of the underlying theory one by one, and then
     extract the information you really wanted from the fitting
     parameters of those functions.  With ffiitt, this may often be
     done in one step by writing the model function directly in
     terms of the desired parameters.  Transforming data can also
     quite often be avoided, though sometimes at the cost of a more
     difficult fit problem.  If you think this contradicts the pre-
     vious paragraph about simplifying the fit function, you are
     correct.

     A "singular matrix" message indicates that this implementation
     of the Marquardt-Levenberg algorithm can't calculate parameter
     values for the next iteration.  Try different starting values,
     writing the function in another form, or a simpler function.

     Finally, a nice quote from the manual of another fitting pack-
     age (fudgit), that kind of summarizes all these issues:  "Non-
     linear fitting is an art!"















GNUPLOT 4.0                                                       41


2255..  HHeellpp


The hheellpp command displays on-line help. To specify information on a
particular topic use the syntax:

      help {<topic>}

If <topic> is not specified, a short message is printed about ggnnuu--
pplloott.  After help for the requested topic is given, a menu of
subtopics is given; help for a subtopic may be requested by typing
its name, extending the help request.  After that subtopic has been
printed, the request may be extended again or you may go back one
level to the previous topic.  Eventually, the ggnnuupplloott command line
will return.

If a question mark (?) is given as the topic, the list of topics
currently available is printed on the screen.



2266..  HHiissttoorryy


hhiissttoorryy command lists or saves previous entries in the history of
the command line editing, or executes an entry.

Here you find 'usage by examples':

      history               # show the complete history
      history 5             # show last 5 entries in the history
      history quiet 5       # show last 5 entries without entry num-
bers
      history "hist.gp"     # write the complete history to file
hist.gp
      history "hist.gp" append # append the complete history to file
hist.gp
      history 10 "hist.gp"  # write last 10 commands to file hist.gp
      history 10 "|head -5 >>diary.gp" # write 5 history commands
using pipe
      history ?load         # show all history entries starting with
"load"
      history ?"set c"      # like above, several words enclosed in
quotes
      hi !reread            # execute last entry starting with
"reread"
      hist !"set xr"        # like above, several words enclosed in
quotes
      hi !hi                # guess yourself :-))

On systems which support a popen function (Unix), the output of his-
tory can be piped through an external program by starting the file
name with a '|', as one of the above examples demonstrates.










GNUPLOT 4.0                                                       42


2277..  IIff


The iiff command allows commands to be executed conditionally.

Syntax:
      if (<condition>) <command-line> [; else if (<condition>) ...;
else ...]

<condition> will be evaluated.  If it is true (non-zero), then the
command(s) of the <command-line> will be executed.  If <condition>
is false (zero), then the entire <command-line> is ignored until the
next occurrence of eellssee.  Note that use of ;; to allow multiple com-
mands on the same line will _not_ end the conditionalized commands.

Examples:
      pi=3
      if (pi!=acos(-1)) print "?Fixing pi!"; pi=acos(-1); print pi
will display:
      ?Fixing pi!
      3.14159265358979
but
      if (1==2) print "Never see this"; print "Or this either"
will not display anything.

else:
      v=0
      v=v+1; if (v%2) print "2" ; else if (v%3) print "3"; else
print "fred"
(repeat the last line repeatedly!)

See rreerreeaadd for an example of how iiff and rreerreeaadd can be used together
to perform a loop.



2288..  LLooaadd


The llooaadd command executes each line of the specified input file as
if it had been typed in interactively.  Files created by the ssaavvee
command can later be llooaadded.  Any text file containing valid com-
mands can be created and then executed by the llooaadd command.  Files
being llooaadded may themselves contain llooaadd or ccaallll commands.  See ccoomm--
mmeennttss for information about comments in commands.  To llooaadd with
arguments, see ccaallll.

The llooaadd command _must_ be the last command on a multi-command line.

Syntax:
      load "<input-file>"

The name of the input file must be enclosed in quotes.










GNUPLOT 4.0                                                       43


The special filename "-" may be used to llooaadd commands from standard
input.  This allows a ggnnuupplloott command file to accept some commands
from standard input.  Please see "help batch/interactive" for more
details.

On some systems which support a popen function (Unix), the load file
can be read from a pipe by starting the file name with a '<'.

Examples:
      load 'work.gnu'
      load "func.dat"
      load "< loadfile_generator.sh"

The llooaadd command is performed implicitly on any file names given as
arguments to ggnnuupplloott.  These are loaded in the order specified, and
then ggnnuupplloott exits.



2299..  PPaauussee


The ppaauussee command displays any text associated with the command and
then waits a specified amount of time or until the carriage return
is pressed.  ppaauussee is especially useful in conjunction with llooaadd
files.

Syntax:
      pause <time> {"<string>"}
      pause mouse {"<string>"}

<time> may be any constant or expression.  Choosing -1 will wait
until a carriage return is hit, zero (0) won't pause at all, and a
positive number will wait the specified number of seconds.  The time
is rounded to an integer number of seconds if subsecond time resolu-
tion is not supported by the given platform.  ppaauussee 00 is synonymous
with pprriinntt.

If the current terminal supports mousing, then ppaauussee mmoouussee will ter-
minate on either a mouse click or on ctrl-C.  For all other termi-
nals, or if mousing is not active, ppaauussee mmoouussee is equivalent to
ppaauussee --11.

Note: Since ppaauussee communicates with the operating system rather than
the graphics, it may behave differently with different device driv-
ers (depending upon how text and graphics are mixed).

Examples:
      pause -1    # Wait until a carriage return is hit
      pause 3     # Wait three seconds
      pause -1  "Hit return to continue"
      pause 10  "Isn't this pretty?  It's a cubic spline."
      pause mouse "Click mouse on selected data point"










GNUPLOT 4.0                                                       44


3300..  PPlloott


pplloott is the primary command for drawing plots with ggnnuupplloott.  It cre-
ates plots of functions and data in many, many ways.  pplloott is used
to draw 2-d functions and data; sspplloott draws 2-d projections of 3-d
surfaces and data.  pplloott and sspplloott contain many common features; see
sspplloott for differences.  Note specifically that sspplloott's bbiinnaarryy and
mmaattrriixx options do not exist for pplloott, and pplloott's aaxxeess option does
not exist for sspplloott.

Syntax:
      plot {<ranges>}
           {<function> | {"<datafile>" {datafile-modifiers}}}
           {axes <axes>} {<title-spec>} {with <style>}
           {, {definitions,} <function> ...}

where either a <function> or the name of a data file enclosed in
quotes is supplied.  A function is a mathematical expression or a
pair of mathematical expressions in parametric mode.  The expres-
sions may be defined completely or in part earlier in the stream of
ggnnuupplloott commands (see uusseerr--ddeeffiinneedd).

It is also possible to define functions and parameters on the pplloott
command itself.  This is done merely by isolating them from other
items with commas.

There are four possible sets of axes available; the keyword <axes>
is used to select the axes for which a particular line should be
scaled.  xx11yy11 refers to the axes on the bottom and left; xx22yy22 to
those on the top and right; xx11yy22 to those on the bottom and right;
and xx22yy11 to those on the top and left.  Ranges specified on the pplloott
command apply only to the first set of axes (bottom left).

Examples:
      plot sin(x)
      plot f(x) = sin(x*a), a = .2, f(x), a = .4, f(x)
      plot [t=1:10] [-pi:pi*2] tan(t), \
           "data.1" using (tan($2)):($3/$4) smooth csplines \
                    axes x1y2 notitle with lines 5

See also sshhooww pplloott.




     3300..11..  DDaattaa--ffiillee


     Discrete data contained in a file can be displayed by specify-
     ing the name of the data file (enclosed in single or double
     quotes) on the pplloott command line.











GNUPLOT 4.0                                                       45


     Syntax:
           plot '<file_name>' {index <index list>}
                                 {every <every list>}
                                 {thru <thru expression>}
                                 {using <using list>}
                                 {smooth <option>}

     The modifiers iinnddeexx, eevveerryy, tthhrruu, uussiinngg, and ssmmooootthh are dis-
     cussed separately.  In brief, iinnddeexx selects which data sets in
     a multi-data-set file are to be plotted, eevveerryy specifies which
     points within a single data set are to be plotted, uussiinngg deter-
     mines how the columns within a single record are to be inter-
     preted (tthhrruu is a special case of uussiinngg), and ssmmooootthh allows for
     simple interpolation and approximation.  (sspplloott has a similar
     syntax, but does not support the ssmmooootthh and tthhrruu options.)

     Data files should contain at least one data point per record
     (uussiinngg can select one data point from the record). Records
     beginning with ## (and also with !! on VMS) will be treated as
     comments and ignored.  Each data point represents an (x,y)
     pair. For ppllootts with error bars or error bars with lines (see
     sseett ssttyyllee eerrrroorrbbaarrss or sseett ssttyyllee eerrrroorrlliinneess), each data point
     is (x,y,ydelta), (x,y,ylow,yhigh), (x,y,xdelta),
     (x,y,xlow,xhigh), or (x,y,xlow,xhigh,ylow,yhigh).

     In all cases, the numbers of each record of a data file must be
     separated by white space (one or more blanks or tabs) unless a
     format specifier is provided by the uussiinngg option. This white
     space divides each record into columns. However, whitespace
     inside a pair of double quotes is ignored when counting col-
     umns, so the following datafile line has three columns:
           1.0 "second column" 3.0

     Data may be written in exponential format with the exponent
     preceded by the letter e, E, d, D, q, or Q.

     Only one column (the y value) need be provided.  If x is omit-
     ted, ggnnuupplloott provides integer values starting at 0.

     In datafiles, blank records (records with no characters other
     than blanks and a newline and/or carriage return) are signifi-
     cant---pairs of blank records separate iinnddeexxes (see pplloott
     ddaattaaffiillee iinnddeexx).  Data separated by double blank records are
     treated as if they were in separate data files.

     Single blank records designate discontinuities in a pplloott; no
     line will join points separated by a blank records (if they are
     plotted with a line style).

     If autoscaling has been enabled (sseett aauuttoossccaallee), the axes are
     automatically extended to include all datapoints, with a whole
     number of tic marks if tics are being drawn.  This has two con-
     sequences: i) For sspplloott, the corner of the surface may not










GNUPLOT 4.0                                                       46


     coincide with the corner of the base.  In this case, no verti-
     cal line is drawn.  ii) When plotting data with the same x
     range on a dual-axis graph, the x coordinates may not coincide
     if the x2tics are not being drawn.  This is because the x axis
     has been autoextended to a whole number of tics, but the x2
     axis has not.  The following example illustrates the problem:

           reset; plot '-', '-' axes x2y1
           1 1
           19 19
           e
           1 1
           19 19
           e

     To avoid this, you can use the ffiixxmmiinn/ffiixxmmaaxx feature of the sseett
     aauuttoossccaallee command, which turns off the automatic extension of
     the axis range upto the next tic mark.




          3300..11..11..  EEvveerryy


          The eevveerryy keyword allows a periodic sampling of a data set
          to be plotted.

          In the discussion a "point" is a datum defined by a single
          record in the file; "block" here will mean the same thing
          as "datablock" (see gglloossssaarryy).

          Syntax:
                plot 'file' every {<point_incr>}
                                    {:{<block_incr>}
                                      {:{<start_point>}
                                        {:{<start_block>}
                                          {:{<end_point>}
                                            {:<end_block>}}}}}

          The data points to be plotted are selected according to a
          loop from <ssttaarrtt__ppooiinntt> to <eenndd__ppooiinntt> with increment
          <ppooiinntt__iinnccrr> and the blocks according to a loop from
          <ssttaarrtt__bblloocckk> to <eenndd__bblloocckk> with increment <bblloocckk__iinnccrr>.

          The first datum in each block is numbered '0', as is the
          first block in the file.

          Note that records containing unplottable information are
          counted.

          Any of the numbers can be omitted; the increments default
          to unity, the start values to the first point or block,










GNUPLOT 4.0                                                       47


          and the end values to the last point or block.  If eevveerryy
          is not specified, all points in all lines are plotted.

          Examples:
                every :::3::3    # selects just the fourth block
          ('0' is first)
                every :::::9     # selects the first 10 blocks
                every 2:2        # selects every other point in
          every other block
                every ::5::15    # selects points 5 through 15 in
          each block

          See , , and .



          3300..11..22..  EExxaammppllee ddaattaaffiillee


          This example plots the data in the file "population.dat"
          and a theoretical curve:

                pop(x) = 103*exp((1965-x)/10)
                plot [1960:1990] 'population.dat', pop(x)

          The file "population.dat" might contain:

                # Gnu population in Antarctica since 1965
                   1965   103
                   1970   55
                   1975   34
                   1980   24
                   1985   10




          3300..11..33..  IInnddeexx


          The iinnddeexx keyword allows only some of the data sets in a
          multi-data-set file to be plotted.

          Syntax:
                plot 'file' index <m>{{:<n>}:<p>}

          Data sets are separated by pairs of blank records.  iinnddeexx
          <<mm>> selects only set <m>; iinnddeexx <<mm>>::<<nn>> selects sets in
          the range <m> to <n>; and iinnddeexx <<mm>>::<<nn>>::<<pp>> selects
          indices <m>, <m>+<p>, <m>+2<p>, etc., but stopping at <n>.
          Following C indexing, the index 0 is assigned to the first
          data set in the file.  Specifying too large an index
          results in an error message.  If iinnddeexx is not specified,










GNUPLOT 4.0                                                       48


          all sets are plotted as a single data set.

          Example:
                plot 'file' index 4:5




          3300..11..44..  SSmmooootthh


          ggnnuupplloott includes a few general-purpose routines for inter-
          polation and approximation of data; these are grouped
          under the ssmmooootthh option.  More sophisticated data process-
          ing may be performed by preprocessing the data externally
          or by using ffiitt with an appropriate model.

          Syntax:
                smooth {unique | frequency | csplines | acsplines |
          bezier | sbezier}

          uunniiqquuee and ffrreeqquueennccyy plot the data after making them mono-
          tonic.  Each of the other routines uses the data to deter-
          mine the coefficients of a continuous curve between the
          endpoints of the data.  This curve is then plotted in the
          same manner as a function, that is, by finding its value
          at uniform intervals along the abscissa (see sseett ssaammpplleess)
          and connecting these points with straight line segments
          (if a line style is chosen).

          If aauuttoossccaallee is in effect, the ranges will be computed
          such that the plotted curve lies within the borders of the
          graph.

          If aauuttoossccaallee is not in effect, and the smooth option is
          either aaccsspplliinnee or ccsspplliinnee, the sampling of the generated
          curve is done across the intersection of the x range cov-
          ered by the input data and the fixed abscissa range as
          defined by sseett xxrraannggee.

          If too few points are available to allow the selected
          option to be applied, an error message is produced.  The
          minimum number is one for uunniiqquuee and ffrreeqquueennccyy, four for
          aaccsspplliinneess, and three for the others.

          The ssmmooootthh options have no effect on function plots.

















GNUPLOT 4.0                                                       49


               3300..11..44..11..  AAccsspplliinneess


               The aaccsspplliinneess option approximates the data with a
               "natural smoothing spline".  After the data are made
               monotonic in x (see ssmmooootthh uunniiqquuee), a curve is piece-
               wise constructed from segments of cubic polynomials
               whose coefficients are found by the weighting the
               data points; the weights are taken from the third
               column in the data file.  That default can be modi-
               fied by the third entry in the uussiinngg list, e.g.,
                     plot 'data-file' using 1:2:(1.0) smooth
               acsplines

               Qualitatively, the absolute magnitude of the weights
               determines the number of segments used to construct
               the curve.  If the weights are large, the effect of
               each datum is large and the curve approaches that
               produced by connecting consecutive points with natu-
               ral cubic splines.  If the weights are small, the
               curve is composed of fewer segments and thus is
               smoother; the limiting case is the single segment
               produced by a weighted linear least squares fit to
               all the data.  The smoothing weight can be expressed
               in terms of errors as a statistical weight for a
               point divided by a "smoothing factor" for the curve
               so that (standard) errors in the file can be used as
               smoothing weights.

               Example:
                     sw(x,S)=1/(x*x*S)
                     plot 'data_file' using 1:2:(sw($3,100)) smooth
               acsplines



               3300..11..44..22..  BBeezziieerr


               The bbeezziieerr option approximates the data with a Bezier
               curve of degree n (the number of data points) that
               connects the endpoints.



               3300..11..44..33..  CCsspplliinneess


               The ccsspplliinneess option connects consecutive points by
               natural cubic splines after rendering the data mono-
               tonic (see ssmmooootthh uunniiqquuee).












GNUPLOT 4.0                                                       50


               3300..11..44..44..  SSbbeezziieerr


               The ssbbeezziieerr option first renders the data monotonic
               (uunniiqquuee) and then applies the bbeezziieerr algorithm.



               3300..11..44..55..  UUnniiqquuee


               The uunniiqquuee option makes the data monotonic in x;
               points with the same x-value are replaced by a single
               point having the average y-value.  The resulting
               points are then connected by straight line segments.
               demos



               3300..11..44..66..  FFrreeqquueennccyy


               The ffrreeqquueennccyy option makes the data monotonic in x;
               points with the same x-value are replaced by a single
               point having the summed y-values.  The resulting
               points are then connected by straight line segments.



          3300..11..55..  SSppeecciiaall--ffiilleennaammeess


          A special filename of ''--'' specifies that the data are
          inline; i.e., they follow the command.  Only the data fol-
          low the command; pplloott options like filters, titles, and
          line styles remain on the pplloott command line.  This is sim-
          ilar to << in unix shell script, and $DECK in VMS DCL.
          The data are entered as though they are being read from a
          file, one data point per record.  The letter "e" at the
          start of the first column terminates data entry.  The
          uussiinngg option can be applied to these data---using it to
          filter them through a function might make sense, but
          selecting columns probably doesn't!

          ''--'' is intended for situations where it is useful to have
          data and commands together, e.g., when ggnnuupplloott is run as a
          sub-process of some front-end application.  Some of the
          demos, for example, might use this feature.  While pplloott
          options such as iinnddeexx and eevveerryy are recognized, their use
          forces you to enter data that won't be used.  For example,
          while

                plot '-' index 0, '-' index 1










GNUPLOT 4.0                                                       51


                2
                4
                6


                10
                12
                14
                e
                2
                4
                6


                10
                12
                14
                e

          does indeed work,

                plot '-', '-'
                2
                4
                6
                e
                10
                12
                14
                e

          is a lot easier to type.

          If you use ''--'' with rreepplloott, you may need to enter the data
          more than once (see rreepplloott).

          A blank filename ('') specifies that the previous filename
          should be reused.  This can be useful with things like

                plot 'a/very/long/filename' using 1:2, '' using 1:3,
          '' using 1:4

          (If you use both ''--'' and '''' on the same pplloott command,
          you'll need to have two sets of inline data, as in the
          example above.)

          On some computer systems with a popen function (Unix), the
          datafile can be piped through a shell command by starting
          the file name with a '<'.  For example,

                pop(x) = 103*exp(-x/10)
                plot "< awk '{print $1-1965, $2}' population.dat",
          pop(x)










GNUPLOT 4.0                                                       52


          would plot the same information as the first population
          example but with years since 1965 as the x axis.  If you
          want to execute this example, you have to delete all com-
          ments from the data file above or substitute the following
          command for the first part of the command above (the part
          up to the comma):

                plot "< awk '$0 !~ /^#/ {print $1-1965, $2}' popula-
          tion.dat"

          While this approach is most flexible, it is possible to
          achieve simple filtering with the uussiinngg or tthhrruu keywords.



          3300..11..66..  TThhrruu


          The tthhrruu function is provided for backward compatibility.

          Syntax:
                plot 'file' thru f(x)

          It is equivalent to:

                plot 'file' using 1:(f($2))

          While the latter appears more complex, it is much more
          flexible.  The more natural

                plot 'file' thru f(y)

          also works (i.e. you can use y as the dummy variable).

          tthhrruu is parsed for sspplloott and ffiitt but has no effect.



          3300..11..77..  UUssiinngg


          The most common datafile modifier is uussiinngg.

          Syntax:
                plot 'file' using {<entry> {:<entry> {:<entry>
          ...}}} {'format'}

          If a format is specified, each datafile record is read
          using the C library's 'scanf' function, with the specified
          format string.  Otherwise the record is read and broken
          into columns at spaces or tabs.  A format cannot be speci-
          fied if time-format data is being used (this must be done
          by sseett ddaattaa ttiimmee).










GNUPLOT 4.0                                                       53


          The resulting array of data is then sorted into columns
          according to the entries.  Each <entry> may be a simple
          column number, which selects the datum, an expression
          enclosed in parentheses, or empty.  The expression can use
          $1 to access the first item read, $2 for the second item,
          and so on.  It can also use ccoolluummnn((xx)) and vvaalliidd((xx)) where x
          is an arbitrary expression resulting in an integer.  ccooll--
          uummnn((xx)) returns the x'th datum; vvaalliidd((xx)) tests that the
          datum in the x'th column is a valid number.  A column num-
          ber of 0 generates a number increasing (from zero) with
          each point, and is reset upon encountering two blank
          records.  A column number of -1 gives the dataline number,
          which starts at 0, increments at single blank records, and
          is reset at double blank records.  A column number of -2
          gives the index number, which is incremented only when two
          blank records are found.  An empty <entry> will default to
          its order in the list of entries.  For example, uussiinngg ::::44
          is interpreted as uussiinngg 11::22::44.

          N.B.---the ccaallll command also uses $'s as a special charac-
          ter.  See ccaallll for details about how to include a column
          number in a ccaallll argument list.

          If the uussiinngg list has but a single entry, that <entry>
          will be used for y and the data point number is used for
          x; for example, "pplloott ''ffiillee'' uussiinngg 11" is identical to
          "pplloott ''ffiillee'' uussiinngg 00::11".  If the uussiinngg list has two
          entries, these will be used for x and y.  Additional
          entries are usually errors in x and/or y.  See sseett ssttyyllee
          for details about plotting styles that make use of error
          information, and ffiitt for use of error information in curve
          fitting.

          'scanf' accepts several numerical specifications but ggnnuu--
          pplloott requires all inputs to be double-precision floating-
          point variables, so llff is the only permissible specifier.
          'scanf' expects to see white space---a blank, tab ("\t"),
          newline ("\n"), or formfeed ("\f")---between numbers; any-
          thing else in the input stream must be explicitly skipped.

          Note that the use of "\t", "\n", or "\f" requires use of
          double-quotes rather than single-quotes.

          Examples:

          This creates a plot of the sum of the 2nd and 3rd data
          against the first: The format string specifies comma-
          rather than space-separated columns.  The same result
          could be achieved by specifying sseett ddaattaaffiillee sseeppaarraattoorr
          "",,"".
                plot 'file' using 1:($2+$3) '%lf,%lf,%lf'

          In this example the data are read from the file "MyData"










GNUPLOT 4.0                                                       54


          using a more complicated format:
                plot 'MyData' using "%*lf%lf%*20[^\n]%lf"

          The meaning of this format is:

                %*lf        ignore a number
                %lf         read a double-precision number (x by
          default)
                %*20[^\n]   ignore 20 non-newline characters
                %lf         read a double-precision number (y by
          default)

          One trick is to use the ternary ??:: operator to filter
          data:

                plot 'file' using 1:($3>10 ? $2 : 1/0)

          which plots the datum in column two against that in column
          one provided the datum in column three exceeds ten.  11//00
          is undefined; ggnnuupplloott quietly ignores undefined points, so
          unsuitable points are suppressed.

          In fact, you can use a constant expression for the column
          number, provided it doesn't start with an opening paren-
          thesis; constructs like uussiinngg 00++((ccoommpplliiccaatteedd eexxpprreessssiioonn))
          can be used.  The crucial point is that the expression is
          evaluated once if it doesn't start with a left parenthe-
          sis, or once for each data point read if it does.

          If timeseries data are being used, the time can span mul-
          tiple columns.  The starting column should be specified.
          Note that the spaces within the time must be included when
          calculating starting columns for other data.  E.g., if the
          first element on a line is a time with an embedded space,
          the y value should be specified as column three.

          It should be noted that pplloott ''ffiillee'', pplloott ''ffiillee'' uussiinngg
          11::22, and pplloott ''ffiillee'' uussiinngg (($$11))::(($$22)) can be subtly differ-
          ent: 1) if ffiillee has some lines with one column and some
          with two, the first will invent x values when they are
          missing, the second will quietly ignore the lines with one
          column, and the third will store an undefined value for
          lines with one point (so that in a plot with lines, no
          line joins points across the bad point); 2) if a line con-
          tains text at the first column, the first will abort the
          plot on an error, but the second and third should quietly
          skip the garbage.

          In fact, it is often possible to plot a file with lots of
          lines of garbage at the top simply by specifying

                plot 'file' using 1:2











GNUPLOT 4.0                                                       55


          However, if you want to leave text in your data files, it
          is safer to put the comment character (#) in the first
          column of the text lines.  Feeble using demos.



     3300..22..  EErrrroorrbbaarrss


     Error bars are supported for 2-d data file plots by reading one
     to four additional columns (or uussiinngg entries); these additional
     values are used in different ways by the various errorbar
     styles.

     In the default situation, ggnnuupplloott expects to see three, four,
     or six numbers on each line of the data file---either

           (x, y, ydelta),
           (x, y, ylow, yhigh),
           (x, y, xdelta),
           (x, y, xlow, xhigh),
           (x, y, xdelta, ydelta), or
           (x, y, xlow, xhigh, ylow, yhigh).

     The x coordinate must be specified.  The order of the numbers
     must be exactly as given above, though the uussiinngg qualifier can
     manipulate the order and provide values for missing columns.
     For example,

           plot 'file' with errorbars
           plot 'file' using 1:2:(sqrt($1)) with xerrorbars
           plot 'file' using 1:2:($1-$3):($1+$3):4:5 with xyerror-
     bars

     The last example is for a file containing an unsupported combi-
     nation of relative x and absolute y errors.  The uussiinngg entry
     generates absolute x min and max from the relative error.

     The y error bar is a vertical line plotted from (x, ylow) to
     (x, yhigh). If ydelta is specified instead of ylow and yhigh,
     ylow = y - ydelta and yhigh = y + ydelta are derived. If there
     are only two numbers on the record, yhigh and ylow are both set
     to y. The x error bar is a horizontal line computed in the same
     fashion. To get lines plotted between the data points, pplloott the
     data file twice, once with errorbars and once with lines (but
     remember to use the nnoottiittllee option on one to avoid two entries
     in the key). Alternately, use the errorlines command (see
     eerrrroorrlliinneess).

     The error bars have crossbars at each end unless sseett bbaarrss is
     used (see sseett bbaarrss for details).

     If autoscaling is on, the ranges will be adjusted to include










GNUPLOT 4.0                                                       56


     the error bars.  See also errorbar demos.

     See pplloott uussiinngg, pplloott wwiitthh, and sseett ssttyyllee for more information.



     3300..33..  EErrrroorrlliinneess


     Lines with error bars are supported for 2-d data file plots by
     reading one to four additional columns (or uussiinngg entries);
     these additional values are used in different ways by the vari-
     ous errorlines styles.

     In the default situation, ggnnuupplloott expects to see three, four,
     or six numbers on each line of the data file---either

           (x, y, ydelta),
           (x, y, ylow, yhigh),
           (x, y, xdelta),
           (x, y, xlow, xhigh),
           (x, y, xdelta, ydelta), or
           (x, y, xlow, xhigh, ylow, yhigh).

     The x coordinate must be specified. The order of the numbers
     must be exactly as given above, though the uussiinngg qualifier can
     manipulate the order and provide values for missing columns.
     For example,

           plot 'file' with errorlines
           plot 'file' using 1:2:(sqrt($1)) with xerrorlines
           plot 'file' using 1:2:($1-$3):($1+$3):4:5 with xyerror-
     lines

     The last example is for a file containing an unsupported combi-
     nation of relative x and absolute y errors. The uussiinngg entry
     generates absolute x min and max from the relative error.

     The y error bar is a vertical line plotted from (x, ylow) to
     (x, yhigh). If ydelta is specified instead of ylow and yhigh,
     ylow = y - ydelta and yhigh = y + ydelta are derived. If there
     are only two numbers on the record, yhigh and ylow are both set
     to y. The x error bar is a horizontal line computed in the same
     fashion.

     The error bars have crossbars at each end unless sseett bbaarrss is
     used (see sseett bbaarrss for details).

     If autoscaling is on, the ranges will be adjusted to include
     the error bars.

     See pplloott uussiinngg, pplloott wwiitthh, and sseett ssttyyllee for more information.











GNUPLOT 4.0                                                       57


     3300..44..  PPaarraammeettrriicc


     When in parametric mode (sseett ppaarraammeettrriicc) mathematical expres-
     sions must be given in pairs for pplloott and in triplets for
     sspplloott.

     Examples:
           plot sin(t),t**2
           splot cos(u)*cos(v),cos(u)*sin(v),sin(u)

     Data files are plotted as before, except any preceding paramet-
     ric function must be fully specified before a data file is
     given as a plot.  In other words, the x parametric function
     (ssiinn((tt)) above) and the y parametric function (tt****22 above) must
     not be interrupted with any modifiers or data functions; doing
     so will generate a syntax error stating that the parametric
     function is not fully specified.

     Other modifiers, such as wwiitthh and ttiittllee, may be specified only
     after the parametric function has been completed:

           plot sin(t),t**2 title 'Parametric example' with lines-
     points

     See also Parametric Mode Demos.



     3300..55..  RRaannggeess


     The optional ranges specify the region of the graph that will
     be displayed.

     Syntax:
           [{<dummy-var>=}{{<min>}:{<max>}}]
           [{{<min>}:{<max>}}]

     The first form applies to the independent variable (xxrraannggee or
     ttrraannggee, if in parametric mode).  The second form applies to the
     dependent variable yyrraannggee (and xxrraannggee, too, if in parametric
     mode).  <dummy-var> is a new name for the independent variable.
     (The defaults may be changed with sseett dduummmmyy.)  The optional
     <min> and <max> terms can be constant expressions or *.

     In non-parametric mode, the order in which ranges must be given
     is xxrraannggee and yyrraannggee.

     In parametric mode, the order for the pplloott command is ttrraannggee,
     xxrraannggee, and yyrraannggee.  The following pplloott command shows setting
     the ttrraannggee to [-pi:pi], the xxrraannggee to [-1.3:1.3] and the yyrraannggee
     to [-1:1] for the duration of the graph:










GNUPLOT 4.0                                                       58


           plot [-pi:pi] [-1.3:1.3] [-1:1] sin(t),t**2

     Note that the x2range and y2range cannot be specified
     here---sseett xx22rraannggee and sseett yy22rraannggee must be used.

     Ranges are interpreted in the order listed above for the appro-
     priate mode.  Once all those needed are specified, no further
     ones must be listed, but unneeded ones cannot be skipped---use
     an empty range [[]] as a placeholder.

     ** can be used to allow autoscaling of either of min and max.
     See also sseett aauuttoossccaallee.

     Ranges specified on the pplloott or sspplloott command line affect only
     that graph; use the sseett xxrraannggee, sseett yyrraannggee, etc., commands to
     change the default ranges for future graphs.

     With time data, you must provide the range (in the same manner
     as the time appears in the datafile) within quotes.  ggnnuupplloott
     uses the ttiimmeeffmmtt string to read the value---see sseett ttiimmeeffmmtt.

     Examples:

     This uses the current ranges:
           plot cos(x)

     This sets the x range only:
           plot [-10:30] sin(pi*x)/(pi*x)

     This is the same, but uses t as the dummy-variable:
           plot [t = -10 :30]  sin(pi*t)/(pi*t)

     This sets both the x and y ranges:
           plot [-pi:pi] [-3:3]  tan(x), 1/x

     This sets only the y range, and turns off autoscaling on both
     axes:
           plot [ ] [-2:sin(5)*-8] sin(x)**besj0(x)

     This sets xmax and ymin only:
           plot [:200] [-pi:]  exp(sin(x))

     This sets the x range for a timeseries:
           set timefmt "%d/%m/%y %H:%M"
           plot ["1/6/93 12:00":"5/6/93 12:00"] 'timedata.dat'

     See also ranges demo.
















GNUPLOT 4.0                                                       59


     3300..66..  TTiittllee


     A line title for each function and data set appears in the key,
     accompanied by a sample of the line and/or symbol used to rep-
     resent it.  It can be changed by using the ttiittllee option.

     Syntax:
           title "<title>" | notitle

     where <title> is the new title of the line and must be enclosed
     in quotes.  The quotes will not be shown in the key.  A special
     character may be given as a backslash followed by its octal
     value ("\345").  The tab character "\t" is understood.  Note
     that backslash processing occurs only for strings enclosed in
     double quotes---use single quotes to prevent such processing.
     The newline character "\n" is not processed in key entries in
     either type of string.

     The line title and sample can be omitted from the key by using
     the keyword nnoottiittllee.  A null title (ttiittllee '''') is equivalent to
     nnoottiittllee.  If only the sample is wanted, use one or more blanks
     (ttiittllee '' '').

     If kkeeyy aauuttoottiittlleess is set (which is the default) and neither
     ttiittllee nor nnoottiittllee are specified the line title is the function
     name or the file name as it appears on the pplloott command.  If it
     is a file name, any datafile modifiers specified will be
     included in the default title.

     The layout of the key itself (position, title justification,
     etc.) can be controlled by sseett kkeeyy.  Please see sseett kkeeyy for
     details.

     Examples:

     This plots y=x with the title 'x':
           plot x

     This plots x squared with title "x^2" and file "data.1" with
     title "measured data":
           plot x**2 title "x^2", 'data.1' t "measured data"

     This puts an untitled circular border around a polar graph:
           set polar; plot my_function(t), 1 notitle



     3300..77..  WWiitthh


     Functions and data may be displayed in one of a large number of
     styles.  The wwiitthh keyword provides the means of selection.










GNUPLOT 4.0                                                       60


     Syntax:
           with <style> { {linestyle | ls <line_style>}
                          | {{linetype  | lt <line_type>}
                             {linewidth | lw <line_width>}
                             {pointtype | pt <point_type>}
                             {pointsize | ps <point_size>}
                             {fill | fs <fillstyle>}
                             {palette}}
                        }

     where <style> is either lliinneess, ppooiinnttss, lliinneessppooiinnttss, iimmppuullsseess,
     ddoottss, sstteeppss, ffsstteeppss, hhiisstteeppss, eerrrroorrbbaarrss, xxeerrrroorrbbaarrss, yyeerrrroorr--
     bbaarrss, xxyyeerrrroorrbbaarrss, eerrrroorrlliinneess, xxeerrrroorrlliinneess, yyeerrrroorrlliinneess, xxyyeerr--
     rroorrlliinneess, bbooxxeess, ffiilllleeddccuurrvveess, bbooxxeerrrroorrbbaarrss, bbooxxxxyyeerrrroorrbbaarrss,
     ffiinnaanncceebbaarrss, ccaannddlleessttiicckkss, vveeccttoorrss or ppmm33dd. Some of these
     styles require additional information. See pplloottttiinngg ssttyylleess for
     details of each style.  ffiillll is relevant only to certain 2D
     plots (currently bbooxxeess bbooxxxxyyeerrrroorrbbaarrss and ccaannddlleessttiicckkss).  Note
     that ffiilllleeddccuurrvveess and ppmm33dd can take an additional option not
     listed above (the latter only when used in the sspplloott com-
     mand)---see their help or examples below for more details.

     Default styles are chosen with the sseett ssttyyllee ffuunnccttiioonn and sseett
     ssttyyllee ddaattaa commands.

     By default, each function and data file will use a different
     line type and point type, up to the maximum number of available
     types.  All terminal drivers support at least six different
     point types, and re-use them, in order, if more are required.
     The LaTeX driver supplies an additional six point types (all
     variants of a circle), and thus will only repeat after 12
     curves are plotted with points.  The PostScript drivers (ppoosstt--
     ssccrriipptt) supplies a total of 64.

     If you wish to choose the line or point type for a single plot,
     <line_type> and <point_type> may be specified.  These are posi-
     tive integer constants (or expressions) that specify the line
     type and point type to be used for the plot.  Use tteesstt to dis-
     play the types available for your terminal.

     You may also scale the line width and point size for a plot by
     using <line_width> and <point_size>, which are specified rela-
     tive to the default values for each terminal.  The pointsize
     may also be altered globally---see sseett ppooiinnttssiizzee for details.
     But note that both <point_size> as set here and  as set by sseett
     ppooiinnttssiizzee multiply the default point size---their effects are
     not cumulative.  That is, sseett ppooiinnttssiizzee 22;; pplloott xx ww pp ppss 33 will
     use points three times default size, not six.

     If you have defined specific line type/width and point
     type/size combinations with sseett ssttyyllee lliinnee, one of these may be
     selected by setting <line_style> to the index of the desired
     style.










GNUPLOT 4.0                                                       61


     If gnuplot was built with ppmm33dd support, the special keyword
     ppaalleettttee is allowed for smooth color change of lines, points and
     dots in sspplloottss. The color is chosen from a smooth palette which
     was set previously with the command sseett ppaalleettttee. The color
     value corresponds to the z-value of the point coordinates or to
     the color coordinate if specified by the 4th parameter in
     uussiinngg. The 2d pplloott command ignores this option.

     The keywords may be abbreviated as indicated.

     Note that the lliinneewwiiddtthh, ppooiinnttssiizzee and ppaalleettttee options are not
     supported by all terminals.

     Examples:

     This plots sin(x) with impulses:
           plot sin(x) with impulses

     This plots x with points, x**2 with the default:
           plot x w points, x**2

     This plots tan(x) with the default function style, file
     "data.1" with lines:
           plot [ ] [-2:5] tan(x), 'data.1' with l

     This plots "leastsq.dat" with impulses:
           plot 'leastsq.dat' w i

     This plots the data file "population" with boxes:
           plot 'population' with boxes

     This plots "exper.dat" with errorbars and lines connecting the
     points (errorbars require three or four columns):
           plot 'exper.dat' w lines, 'exper.dat' notitle w errorbars

     Another way to plot "exper.dat" with errorlines (errorbars
     require three or four columns):
           plot 'exper.dat' w errorlines

     This plots sin(x) and cos(x) with linespoints, using the same
     line type but different point types:
           plot sin(x) with linesp lt 1 pt 3, cos(x) with linesp lt
     1 pt 4

     This plots file "data" with points of type 3 and twice usual
     size:
           plot 'data' with points pointtype 3 pointsize 2

     This plots two data sets with lines differing only by weight:
           plot 'd1' t "good" w l lt 2 lw 3, 'd2' t "bad" w l lt 2
     lw 1

     This plots filled curve of x*x and a color stripe:










GNUPLOT 4.0                                                       62


           plot x*x with filledcurve closed, 40 with filledcurve
     y1=10

     This plots x*x and a color box:
           plot x*x, (x>=-5 && x<=5 ? 40 : 1/0) with filledcurve
     y1=10 lt 8

     This plots a surface with color lines:
           splot x*x-y*y with line palette

     This plots two color surfaces at different altitudes:
           splot x*x-y*y with pm3d, x*x+y*y with pm3d at t

     See sseett ssttyyllee to change the default styles. See also styles
     demos.



3311..  PPrriinntt


The pprriinntt command prints the value of <expression> to the screen.
It is synonymous with ppaauussee 00.  <expression> may be anything that
ggnnuupplloott can evaluate that produces a number, or it can be a string.

Syntax:
      print <expression> {, <expression>, ...}

See eexxpprreessssiioonnss.  The output file can be set with sseett pprriinntt.



3322..  PPwwdd


The ppwwdd command prints the name of the working directory to the
screen.



3333..  QQuuiitt


The eexxiitt and qquuiitt commands and END-OF-FILE character will exit ggnnuu--
pplloott.  Each of these commands will clear the output device (as does
the cclleeaarr command) before exiting.



3344..  RReepplloott













GNUPLOT 4.0                                                       63


The rreepplloott command without arguments repeats the last pplloott or sspplloott
command.  This can be useful for viewing a plot with different sseett
options, or when generating the same plot for several devices.

Arguments specified after a rreepplloott command will be added onto the
last pplloott or sspplloott command (with an implied ',' separator) before it
is repeated.  rreepplloott accepts the same arguments as the pplloott and
sspplloott commands except that ranges cannot be specified.  Thus you can
use rreepplloott to plot a function against the second axes if the previ-
ous command was pplloott but not if it was sspplloott, and similarly you can
use rreepplloott to add a plot from a binary file only if the previous
command was sspplloott.

N.B.---use of

      plot '-' ; ... ; replot

is not recommended.  ggnnuupplloott does not store the inline data inter-
nally, so since rreepplloott appends new information to the previous pplloott
and then executes the modified command, the ''--'' from the initial
pplloott will expect to read inline data again.

Note that rreepplloott does not work in mmuullttiipplloott mode, since it repro-
duces only the last plot rather than the entire screen.

See also ccoommmmaanndd--lliinnee--eeddiittiinngg for ways to edit the last pplloott (sspplloott)
command.

See also sshhooww pplloott to show the whole current plotting command, and
the possibility to copy it into the hhiissttoorryy.



3355..  RReerreeaadd


The rreerreeaadd command causes the current ggnnuupplloott command file, as spec-
ified by a llooaadd command or on the command line, to be reset to its
starting point before further commands are read from it.  This
essentially implements an endless loop of the commands from the
beginning of the command file to the rreerreeaadd command.  (But this is
not necessarily a disaster---rreerreeaadd can be very useful when used in
conjunction with iiff.  See iiff for details.)  The rreerreeaadd command has
no effect if input from standard input.

Examples:

Suppose the file "looper" contains the commands
      a=a+1
      plot sin(x*a)
      pause -1
      if(a<5) reread
and from within ggnnuupplloott you submit the commands










GNUPLOT 4.0                                                       64


      a=0
      load 'looper'
The result will be four plots (separated by the ppaauussee message).

Suppose the file "data" contains six columns of numbers with a total
yrange from 0 to 10; the first is x and the next are five different
functions of x.  Suppose also that the file "plotter" contains the
commands
      c_p = c_p+1
      plot "$0" using 1:c_p with lines linetype c_p
      if(c_p <  n_p) reread
and from within ggnnuupplloott you submit the commands
      n_p=6
      c_p=1
      unset key
      set yrange [0:10]
      set multiplot
      call 'plotter' 'data'
      unset multiplot
The result is a single graph consisting of five plots.  The yrange
must be set explicitly to guarantee that the five separate graphs
(drawn on top of each other in multiplot mode) will have exactly the
same axes.  The linetype must be specified; otherwise all the plots
would be drawn with the same type.  See also Reread Animation Demo
(animate.dem).



3366..  RReesseett


The rreesseett command causes all graph-related options that can be set
with the sseett command to take on their default values.  This command
is useful, e.g., to restore the default graph settings at the end of
a command file, or to return to a defined state after lots of set-
tings have been changed within a command file.  Please refer to the
sseett command to see the default values that the various options take.

The following sseett commands do not change the graph status and are
thus left unchanged: the terminal set with sseett tteerrmm, the output file
set with sseett oouuttppuutt and directory paths set with sseett llooaaddppaatthh and
sseett ffoonnttppaatthh.



3377..  SSaavvee


The ssaavvee command saves user-defined functions, variables, the sseett
tteerrmm status, all sseett options, or all of these, plus the last pplloott
(sspplloott) command to the specified file.

Syntax:










GNUPLOT 4.0                                                       65


      save  {<option>} '<filename>'

where <option> is ffuunnccttiioonnss, vvaarriiaabblleess, tteerrmmiinnaall or sseett. If no
option is used, ggnnuupplloott saves functions, variables, sseett options and
the last pplloott (sspplloott) command.

ssaavveed files are written in text format and may be read by the llooaadd
command. For ssaavvee with the sseett option or without any option, the
tteerrmmiinnaall choice and the oouuttppuutt filename are written out as a com-
ment, to get an output file that works in other installations of
gnuplot, without changes and without risk of unwillingly overwriting
files.

ssaavvee tteerrmmiinnaall will write out just the tteerrmmiinnaall status, without the
comment marker in front of it. This is mainly useful for switching
the tteerrmmiinnaall setting for a short while, and getting back to the pre-
viously set terminal, afterwards, by loading the saved tteerrmmiinnaall sta-
tus. Note that for a single gnuplot session you may rather use the
other method of saving and restoring current terminal by the com-
mands sseett tteerrmm ppuusshh and sseett tteerrmm ppoopp, see sseett tteerrmm.

The filename must be enclosed in quotes.

The special filename "-" may be used to ssaavvee commands to standard
output.  On systems which support a popen function (Unix), the out-
put of save can be piped through an external program by starting the
file name with a '|'.  This provides a consistent interface to ggnnuu--
pplloott's internal settings to programs which communicate with ggnnuupplloott
through a pipe.  Please see "help batch/interactive" for more
details.

Examples:
      save 'work.gnu'
      save functions 'func.dat'
      save var 'var.dat'
      save set 'options.dat'
      save term 'myterm.gnu'
      save '-'
      save '|grep title >t.gp'



3388..  SSeett--sshhooww


The sseett command can be used to set _lots_ of options.  No screen is
drawn, however, until a pplloott, sspplloott, or rreepplloott command is given.

The sshhooww command shows their settings;  sshhooww aallll shows all the set-
tings.

Options changed using sseett can be returned to the default state by
giving the corresponding uunnsseett command.  See also the rreesseett command,










GNUPLOT 4.0                                                       66


which returns all settable parameters to default values.

If a variable contains time/date data, sshhooww will display it accord-
ing to the format currently defined by sseett ttiimmeeffmmtt, even if that was
not in effect when the variable was initially defined.




     3388..11..  AAnngglleess


     By default, ggnnuupplloott assumes the independent variable in polar
     graphs is in units of radians.  If sseett aanngglleess ddeeggrreeeess is speci-
     fied before sseett ppoollaarr, then the default range is [0:360] and
     the independent variable has units of degrees.  This is partic-
     ularly useful for plots of data files.  The angle setting also
     applies to 3-d mapping as set via the sseett mmaappppiinngg command.

     Syntax:
           set angles {degrees | radians}
           show angles

     The angle specified in sseett ggrriidd ppoollaarr is also read and dis-
     played in the units specified by sseett aanngglleess.

     sseett aanngglleess also affects the arguments of the machine-defined
     functions sin(x), cos(x) and tan(x), and the outputs of
     asin(x), acos(x), atan(x), atan2(x), and arg(x).  It has no
     effect on the arguments of hyperbolic functions or Bessel func-
     tions.  However, the output arguments of inverse hyperbolic
     functions of complex arguments are affected; if these functions
     are used, sseett aanngglleess rraaddiiaannss must be in effect to maintain con-
     sistency between input and output arguments.

           x={1.0,0.1}
           set angles radians
           y=sinh(x)
           print y         #prints {1.16933, 0.154051}
           print asinh(y)  #prints {1.0, 0.1}
     but
           set angles degrees
           y=sinh(x)
           print y         #prints {1.16933, 0.154051}
           print asinh(y)  #prints {57.29578, 5.729578}
     See also poldat.dem: polar plot using sseett aanngglleess demo.



     3388..22..  AArrrrooww













GNUPLOT 4.0                                                       67


     Arbitrary arrows can be placed on a plot using the sseett aarrrrooww
     command.

     Syntax:
           set arrow {<tag>} {from <position>} {to|rto <position>}
                     { {arrowstyle | as <arrow_style>}
                       | {nohead | head | heads}
                         {size <length>,<angle>}
                         {filled | nofilled}
                         {front | back}
                         { {linestyle | ls <line_style>}
                           | {linetype | lt <line_type>}
                             {linewidth | lw <line_width} } }
           unset arrow {<tag>}
           show arrow {<tag>}

     <tag> is an integer that identifies the arrow.  If no tag is
     given, the lowest unused tag value is assigned automatically.
     The tag can be used to delete or change a specific arrow.  To
     change any attribute of an existing arrow, use the sseett aarrrrooww
     command with the appropriate tag and specify the parts of the
     arrow to be changed.

     The <position>s are specified by either x,y or x,y,z, and may
     be preceded by ffiirrsstt, sseeccoonndd, ggrraapphh, or ssccrreeeenn to select the
     coordinate system.  Unspecified coordinates default to 0.  The
     endpoints can be specified in one of four coordinate sys-
     tems---ffiirrsstt or sseeccoonndd axes, ggrraapphh or ssccrreeeenn.  See ccoooorrddiinnaatteess
     for details.  A coordinate system specifier does not carry over
     from the "from" position to the "to" position.  Arrows outside
     the screen boundaries are permitted but may cause device
     errors.  If the endpoint is specified by "rto" instead of "to"
     it is drawn relatively to the start point.

     Specifying nnoohheeaadd produces an arrow drawn without a head---a
     line segment.  This gives you yet another way to draw a line
     segment on the plot.  By default, arrows have heads. Specifying
     hheeaaddss draws arrow heads on both ends of the line.

     Head size can be controlled by ssiizzee <<lleennggtthh>>,,<<aannggllee>>, where
     <length> defines length of each branch of the arrow head and
     <angle> the angle (in degrees) they make with the arrow.
     <Length> is in x-axis units; this can be changed by ffiirrsstt, sseecc--
     oonndd, ggrraapphh or ssccrreeeenn before the <length>; see ccoooorrddiinnaatteess for
     details.

     Specifying ffiilllleedd produces filled arrow heads (if heads are
     used).  Filling is supported on filled-polygon capable termi-
     nals, see help of ppmm33dd for their list, otherwise the arrow
     heads are closed but not filled.  Further, filling is obviously
     not supported on terminals drawing arrows by their own specific
     routines, like ffiigg, mmeettaaffoonntt, mmeettaappoosstt, llaatteexx or ttggiiff.











GNUPLOT 4.0                                                       68


     The line style may be selected from a user-defined list of line
     styles (see sseett ssttyyllee lliinnee) or may be defined here by providing
     values for <line_type> (an index from the default list of
     styles) and/or <line_width> (which is a  multiplier for the
     default width).

     Note, however, that if a user-defined line style has been
     selected, its properties (type and width) cannot be altered
     merely by issuing another sseett aarrrrooww command with the appropri-
     ate index and lltt or llww.

     If ffrroonntt is given, the arrow is written on top of the graphed
     data. If bbaacckk is given (the default), the arrow is written
     underneath the graphed data.  Using ffrroonntt will prevent an arrow
     from being obscured by dense data.

     Examples:

     To set an arrow pointing from the origin to (1,2) with user-
     defined style 5, use:
           set arrow to 1,2 ls 5

     To set an arrow from bottom left of plotting area to (-5,5,3),
     and tag the arrow number 3, use:
           set arrow 3 from graph 0,0 to -5,5,3

     To change the preceding arrow to end at 1,1,1, without an arrow
     head and double its width, use:
           set arrow 3 to 1,1,1 nohead lw 2

     To draw a vertical line from the bottom to the top of the graph
     at x=3, use:
           set arrow from 3, graph 0 to 3, graph 1 nohead

     To draw a vertical arrow with T-shape ends, use:
           set arrow 3 from 0,-5 to 0,5 heads size screen 0.1,90

     To draw an arrow relatively to the start point, where the rela-
     tive distances are given in graph coordinates, use:
           set arrow from 0,-5 rto graph 0.1,0.1

     To delete arrow number 2, use:
           unset arrow 2

     To delete all arrows, use:
           unset arrow

     To show all arrows (in tag order), use:
           show arrow
     See also arrows demos.













GNUPLOT 4.0                                                       69


     3388..33..  AAuuttoossccaallee


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

     Syntax:
           set autoscale {<axes>{|min|max|fixmin|fixmax|fix} | fix |
     keepfix}
           unset autoscale {<axes>}
           show autoscale

     where <axes> is either xx, yy, zz, ccbb, xx22, yy22 or xxyy.  A keyword
     with mmiinn or mmaaxx appended (this cannot be done with xxyy) tells
     ggnnuupplloott to autoscale just the minimum or maximum of that axis.
     If no keyword is given, all axes are autoscaled.

     A keyword with ffiixxmmiinn, ffiixxmmaaxx or ffiixx appended tells gnuplot to
     disable extension of the axis range to the next tic mark posi-
     tion, for autoscaled axes using equidistant tics; sseett aauuttoossccaallee
     ffiixx sets this for all axes.  Command sseett aauuttoossccaallee kkeeeeppffiixx
     autoscales all axes while keeping the fix settings.

     When autoscaling, the axis range is automatically computed and
     the dependent axis (y for a pplloott and z for sspplloott) 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.

     Autoscaling the independent variables (x for pplloott and x,y for
     sspplloott) is a request to set the domain to match any data file
     being plotted.  If there are no data files, 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)).

     Please see sseett xxrraannggee for additional information about ranges.

     The behavior of autoscaling remains consistent in parametric
     mode, (see sseett ppaarraammeettrriicc).  However, there are more dependent
     variables and hence more control over x, y, and z axis scales.
     In parametric mode, the independent or dummy variable is t for
     ppllootts and u,v for ssppllootts.  aauuttoossccaallee in parametric mode, then,
     controls all ranges (t, u, v, x, y, and z) and allows x, y, and
     z to be fully autoscaled.

     Autoscaling works the same way for polar mode as it does for
     parametric mode for pplloott, with the extension that in polar mode
     sseett dduummmmyy can be used to change the independent variable from t
     (see sseett dduummmmyy).

     When tics are displayed on second axes but no plot has been










GNUPLOT 4.0                                                       70


     specified for those axes, x2range and y2range are inherited
     from xrange and yrange.  This is done _before_ xrange and
     yrange are autoextended to a whole number of tics, which can
     cause unexpected results.  You can use the ffiixxmmiinn or ffiixxmmaaxx
     options to avoid this.

     Examples:

     This sets autoscaling of the y axis (other axes are not
     affected):
           set autoscale y

     This sets autoscaling only for the minimum of the y axis (the
     maximum of the y axis and the other axes are not affected):
           set autoscale ymin

     This disables extension of the x2 axis tics to the next tic
     mark, thus keeping the exact range as found in the plotted data
     and functions:
           set autoscale x2fixmin
           set autoscale x2fixmax

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

     This sets autoscaling of the x, y, z, x2 and y2 axes:
           set autoscale

     This disables autoscaling of the x, y, z, x2 and y2 axes:
           unset autoscale

     This disables autoscaling of the z axis only:
           unset autoscale z




          3388..33..11..  PPaarraammeettrriicc mmooddee


          When in parametric mode (sseett ppaarraammeettrriicc), the xrange is as
          fully scalable as the y range.  In other words, in para-
          metric mode the x axis can be automatically scaled to fit
          the range of the parametric function that is being plot-
          ted.  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.

          Data files are plotted the same in parametric and non-
          parametric mode.  However, there is a difference in mixed
          function and data plots: in non-parametric mode with
          autoscaled x, the x range of the datafile controls the x
          range of the functions; in parametric mode it has no










GNUPLOT 4.0                                                       71


          influence.

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

          sspplloott extends the above ideas as you would expect.  If
          autoscaling is set, then x, y, and z ranges are computed
          and each axis scaled to fit the resulting data.



          3388..33..22..  PPoollaarr mmooddee


          When in polar mode (sseett ppoollaarr), the xrange and the yrange
          are both found from the polar coordinates, and thus they
          can both be automatically scaled.  In other words, in
          polar mode both the x and y axes can be automatically
          scaled to fit the ranges of the polar function that is
          being plotted.

          When plotting functions in polar mode, the rrange may be
          autoscaled.  When plotting data files in polar mode, the
          trange may also be autoscaled.  Note that if the trange is
          contained within one quadrant, autoscaling will produce a
          polar plot of only that single quadrant.

          Explicitly setting one or two ranges but not others may
          lead to unexpected results.  See also polar demos.



     3388..44..  BBaarrss


     The sseett bbaarrss command controls the tics at the ends of error
     bars, and also the width of the boxes in plot styles candle-
     sticks and financebars.

     Syntax:
           set bars {small | large | <size>}
           unset bars
           show bars

     ssmmaallll is a synonym for 0.0, and llaarrggee for 1.0.  The default is
     1.0 if no size is given.












GNUPLOT 4.0                                                       72


     3388..55..  BBmmaarrggiinn


     The command sseett bbmmaarrggiinn sets the size of the bottom margin.
     Please see sseett mmaarrggiinn for details.



     3388..66..  BBoorrddeerr


     The sseett bboorrddeerr and uunnsseett bboorrddeerr commands control the display of
     the graph borders for the pplloott and sspplloott commands.  Note that
     the borders do not necessarily coincide with the axes; with
     pplloott they often do, but with sspplloott they usually do not.

     Syntax:
           set border {<integer> { {linestyle | ls <line_style>}
                                   | {linetype | lt <line_type> }
                                     {linewidth | lw <line_width>} }
     }
           unset border
           show border

     With a sspplloott displayed in an arbitrary orientation, like sseett
     vviieeww 5566,,110033, the four corners of the x-y plane can be referred
     to as "front", "back", "left" and "right".  A similar set of
     four corners exist for the top surface, of course.  Thus the
     border connecting, say, the back and right corners of the x-y
     plane is the "bottom right back" border, and the border con-
     necting the top and bottom front corners is the "front verti-
     cal".  (This nomenclature is defined solely to allow the reader
     to figure out the table that follows.)

     The borders are encoded in a 12-bit integer: the bottom four
     bits control the border for pplloott and the sides of the base for
     sspplloott; the next four bits control the verticals in sspplloott; the
     top four bits control the edges on top of the sspplloott.  In
     detail, <<iinntteeggeerr>> should be the sum of the appropriate entries
     from the following table:























GNUPLOT 4.0                                                       73


              +--------------------------------------+
              |Bit      plot            splot        |
              +--------------------------------------+
              | 1      bottom     bottom left front  |
              | 2       left       bottom left back  |
              | 4        top      bottom right front |
              | 8       right     bottom right back  |
              | 16    no effect     left vertical    |
              | 32    no effect     back vertical    |
              | 64    no effect     right vertical   |
              |128    no effect     front vertical   |
              |256    no effect     top left back    |
              |512    no effect     top right back   |
              |1024   no effect     top left front   |
              |2048   no effect    top right front   |
              +--------------------------------------+



Various bits or combinations of bits may be added together in the
command.

The default is 31, which is all four sides for pplloott, and base and z
axis for sspplloott.

Using the optional <line_style>, <line_type> and <line_width> speci-
fiers, the way the border lines are drawn can be influenced (limited
by what the current terminal driver supports).

For pplloott, tics may be drawn on edges other than bottom and left by
enabling the second axes -- see sseett xxttiiccss for details.

If a sspplloott draws only on the base, as is the case with "uunnsseett ssuurr--
ffaaccee;; sseett ccoonnttoouurr bbaassee", then the verticals and the top are not
drawn even if they are specified.

The sseett ggrriidd options 'back', 'front' and 'layerdefault' also control
the order in which the border lines are drawn with respect to the
output of the plotted data.

Examples:

Draw default borders:
      set border

Draw only the left and bottom (pplloott) or both front and back bottom
left (sspplloott) borders:
      set border 3

Draw a complete box around a sspplloott:
      set border 4095

Draw a topless box around a sspplloott, omitting the front vertical:










GNUPLOT 4.0                                                       74


      set border 127+256+512 # or set border 1023-128

Draw only the top and right borders for a pplloott and label them as
axes:
      unset xtics; unset ytics; set x2tics; set y2tics; set border
12

See also borders demo.



     3388..77..  BBooxxwwiiddtthh


     The sseett bbooxxwwiiddtthh command is used to set the default width of
     boxes in the bbooxxeess, bbooxxeerrrroorrbbaarrss and ccaannddlleessttiicckkss styles.

     Syntax:
           set boxwidth {<width>} {absolute|relative}
           show boxwidth

     If a data file is plotted without the width being specified in
     the third, fourth, or fifth column (or uussiinngg entry), or if a
     function is plotted, the width of each box is set by the sseett
     bbooxxwwiiddtthh command.  (If a width is given both in the file and by
     the sseett bbooxxwwiiddtthh command, the one in the file is used.)  If the
     width is not specified in one of these ways, the width of each
     box will be calculated automatically so that it touches the
     adjacent boxes.  rreellaattiivvee indicates, that the specified
     boxwidth is a scaling factor for the automatically calculated
     boxwidth, otherwise the boxwidth is taken as an aabbssoolluuttee value
     (which is the default). In a four-column data set, the fourth
     column will be interpreted as the box width unless the width is
     set to -2.0, in which case the width will be calculated auto-
     matically.  See sseett ssttyyllee bbooxxeerrrroorrbbaarrss for more details.

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

     or, for four-column data,
           set boxwidth -2

     The same effect can be achieved with the uussiinngg keyword in pplloott:
           plot 'file' using 1:2:3:4:(-2)

     To set the box width to half of the automatic size use
           set boxwidth 0.5 relative

     To set the box width to an absolute value of 2 use
           set boxwidth 2 absolute

     or, if you didn't specify a relative boxwidth before,
           set boxwidth 2










GNUPLOT 4.0                                                       75


     3388..88..  CCllaabbeell


     ggnnuupplloott 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.  It is
     not possible at present to separate the contour labels from the
     surface key.

     Syntax:
           set clabel {'<format>'}
           unset clabel
           show clabel

     The default for the format string is %8.3g, which gives three
     decimal places.  This may produce poor label alignment if the
     key is altered from its default configuration.

     The first contour linetype, or only contour linetype when cla-
     bel is off, is the surface linetype +1; contour points are the
     same style as surface points.

     See also sseett ccoonnttoouurr.



     3388..99..  CClliipp


     ggnnuupplloott can clip data points and lines that are near the bound-
     aries of a graph.

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

     Three clip types for points and lines are supported by ggnnuupplloott:
     ppooiinnttss, oonnee, and ttwwoo. One, two, or all three clip types may be
     active for a single graph.  Note that clipping of color filled
     quadrangles drawn by ppmm33dd maps and surfaces is not controlled
     by this command, but by sseett ppmm33dd cclliipp11iinn and sseett ppmm33dd cclliipp44iinn.

     The ppooiinnttss clip type forces ggnnuupplloott to clip (actually, not plot
     at all) data points that fall within but too close to the
     boundaries.  This is done so that large symbols used for points
     will not extend outside the boundary lines.  Without clipping
     points near the boundaries, the plot may look bad.  Adjusting
     the x and y ranges may give similar results.

     Setting the oonnee clip type causes ggnnuupplloott to draw a line segment
     which has only one of its two endpoints within the graph.  Only
     the in-range portion of the line is drawn.  The alternative is










GNUPLOT 4.0                                                       76


     to not draw any portion of the line segment.

     Some lines may have both endpoints out of range, but pass
     through the graph.  Setting the ttwwoo clip-type allows the visi-
     ble portion of these lines to be drawn.

     In no case is a line drawn outside the graph.

     The defaults are nnoocclliipp ppooiinnttss, cclliipp oonnee, and nnoocclliipp ttwwoo.

     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
           unset clip

     sseett cclliipp is synonymous with sseett cclliipp ppooiinnttss; uunnsseett cclliipp turns
     off all three types of clipping.



     3388..1100..  CCnnttrrppaarraamm


     sseett ccnnttrrppaarraamm controls the generation of contours and their
     smoothness for a contour plot. sshhooww ccoonnttoouurr displays current
     settings of ccnnttrrppaarraamm as well as ccoonnttoouurr.

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

     This command has two functions.  First, it sets the values of z
     for which contour points are to be determined (by linear inter-
     polation between data points or function isosamples.)  Second,
     it controls the way contours are drawn between the points
     determined to be of equal z.  <n> should be an integral con-
     stant expression and <z1>, <z2> ... any constant expressions.
     The parameters are:










GNUPLOT 4.0                                                       77


     lliinneeaarr, ccuubbiiccsspplliinnee, bbsspplliinnee---Controls type of approximation
     or interpolation.  If lliinneeaarr, then straight line segments con-
     nect points of equal z magnitude.  If ccuubbiiccsspplliinnee, then piece-
     wise-linear contours are interpolated between the same equal z
     points to form somewhat smoother contours, but which may undu-
     late.  If bbsspplliinnee, a guaranteed-smoother curve is drawn, which
     only approximates the position of the points of equal-z.

     ppooiinnttss---Eventually all drawings are done with piecewise-linear
     strokes.  This number controls the number of line segments used
     to approximate the bbsspplliinnee or ccuubbiiccsspplliinnee curve.  Number of
     cubicspline or bspline segments (strokes) = ppooiinnttss * number of
     linear segments.

     oorrddeerr---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 bbsspplliinnee mode only.  Allowed values are integers in the
     range from 2 (linear) to 10.

     lleevveellss--- Selection of contour levels,  controlled by aauuttoo
     (default), ddiissccrreettee, iinnccrreemmeennttaall, and <n>, number of contour
     levels, limited to
      MAX_DISCRETE_LEVELS as defined in plot.h (30 is standard.)

     For aauuttoo, <n> specifies a nominal number of levels; the actual
     number will be adjusted to give simple labels. If the surface
     is bounded by zmin and zmax, contours will be generated at
     integer multiples of dz between zmin and zmax, where dz is 1,
     2, or 5 times some power of ten (like the step between two tic
     marks).

     For lleevveellss ddiissccrreettee, contours will be generated at z = <z1>,
     <z2> ... as specified; the number of discrete levels sets the
     number of contour levels.  In ddiissccrreettee mode, any sseett ccnnttrrppaarraamm
     lleevveellss <<nn>> are ignored.

     For iinnccrreemmeennttaall, contours are generated at values of z begin-
     ning at <start> and increasing by <increment>, until the number
     of contours is reached. <end> is used to determine the number
     of contour levels, which will be changed by any subsequent sseett
     ccnnttrrppaarraamm lleevveellss <<nn>>.

     If the command sseett ccnnttrrppaarraamm is given without any arguments
     specified,  the defaults are used: linear, 5 points, order 4, 5
     auto levels.

     Examples:
           set cntrparam bspline
           set cntrparam points 7
           set cntrparam order 10











GNUPLOT 4.0                                                       78


     To select levels automatically, 5 if the level increment crite-
     ria are met:
           set cntrparam levels auto 5

     To specify discrete levels at .1, .37, and .9:
           set cntrparam levels discrete .1,1/exp(1),.9

     To specify levels from 0 to 4 with increment 1:
           set cntrparam levels incremental  0,1,4

     To set the number of levels to 10 (changing an incremental end
     or possibly the number of auto levels):
           set cntrparam levels 10

     To set the start and increment while retaining the number of
     levels:
           set cntrparam levels incremental 100,50

     See also sseett ccoonnttoouurr for control of where the contours are
     drawn, and sseett ccllaabbeell for control of the format of the contour
     labels and linetypes.

     See also contours demo (contours.dem) and contours with user
     defined levels demo (discrete.dem).



     3388..1111..  CCoolloorr bbooxx



     The color scheme, i.e. the gradient of the smooth color with
     min_z and max_z values of ppmm33dd's ppaalleettttee, is drawn in a color
     box unless uunnsseett ccoolloorrbbooxx.

           set colorbox
           set colorbox {
                      { vertical | horizontal }
                      { default | user }
                      { origin x, y }
                      { size x, y }
                      { noborder | bdefault | border [line style] }
                    }
           show colorbox
           unset colorbox

     Colorbox position can be ddeeffaauulltt or uusseerr.  If the latter is
     specified the values as given with the oorriiggiinn and ssiizzee subcom-
     mands are used.

     vveerrttiiccaall and hhoorriizzoonnttaall switches the orientation of the color
     gradient.











GNUPLOT 4.0                                                       79


     oorriiggiinn xx,, yy and ssiizzee xx,, yy are used only in combination with the
     uusseerr option. The x and y values must be given in screen coordi-
     nates (as everything else did not seem to make sense) that is
     between [0 - 1]. Try for example:
         set colorbox horiz user origin .1,.02 size .8,.04
     which will draw a horizontal gradient somewhere at the bottom
     of the graph.

     bboorrddeerr turns the border on (this is the default). nnoobboorrddeerr
     turns the border off. If an positive integer argument is given
     after bboorrddeerr, it is used as a line style tag which is used for
     drawing the border, e.g.:
         set style line 2604 linetype -1 linewidth .4
         set colorbox border 2604
     will use line style 22660044, a thin line with the default border
     color (-1) for drawing the border. bbddeeffaauulltt (which is the
     default) will use the default border line style for drawing the
     border of the color box.

     The axis of the color box is called ccbb and it is controlled by
     means of the usual axes commands, i.e. sseett//uunnsseett//sshhooww with
     ccbbrraannggee, [[mm]]ccbbttiiccss, ffoorrmmaatt ccbb, ggrriidd [[mm]]ccbb, ccbbllaabbeell, and perhaps
     even ccbbddaattaa, [[nnoo]]ccbbddttiiccss, [[nnoo]]ccbbmmttiiccss.

     sseett ccoolloorrbbooxx without any parameter switches the position to
     default.  uunnsseett ccoolloorrbbooxx resets the default parameters for the
     colorbox and switches the colorbox off.

     See also help for sseett ppmm33dd, sseett ppaalleettttee, xx1111 ppmm33dd, and sseett
     ssttyyllee lliinnee.




     3388..1122..  CCoonnttoouurr


     sseett ccoonnttoouurr enables contour drawing for surfaces. This option
     is available for sspplloott only.

     Syntax:
           set contour {base | surface | both}
           unset contour
           show contour

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

     See also sseett ccnnttrrppaarraamm for the parameters that affect the draw-
     ing of contours, and sseett ccllaabbeell for control of labelling of the










GNUPLOT 4.0                                                       80


     contours.

     The surface can be switched off (see sseett ssuurrffaaccee), giving a
     contour-only graph.  Though it is possible to use sseett ssiizzee to
     enlarge the plot to fill the screen, more control over the out-
     put format can be obtained by writing the contour information
     to a file, and rereading it as a 2-d datafile plot:

           unset surface
           set contour
           set cntrparam ...
           set term table
           set out 'filename'
           splot ...
           set out
           # contour info now in filename
           set term <whatever>
           plot 'filename'

     In order to draw contours, the data should be organized as
     "grid data".  In such a file all the points for a single y-iso-
     line are listed, then all the points for the next y-isoline,
     and so on.  A single blank line (a line containing no charac-
     ters other than blank spaces and a carriage return and/or a
     line feed) separates one y-isoline from the next.  See also
     sspplloott ddaattaaffiillee.


     If contours are desired from non-grid data, sseett ddggrriidd33dd can be
     used to create an appropriate grid.  See sseett ddggrriidd33dd for more
     information.  See also contours demo (contours.dem) and con-
     tours with user defined levels demo (discrete.dem).



     3388..1133..  DDaattaa ssttyyllee


     This form of the command is deprecated. Please see sseett ssttyyllee
     ddaattaa.



     3388..1144..  DDaattaaffiillee


     The sseett ddaattaaffiillee command options control interpretation of
     fields read from input data files by the pplloott, sspplloott, and ffiitt
     commands.  Three such options are currently implemented.














GNUPLOT 4.0                                                       81


          3388..1144..11..  SSeett ddaattaaffiillee mmiissssiinngg


          The sseett ddaattaaffiillee mmiissssiinngg command allows you to tell ggnnuu--
          pplloott what character string is used in a data file to
          denote missing data.  Exactly how this missing value will
          be treated depends on the uussiinngg specifier of the pplloott or
          sspplloott command.

          Syntax:
                set datafile missing {"<string>"}
                show datafile missing
                unset datafile

          Example:
                # Ignore entries containing IEEE NaN ("Not a Num-
          ber") code
                set datafile missing "NaN"

          Example:
                set datafile missing "?"
                set style data lines
                plot '-'
                   1 10
                   2 20
                   3 ?
                   4 40
                   5 50
                   e
                plot '-' using 1:2
                   1 10
                   2 20
                   3 ?
                   4 40
                   5 50
                   e
                plot '-' using 1:($2)
                   1 10
                   2 20
                   3 ?
                   4 40
                   5 50
                   e

          The first pplloott will recognize only the first datum in the
          "3 ?" line.  It will use the single-datum-on-a-line con-
          vention that the line number is "x" and the datum is "y",
          so the point will be plotted (in this case erroneously) at
          (2,3).

          The second pplloott will correctly ignore the middle line.
          The plotted line will connect the points at (2,20) and
          (4,40).










GNUPLOT 4.0                                                       82


          The third pplloott will also correctly ignore the middle line,
          but the plotted line will not connect the points at (2,20)
          and (4,40).

          There is no default character for mmiissssiinngg, but in many
          cases any non-parsible string of characters found where a
          numerical value is expected will be treated as missing
          data.




          3388..1144..22..  SSeett ddaattaaffiillee sseeppaarraattoorr


          The command sseett ddaattaaffiillee sseeppaarraattoorr ""<<cchhaarr>>"" tells ggnnuupplloott
          that data fields in subsequent input files are separated
          by <char> rather than by whitespace.  The most common use
          is to read in csv (comma-separated value) files written by
          spreadsheet or database programs. By default data fields
          are separated by whitespace.

          Syntax:
                set datafile separator {"<char>" | whitespace}

          Examples:
                # Input file contains tab-separated fields
                set datafile separator "\t"

                # Input file contains comma-separated values fields
                set datafile separator ","



          3388..1144..33..  SSeett ddaattaaffiillee ccoommmmeennttsscchhaarrss


          The sseett ddaattaaffiillee ccoommmmeennttsscchhaarrss command allows you to tell
          ggnnuupplloott what characters are used in a data file to denote
          comments.  Gnuplot will ignore rest of the line behind the
          specified characters if either of them is the first non-
          blank character on the line.

          Syntax:
                set datafile commentschars {"<string>"}
                show datafile commentschars
                unset commentschars

          Default value of the string is "#!" on VMS and "#" other-
          wise.

          Then, the following line in a data file is completely
          ignored










GNUPLOT 4.0                                                       83


              # 1 2 3 4
          but the following
              1 # 3 4
          produces rather unexpected plot unless
              set datafile missing '#'
          is specified as well.

          Example:
                set datafile commentschars "#!%"



     3388..1155..  DDeecciimmaallssiiggnn


     The sseett ddeecciimmaallssiiggnn command selects a decimal sign for numbers
     printed into tic labels or sseett llaabbeell strings.

     Syntax:
           set decimalsign {<value>}
           unset decimalsign
           show decimalsign

     The argument <value> is the string to be used in place of the
     usual decimal point. Typical choices include the period, '.',
     and the comma, ',', but others may be useful, too.  If you omit
     the <value> argument, the decimal separator is not modified
     from the usual default, which is a period.  Unsetting decimal-
     sign has the same effect as omitting <value>.

     Example:

     Correct typesetting in most European countries requires:
           set decimalsign ','



     3388..1166..  DDggrriidd33dd


     The sseett ddggrriidd33dd command enables, and can set parameters for,
     non-grid to grid data mapping.

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

     By default ddggrriidd33dd is disabled.  When enabled, 3-d data read
     from a file are always treated 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 parameters is
     created for plotting and contouring.  The grid is equally










GNUPLOT 4.0                                                       84


     spaced in x (rows) and in y (columns); the z values are com-
     puted as weighted averages of the scattered points' z values.

     The third parameter, norm, controls the weighting:  Each data
     point is weighted inversely by its distance from the grid point
     raised to the norm power.  (Actually, the weights are given by
     the inverse of dx^norm + dy^norm, where dx and dy are the com-
     ponents of the separation of the grid point from each data
     point.  For some norms that are powers of two, specifically 4,
     8, and 16, the computation is optimized by using the Euclidean
     distance in the weight calculation, (dx^2+dy^2)^norm/2.  How-
     ever, any non-negative integer can be used.)

     The closer the data point is to a grid point, the more effect
     it has on that grid point and the larger the value of norm the
     less effect more distant data points have on that grid point.

     The ddggrriidd33dd option is a simple low pass filter that converts
     scattered data to a grid data set.  More sophisticated
     approaches to this problem exist and should be used to prepro-
     cess the data outside ggnnuupplloott if this simple solution is found
     inadequate.

     (The z values are found by weighting all data points, not by
     interpolating between nearby data points;  also edge effects
     may produce unexpected and/or undesired results.  In some
     cases, small norm values produce a grid point reflecting the
     average of distant data points rather than a local average,
     while large values of norm may produce "steps" with several
     grid points having the same value as the closest data point,
     rather than making a smooth transition between adjacent data
     points.  Some areas of a grid may be filled by extrapolation,
     to an arbitrary boundary condition.  The variables are not nor-
     malized; consequently the units used for x and y will affect
     the relative weights of points in the x and y directions.)

     Examples:
           set dgrid3d 10,10,1     # defaults
           set dgrid3d ,,4

     The first specifies that a grid of size 10 by 10 is to be con-
     structed using a norm value of 1 in the weight computation.
     The second only modifies the norm, changing it to 4.  See also
     scatter.dem: dgrid3d demo.




     3388..1177..  DDuummmmyy


     The sseett dduummmmyy command changes the default dummy variable names.











GNUPLOT 4.0                                                       85


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

     By default, ggnnuupplloott assumes that the independent, or "dummy",
     variable for the pplloott command is "t" if in parametric or polar
     mode, or "x" otherwise.  Similarly the independent variables
     for the sspplloott command are "u" and "v" in parametric mode (sspplloott
     cannot be used in polar mode), or "x" and "y" otherwise.

     It may be more convenient to call a dummy variable by a more
     physically meaningful or conventional name.  For example, when
     plotting time functions:

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

     At least one dummy variable must be set on the command; sseett
     dduummmmyy by itself will generate an error message.

     Examples:
           set dummy u,v
           set dummy ,s

     The second example sets the second variable to s.



     3388..1188..  EEnnccooddiinngg


     The sseett eennccooddiinngg command selects a character encoding.  Syntax:
           set encoding {<value>}
           show encoding

     Valid values are
        default     - tells a terminal to use its default encoding
        iso_8859_1  - the most common Western European font used by
     many
                      Unix workstations and by MS-Windows. This
     encoding is
                      known in the PostScript world as 'ISO-Latin1'.
        iso_8859_2  - used in Central and Eastern Europe
        iso_8859_15 - a variant of iso_8859_1 that includes the Euro
     symbol
        cp850       - codepage for OS/2
        cp852       - codepage for OS/2
        cp437       - codepage for MS-DOS
        koi8r       - popular Unix cyrillic encoding

     Generally you must set the encoding before setting the terminal
     type.  Note that encoding is not supported by all terminal
     drivers and that the device must be able to produce the desired










GNUPLOT 4.0                                                       86


     non-standard characters.  The PostScript and X11 terminals sup-
     port all encodings. OS/2 Presentation Manager switches automat-
     ically to codepage 912 for iissoo__88885599__22.



     3388..1199..  FFiitt


     The ffiitt setting defines where the ffiitt command writes its out-
     put.  If this option was built into your version of gnuplot, it
     also controls whether parameter errors from the fit will be
     written into variables.

     Syntax:
           set fit {logfile {"<filename>"}} {{no}errorvariables}
           unset fit
           show fit

     The <filename> argument must be enclosed in single or double
     quotes.

     If no filename is given or uunnsseett ffiitt is used the log file is
     reset to its default value "fit.log" or the value of the envi-
     ronmental variable FFIITT__LLOOGG.

     Users of DOS-like platforms should note that the \ character
     has special significance in double-quoted strings, so single-
     quotes should be used for filenames in different directories,
     or you have to write \\ for each \.  Or you can just use for-
     ward slashes, even though this is DOS.

     If the given logfile name ends with a / or \, it is interpreted
     to be a directory name, and the actual filename will be
     "fit.log" in that directory.

     If the eerrrroorrvvaarriiaabblleess option is turned on, the error of each
     fitted parameter computed by ffiitt will be copied to a user-
     defined variable whose name is formed by appending "_err" to
     the name of the parameter itself.  This is useful mainly to put
     the parameter and its error onto a plot of the data and the
     fitted function, for reference, as in:

            set fit errorvariables
            fit f(x) 'datafile' using 1:2 via a, b
            print "error of a is:", a_err
            set label 'a=%6.2f', a, '+/- %6.2f', a_err
            plot 'datafile' using 1:2, f(x)















GNUPLOT 4.0                                                       87


     3388..2200..  FFoonnttppaatthh


     The ffoonnttppaatthh setting defines additional locations for font
     files searched when including font files. Currently only the
     postscript terminal supports ffoonnttppaatthh. If a file cannot be
     found in the current directory, the directories in ffoonnttppaatthh are
     tried. Further documentation concerning the supported file for-
     mats is included in the tteerrmmiinnaall ppoossttssccrriipptt section of the doc-
     umentation.

     Syntax:
           set fontpath {"pathlist1" {"pathlist2"...}}
           show fontpath

     Path names may be entered as single directory names, or as a
     list of path names separated by a platform-specific path sepa-
     rator, eg. colon (':') on Unix, semicolon (';') on DOS/Win-
     dows/OS/2/Amiga platforms.  The sshhooww ffoonnttppaatthh, ssaavvee and ssaavvee
     sseett commands replace the platform-specific separator with a
     space character (' ') for maximum portability. If a directory
     name ends with an exclamation mark ('!') also the subdirecto-
     ries of this directory are searched for font files.

     If the environmental variable GNUPLOT_FONTPATH is set, its con-
     tents are appended to ffoonnttppaatthh.  If it is not set, a system
     dependent default value is used. It is set by testing several
     directories for existence when using the fontpath the first
     time. Thus, the first call of sseett ffoonnttppaatthh, sshhooww ffoonnttppaatthh, ssaavvee
     ffoonnttppaatthh, pplloott, or sspplloott with embedded font files takes a lit-
     tle more time. If you want to save this time you may set the
     environmental variable GNUPLOT_FONTPATH since probing is
     switched off, then. You can find out which is the default font-
     path by using sshhooww ffoonnttppaatthh.

     However, sshhooww ffoonnttppaatthh prints the contents of user defined
     fontpath and system fontpath separately.  Also, the ssaavvee and
     ssaavvee sseett commands save only the user specified parts of ffoonntt--
     ppaatthh, for portability reasons.

     Many other terminal drivers access TrueType fonts via the gd
     library.  For these drivers the font search path is controlled
     by the environmental variable GDFONTPATH.



     3388..2211..  FFoorrmmaatt


     The format of the tic-mark labels can be set with the sseett ffoorr--
     mmaatt command.

     Syntax:










GNUPLOT 4.0                                                       88


           set format {<axes>} {"<format-string>"}
           set format {<axes>} {'<format-string>'}
           show format

     where <axes> is either xx, yy, zz, ccbb, xxyy, xx22, yy22 or nothing
     (which is the same as xxyy).  The length of the string represent-
     ing a tic mark (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
     uunnsseett xxttiiccss or uunnsseett yyttiiccss.

     Newline (\n) is accepted in the format string.  Use double-
     quotes rather than single-quotes to enable such interpretation.
     See also ssyynnttaaxx.

     The default format for both axes is "%g", but other formats
     such as "%.2f" or "%3.0em" are often desirable.  Anything
     accepted by 'printf' when given a double precision number, and
     accepted by the terminal, will work.  Some other options have
     been added.  If the format string looks like a floating point
     format, then ggnnuupplloott tries to construct a reasonable format.

     Characters not preceded by "%" are printed verbatim.  Thus you
     can include spaces and labels in your format string, such as
     "%g m", which will put " m" after each number.  If you want "%"
     itself, double it: "%g %%".

     See also sseett xxttiiccss for more information about tic labels, and
     sseett ddeecciimmaallssiiggnn for how to use non-default decimal separators
     in numbers printed this way.  See also electron demo (elec-
     tron.dem).




          3388..2211..11..  FFoorrmmaatt ssppeecciiffiieerrss


          The acceptable formats (if not in time/date mode) are:





















GNUPLOT 4.0                                                       89


+------------------------------------------------------------------+
| Format    Explanation                                            |
+------------------------------------------------------------------+
|   %f      floating point notation                                |
|%e or %E   exponential notation; an "e" or "E" before the power   |
|%g or %G   the shorter of %e (or %E) and %f                       |
|%x or %X   hex                                                    |
|%o or %O   octal                                                  |
|   %t      mantissa to base 10                                    |
|   %l      mantissa to base of current logscale                   |
|   %s      mantissa to base of current logscale; scientific power |
|   %T      power to base 10                                       |
|   %L      power to base of current logscale                      |
|   %S      scientific power                                       |
|   %c      character replacement for scientific power             |
|   %P      multiple of pi                                         |
+------------------------------------------------------------------+
+------------------------------------------------------------------+



A 'scientific' power is one such that the exponent is a multiple of
three.  Character replacement of scientific powers (""%%cc"") has been
implemented for powers in the range -18 to +18.  For numbers outside
of this range the format reverts to exponential.

Other acceptable modifiers (which come after the "%" but before the
format specifier) are "-", which left-justifies the number; "+",
which forces all numbers to be explicitly signed; "#", which places
a decimal point after floats that have only zeroes following the
decimal point; a positive integer, which defines the field width;
"0" (the digit, not the letter) immediately preceding the field
width, which indicates that leading zeroes are to be used instead of
leading blanks; and a decimal point followed by a non-negative inte-
ger, which defines the precision (the minimum number of digits of an
integer, or the number of digits following the decimal point of a
float).

Some releases of 'printf' may not support all of these modifiers but
may also support others; in case of doubt, check the appropriate
documentation and then experiment.

Examples:
      set format y "%t"; set ytics (5,10)          # "5.0" and "1.0"
      set format y "%s"; set ytics (500,1000)      # "500" and "1.0"
      set format y "+-12.3f"; set ytics(12345)     # "+12345.000  "
      set format y "%.2t*10^%+03T"; set ytic(12345)# "1.23*10^+04"
      set format y "%s*10^{%S}"; set ytic(12345)   # "12.345*10^{3}"
      set format y "%s %cg"; set ytic(12345)       # "12.345 kg"
      set format y "%.0P pi"; set ytic(6.283185)   # "2 pi"
      set format y "%.0f%%"; set ytic(50)          # "50%"

      set log y 2; set format y '%l'; set ytics (1,2,3)










GNUPLOT 4.0                                                       90


      #displays "1.0", "1.0" and "1.5" (since 3 is 1.5 * 2^1)

There are some problem cases that arise when numbers like 9.999 are
printed with a format that requires both rounding and a power.

If the data type for the axis is time/date, the format string must
contain valid codes for the 'strftime' function (outside of ggnnuupplloott,
type "man strftime").  See sseett ttiimmeeffmmtt for a list of the allowed
input format codes.



          3388..2211..22..  TTiimmee//ddaattee ssppeecciiffiieerrss


          In time/date mode, the acceptable formats are:




       +----------------------------------------------------+
       | Format    Explanation                              |
       +----------------------------------------------------+
       |   %a      abbreviated name of day of the week      |
       |   %A      full name of day of the week             |
       |%b or %h   abbreviated name of the month            |
       |   %B      full name of the month                   |
       |   %d      day of the month, 1--31                  |
       |   %D      shorthand for "%m/%d/%y"                 |
       |%H or %k   hour, 0--24                              |
       |%I or %l   hour, 0--12                              |
       |   %j      day of the year, 1--366                  |
       |   %m      month, 1--12                             |
       |   %M      minute, 0--60                            |
       |   %p      "am" or "pm"                             |
       |   %r      shorthand for "%I:%M:%S %p"              |
       |   %R      shorthand for %H:%M"                     |
       |   %S      second, 0--60                            |
       |   %T      shorthand for "%H:%M:%S"                 |
       |   %U      week of the year (week starts on Sunday) |
       |   %w      day of the week, 0--6 (Sunday = 0)       |
       |   %W      week of the year (week starts on Monday) |
       |   %y      year, 0-99                               |
       |   %Y      year, 4-digit                            |
       +----------------------------------------------------+
       +----------------------------------------------------+



Except for the non-numerical formats, these may be preceded by a "0"
("zero", not "oh") to pad the field length with leading zeroes, and
a positive digit, to define the minimum field width (which will be
overridden if the specified width is not large enough to contain the










GNUPLOT 4.0                                                       91


number).  There is a 24-character limit to the length of the printed
text; longer strings will be truncated.

Examples:

Suppose the text is "76/12/25 23:11:11".  Then
      set format x                 # defaults to "12/25/76" \n
"23:11"
      set format x "%A, %d %b %Y"  # "Saturday, 25 Dec 1976"
      set format x "%r %D"         # "11:11:11 pm 12/25/76"

Suppose the text is "98/07/06 05:04:03".  Then
      set format x "%1y/%2m/%3d %01H:%02M:%03S"  # "98/ 7/  6
5:04:003"



     3388..2222..  FFuunnccttiioonn ssttyyllee


     This form of the command is deprecated. Please see sseett ssttyyllee
     ffuunnccttiioonn.



     3388..2233..  FFuunnccttiioonnss


     The sshhooww ffuunnccttiioonnss command lists all user-defined functions and
     their definitions.

     Syntax:
           show functions

     For information about the definition and usage of functions in
     ggnnuupplloott, please see eexxpprreessssiioonnss.  See also splines as user
     defined functions (spline.dem) and use of functions and complex
     variables for airfoils (airfoil.dem).



     3388..2244..  GGrriidd


     The sseett ggrriidd command allows grid lines to be drawn on the plot.

     Syntax:
           set grid {{no}{m}xtics} {{no}{m}ytics} {{no}{m}ztics}
                    {{no}{m}x2tics} {{no}{m}y2tics}
                    {{no}{m}cbtics}
                    {polar {<angle>}}
                    {layerdefault | front | back}
                    { {linestyle <major_linestyle>}










GNUPLOT 4.0                                                       92


                      | {linetype | lt <major_linetype>}
                        {linewidth | lw <major_linewidth>}
                      { , {linestyle | ls <minor_linestyle>}
                          | {linetype | lt <minor_linetype>}
                            {linewidth | lw <minor_linewidth>} } }
           unset grid
           show grid

     The grid can be enabled and disabled for the major and/or minor
     tic marks on any axis, and the linetype and linewidth can be
     specified for major and minor grid lines, also via a predefined
     linestyle, as far as the active terminal driver supports this.

     Additionally, a polar grid can be selected for 2-d plots---cir-
     cles are drawn to intersect the selected tics, and radial lines
     are drawn at definable intervals.  (The interval is given in
     degrees or radians, depending on the sseett aanngglleess setting.)  Note
     that a polar grid is no longer automatically generated in polar
     mode.

     The pertinent tics must be enabled before sseett ggrriidd can draw
     them; ggnnuupplloott will quietly ignore instructions to draw grid
     lines at non-existent tics, but they will appear if the tics
     are subsequently enabled.

     If no linetype is specified for the minor gridlines, the same
     linetype as the major gridlines is used.  The default polar
     angle is 30 degrees.

     If ffrroonntt is given, the grid is drawn on top of the graphed
     data. If bbaacckk is given, the grid is drawn underneath the
     graphed data. Using ffrroonntt will prevent the grid from being
     obscured by dense data. The default setup, llaayyeerrddeeffaauulltt, is
     equivalent to bbaacckk for 2d plots.  In 3D plots the default is to
     split up the grid and the graph box into two layers: one
     behind, the other in front of the plotted data and functions.
     Since hhiiddddeenn33dd mode does its own sorting, it ignores all grid
     drawing order options and passes the grid lines through the
     hidden line removal machinery instead. These options actually
     affect not only the grid, but also the lines output by sseett bboorr--
     ddeerr and the various ticmarks (see sseett xxttiiccss).

     Z grid lines are drawn on the bottom of the plot.  This looks
     better if a partial box is drawn around the plot---see sseett bboorr--
     ddeerr.



     3388..2255..  HHiiddddeenn33dd


     The sseett hhiiddddeenn33dd command enables hidden line removal for sur-
     face plotting (see sspplloott).  Some optional features of the










GNUPLOT 4.0                                                       93


     underlying algorithm can also be controlled using this command.

     Syntax:
           set hidden3d {defaults} |
                        { {{offset <offset>} | {nooffset}}
                          {trianglepattern <bitpattern>}
                          {{undefined <level>} | {noundefined}}
                          {{no}altdiagonal}
                          {{no}bentover} }
           unset hidden3d
           show hidden3d

     In contrast to the usual display in gnuplot, hidden line
     removal actually treats the given function or data grids as
     real surfaces that can't be seen through, so parts behind the
     surface will be hidden by it.  For this to be possible, the
     surface needs to have 'grid structure' (see sspplloott ddaattaaffiillee
     about this), and it has to be drawn wwiitthh lliinneess or wwiitthh lliinneess--
     ppooiinnttss.

     When hhiiddddeenn33dd is set, both the hidden portion of the surface
     and possibly its contours drawn on the base (see sseett ccoonnttoouurr)
     as well as the grid will be hidden.  Each surface has its hid-
     den parts removed with respect to itself and to other surfaces,
     if more than one surface is plotted.  Contours drawn on the
     surface (sseett ccoonnttoouurr ssuurrffaaccee) don't work.  Labels and arrows
     are always visible and are unaffected.  The key is also never
     hidden by the surface.

     Functions are evaluated at isoline intersections.  The algo-
     rithm interpolates linearly between function points or data
     points when determining the visible line segments.  This means
     that the appearance of a function may be different when plotted
     with hhiiddddeenn33dd than when plotted with nnoohhiiddddeenn33dd because in the
     latter case functions are evaluated at each sample.  Please see
     sseett ssaammpplleess and sseett iissoossaammpplleess for discussion of the differ-
     ence.

     The algorithm used to remove the hidden parts of the surfaces
     has some additional features controllable by this command.
     Specifying ddeeffaauullttss will set them all to their default set-
     tings, as detailed below.  If ddeeffaauullttss is not given, only
     explicitly specified options will be influenced: all others
     will keep their previous values, so you can turn on/off hidden
     line removal via sseett {{nnoo}}hhiiddddeenn33dd, without modifying the set of
     options you chose.

     The first option, ooffffsseett, influences the linestyle used for
     lines on the 'back' side.  Normally, they are drawn in a
     linestyle one index number higher than the one used for the
     front, to make the two sides of the surface distinguishable.
     You can specify a different line style offset to add instead of
     the default 1, by ooffffsseett <<ooffffsseett>>.  Option nnooooffffsseett stands for










GNUPLOT 4.0                                                       94


     ooffffsseett 00, making the two sides of the surface use the same
     linestyle.

     Next comes the option ttrriiaanngglleeppaatttteerrnn <<bbiittppaatttteerrnn>>.  <bitpat-
     tern> must be a number between 0 and 7, interpreted as a bit
     pattern.  Each bit determines the visibility of one edge of the
     triangles each surface is split up into.  Bit 0 is for the
     'horizontal' edges of the grid, Bit 1 for the 'vertical' ones,
     and Bit 2 for the diagonals that split each cell of the origi-
     nal grid into two triangles.  The default pattern is 3, making
     all horizontal and vertical lines visible, but not the diago-
     nals.  You may want to choose 7 to see those diagonals as well.

     The uunnddeeffiinneedd <<lleevveell>> option lets you decide what the algorithm
     is to do with data points that are undefined (missing data, or
     undefined function values), or exceed the given x-, y- or z-
     ranges.  Such points can either be plotted nevertheless, or
     taken out of the input data set.  All surface elements touching
     a point that is taken out will be taken out as well, thus cre-
     ating a hole in the surface.  If <level> = 3, equivalent to
     option nnoouunnddeeffiinneedd, no points will be thrown away at all.  This
     may produce all kinds of problems elsewhere, so you should
     avoid this.  <level> = 2 will throw away undefined points, but
     keep the out-of-range ones.  <level> = 1, the default, will get
     rid of out-of-range points as well.

     By specifying nnooaallttddiiaaggoonnaall, you can override the default han-
     dling of a special case can occur if uunnddeeffiinneedd is active (i.e.
     <level> is not 3).  Each cell of the grid-structured input sur-
     face will be divided in two triangles along one of its diago-
     nals.  Normally, all these diagonals have the same orientation
     relative to the grid.  If exactly one of the four cell corners
     is excluded by the uunnddeeffiinneedd handler, and this is on the usual
     diagonal, both triangles will be excluded.  However if the
     default setting of aallttddiiaaggoonnaall is active, the other diagonal
     will be chosen for this cell instead, minimizing the size of
     the hole in the surface.

     The bbeennttoovveerr option controls what happens to another special
     case, this time in conjunction with the ttrriiaanngglleeppaatttteerrnn.  For
     rather crumply surfaces, it can happen that the two triangles a
     surface cell is divided into are seen from opposite sides (i.e.
     the original quadrangle is 'bent over'), as illustrated in the
     following ASCII art:

                                                                   C----B
         original quadrangle:  A--B      displayed quadrangle:
     |\   |
           ("set view 0,0")    | /|    ("set view 75,75" perhaps)  |
     \  |
                               |/ |                                |
     \ |
                               C--D                                |










GNUPLOT 4.0                                                       95


     \|
                                                                   A
     D

     If the diagonal edges of the surface cells aren't generally
     made visible by bit 2 of the <bitpattern> there, the edge CB
     above wouldn't be drawn at all, normally, making the resulting
     display hard to understand.  Therefore, the default option of
     bbeennttoovveerr will turn it visible in this case.  If you don't want
     that, you may choose nnoobbeennttoovveerr instead.  See also hidden line
     removal demo (hidden.dem) and complex hidden line demo (sin-
     gulr.dem).



     3388..2266..  HHiissttoorryyssiizzee


     Note: the command sseett hhiissttoorryyssiizzee is only available when com-
     piled with the gnu readline.

     Syntax:
           set historysize <int>
           unset historysize

     When leaving gnuplot, the value of historysize is used for
     truncating the history to at most that much lines. The default
     is 500.  uunnsseett hhiissttoorryyssiizzee will disable history truncation and
     thus allow an infinite number of lines to be written to the
     history file.



     3388..2277..  IIssoossaammpplleess


     The isoline density (grid) for plotting functions as surfaces
     may be changed by the sseett iissoossaammpplleess command.

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

     Each function 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>.  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.  These
     parameters have no effect on data file plotting.

     An isoline is a curve parameterized by one of the surface
     parameters while the other surface parameter is fixed.  Iso-
     lines provide a simple means to display a surface.  By fixing










GNUPLOT 4.0                                                       96


     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.

     When a function surface plot is being done without the removal
     of hidden lines, sseett ssaammpplleess  controls the number of points
     sampled along each isoline;  see sseett ssaammpplleess and sseett hhiiddddeenn33dd.
     The contour algorithm assumes that a function sample occurs at
     each isoline intersection, so change in ssaammpplleess as well as
     iissoossaammpplleess may be desired when changing the resolution of a
     function surface/contour.



     3388..2288..  KKeeyy


     The sseett kkeeyy enables a key (or legend) describing plots on a
     plot.

     The contents of the key, i.e., the names given to each plotted
     data set and function and samples of the lines and/or symbols
     used to represent them, are determined by the ttiittllee and wwiitthh
     options of the {ss}pplloott command.  Please see pplloott ttiittllee and pplloott
     wwiitthh for more information.

     Syntax:
           set key {on|off} {default}
                   {left | right | top | bottom | outside | below |
     <position>}
                   {Left | Right} {{no}reverse}
                   {samplen <sample_length>} {spacing <verti-
     cal_spacing>}
                   {width <width_increment>}
                   {height <height_increment>}
                   {{no}autotitles}
                   {title "<text>"} {{no}enhanced}
                   {{no}box { {linestyle | ls <line_style>}
                              | {linetype | lt <line_type>}
                                {linewidth | lw <line_width>}}}
           unset key
           show key

     By default the key is placed in the upper right corner of the
     graph.  The keywords lleefftt, rriigghhtt, ttoopp, bboottttoomm, oouuttssiiddee and
     bbeellooww may be used to place the key in the other corners inside
     the graph or to the right (outside) or below the graph.  They
     may be given alone or combined.

     Plots may be drawn with no visible key by requesting sseett kkeeyy
     ooffff or uunnsseett kkeeyy.

     Justification of the labels within the key is controlled by










GNUPLOT 4.0                                                       97


     LLeefftt or RRiigghhtt (default is RRiigghhtt).  The text and sample can be
     reversed (rreevveerrssee) and a box can be drawn around the key (bbooxx
     {{......}}) in a specified lliinneettyyppee and lliinneewwiiddtthh, or a user-defined
     lliinneessttyyllee. Note that not all terminal drivers support linewidth
     selection, though.

     The length of the sample line can be controlled by ssaammpplleenn.
     The sample length is computed as the sum of the tic length and
     <sample_length> times the character width.  ssaammpplleenn also
     affects the positions of point samples in the key since these
     are drawn at the midpoint of the sample line, even if the sam-
     ple line itself is not drawn.

     The vertical spacing between lines is controlled by ssppaacciinngg.
     The spacing is set equal to the product of the pointsize, the
     vertical tic size, and <vertical_spacing>.  The program will
     guarantee that the vertical spacing is no smaller than the
     character height.

     The <width_increment> is a number of character widths to be
     added to or subtracted from the length of the string.  This is
     useful only when you are putting a box around the key and you
     are using control characters in the text.  ggnnuupplloott simply
     counts the number of characters in the string when computing
     the box width; this allows you to correct it.

     The <height_increment> is a number of character heights to be
     added to or subtracted from the height of the key box.  This is
     useful mainly when you are putting a box around the key, other-
     wise it can be used to adjust the vertical shift of automati-
     cally chosen key position by <height_increment>/2.

     All plotted curves of ppllootts and ssppllootts are titled according to
     the default option aauuttoottiittlleess. The automatic generation of
     titles can be suppressed by nnooaauuttoottiittlleess; then only those
     titles explicitly defined by ((ss))pplloott ...... ttiittllee ...... will be
     drawn.

     A title can be put on the key (ttiittllee ""<<tteexxtt>>"")---see also ssyynn--
     ttaaxx for the distinction between text in single- or double-
     quotes.  The key title uses the same justification as do the
     plot titles.

     An explicitly given title is typeset using enhanced text prop-
     erties on terminals supporting this, see eennhhaanncceedd tteexxtt for more
     details.  This default behavior can be switched off by the
     nnooeennhhaanncceedd option.

     The defaults for sseett kkeeyy are oonn, rriigghhtt, ttoopp, RRiigghhtt, nnoorreevveerrssee,
     ssaammpplleenn 44, ssppaacciinngg 11..2255, ttiittllee """", and nnoobbooxx.  The default
     <linetype> is the same as that used for the plot borders.
     Entering sseett kkeeyy ddeeffaauulltt returns the key to its default config-
     uration.










GNUPLOT 4.0                                                       98


     The <position> can be a simple x,y,z as in previous versions,
     but these can be preceded by one of four keywords (ffiirrsstt, sseecc--
     oonndd, ggrraapphh, ssccrreeeenn) which selects the coordinate system in
     which the position of the first sample line is specified.  See
     ccoooorrddiinnaatteess for more details.

     The key is drawn as a sequence of lines, with one plot
     described on each line.  On the right-hand side (or the left-
     hand side, if rreevveerrssee is selected) of each line is a represen-
     tation that attempts to mimic the way the curve is plotted.  On
     the other side of each line is the text description (the line
     title), obtained from the pplloott command.  The lines are verti-
     cally arranged so that an imaginary straight line divides the
     left- and right-hand sides of the key.  It is the coordinates
     of the top of this line that are specified with the sseett kkeeyy
     command.  In a pplloott, only the x and y coordinates are used to
     specify the line position.  For a sspplloott, x, y and z are all
     used as a 3-d location mapped using the same mapping as the
     graph itself to form the required 2-d screen position of the
     imaginary line.

     Some or all of the key may be outside of the graph boundary,
     although this may interfere with other labels and may cause an
     error on some devices.  If you use the keywords oouuttssiiddee or
     bbeellooww, ggnnuupplloott makes space for the keys and the graph becomes
     smaller.  Putting keys outside to the right, they occupy as few
     columns as possible, and putting them below, as many columns as
     possible (depending of the length of the labels), thus stealing
     as little space from the graph as possible.

     When using the TeX or PostScript drivers, or similar drivers
     where formatting information is embedded in the string, ggnnuupplloott
     is unable to calculate correctly the width of the string for
     key positioning.  If the key is to be positioned at the left,
     it may be convenient to use the combination  sseett kkeeyy lleefftt LLeefftt
     rreevveerrssee.  The box and gap in the grid will be the width of the
     literal string.

     If sspplloott is being used to draw contours, the contour labels
     will be listed in the key.  If the alignment of these labels is
     poor or a different number of decimal places is desired, the
     label format can be specified.  See sseett ccllaabbeell for details.

     Examples:

     This places the key at the default location:
           set key default

     This disables the key:
           unset key

     This places a key at coordinates 2,3.5,2 in the default (first)
     coordinate system:










GNUPLOT 4.0                                                       99


           set key 2,3.5,2

     This places the key below the graph:
           set key below

     This places the key in the bottom left corner, left-justifies
     the text, gives it a title, and draws a box around it in line-
     type 3:
           set key left bottom Left title 'Legend' box 3



     3388..2299..  LLaabbeell


     Arbitrary labels can be placed on the plot using the sseett llaabbeell
     command.

     Syntax:
           set label {<tag>}
                     { {"<label text>"{,<value>}} {, ...}} }
                     {at <position>}
                     {left | center | right}
                     {norotate | rotate {by <degrees>}}
                     {font "<name>{,<size>}"}
                     {front | back}
                     {textcolor <colorspec>}
                     {point <pointstyle> {offset x, y} | nopoint}
           unset label {<tag>}
           show label

     The <position> is specified by either x,y or x,y,z, and may be
     preceded by ffiirrsstt, sseeccoonndd, ggrraapphh, or ssccrreeeenn to select the coor-
     dinate system.  See ccoooorrddiinnaatteess for details.

     The tag is an integer that is used to identify the label. If no
     <tag> is given, the lowest unused tag value is assigned auto-
     matically.  The tag can be used to delete or modify a specific
     label.  To change any attribute of an existing label, use the
     sseett llaabbeell command with the appropriate tag, and specify the
     parts of the label to be changed.

     The <label text> can optionally contain numbers, generated by
     replacement of printf()-like format specifiers contained in
     <label text>.  The number to be used is given by the <value>
     following the text.  The same formatting capabilities as for
     tic labels are available.  See the help on ffoorrmmaatt ssppeecciiffiieerrss
     for details. To display more than one distinct <value> with a
     single label, several pairs of <label text> and <value> may be
     given. Note that <value> is treated as a constant expression,
     i.e. if it contains variables, the label text will not change
     if the variable values are modified, later on.  The sseett ddeeccii--
     mmaallssiiggnn option, if active, overrides the decimal separator










GNUPLOT 4.0                                                      100


     character of numbers entered into label texts.

     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 justification parameter, which may
     be lleefftt, rriigghhtt or cceenntteerr, 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 axis
     labels or other text.

     If rroottaattee is given, the label is written vertically (if the
     terminal can do so, of course).  If rroottaattee bbyy <<ddeeggrreeeess>> is
     given, conforming terminals will try to write the text at the
     specified angle; non-conforming terminals will treat this as
     vertical text.

     Font and its size can be chosen explicitly by ffoonntt
     ""<<nnaammee>>{{,,<<ssiizzee>>}}"" if the terminal supports font settings.  Oth-
     erwise the default font of the terminal will be used.

     If ffrroonntt is given, the label is written on top of the graphed
     data. If bbaacckk is given (the default), the label is written
     underneath the graphed data.  Using ffrroonntt will prevent a label
     from being obscured by dense data.

     TTeexxttccoolloorr <<ccoolloorrssppeecc>> changes the color of the label text.
     <<ccoolloorrssppeecc>> is either a linetype or a mapping onto the pm3d
     color palette (available only in sspplloott), see help for sseett
     ppaalleettttee.
        `textcolor` may be abbreviated `tc`.
        `tc default` resets the text color to its default state.
        `tc lt <n>` sets the text color to that of line type <n>.
        `tc palette z` selects a palette color corresponding to the
     label z position.
        `tc palette cb <val>` selects a color corresponding to <val>
     on the colorbar.
        `tc palette fraction <val>`, with 0<=val<=1, selects a color
     corresponding to
            the mapping [0:1] to grays/colors of the `palette`.

     If a <pointstyle> is given, using keywords lltt, pptt and ppss, see
     ssttyyllee, a point with the given style and color of the given line
     type is plotted at the label position and the text of the label
     is displaced slightly.  The displacement defaults to 1, 1 in
     ppooiinnttssiizzee units and can be controlled by the optional ooffffsseett xx,,
     yy. Example: ooffffsseett 22,, --33 would displace the labels 2 * point-
     size horizontally and -3 * pointsize vertically from the actual
     coordinate point as given by ppoossiittiioonn.  The size of the point
     depends also on the setting of ppooiinnttssiizzee.  This option is used
     by default for placing labels in mmoouussee enhanced terminals.  Use
     nnooppooiinntt to turn off the drawing of a point near the label (this
     is the default).











GNUPLOT 4.0                                                      101


     If one (or more) axis is timeseries, the appropriate coordinate
     should be given as a quoted time string according to the
     ttiimmeeffmmtt format string.  See sseett xxddaattaa and sseett ttiimmeeffmmtt.

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

     Examples:

     To set a label at (1,2) to "y=x", use:
           set label "y=x" at 1,2

     To set a Sigma of size 24, from the Symbol font set, at the
     center of the graph, use:
           set label "S" at graph 0.5,0.5 center font "Symbol,24"

     To set a label "y=x^2" with the right of the text at (2,3,4),
     and tag the label as 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:
           unset label 2

     To delete all labels, use:
           unset label

     To show all labels (in tag order), use:
           show label

     To set a label on a graph with a timeseries on the x axis, use,
     for example:
           set timefmt "%d/%m/%y,%H:%M"
           set label "Harvest" at "25/8/93",1

     To display a freshly fitted parameter on the plot with the data
     and the fitted function, do this after the ffiitt, but before the
     pplloott:
           set label 'a = %3.5g',par_a     at 30, 15
           set label 'b = %s*10^%S',par_b  at 30, 20

     To set a label displaced a little bit from a small point:
           set label 'origin' at 0,0 point lt 1 pt 2 ps 3 offset
     1,-1

     To set a label whose color matches the z value (in this case
     5.5) of some point on a 3D splot colored using pm3d:
           set label 'text' at 0,0,5.5 tc palette z













GNUPLOT 4.0                                                      102


     3388..3300..  LLmmaarrggiinn


     The command sseett llmmaarrggiinn sets the size of the left margin.
     Please see sseett mmaarrggiinn for details.



     3388..3311..  LLooaaddppaatthh


     The llooaaddppaatthh setting defines additional locations for data and
     command files searched by the ccaallll, llooaadd, pplloott and sspplloott com-
     mands.  If a file cannot be found in the current directory, the
     directories in llooaaddppaatthh are tried.

     Syntax:
           set loadpath {"pathlist1" {"pathlist2"...}}
           show loadpath

     Path names may be entered as single directory names, or as a
     list of path names separated by a platform-specific path sepa-
     rator, eg. colon (':') on Unix, semicolon (';') on DOS/Win-
     dows/OS/2/Amiga platforms.  The sshhooww llooaaddppaatthh, ssaavvee and ssaavvee
     sseett commands replace the platform-specific separator with a
     space character (' ') for maximum portability.

     If the environment variable GNUPLOT_LIB is set, its contents
     are appended to llooaaddppaatthh.  However, sshhooww llooaaddppaatthh prints the
     contents of user defined loadpath and system loadpath sepa-
     rately.  Also, the ssaavvee and ssaavvee sseett commands save only the
     user specified parts of llooaaddppaatthh, for portability reasons.



     3388..3322..  LLooccaallee


     The llooccaallee setting determines the language with which
     {{xx,,yy,,zz}}{{dd,,mm}}ttiiccss will write the days and months.

     Syntax:
           set locale {"<locale>"}

     <locale> may be any language designation acceptable to your
     installation.  See your system documentation for the available
     options.  The default value is determined from the LANG envi-
     ronment variable.















GNUPLOT 4.0                                                      103


     3388..3333..  LLooggssccaallee


     Log scaling may be set on the x, y, z, x2 and/or y2 axes.

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

     where <axes> may be any combinations of xx, yy, zz, and ccbb in any
     order, or xx22 or yy22 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 axes are assumed.  uunnsseett llooggssccaallee
     turns off log scaling for the specified axes.

     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 enable z and color log axes for a pm3d plot:
           set logscale zcb

     To disable z axis log scaling:
           unset logscale z



     3388..3344..  MMaappppiinngg


     If data are provided to sspplloott in spherical or cylindrical coor-
     dinates, the sseett mmaappppiinngg command should be used to instruct
     ggnnuupplloott how to interpret them.

     Syntax:
           set mapping {cartesian | spherical | cylindrical}

     A cartesian coordinate system is used by default.

     For a spherical coordinate system, the data occupy two or three
     columns (or uussiinngg entries).  The first two are interpreted as
     the azimuthal and polar angles theta and phi (or "longitude"
     and "latitude"), in the units specified by sseett aanngglleess.  The
     radius r is taken from the third column if there is one, or is
     set to unity if there is no third column.  The mapping is:

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










GNUPLOT 4.0                                                      104


           z = r * sin(phi)

     Note that this is a "geographic" spherical system, rather than
     a "polar" one (that is, phi is measured from the equator,
     rather than the pole).

     For a cylindrical coordinate system, the data again occupy two
     or three columns.  The first two are interpreted as theta (in
     the units specified by sseett aanngglleess) and z.  The radius is either
     taken from the third column or set to unity, as in the spheri-
     cal case.  The mapping is:

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

     The effects of mmaappppiinngg can be duplicated with the uussiinngg filter
     on the sspplloott command, but mmaappppiinngg may be more convenient if
     many data files are to be processed.  However even if mmaappppiinngg
     is used, uussiinngg may still be necessary if the data in the file
     are not in the required order.

     mmaappppiinngg has no effect on pplloott.  world.dem: mapping demos.



     3388..3355..  MMaarrggiinn


     The computed margins can be overridden by the sseett mmaarrggiinn com-
     mands.  sshhooww mmaarrggiinn shows the current settings.

     Syntax:
           set bmargin {<margin>}
           set lmargin {<margin>}
           set rmargin {<margin>}
           set tmargin {<margin>}
           show margin

     The units of <margin> are character heights or widths, as
     appropriate.  A positive value defines the absolute size of the
     margin.  A negative value (or none) causes ggnnuupplloott to revert to
     the computed value.  For 3D plots, only the left margin setting
     has any effect so far.

     Normally the margins of a plot are automatically calculated
     based on tics, tic labels, axis labels, the plot title, the
     timestamp and the size of the key if it is outside the borders.
     If, however, tics are attached to the axes (sseett xxttiiccss aaxxiiss, for
     example), neither the tics themselves nor their labels will be
     included in either the margin calculation or the calculation of
     the positions of other text to be written in the margin.  This
     can lead to tic labels overwriting other text if the axis is










GNUPLOT 4.0                                                      105


     very close to the border.



     3388..3366..  MMoouussee


     The command sseett mmoouussee enables mouse actions. Currently the pm,
     x11, ggi and windows terminals are mouse enhanced. There are
     two mouse modes. The 2d-graph mode works for 2d graphs and for
     maps (i.e. splots with sseett vviieeww having z-rotation 0, 90, 180,
     270 or 360 degrees) and it allows tracing the position over
     graph, zooming, annotating graph etc. For 3d graphs sspplloott, the
     view and scaling of the graph can be changed with mouse buttons
     1 and 2. If additionally to these buttons the modifier <ctrl>
     is hold down, the coordinate system only is rotated which is
     useful for large data sets. A vertical motion of Button 2 with
     the shift key hold down changes the ticslevel.

     Mousing is not available in multiplot mode. If multiplot is
     disabled using uunnsseett mmuullttiipplloott though,  the mouse will be
     turned on again and acts on the last plot (like replot does).

     Syntax:
           set mouse [doubleclick <ms>] [nodoubleclick] \
                     [[no]zoomcoordinates] \
                     [[no]polardistance] \
                     [format <string>] \
                     [clipboardformat <int>/<string>] \
                     [mouseformat <int>/<string>] \
                     [[no]labels] [labeloptions <string>] \
                     [[no]zoomjump] [[no]verbose]
           unset mouse

     The doubleclick resolution is given in milliseconds and used
     for Button 1 which copies the current mouse position to the
     cclliippbbooaarrdd. If you want that to be done by single clicking a
     value of 0 ms can be used. The default value is 300 ms.

     The option zzoooommccoooorrddiinnaatteess determines if the coordinates of the
     zoom box are drawn at the edges while zooming. This is on by
     default.

     The option ppoollaarrddiissttaannccee determines if the distance to the
     ruler is also shown in polar coordinates. This corresponds to
     the default key binding '5'.

     The ffoorrmmaatt option takes a fprintf like format string which
     determines how floating point numbers are printed to the driv-
     ers window and the clipboard.  The default is "% #g".

     cclliippbbooaarrddffoorrmmaatt and mmoouusseeffoorrmmaatt are used for formatting the
     text on Button1 and Button2 actions -- copying the coordinates










GNUPLOT 4.0                                                      106


     to the clipboard and temporarily annotating the mouse position.
     This corresponds to the key bindings '1', '2', '3', '4' (see
     the drivers's help window). If the argument is a string this
     string is used as c format specifier and should contain two
     float specifiers, e.g. sseett mmoouussee mmoouusseeffoorrmmaatt ""mmoouussee == %%55..22gg,,
     %%1100..22ff"". Use sseett mmoouussee mmoouusseeffoorrmmaatt """" to turn this string off
     again.

     The following formats are available (format 6 may only be
     selected if the format string was specified already):

      0   real coordinates in  brackets e.g. [1.23, 2.45]
      1   real coordinates w/o brackets e.g.  1.23, 2.45
      2   x == timefmt                       [(as set by `set
     timefmt`), 2.45]
      3   x == date                          [31. 12. 1999, 2.45]
      4   x == time                          [23:59, 2.45]
      5   x == date / time                   [31. 12. 1999 23:59,
     2.45]
      6   alt. format, specified as string   ""

     Choose the option llaabbeellss to get real gnuplot labels on Button
     2. (The default is nnoollaabbeellss which makes Button 2 drawing only
     temporary annotations at the mouse positions). The labels are
     drawn with the current setting of mmoouusseeffoorrmmaatt. llaabbeellooppttiioonnss
     controls which options are passed to the sseett llaabbeell command. The
     default is "pointstyle 1" which will plot a small plus at the
     label position.  Note that the pointsize is taken from the sseett
     ppooiinnttssiizzee command.  Labels can be removed by holding the Ctrl-
     Key down while clicking with Button 2 on the label's point. The
     threshold for how close you must be to the label is also deter-
     mined by the ppooiinnttssiizzee.

     If the option zzoooommjjuummpp is on, the mouse pointer will be auto-
     matically offset a small distance after starting a zoom region
     with button 3. This can be useful to avoid a tiny (or even
     empty) zoom region. zzoooommjjuummpp is off by default.

     If the option vveerrbboossee is turned on the communication commands
     are shown during execution. This option can also be toggled by
     hitting 66 in the driver's window. vveerrbboossee is off by default.

     Press 'h' in the driver's window for a short summary of the
     mouse and key bindings.  This will also display user defined
     bindings or hhoottkkeeyyss which can be defined using the bbiinndd com-
     mand, see help for bbiinndd.  Note, that user defined hhoottkkeeyyss may
     override the default bindings.

     Press 'q' in the driver's window to close the window. This key
     cannot be overridden with the bbiinndd command.

     See also help for bbiinndd and llaabbeell.











GNUPLOT 4.0                                                      107


          3388..3366..11..  XX1111__mmoouussee


          X11 mouse support is turned on by default if standard
          input comes from a terminal (tty). Mouse support is turned
          off if standard input does not come from a tty, e.g. a
          pipe. If you want to use mouse support while writing to
          gnuplot from a pipe, the mouse must be turned on *before*
          starting the x11 driver, e.g. immediately after startup
          with the explicit command sseett mmoouussee.  Beware: on some UNIX
          flavours, special input devices as /dev/null might not be
          sseelleecctt--aabbllee; turning on the mouse when using such devices
          will hang gnuplot.

          If multiple X11 plot windows have been opened using the
          sseett tteerrmm xx1111 <<nn>> terminal option, then only the current
          plot window supports the entire range of mouse commands
          and hotkeys.  The other windows will, however, continue to
          display mouse coordinates at the lower left.



     3388..3377..  MMuullttiipplloott


     The command sseett mmuullttiipplloott places ggnnuupplloott in the multiplot mode,
     in which several plots are placed on the same page, window, or
     screen.

     Syntax:
           set multiplot
           unset multiplot

     For some terminals, no plot is displayed until the command
     uunnsseett mmuullttiipplloott is given, which causes the entire page to be
     drawn and then returns ggnnuupplloott to its normal single-plot mode.
     For other terminals, each separate pplloott command produces a
     plot, but the screen may not be cleared between plots.

     Any labels or arrows that have been defined will be drawn for
     each plot according to the current size and origin (unless
     their coordinates are defined in the ssccrreeeenn system).  Just
     about everything else that can be sseett is applied to each plot,
     too.  If you want something to appear only once on the page,
     for instance a single time stamp, you'll need to put a sseett
     ttiimmee/uunnsseett ttiimmee pair around one of the pplloott, sspplloott or rreepplloott
     commands within the sseett mmuullttiipplloott/uunnsseett mmuullttiipplloott block.

     The commands sseett oorriiggiinn and sseett ssiizzee must be used to correctly
     position each plot; see sseett oorriiggiinn and sseett ssiizzee for details of
     their usage.

     Example:










GNUPLOT 4.0                                                      108


           set size 0.7,0.7
           set origin 0.1,0.1
           set multiplot
           set size 0.4,0.4
           set origin 0.1,0.1
           plot sin(x)
           set size 0.2,0.2
           set origin 0.5,0.5
           plot cos(x)
           unset multiplot

     displays a plot of cos(x) stacked above a plot of sin(x).  Note
     the initial sseett ssiizzee and sseett oorriiggiinn.  While these are not
     always required, their inclusion is recommended.  Some terminal
     drivers require that bounding box information be available
     before any plots can be made, and the form given above guaran-
     tees that the bounding box will include the entire plot array
     rather than just the bounding box of the first plot.

     sseett ssiizzee and sseett oorriiggiinn refer to the entire plotting area used
     for each plot.  If you want to have the axes themselves line
     up, you can guarantee that the margins are the same size with
     the sseett mmaarrggiinn commands.  See sseett mmaarrggiinn for their use.  Note
     that the margin settings are absolute, in character units, so
     the appearance of the graph in the remaining space will depend
     on the screen size of the display device, e.g., perhaps quite
     different on a video display and a printer.  See also multiplot
     demo (multiplt.dem).



     3388..3388..  MMxx22ttiiccss


     Minor tic marks along the x2 (top) axis are controlled by sseett
     mmxx22ttiiccss.  Please see sseett mmxxttiiccss.



     3388..3399..  MMxxttiiccss


     Minor tic marks along the x axis are controlled by sseett mmxxttiiccss.
     They can be turned off with uunnsseett mmxxttiiccss.  Similar commands
     control minor tics along the other axes.

     Syntax:
           set mxtics {<freq> | default}
           unset mxtics
           show mxtics

     The same syntax applies to mmyyttiiccss, mmzzttiiccss, mmxx22ttiiccss, mmyy22ttiiccss and
     mmccbbttiiccss.










GNUPLOT 4.0                                                      109


     <freq> is the number of sub-intervals (NOT the number of minor
     tics) between major tics (the default for a linear axis is
     either two or five depending on the major tics, so there are
     one or four minor tics between major tics). Selecting ddeeffaauulltt
     will return the number of minor ticks to its default value.

     If the axis is logarithmic, the number of sub-intervals will be
     set to a reasonable number by default (based upon the length of
     a decade).  This will be overridden if <freq> is given.  How-
     ever the usual minor tics (2, 3, ..., 8, 9 between 1 and 10,
     for example) are obtained by setting <freq> to 10, even though
     there are but nine sub-intervals.

     Minor tics can be used only with uniformly spaced major tics.
     Since major tics can be placed arbitrarily by sseett
     {{xx||xx22||yy||yy22||zz}}ttiiccss, minor tics cannot be used if major tics are
     explicitly sseett.

     By default, minor tics are off for linear axes and on for loga-
     rithmic axes.  They inherit the settings for aaxxiiss||bboorrddeerr and
     {{nnoo}}mmiirrrroorr specified for the major tics.  Please see sseett xxttiiccss
     for information about these.



     3388..4400..  MMyy22ttiiccss


     Minor tic marks along the y2 (right-hand) axis are controlled
     by sseett mmyy22ttiiccss.  Please see sseett mmxxttiiccss.



     3388..4411..  MMyyttiiccss


     Minor tic marks along the y axis are controlled by sseett mmyyttiiccss.
     Please see sseett mmxxttiiccss.



     3388..4422..  MMzzttiiccss


     Minor tic marks along the z axis are controlled by sseett mmzzttiiccss.
     Please see sseett mmxxttiiccss.



     3388..4433..  OOffffsseettss













GNUPLOT 4.0                                                      110


     Offsets provide a mechanism to put a boundary around the data
     inside of an autoscaled graph.

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

     Each offset may be a constant or an expression.  Each defaults
     to 0.  Left and right offsets are given in units of the x axis,
     top and bottom offsets in units of the y axis.  A positive off-
     set expands the graph in the specified direction, e.g., a posi-
     tive bottom offset makes ymin more negative.  Negative offsets,
     while permitted, can have unexpected interactions with
     autoscaling and clipping.

     Offsets are ignored in ssppllootts.

     Example:
           set offsets 0, 0, 2, 2
           plot sin(x)

     This graph of sin(x) will have a y range [-3:3] because the
     function will be autoscaled to [-1:1] and the vertical offsets
     are each two.



     3388..4444..  OOrriiggiinn


     The sseett oorriiggiinn command is used to specify the origin of a plot-
     ting surface (i.e., the graph and its margins) on the screen.
     The coordinates are given in the ssccrreeeenn coordinate system (see
     ccoooorrddiinnaatteess for information about this system).

     Syntax:
           set origin <x-origin>,<y-origin>



     3388..4455..  OOuuttppuutt


     By default, screens are displayed to the standard output. The
     sseett oouuttppuutt 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










GNUPLOT 4.0                                                      111


     omitted, any output file opened by a previous invocation of sseett
     oouuttppuutt will be closed and new output will be sent to STDOUT.
     (If you give the command sseett oouuttppuutt ""SSTTDDOOUUTT"", your output may
     be sent to a file named "STDOUT"!  ["May be", not "will be",
     because some terminals, like xx1111, ignore sseett oouuttppuutt.])

     MSDOS users should note that the \ character has special sig-
     nificance in double-quoted strings, so single-quotes should be
     used for filenames in different directories.

     When both sseett tteerrmmiinnaall and sseett oouuttppuutt are used together, it is
     safest to give sseett tteerrmmiinnaall first, because some terminals set a
     flag which is needed in some operating systems.  This would be
     the case, for example, if the operating system needs to know
     whether or not a file is to be formatted in order to open it
     properly.

     On machines with popen functions (Unix), output can be piped
     through a shell command if the first non-whitespace character
     of the filename is '|'.  For instance,

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

     On MSDOS machines, sseett oouuttppuutt ""PPRRNN"" will direct the output to
     the default printer.  On VMS, output can be sent directly to
     any spooled device.  It is also possible to send the output to
     DECnet transparent tasks, which allows some flexibility.



     3388..4466..  PPaarraammeettrriicc


     The sseett ppaarraammeettrriicc command changes the meaning of pplloott (sspplloott)
     from normal functions to parametric functions.  The command
     uunnsseett ppaarraammeettrriicc restores the plotting style to normal, single-
     valued expression plotting.

     Syntax:
           set parametric
           unset parametric
           show parametric

     For 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 pplloott ssiinn((tt)),,ccooss((tt)), which
     draws a circle (if the aspect ratio is set correctly---see sseett
     ssiizzee).  ggnnuupplloott will display an error message if both functions
     are not provided for a parametric pplloott.

     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 is










GNUPLOT 4.0                                                      112


     required.  An example of a 3-d parametric function would be
     ccooss((uu))**ccooss((vv)),,ccooss((uu))**ssiinn((vv)),,ssiinn((uu)), which draws a sphere.  ggnnuu--
     pplloott will display an error message if all three functions are
     not provided for a parametric sspplloott.

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

     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 sseett ppaarraammeettrriicc function implies a new range of val-
     ues.  Whereas the normal f(x) and f(x,y) style plotting assume
     an xrange and yrange (and zrange), the parametric mode addi-
     tionally specifies a trange, urange, and vrange.  These ranges
     may be set directly with sseett ttrraannggee, sseett uurraannggee, and sseett
     vvrraannggee, or by specifying the range on the pplloott or sspplloott com-
     mands.  Currently the default range for these parametric vari-
     ables is [-5:5].  Setting the ranges to something more meaning-
     ful is expected.



     3388..4477..  PPlloott


     The sshhooww pplloott command shows the current plotting command as it
     results from the last pplloott and/or sspplloott and possible subsequent
     rreepplloott commands.

     In addition, the sshhooww pplloott aadddd22hhiissttoorryy command adds this cur-
     rent plot command into the hhiissttoorryy. It is useful if you have
     used rreepplloott to add more curves to the current plot and you want
     to edit the whole command now.



     3388..4488..  PPmm33dd


     pm3d is an sspplloott style for drawing palette-mapped 3d and 4d
     data as color/gray maps and surfaces.  It uses a pm3d algorithm
     which allows plotting gridded as well as non-gridded data with-
     out preprocessing, even when the data scans do not have the
     same number of points.

     Drawing of color surfaces is available on terminals supporting










GNUPLOT 4.0                                                      113


     filled colored polygons with color mapping specified by
     ppaalleettttee. Currently supported terminals include

       Screen terminals:
         OS/2 Presentation Manager
         X11
         Linux VGA (vgagl)
         GGI
         Windows
         AquaTerm (Mac OS X)
       Files:
         PostScript
         pslatex, pstex, epslatex
         gif, png, jpeg
         (x)fig
         tgif
         cgm
         pdf
         svg

     Let us first describe how a map/surface is drawn.  The input
     data come from an evaluated function or from an sspplloott ddaattaa
     ffiillee.  Each surface consists of a sequence of separate scans
     (isolines).  The pm3d algorithm fills the region between two
     neighbouring points in one scan with another two points in the
     next scan by a gray (or color) according to z-values (or
     according to an additional 'color' column, see help for uussiinngg)
     of these 4 corners; by default the 4 corner values are aver-
     aged, but this can be changed by the option ccoorrnneerrss22ccoolloorr.  In
     order to get a reasonable surface, the neighbouring scans
     should not cross and the number of points in the neighbouring
     scans should not differ too much; of course, the best plot is
     with scans having same number of points.  There are no other
     requirements (e.g. the data need not be gridded).  Another
     advantage is that the pm3d algorithm does not draw anything
     outside of the input (measured or calculated) region.

     Surface coloring works with the following input data:

     1. splot of function or of data file with one or three data
     columns: The gray/color scale is obtained by mapping the aver-
     aged (or ccoorrnneerrss22ccoolloorr) z-coordinate of the four corners of the
     above-specified quadrangle into the range
     [min_color_z,max_color_z] of zzrraannggee or ccbbrraannggee providing a gray
     value in the range [0:1].  This value can be used directly as
     the gray for gray maps.  The normalized gray value can be fur-
     ther mapped into a color---see sseett ppaalleettttee for the complete
     description.

     2. splot of data file with two or four data columns: The
     gray/color value is obtained by using the last-column coordi-
     nate instead of the z-value, thus allowing the color and the z-
     coordinate be mutually independent.  This can be used for 4d










GNUPLOT 4.0                                                      114


     data drawing.

     Other notes:

     1. The term 'scan' referenced above is used more among physi-
     cists than the term 'iso_curve' referenced in gnuplot documen-
     tation and sources.  You measure maps recorded one scan after
     another scan, that's why.

     2. The 'gray' or 'color' scale is a linear mapping of a contin-
     uous variable onto a smoothly varying palette of colors. The
     mapping is shown in a rectangle next to the main plot. This
     documentation refers to this as a "colorbox", and refers to the
     indexing variable as lying on the colorbox axis.  See sseett ccooll--
     oorrbbooxx, sseett ccbbrraannggee.

     3. To use pm3d coloring to generate a two-dimensional plot
     rather than a 3D surface, use sseett vviieeww mmaapp or sseett ppmm33dd mmaapp.

     Syntax:
           set pm3d
           set pm3d {
                      { at <bst combination> }
                      { scansautomatic | scansforward | scansback-
     ward }
                      { flush { begin | center | end } }
                      { ftriangles | noftriangles }
                      { clip1in | clip4in }
                      { corners2color {
     mean|geomean|median|c1|c2|c3|c4 } }
                      { hidden3d <linestyle> | nohidden3d }
                      { implicit | explicit }
                      { map }
                    }
           show pm3d
           unset pm3d

     Setting sseett ppmm33dd (i.e. without options) sets up the default
     values.  Otherwise, the options can be given in any order.

     Color surface can be drawn at the base or top (then it is a
     gray/color planar map) or at z-coordinates of surface points
     (gray/color surface).  This is defined by the aatt option with a
     string of up to 6 combinations of bb, tt and ss. For instance, aatt
     bb plots at bottom only, aatt sstt plots firstly surface and then
     top map, while aatt bbssttbbsstt will never by seriously used.

     Colored quadrangles are plotted one after another.  When plot-
     ting surfaces (aatt ss), the later quadrangles overlap (overdraw)
     the previous ones.  (Gnuplot is not virtual reality tool to
     calculate intersections of filled polygon meshes.)  You may try
     to switch between ssccaannssffoorrwwaarrdd and ssccaannssbbaacckkwwaarrdd to force the
     first scan of the data to be plotted first or last.  The










GNUPLOT 4.0                                                      115


     default is ssccaannssaauuttoommaattiicc where gnuplot makes a guess about
     scans order.

     If two subsequent scans do not have same number of points, then
     it has to be decided whether to start taking points for quad-
     rangles from the beginning of both scans (fflluusshh bbeeggiinn), from
     their ends (fflluusshh eenndd) or to center them (fflluusshh cceenntteerr).  Note,
     that fflluusshh ((cceenntteerr||eenndd)) are incompatible with ssccaannssaauuttoommaattiicc:
     if you specify fflluusshh cceenntteerr or fflluusshh eenndd and ssccaannssaauuttoommaattiicc is
     set, it is silently switched to ssccaannssffoorrwwaarrdd.

     If two subsequent scans do not have the same number of points,
     the option ffttrriiaanngglleess specifies whether color triangles are
     drawn at the scan tail(s) where there are not enough points in
     either of the scan. This can be used to draw a smooth map
     boundary.

     Clipping with respect to x, y coordinates of quadrangles can be
     done in two ways.  cclliipp11iinn: all 4 points of each quadrangle
     must be defined and at least 1 point of the quadrangle must lie
     in the x and y ranges.  cclliipp44iinn: all 4 points of each quadran-
     gle must lie in the x and y ranges.

     There is a single gray/color value associated to each drawn
     pm3d quadrangle (no smooth color change among vertices).  The
     value is calculated from z-coordinates from the surrounding
     corners according to ccoorrnneerrss22ccoolloorr <<ooppttiioonn>>.  The options
     'mean' (default), 'geomean' and 'median' produce various kinds
     of surface color smoothing.  This may not be desired for pixel
     images or for maps with sharp and intense peaks, in which case
     the options 'c1', 'c2', 'c3' or 'c4' can be used instead to
     assign the quadrangle color based on the z-coordinate of only
     one corner.  Some experimentation may be needed to determine
     which corner corresponds to 'c1', as the orientation depends on
     the drawing direction.  Because the pm3d algorithm does not
     extend the colored surface outside the range of the input data
     points, the 'c<j>' coloring options will result in pixels along
     two edges of the grid not contributing to the color of any
     quadrangle.  For example, applying the pm3d algorithm to the
     4x4 grid of data points in script ddeemmoo//ppmm33dd..ddeemm (please have a
     look) produces only (4-1)x(4-1)=9 colored rectangles.

     Another drawing algorithm, which would draw quadrangles around
     a given node by taking corners from averaged (x,y)-coordinates
     of its surrounding 4 nodes while using node's color, could be
     implemented in the future.

     Notice that ranges of z-values and color-values for surfaces
     are adjustable independently by sseett zzrraannggee, sseett ccbbrraannggee, as
     well as sseett lloogg for z or cb.  Maps can be adjusted by the cb-
     axis only; see also sseett vviieeww mmaapp and sseett ccoolloorrbbooxx.

     The option hhiiddddeenn33dd takes as the argument a linestyle which










GNUPLOT 4.0                                                      116


     must be created by sseett ssttyyllee lliinnee ....... (The style need not to
     be present when setting pm3d, but it must be present when plot-
     ting).  If set, lines are drawn using the specified line style,
     taking into account hidden line removal.  This is by far more
     efficient than using the command sseett hhiiddddeenn33dd as it doesn't
     really calculate hidden line removal, but just draws the filled
     polygons in the correct order. So the recommended choice when
     using pm3d is
           set pm3d at s hidden3d 100
           set style line 100 lt 5 lw 0.5
           unset hidden3d
           unset surf
           splot x*x+y*y

     There used to be an option {transparent|solid} to this command.
     Now you get the same effect from sseett ggrriidd {{ffrroonntt||llaayyeerrddeeffaauulltt}},
     respectively.

     The sseett ppmm33dd mmaapp is an abbreviation for sseett ppmm33dd aatt bb; sseett vviieeww
     mmaapp; sseett ssttyyllee ddaattaa ppmm33dd; sseett ssttyyllee ffuunncc ppmm33dd;.  It is used for
     backwards compatibility, when sseett vviieeww mmaapp was not available.
     Take care that you properly use zzrraannggee and ccbbrraannggee for input
     data point filtering and color range scaling, respectively; and
     also sseett ((nnoo))ssuurrffaaccee seems to have a (side?) effect.

     The coloring setup as well as the color box drawing are deter-
     mined by sseett ppaalleettttee.  There can be only one palette for the
     current plot.  Drawing of several surfaces with different
     palettes can be achieved by mmuullttiipplloott with fixed oorriiggiinn and
     ssiizzee; don't forget to use sseett ppaalleettttee mmaaxxccoolloorrss when your ter-
     minal is running out of available colors.

     If the option iimmpplliicciitt is on (which is the default), all sur-
     face plots will be plotted additionally to the default type,
     e.g.
           splot 'fred.dat' with lines, 'lola.dat' with lines
     would give both plots additionally to a pm3d surface.  If the
     option iimmpplliicciitt is off (or eexxpplliicciitt is on) only plots specified
     by the wwiitthh ppmm33dd attribute are plotted with a pm3d surface,
     e.g.:
           splot 'fred.dat' with lines, 'lola.dat' with pm3d
     would plot 'fred.dat' with lines (and only lines) and
     'lola.dat' with a pm3d surface.  If eexxpplliicciitt is on, you can
     also switch to the default style ppmm33dd, e.g.:
           set style data pm3d

     Note that when plotting several plots, they are plotted in the
     order given on the command line. This can be of interest espe-
     cially for filled surfaces which can overwrite and therefore
     hide part of earlier plots.

     If wwiitthh ppmm33dd is specified in the sspplloott command line, then it
     accepts the 'at' option.  The following plots draw three color










GNUPLOT 4.0                                                      117


     surfaces at different altitudes:
           set border 4095
           set pm3d at s
           splot 10*x with pm3d at b, x*x-y*y, x*x+y*y with pm3d at
     t

     See also help for sseett ppaalleettttee, sseett ccbbrraannggee, sseett ccoolloorrbbooxx, xx1111
     ppmm33dd and definitely the demo file ddeemmoo//ppmm33dd..ddeemm.




     3388..4499..  PPaalleettttee


     Palette is a color storage for use by ppmm33dd, filled color con-
     tours or polygons, color histograms, color gradient background,
     and whatever it is or it will be implemented...  Here it stands
     for a palette of smooth "continuous" colors or grays, but let's
     call it just a palette.

     Color palettes require terminal entries for filled color poly-
     gons and palettes of smooth colors, are currently available for
     terminals listed in help for sseett ppmm33dd. The range of color val-
     ues are adjustable independently by sseett ccbbrraannggee and sseett lloogg ccbb.
     The whole color palette is visualized in the ccoolloorrbbooxx.

     Syntax:
           set palette
           set palette {
                      { gray | color }
                      { gamma <gamma> }
                      {   rgbformulae <r>,<g>,<b>
                        | defined { ( <gray1> <color1> {, <grayN>
     <colorN>}... ) }
                        | file '<filename>' {datafile-modifiers}
                        | functions <R>,<G>,<B>
                      }
                      { model { RGB | HSV | CMY | YIQ | XYZ } }
                      { positive | negative }
                      { nops_allcF | ps_allcF }
                      { maxcolors <maxcolors> }
                    }
           show palette
           show palette palette <n> {{float | int}}
           show palette gradient
           show palette fit2rgbformulae
           show palette rgbformulae
           show palette colornames

     sseett ppaalleettttee (i.e. without options) sets up the default values.
     Otherwise, the options can be given in any order.  sshhooww ppaalleettttee
     shows the current palette properties.










GNUPLOT 4.0                                                      118


     sshhooww ppaalleettttee ggrraaddiieenntt displays the gradient defining the
     palette (if appropriate).  sshhooww ppaalleettttee rrggbbffoorrmmuullaaee prints the
     available fixed gray --> color transformation formulae.  sshhooww
     ppaalleettttee ccoolloorrnnaammeess prints the implemented color names.

     sshhooww ppaalleettttee ppaalleettttee <<nn>> prints to screen or to the file given
     by sseett oouuttppuutt table of RGB triplets calculated for the current
     palette settings and a palette having <n> discrete colors.  The
     default wide table can be limited to 3 columns of r,g,b float
     values [0..1] or integer values [0..255] by options float or
     int, respectively.  This way, the current gnuplot color palette
     can be loaded into other imaging applications, for example
     Octave.  Additionally to this textual list of RGB table, you
     can enjoy command tteesstt ppaalleettttee to draw graphically the R,G,B
     profiles for the current palette.

     The following options determine the coloring properties.

     Figure using this palette can be ggrraayy or ccoolloorr.  For instance,
     in ppmm33dd color surfaces the gray of each small spot is obtained
     by mapping the averaged z-coordinate of the 4 corners of sur-
     face quadrangles into the range [min_z,max_z] providing range
     of grays [0:1]. This value can be used directly as the gray for
     gray maps. The color map requires a transformation gray -->
     (R,G,B), i.e. a mapping [0:1] --> ([0:1],[0:1],[0:1]).

     Basically two different types of mappings can be used:  Ana-
     lytic formulae to convert gray to color, or discrete mapping
     tables which are interpolated.  rrggbbffoorrmmuullaaee and ffuunnccttiioonnss use
     analytic formulae whereas ddeeffiinneedd and ffiillee use interpolated
     tables.  rrggbbffoorrmmuullaaee reduces the size of postscript output to a
     minimum.

     The command sshhooww ppaalleettttee ffiitt22rrggbbffoorrmmuullaaee finds the best match-
     ing sseett ppaalleettttee rrggbbffoorrmmuullaaee for the current sseett ppaalleettttee. Natu-
     rally, it makes sense to use it for non-rgbformulae palettes.
     This command can be found useful mainly for external programs
     using the same rgbformulae definition of palettes as gnuplot,
     like zimg.

     sseett ppaalleettttee ggrraayy switches to a gray only palette.  rrggbbffoorrmmuullaaee,
     ddeeffiinneedd, ffiillee and ffuunnccttiioonnss switch to a color mapping.  sseett
     ppaalleettttee ccoolloorr is an easy way to switch back from the gray
     palette to the last color mapping.

     Automatic gamma correction via sseett ppaalleettttee ggaammmmaa <<ggaammmmaa>> can be
     done for gray maps only (sseett ppaalleettttee ggrraayy).  Linear mapping to
     gray is for gamma equals 1, see tteesstt ppaalleettttee.  Gamma is ignored
     for color mappings.

     Most terminals support only discrete number of colors (e.g. 256
     colors in gif).  All entries of the palette remaining after the
     default gnuplot linetype colors declaration are allocated for










GNUPLOT 4.0                                                      119


     pm3d by default.  Then mmuullttiipplloott could fail if there are no
     more color positions in the terminal available.  Then you
     should use sseett ppaalleettttee mmaaxxccoolloorrss <<mmaaxxccoolloorrss>> with a reasonably
     small value.  This option can also be used to separate levels
     of z=constant in discrete steps, thus to emulate filled con-
     tours. Default value of 0 stays for allocating all remaining
     entries in the terminal palette or for to use exact mapping to
     RGB.

     RGB color space might not be the most useful color space to
     work in.  For that reason you may change the color space with
     mmooddeell to one of RRGGBB, HHSSVV, CCMMYY, YYIIQQ and XXYYZZ.  Using color names
     for ddeeffiinneedd tables and a color space other than RGB will result
     in funny colors.  All explanation have been written for RGB
     color space, so please note, that RR can be HH, CC, YY, or XX,
     depending on the actual color space (GG and BB accordingly).

     All values for all color spaces are limited to [0,1].

     RGB stands for Red, Green and Blue;  CMY stands for Cyan,
     Magenta and Yellow; HSV stands for Hue, Saturation, and Value;
     YIQ is the color model used by the U.S. Commercial Color Tele-
     vision Broadcasting, it is basically an RGB recoding with down-
     ward compatibility for black and white television; XYZ are the
     three primary colors of the color model defined by the 'Commis-
     sion Internationale de l'Eclairage' (CIE).  For more informa-
     tion on color models see:
               http://www.cs.rit.edu/~ncs/color/glossary.htm
     and
               http://cs.fit.edu/wds/classes/cse5255/cse5255/davis/index.html





          3388..4499..11..  RRggbbffoorrmmuullaaee


          For rrggbbffoorrmmuullaaee three suitable mapping functions have to
          be chosen.  This is done via rrggbbffoorrmmuullaaee <<rr>>,,<<gg>>,,<<bb>>.  The
          available mapping functions are listed by sshhooww ppaalleettttee
          rrggbbffoorrmmuullaaee.  Default is 77,,55,,1155, some other examples are
          33,,1111,,66, 2211,,2233,,33 or 33,,2233,,2211.  Negative numbers, like
          33,,--1111,,--66, mean inverted color (i.e.  1-gray passed into
          the formula, see also ppoossiittiivvee and nneeggaattiivvee options
          below).

          Some nice schemes in RGB color space
             7,5,15   ... traditional pm3d (black-blue-red-yellow)
             3,11,6   ... green-red-violet
             23,28,3  ... ocean (green-blue-white); try also all
          other permutations
             21,22,23 ... hot (black-red-yellow-white)










GNUPLOT 4.0                                                      120


             30,31,32 ... color printable on gray (black-blue-vio-
          let-yellow-white)
             33,13,10 ... rainbow (blue-green-yellow-red)
             34,35,36 ... AFM hot (black-red-yellow-white)

          A full color palette in HSV color space
             3,2,2    ... red-yellow-green-cyan-blue-magenta-red

          Please note that even if called rrggbbffoorrmmuullaaee the formulas
          might actually determine the <H>,<S>,<V> or <X>,<Y>,<Z> or
          ... color components as usual.

          Use ppoossiittiivvee and nneeggaattiivvee to invert the figure colors.

          Note that it is possible to find a set of the best match-
          ing rgbformulae for any other color scheme by the command
             show palette fit2rgbformulae



          3388..4499..22..  DDeeffiinneedd


          Gray-to-rgb mapping can be manually set by use of ddeeffiinneedd:
          A color gradient is defined and used to give the rgb val-
          ues.  Such a  gradient is a piecewise linear mapping from
          gray values in [0,1] to the RGB space [0,1]x[0,1]x[0,1].
          You have to specify the gray values and the corresponding
          RGB values in between a linear interpolation shall take
          place:

          Syntax:
                set palette  defined { ( <gray1> <color1> {, <grayN>
          <colorN>}... ) }

          <grayX> are gray values which are mapped to [0,1] and
          <colorX> are the corresponding rgb colors.  The color can
          be specified in three different ways:

               <color> :=  { <r> <g> <b> | '<color-name>' |
          '#rrggbb' }

          Either by three numbers (each in [0,1]) for red, green and
          blue, separated by whitespace, or the name of the color in
          quotes or X style color specifiers also in quotes.  You
          may freely mix the three types in a gradient definition,
          but the named color "red" will be something strange if RGB
          is not selected as color space.  Use sshhooww ppaalleettttee ccoolloorr--
          nnaammeess for a list of known color names.

          Please note, that even if written as <r>, this might actu-
          ally be the <H> component in HSV color space or <X> in
          CIE-XYZ space, or ...  depending on the selected color










GNUPLOT 4.0                                                      121


          model.

          The <gray> values have to form an ascending sequence of
          real numbers; the sequence will be automatically rescaled
          to [0,1].

          sseett ppaalleettttee ddeeffiinneedd (without a gradient definition in
          braces) switches to RGB color space and uses a preset
          full-spectrum color gradient.  Use sshhooww ppaalleettttee ggrraaddiieenntt
          to display the gradient.

          Examples:

          To produce a gray palette (useless but instructive) use:
               set palette model RGB
               set palette defined ( 0 "black", 1 "white" )

          To produce a blue yellow red palette use (all equivalent):
                set palette defined ( 0 "blue", 1 "yellow", 2 "red"
          )
                set palette defined ( 0 0 0 1, 1 1 1 0, 2 1 0 0 )
                set palette defined ( 0 "#0000ff", 1 "#ffff00", 2
          "ff0000" )

          To produce some rainbow-like palette use:
                set palette defined ( 0 "blue", 3 "green", 6 "yel-
          low", 10 "red" )

          Full color spectrum within HSV color space:
                set palette model HSV
                set palette defined ( 0 0 1 1, 1 1 1 1 )
                set palette defined ( 0 0 1 0, 1 0 1 1, 6 0.8333 1
          1, 7 0.8333 0 1)

          To produce a palette with few colors only use:
                set palette model RGB maxcolors 4
                set palette defined ( 0 "blue", 1 "green", 2 "yel-
          low", 3 "red" )

          'Traffic light' palette (non-smooth color jumps at gray =
          1/3 and 2/3).
                set palette model RGB
                set palette defined (0 "dark-green", 1 "green", 1
          "yellow", \
                                     2 "dark-yellow", 2 "red", 3
          "dark-red" )

















GNUPLOT 4.0                                                      122


          3388..4499..33..  FFuunnccttiioonnss


          Use sseett ppaalleettttee ffuunnccttiioonnss <<RReexxpprr>>,, <<GGeexxpprr>>,, <<BBeexxpprr>> to
          define three formulae for the R(gray), G(gray) and B(gray)
          mapping.  The three formulae may depend on the variable
          ggrraayy which will take values in [0,1] and should also pro-
          duce values in [0,1].  Please note that <Rexpr> might be a
          formula for the H-value if HSV color space has been chosen
          (same for all other formulae and color spaces).

          Examples:

          To produce a full color palette use:
                set palette model HSV functions gray, 1, 1

          A nice black to gold palette:
                set palette model XYZ functions gray**0.35,
          gray**0.5, gray**0.8

          A gamma-corrected black and white palette
                gamma = 2.2
                color(gray) = gray**(1./gamma)
                set palette model RGB functions color(gray),
          color(gray), color(gray)




          3388..4499..44..  FFiillee


          sseett ppaalleettttee ffiillee is basically a sseett ppaalleettttee ddeeffiinneedd ((<<ggrraa--
          ddiieenntt>>)) where <gradient> is read from a datafile.  Either
          4 columns (gray,R,G,B) or just three columns (R,G,B) have
          to be selected via the uussiinngg data file modifier.  In the
          three column case, the line number will be used as gray.
          The gray range is automatically rescaled to [0,1].  The
          file is read as a normal data file, so all datafile modi-
          fiers can be used.  Please note, that RR might actually be
          e.g. HH if HSV color space is selected.

          As usual <filename> may be ''--'' which means that the data
          follow the command inline and are terminated by a single ee
          on a line of its own.

          Use sshhooww ppaalleettttee ggrraaddiieenntt to display the gradient.

          Examples:

          Read in a palette of RGB triples each in range [0,255]:
                set palette file 'some-palette' using
          ($1/255):($2/255):($3/255)










GNUPLOT 4.0                                                      123


          Equidistant rainbow (blue-green-yellow-red) palette:
                set palette model RGB file "-"
                0 0 1
                0 1 0
                1 1 0
                1 0 0
                e




          3388..4499..55..  GGaammmmaa--ccoorrrreeccttiioonn


          For gray mappings gamma correction can be turned on by sseett
          ppaalleettttee ggaammmmaa <<ggaammmmaa>>.  <gamma> defaults to 1.5 which is
          quite suitable for most terminals.

          For color mappings no automatic gamma correction is done
          by gnuplot.  But you may easily implement gamma correc-
          tion, here an example for a gray scale image by use of
          explicit functions for the red, green and blue component
          with slightly different values of gamma

          Example:
                set palette model RGB
                set palette functions gray**0.64, gray**0.67,
          gray**0.70

          To use gamma correction with interpolated gradients spec-
          ify intermediate gray values with appropriate colors.
          Instead of

                set palette defined ( 0 0 0 0, 1 1 1 1 )

          use e.g.

               set palette defined ( 0 0 0 0, 0.5 .73 .73 .73, 1 1 1
          1 )

          or even more intermediate points until the linear interpo-
          lation fits the "gamma corrected" interpolation well
          enough.




          3388..4499..66..  PPoossttssccrriipptt


          In order to reduce the size of postscript files, the gray
          value and not all three calculated r,g,b values are writ-
          ten to the file.  Therefore the analytical formulae are










GNUPLOT 4.0                                                      124


          coded directly in the postscript language as a header just
          before the pm3d drawing, see /g and /cF definitions.  Usu-
          ally, it makes sense to write therein definitions of only
          the 3 formulae used.  But for multiplot or any other rea-
          son you may want to manually edit the transformations
          directly in the postscript file.  This is the default
          option nnooppss__aallllccFF.  Using the option ppss__aallllccFF writes post-
          script definitions of all formulae.  This you may find
          interesting if you want to edit the postscript file in
          order to have different palettes for different surfaces in
          one graph.  Well, you can achieve this functionality by
          mmuullttiipplloott with fixed oorriiggiinn and ssiizzee.

          If pm3d map has been plotted from gridded or almost regu-
          lar data with an output to a postscript file, then it is
          possible to reduce the size of this postscript file up to
          at about 50% by the enclosed awk script ppmm33ddCCoommpprreessss..aawwkk.
          This you may find  interesting if you intend to keep the
          file for including it into your publication or before
          downloading a very large file into a slow printer. Usage:
              awk -f pm3dCompress.awk thefile.ps >smallerfile.ps

          If pm3d map has been plotted from rectangular gridded data
          with an output to a postscript file, then it is possible
          to reduce the file size even more by the enclosed awk
          script ppmm33ddCCoonnvveerrttTTooIImmaaggee..aawwkk.  Usage:
              awk -f pm3dConvertToImage.awk <thefile.ps >smaller-
          file.ps

          You may manually change the postscript output from gray to
          color and vice versa and change the definition of <maxcol-
          ors>.




     3388..5500..  PPooiinnttssiizzee


     The sseett ppooiinnttssiizzee command scales the size of the points used in
     plots.

     Syntax:
           set pointsize <multiplier>
           show pointsize

     The default is a multiplier of 1.0.  Larger pointsizes may be
     useful to make points more visible in bitmapped graphics.

     The pointsize of a single plot may be changed on the pplloott com-
     mand.  See pplloott wwiitthh for details.

     Please note that the pointsize setting is not supported by all










GNUPLOT 4.0                                                      125


     terminal types.



     3388..5511..  PPoollaarr


     The sseett ppoollaarr command changes the meaning of the plot from
     rectangular coordinates to polar coordinates.

     Syntax:
           set polar
           unset polar
           show polar

     There have been changes made to polar mode in version 3.7, so
     that scripts for ggnnuupplloott versions 3.5 and earlier will require
     modification.  The main change is that the dummy variable t is
     used for the angle so that the x and y ranges can be controlled
     independently.  Other changes are: 1) tics are no longer put
     along the zero axes automatically ---use sseett xxttiiccss aaxxiiss nnoommiirr--
     rroorr; sseett yyttiiccss aaxxiiss nnoommiirrrroorr; 2) the grid, if selected, is not
     automatically polar ---use sseett ggrriidd ppoollaarr; 3) the grid is not
     labelled with angles ---use sseett llaabbeell as necessary.

     In polar coordinates, the dummy variable (t) is an angle.  The
     default range of t is [0:2*pi], or, if degree units have been
     selected, to [0:360] (see sseett aanngglleess).

     The command uunnsseett ppoollaarr changes the meaning of the plot back to
     the default rectangular coordinate system.

     The sseett ppoollaarr command is not supported for ssppllootts.  See the sseett
     mmaappppiinngg command for similar functionality for ssppllootts.

     While in polar coordinates the meaning of an expression in t is
     really r = f(t), where t is an angle of rotation.  The trange
     controls the domain (the angle) of the function, and the x and
     y ranges control the range of the graph in the x and y direc-
     tions.  Each of these ranges, as well as the rrange, may be
     autoscaled or set explicitly.  See sseett xxrraannggee for details of
     all the rraannggeess commands.

     Example:
           set polar
           plot t*sin(t)
           plot [-2*pi:2*pi] [-3:3] [-3:3] t*sin(t)

     The first pplloott uses the default polar angular domain of 0 to
     2*pi.  The radius and the size of the graph are scaled automat-
     ically.  The second pplloott expands the domain, and restricts the
     size of the graph to [-3:3] in both directions.











GNUPLOT 4.0                                                      126


     You may want to sseett ssiizzee ssqquuaarree to have ggnnuupplloott try to make the
     aspect ratio equal to unity, so that circles look circular.
     See also polar demos (polar.dem) and polar data plot (pol-
     dat.dem).



     3388..5522..  PPrriinntt


     The sseett pprriinntt command redirects the output of the pprriinntt command
     to a file.

     Syntax:
           set print
           set print "-"
           set print "<filename>"
           set print "<filename>" append
           set print "|<shell_command>"

     Without "<filename>", the output file is restored to <STDERR>.
     The <filename> "-" means <STDOUT>. The aappppeenndd flag causes the
     file to be opened in append mode.  A <filename> starting with
     "|" is opened as a pipe to the <shell_command> on platforms
     that support piping.



     3388..5533..  RRmmaarrggiinn


     The command sseett rrmmaarrggiinn sets the size of the right margin.
     Please see sseett mmaarrggiinn for details.



     3388..5544..  RRrraannggee


     The sseett rrrraannggee command sets the range of the radial coordinate
     for a graph in polar mode.  Please see sseett xxrraannggee for details.



     3388..5555..  SSaammpplleess


     The sampling rate of functions, or for interpolating data, may
     be changed by the sseett ssaammpplleess command.

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










GNUPLOT 4.0                                                      127


     By default, sampling is set to 100 points.  A higher sampling
     rate will produce more accurate plots, but will take longer.
     This parameter has no effect on data file plotting unless one
     of the interpolation/approximation options is used.  See pplloott
     ssmmooootthh re 2-d data and sseett ccnnttrrppaarraamm and sseett ddggrriidd33dd re 3-d
     data.

     When a 2-d graph 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 to be evaluated for the isolines.  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>, <sam-
     ples_2> will be set to the same value as <samples_1>.  See also
     sseett iissoossaammpplleess.



     3388..5566..  SSiizzee


     The sseett ssiizzee command scales the displayed size of the plot.

     Syntax:
           set size {{no}square | ratio <r> | noratio}
     {<xscale>,<yscale>}
           show size

     The <xscale> and <yscale> values are the scaling factors for
     the size of the plot, which includes the graph and the margins.

     rraattiioo causes ggnnuupplloott to try to create a graph with an aspect
     ratio of <r> (the ratio of the y-axis length to the x-axis
     length) within the portion of the plot specified by <xscale>
     and <yscale>.

     The meaning of a negative value for <r> is different.  If
     <r>=-1, gnuplot tries to set the scales so that the unit has
     the same length on both the x and y axes (suitable for geo-
     graphical data, for instance).  If <r>=-2, the unit on y has
     twice the length of the unit on x, and so on.

     The success of ggnnuupplloott in producing the requested aspect ratio
     depends on the terminal selected.  The graph area will be the
     largest rectangle of aspect ratio <r> that will fit into the
     specified portion of the output (leaving adequate margins, of
     course).

     ssqquuaarree is a synonym for rraattiioo 11.

     Both nnoorraattiioo and nnoossqquuaarree return the graph to the default










GNUPLOT 4.0                                                      128


     aspect ratio of the terminal, but do not return <xscale> or
     <yscale> to their default values (1.0).

     rraattiioo and ssqquuaarree have no effect on 3-d plots.

     sseett ssiizzee is relative to the default size, which differs from
     terminal to terminal.  Since ggnnuupplloott fills as much of the
     available plotting area as possible by default, it is safer to
     use sseett ssiizzee to decrease the size of a plot than to increase
     it.  See sseett tteerrmmiinnaall for the default sizes.

     On some terminals, changing the size of the plot will result in
     text being misplaced.

     Examples:

     To set the size to normal size use:
           set size 1,1

     To make the graph half size and square use:
           set size square 0.5,0.5

     To make the graph twice as high as wide use:
           set size ratio 2

     See also
      airfoil demo.



     3388..5577..  SSttyyllee


     Default plotting styles are chosen with the sseett ssttyyllee ddaattaa and
     sseett ssttyyllee ffuunnccttiioonn commands.  See pplloott wwiitthh for information
     about how to override the default plotting style for individual
     functions and data sets.  See pplloottttiinngg ssttyylleess for a complete
     list of styles.

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

     Default styles for specific plotting elements may also be set.

     Syntax:
           set style arrow <n> <arrowstyle>
           set style fill <fillstyle>
           set style line <n> <linestyle>












GNUPLOT 4.0                                                      129


          3388..5577..11..  SSeett ssttyyllee aarrrrooww


          Each terminal has a default set of arrow and point types,
          which can be seen by using the command tteesstt.  sseett ssttyyllee
          aarrrrooww defines a set of arrow types and widths and point
          types and sizes so that you can refer to them later by an
          index instead of repeating all the information at each
          invocation.

          Syntax:
                set style arrow <index> {nohead | head | heads}
                                        {size
          <length>,<angle>{,<backangle>}}
                                        {filled | empty | nofilled}
                                        {front | back}
                                        { {linestyle | ls
          <line_style>}
                                          | {linetype | lt
          <line_type>}
                                            {linewidth | lw
          <line_width} }
                unset style arrow
                show style arrow

          <index> is an integer that identifies the arrowstyle.

          Specifying nnoohheeaadd produces arrows drawn without a head---a
          line segment.  This gives you yet another way to draw a
          line segment on the plot.  By default, arrows have one
          head. Specifying hheeaaddss draws arrow heads on both ends of
          the line.

          Head size can be controlled by ssiizzee <<lleennggtthh>>,,<<aannggllee>> or
          ssiizzee <<lleennggtthh>>,,<<aannggllee>>,,<<bbaacckkaannggllee>> where <<lleennggtthh>> defines
          length of each branch of the arrow head and <<aannggllee>> the
          angle (in degrees) they make with the arrow. <<LLeennggtthh>> is
          in x-axis units; this can be changed by ffiirrsstt, sseeccoonndd,
          ggrraapphh or ssccrreeeenn before the <<lleennggtthh>>; see ccoooorrddiinnaatteess for
          details.  <<BBaacckkaannggllee>> only takes effect when ffiilllleedd or
          eemmppttyy is also used. Then, <<bbaacckkaannggllee>> is the angle (in
          degrees) the back branches make with the arrow (in the
          same direction as <<aannggllee>>).  The ffiigg terminal has a
          restricted backangle function. It supports three different
          angles. There are two thresholds: Below 70 degrees, the
          arrow head gets an indented back angle. Above 110 degrees,
          the arrow head has an acute back angle. Between these
          thresholds, the back line is straight.

          Specifying ffiilllleedd produces filled arrow heads (if heads
          are used).  Filling is supported on filled-polygon capable
          terminals, see help of ppmm33dd for their list, otherwise the
          arrow heads are closed but not filled.  The same result










GNUPLOT 4.0                                                      130


          (closed but not filled arrow head) is reached by specify-
          ing eemmppttyy.  Further, filling and outline is obviously not
          supported on terminals drawing arrows by their own spe-
          cific routines, like mmeettaaffoonntt, mmeettaappoosstt, llaatteexx or ttggiiff.

          The line style may be selected from a user-defined list of
          line styles (see sseett ssttyyllee lliinnee) or may be defined here by
          providing values for <<lliinnee__ttyyppee>> (an index from the
          default list of styles) and/or <<lliinnee__wwiiddtthh>> (which is a
          multiplier for the default width).

          Note, however, that if a user-defined line style has been
          selected, its properties (type and width) cannot be
          altered merely by issuing another sseett ssttyyllee aarrrrooww command
          with the appropriate index and lltt or llww.

          If ffrroonntt is given, the arrows are written on top of the
          graphed data. If bbaacckk is given (the default), the arrow is
          written underneath the graphed data.  Using ffrroonntt will
          prevent a arrow from being obscured by dense data.

          Examples:

          To draw an arrow without an arrow head and double width,
          use:
                set style arrow 1 nohead lw 2
                set arrow arrowstyle 1

           See also `set arrow` for further examples.




          3388..5577..22..  SSeett ssttyyllee ddaattaa


          The sseett ssttyyllee ddaattaa command changes the default plotting
          style for data plots.

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

          See pplloottttiinngg ssttyylleess for the choices.  If no choice is
          given, the choices are listed.  sshhooww ssttyyllee ddaattaa shows the
          current default data plotting style.



          3388..5577..33..  SSeett ssttyyllee ffiillll













GNUPLOT 4.0                                                      131


          The sseett ssttyyllee ffiillll command is used to set the style of
          boxes or candlesticks.

          Syntax:
                set style fill {empty | solid {<density>} | pattern
          {<n>}}
                               {border {<linetype>} | noborder}

          The default fillstyle is eemmppttyy.

          The ssoolliidd option causes filling with a solid color, if the
          terminal supports that. The <density> parameter specifies
          the intensity of the fill color. At a <density> of 0.0,
          the box is empty, at <density> of 1.0, the inner area is
          of the same color as the current linetype.  Some terminal
          types can vary the density continuously; others implement
          only a few levels of partial fill.  If no <density> param-
          eter is given, it defaults to 1.

          The ppaatttteerrnn option causes filling to be done with a fill
          pattern supplied by the terminal driver.  The kind and
          number of available fill patterns depend on the terminal
          driver.  If multiple datasets using filled boxes are plot-
          ted, the pattern cycles through all available pattern
          types, starting from pattern <n>, much as the line type
          cycles for multiple line plots.

          The eemmppttyy option causes filled boxes not to be filled.
          This is the default.  It is equivalent to the ssoolliidd option
          with a <density> parameter of zero.

          By default, bboorrddeerr, the box is bounded by a solid line of
          the current linetype. bboorrddeerr <<lltt>> specifies that a border
          is to be drawn using linetype <lt>. nnoobboorrddeerr specifies
          that no bounding lines are drawn.



          3388..5577..44..  SSeett ssttyyllee ffuunnccttiioonn


          The sseett ssttyyllee ffuunnccttiioonn command changes the default plot-
          ting style for function plots.

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

          See pplloottttiinngg ssttyylleess for the choices.  If no choice is
          given, the choices are listed.  sshhooww ssttyyllee ffuunnccttiioonn shows
          the current default function plotting style.












GNUPLOT 4.0                                                      132


          3388..5577..55..  SSeett ssttyyllee lliinnee


          Each terminal has a default set of line and point types,
          which can be seen by using the command tteesstt.  sseett ssttyyllee
          lliinnee defines a set of line types and widths and point
          types and sizes so that you can refer to them later by an
          index instead of repeating all the information at each
          invocation.

          Syntax:
                set style line <index> {linetype  | lt <line_type>}
                                       {linewidth | lw <line_width>}
                                       {pointtype | pt <point_type>}
                                       {pointsize | ps <point_size>}
                                       {palette}
                unset style line
                show style line

          The line and point types are taken from the default types
          for the terminal currently in use.  The line width and
          point size are multipliers for the default width and size
          (but note that <point_size> here is unaffected by the mul-
          tiplier given on sseett ppooiinnttssiizzee).

          The defaults for the line and point types is the index.
          The defaults for the width and size are both unity.

          Linestyles created by this mechanism do not replace the
          default styles; both may be used.

          Not all terminals support the lliinneewwiiddtthh and ppooiinnttssiizzee fea-
          tures; if not supported, the option will be ignored.

          Note that this feature is not completely implemented;
          linestyles defined by this mechanism may be used with
          pplloott, sspplloott, rreepplloott, and sseett aarrrrooww, but not by other com-
          mands that allow the default index to be used, such as sseett
          ggrriidd.

          If gnuplot was built with pm3d support, the special key-
          word ppaalleettttee is allowed as lliinneettyyppee for splots (the 2d
          pplloott command ignores ppaalleettttee).  In this case the line
          color is chosen from a smooth palette which was set previ-
          ously with the command sseett ppaalleettttee.  The color value cor-
          responds to the z-value (elevation) of the splot.

          Example: Suppose that the default lines for indices 1, 2,
          and 3 are red, green, and blue, respectively, and the
          default point shapes for the same indices are a square, a
          cross, and a triangle, respectively.  Then

                set style line 1 lt 2 lw 2 pt 3 ps 0.5










GNUPLOT 4.0                                                      133


          defines a new linestyle that is green and twice the
          default width and a new pointstyle that is a half-sized
          triangle.  The commands

                set style function lines
                plot f(x) lt 3, g(x) ls 1

          will create a plot of f(x) using the default blue line and
          a plot of g(x) using the user-defined wide green line.
          Similarly the commands

                set style function linespoints
                plot p(x) lt 1 pt 3, q(x) ls 1

          will create a plot of p(x) using the default triangles
          connected by a red line and q(x) using small triangles
          connected by a green line.

                splot sin(sqrt(x*x+y*y))/sqrt(x*x+y*y) w l pal

          creates a surface plot using smooth colors according to
          ppaalleettttee. Note, that this works only on some terminals.

          See also sseett ppaalleettttee, sseett ppmm33dd.




          3388..5577..66..  PPlloottttiinngg ssttyylleess



          The commands sseett ssttyyllee ddaattaa and sseett ssttyyllee ffuunnccttiioonn change
          the default plotting style for subsequent pplloott and sspplloott
          commands.

          The types used for all line and point styles (i.e., solid,
          dash-dot, color, etc. for lines; circles, squares,
          crosses, etc. for points) will be either those specified
          on the pplloott or sspplloott command or will be chosen sequen-
          tially from the types available to the terminal in use.
          Use the command tteesstt to see what is available.

          None of the styles requiring more than two columns of
          information (e.g., eerrrroorrbbaarrss or eerrrroorrlliinneess) can be used
          with ssppllootts or function ppllootts. Neither bbooxxeess, ffiilllleeddccuurrvveess
          nor any of the sstteeppss styles can be used with ssppllootts. If an
          inappropriate style is specified, it will be changed to
          ppooiinnttss.

          For 2-d data with more than two columns, ggnnuupplloott is picky
          about the allowed eerrrroorrbbaarrss and eerrrroorrlliinneess styles. The
          uussiinngg option on the pplloott command can be used to set up the










GNUPLOT 4.0                                                      134


          correct columns for the style you want. (In this discus-
          sion, "column" will be used to refer both to a column in
          the data file and an entry in the uussiinngg list.)

          For three columns, only xxeerrrroorrbbaarrss, yyeerrrroorrbbaarrss (or eerrrroorr--
          bbaarrss), xxeerrrroorrlliinneess, yyeerrrroorrlliinneess (or eerrrroorrlliinneess), bbooxxeess and
          bbooxxeerrrroorrbbaarrss are allowed. If another plot style is used,
          the style will be changed to yyeerrrroorrbbaarrss. The bbooxxeerrrroorrbbaarrss
          style will calculate the boxwidth automatically.

          For four columns, only xxeerrrroorrbbaarrss, yyeerrrroorrbbaarrss (or eerrrroorr--
          bbaarrss), xxyyeerrrroorrbbaarrss, xxeerrrroorrlliinneess, yyeerrrroorrlliinneess (or eerrrroorr--
          lliinneess), xxyyeerrrroorrlliinneess, bbooxxxxyyeerrrroorrbbaarrss, and bbooxxeerrrroorrbbaarrss are
          allowed.  An illegal style will be changed to yyeerrrroorrbbaarrss.

          Five-column data allow only the bbooxxeerrrroorrbbaarrss, ffiinnaanncceebbaarrss,
          and ccaannddlleessttiicckkss styles.  An illegal style will be changed
          to bbooxxeerrrroorrbbaarrss before plotting.

          Six- and seven-column data only allow the xxyyeerrrroorrbbaarrss,
          xxyyeerrrroorrlliinneess, and bbooxxxxyyeerrrroorrbbaarrss styles. Illegal styles
          will be changed to xxyyeerrrroorrbbaarrss before plotting.

          For more information about error bars with and without
          lines, please see pplloott eerrrroorrlliinneess and pplloott eerrrroorrbbaarrss.





               3388..5577..66..11..  BBooxxeerrrroorrbbaarrss


               The bbooxxeerrrroorrbbaarrss style is only relevant to 2-d data
               plotting.  It is a combination of the bbooxxeess and yyeerr--
               rroorrbbaarrss styles.  The boxwidth will come from the
               fourth column if the y errors are in the form of
               "ydelta" and the boxwidth was not previously set
               equal to -2.0 (sseett bbooxxwwiiddtthh --22..00) or from the fifth
               column if the y errors are in the form of "ylow
               yhigh".  The special case  bbooxxwwiiddtthh == --22..00 is for
               four-column data with y errors in the form "ylow
               yhigh".  In this case the boxwidth will be calculated
               so that each box touches the adjacent boxes.  The
               width will also be calculated in cases where three-
               column data are used.

               The box height is determined from the y error in the
               same way as it is for the yyeerrrroorrbbaarrss style---either
               from y-ydelta to y+ydelta or from ylow to yhigh,
               depending on how many data columns are provided.  See
               also errorbar demo.











GNUPLOT 4.0                                                      135


               3388..5577..66..22..  BBooxxeess


               The bbooxxeess style is only relevant to 2-d plotting.  It
               draws a box centered about the given x coordinate
               from the x axis (not the graph border) to the given y
               coordinate.  The width of the box is obtained in one
               of three ways.  If it is a data plot and the data
               file has a third column, this will be used to set the
               width of the box.  If not, if a width has been set
               using the sseett bbooxxwwiiddtthh command, this will be used.
               If neither of these is available, the width of each
               box will be calculated automatically so that it
               touches the adjacent boxes.

               The interior of the boxes is drawn according to the
               current fillstyle.  See sseett ssttyyllee ffiillll for details.
               Alternatively a new fillstyle may be specified in the
               plot command.

               For fillstyle eemmppttyy the box is filled with the back-
               ground color.

               For fillstyle ssoolliidd the box is filled with a solid
               rectangle of the current drawing color. There is an
               optional parameter <density> that controls the fill
               density; it runs from 0 (background color) to 1 (cur-
               rent drawing color).

               For fillstyle ppaatttteerrnn the box is filled in the cur-
               rent drawing color with a pattern, if supported by
               the terminal driver.

               Examples:

               To plot a data file with solid filled boxes with a
               small vertical space separating them (bargraph):

                     set boxwidth 0.9 relative
                     set style fill solid 1.0
                     plot 'file.dat' with boxes

               To plot a sine and a cosine curve in pattern-filled
               boxes style:

                     set style fill pattern
                     plot sin(x) with boxes, cos(x) with boxes

               The sin plot will use pattern 0; the cos plot will
               use pattern 1.  Any additional plots would cycle
               through the patterns supported by the terminal
               driver.











GNUPLOT 4.0                                                      136


               To specify explicit fillstyles for each dataset:

                    plot 'file1' with boxes fs solid 0.25, \
                         'file2' with boxes fs solid 0.50, \
                         'file3' with boxes fs solid 0.75, \
                         'file4' with boxes fill pattern 1, \
                         'file5' with boxes fill empty

               Currently only the following terminal drivers support
               fillstyles other than eemmppttyy: x11, windows, pm, post-
               script, fig, pbm, png, gif, hpdj, hppj, hpljii,
               hp500c, jpeg, nec_cp6, epson_180dpi, epson_60dpi,
               epson_lx800, okidata, starc and tandy_60dpi. The BeOS
               driver (bbee) is untested.



               3388..5577..66..33..  FFiilllleeddccuurrvveess


               The ffiilllleeddccuurrvveess style is only relevant to 2-d plot-
               ting. It draws either the current curve closed and
               filled, or the region between the current curve and a
               given axis, horizontal or vertical line, or a point,
               filled with the current drawing color.

               Syntax:

                   set style [data | function] filledcurves [option]
                   plot ... with filledcurves [option]

               where the option can be

                   [closed | {x1 | x2 | y1 | y2}[=<a>] | xy=<x>,<y>]

               The area is filled between the current curve and
                   filledcurves closed   ... just filled closed
               curve,
                   filledcurves x1       ... x1 axis,
                   filledcurves x2       ... x2 axis, etc for y1 and
               y2 axes,
                   filledcurves y1=0     ... line y=0 (at y1 axis)
               ie parallel to x1 axis,
                   filledcurves y2=42    ... line y=42 (at y2 axis)
               ie parallel to x2, etc,
                   filledcurves xy=10,20 ... point 10,20 of x1,y1
               axes (arc-like shape).

               Note: filling is supported on filled-polygon capable
               terminals, see help of sseett ppmm33dd for their list.

               Zoom of a filled curve drawn from a datafile may pro-
               duce empty or incorrect area because gnuplot is










GNUPLOT 4.0                                                      137


               clipping points and lines, and not areas.

               If the values of <a>, <x>, <y> are out of the drawing
               boundary, then they are moved to the graph boundary.
               Then the actually filled area in the case of option
               xy=<x>,<y> will depend on xrange and yrange.



               3388..5577..66..44..  BBooxxxxyyeerrrroorrbbaarrss


               The bbooxxxxyyeerrrroorrbbaarrss style is only relevant to 2-d data
               plotting.  It is a combination of the bbooxxeess and xxyyeerr--
               rroorrbbaarrss styles.

               The box width and height are determined from the x
               and y errors in the same way as they are for the
               xxyyeerrrroorrbbaarrss style---either from xlow to xhigh and
               from ylow to yhigh, or from x-xdelta to x+xdelta and
               from y-ydelta to y+ydelta , depending on how many
               data columns are provided.

               If filled-box support is present, then the interior
               of the boxes is drawn according to the current fill-
               style.  See sseett ssttyyllee ffiillll and bbooxxeess for details.
               Alternatively a new fillstyle may be specified in the
               plot command.



               3388..5577..66..55..  CCaannddlleessttiicckkss


               The ccaannddlleessttiicckkss style can be used for 2-d data plot-
               ting of financial data or for generating box-and-
               whisker plots of statistical data.  Five columns of
               data are required; in order, these should be the x
               coordinate (most likely a date) and the opening, low,
               high, and closing prices.  The symbol is a rectangu-
               lar box, centered horizontally at the x coordinate
               and limited vertically by the opening and closing
               prices.  A vertical line segment at the x coordinate
               extends up from the top of the rectangle to the high
               price and another down to the low.  The vertical line
               will be unchanged if the low and high prices are
               interchanged.

               The width of the rectangle can be controlled by the
               sseett bbooxxwwiiddtthh command.  For backwards compatibility
               with earlier gnuplot versions, when the boxwidth
               parameter has not been set then the width of the can-
               dlestick rectangle is controlled by sseett bbaarrss <<wwiiddtthh>>.










GNUPLOT 4.0                                                      138


               By default the rectangle is empty if (open > close),
               and filled with three vertical bars if (close >
               open). If filled-boxes support is present, then the
               rectangle is colored according to sseett ssttyyllee ffiillll
               <<ffiillllssttyyllee>>.  See sseett bbaarrss and ffiinnaanncceebbaarrss.  See also
               finance demos.

               Note: To place additional symbols, such as the median
               value, on a box-and-whisker plot requires additional
               plot commands as in this example:

                 # Data columns: X Min 1stQuartile Median 3rdQuar-
               tile Max
                 set bars 4.0
                 set style fill empty
                 plot 'stat.dat' using 1:3:2:6:5 with candlesticks
               title 'Quartiles', \
                      ''         using 1:4:4:4:4 with candlesticks
               lt -1 notitle

                See `set boxwidth`, `set bars` and `set style fill`.



               3388..5577..66..66..  DDoottss


               The ddoottss style plots a tiny dot at each point; this
               is useful for scatter plots with many points.



               3388..5577..66..77..  FFiinnaanncceebbaarrss


               The ffiinnaanncceebbaarrss style is only relevant for 2-d data
               plotting of financial data.  Five columns of data are
               required; in order, these should be the x coordinate
               (most likely a date) and the opening, low, high, and
               closing prices.  The symbol is a vertical line seg-
               ment, located horizontally at the x coordinate and
               limited vertically by the high and low prices.  A
               horizontal tic on the left marks the opening price
               and one on the right marks the closing price.  The
               length of these tics may be changed by sseett bbaarrss.  The
               symbol will be unchanged if the high and low prices
               are interchanged.  See sseett bbaarrss and ccaannddlleessttiicckkss, and
               also the finance demo.















GNUPLOT 4.0                                                      139


               3388..5577..66..88..  FFsstteeppss


               The ffsstteeppss style is only relevant to 2-d plotting.
               It connects consecutive points with two line seg-
               ments: the first from (x1,y1) to (x1,y2) and the sec-
               ond from (x1,y2) to (x2,y2).  See also steps demo.



               3388..5577..66..99..  HHiisstteeppss


               The hhiisstteeppss style is only relevant to 2-d plotting.
               It is intended for plotting histograms.  Y-values are
               assumed to be centered at the x-values; the point at
               x1 is represented as a horizontal line from
               ((x0+x1)/2,y1) to ((x1+x2)/2,y1).  The lines repre-
               senting the end points are extended so that the step
               is centered on at x.  Adjacent points are connected
               by a vertical line at their average x, that is, from
               ((x1+x2)/2,y1) to ((x1+x2)/2,y2).

               If aauuttoossccaallee is in effect, it selects the xrange from
               the data rather than the steps, so the end points
               will appear only half as wide as the others.  See
               also steps demo.

               hhiisstteeppss is only a plotting style; ggnnuupplloott does not
               have the ability to create bins and determine their
               population from some data set.



               3388..5577..66..1100..  IImmppuullsseess


               The iimmppuullsseess style displays a vertical line from the
               x axis (not the graph border), or from the grid base
               for sspplloott, to each point.



               3388..5577..66..1111..  LLiinneess


               The lliinneess style connects adjacent points with
               straight line segments.  See also lliinneettyyppee,
               lliinneewwiiddtthh, and lliinneessttyyllee.














GNUPLOT 4.0                                                      140


               3388..5577..66..1122..  LLiinneessppooiinnttss


               The lliinneessppooiinnttss style does both lliinneess and ppooiinnttss,
               that is, it draws a small symbol at each point and
               then connects adjacent points with straight line seg-
               ments.  The command sseett ppooiinnttssiizzee may be used to
               change the size of the points.  See sseett ppooiinnttssiizzee for
               its usage.

               lliinneessppooiinnttss may be abbreviated llpp.



               3388..5577..66..1133..  PPooiinnttss


               The ppooiinnttss style displays a small symbol at each
               point.  The command sseett ppooiinnttssiizzee may be used to
               change the size of the points.  See sseett ppooiinnttssiizzee for
               its usage.



               3388..5577..66..1144..  SStteeppss


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



               3388..5577..66..1155..  VVeeccttoorrss


               The vveeccttoorrss style draws a vector from (x,y) to
               (x+xdelta,y+ydelta).  Thus it requires four columns
               of data.  It also draws a small arrowhead at the end
               of the vector.

               Example:
                     plot 'file.dat' using 1:2:3:4 with vectors head
               filled lt 2

               sseett cclliipp oonnee and sseett cclliipp ttwwoo affect drawing vectors.
               Please see sseett cclliipp and aarrrroowwssttyyllee.















GNUPLOT 4.0                                                      141


               3388..5577..66..1166..  XXeerrrroorrbbaarrss


               The xxeerrrroorrbbaarrss style is only relevant to 2-d data
               plots.  xxeerrrroorrbbaarrss is like ddoottss, except that a hori-
               zontal error bar is also drawn.  At each point (x,y),
               a line is drawn from (xlow,y) to (xhigh,y) or from
               (x-xdelta,y) to (x+xdelta,y), depending on how many
               data columns are provided.  A tic mark is placed at
               the ends of the error bar (unless sseett bbaarrss is
               used---see sseett bbaarrss for details).



               3388..5577..66..1177..  XXyyeerrrroorrbbaarrss


               The xxyyeerrrroorrbbaarrss style is only relevant to 2-d data
               plots.  xxyyeerrrroorrbbaarrss is like ddoottss, except that hori-
               zontal and vertical error bars are also drawn.  At
               each point (x,y), lines are drawn from (x,y-ydelta)
               to (x,y+ydelta) and from (x-xdelta,y) to (x+xdelta,y)
               or from (x,ylow) to (x,yhigh) and from (xlow,y) to
               (xhigh,y), depending upon the number of data columns
               provided.  A tic mark is placed at the ends of the
               error bar (unless sseett bbaarrss is used---see sseett bbaarrss for
               details).

               If data are provided in an unsupported mixed form,
               the uussiinngg filter on the pplloott command should be used
               to set up the appropriate form.  For example, if the
               data are of the form (x,y,xdelta,ylow,yhigh), then
               you can use

                     plot 'data' using 1:2:($1-$3):($1+$3):4:5 with
               xyerrorbars



               3388..5577..66..1188..  YYeerrrroorrbbaarrss


               The yyeerrrroorrbbaarrss (or eerrrroorrbbaarrss) style is only relevant
               to 2-d data plots.  yyeerrrroorrbbaarrss is like ppooiinnttss, except
               that a vertical error bar is also drawn.  At each
               point (x,y), a line is drawn from (x,y-ydelta) to
               (x,y+ydelta) or from (x,ylow) to (x,yhigh), depending
               on how many data columns are provided.  A tic mark is
               placed at the ends of the error bar (unless sseett bbaarrss
               is used---see sseett bbaarrss for details).  See also error-
               bar demo.












GNUPLOT 4.0                                                      142


               3388..5577..66..1199..  XXeerrrroorrlliinneess


               The xxeerrrroorrlliinneess style is only relevant to 2-d data
               plots.  xxeerrrroorrlliinneess is like lliinneessppooiinnttss, except that
               a horizontal error line is also drawn. At each point
               (x,y), a line is drawn from (xlow,y) to (xhigh,y) or
               from (x-xdelta,y) to (x+xdelta,y), depending on how
               many data columns are provided. A tic mark is placed
               at the ends of the error bar (unless sseett bbaarrss is
               used---see sseett bbaarrss for details).



               3388..5577..66..2200..  XXyyeerrrroorrlliinneess


               The xxyyeerrrroorrlliinneess style is only relevant to 2-d data
               plots.  xxyyeerrrroorrlliinneess is like lliinneessppooiinnttss, except that
               horizontal and vertical error bars are also drawn. At
               each point (x,y), lines are drawn from (x,y-ydelta)
               to (x,y+ydelta) and from (x-xdelta,y) to (x+xdelta,y)
               or from (x,ylow) to (x,yhigh) and from (xlow,y) to
               (xhigh,y), depending upon the number of data columns
               provided. A tic mark is placed at the ends of the
               error bar (unless sseett bbaarrss is used---see sseett bbaarrss for
               details).

               If data are provided in an unsupported mixed form,
               the uussiinngg filter on the pplloott command should be used
               to set up the appropriate form.  For example, if the
               data are of the form (x,y,xdelta,ylow,yhigh), then
               you can use

                     plot 'data' using 1:2:($1-$3):($1+$3):4:5 with
               xyerrorlines



               3388..5577..66..2211..  YYeerrrroorrlliinneess


               The yyeerrrroorrlliinneess (or eerrrroorrlliinneess) style is only rele-
               vant to 2-d data plots. yyeerrrroorrlliinneess is like lliinneess--
               ppooiinnttss, except that a vertical error line is also
               drawn. At each point (x,y), a line is drawn from
               (x,y-ydelta) to (x,y+ydelta) or from (x,ylow) to
               (x,yhigh), depending on how many data columns are
               provided. A tic mark is placed at the ends of the
               error bar (unless sseett bbaarrss is used---see sseett bbaarrss for
               details).  See also errorbar demo.












GNUPLOT 4.0                                                      143


     3388..5588..  SSuurrffaaccee


     The command sseett ssuurrffaaccee controls the display of surfaces by
     sspplloott.

     Syntax:
           set surface
           unset surface
           show surface

     The surface is drawn with the style specified by wwiitthh, or else
     the appropriate style, data or function.

     Whenever uunnsseett ssuurrffaaccee is issued, sspplloott will not draw points or
     lines corresponding to the function or data file points.  Con-
     tours may still be drawn on the surface, depending on the sseett
     ccoonnttoouurr option. uunnsseett ssuurrffaaccee;; sseett ccoonnttoouurr bbaassee is useful for
     displaying contours on the grid base.  See also sseett ccoonnttoouurr.



     3388..5599..  TTeerrmmiinnaall


     ggnnuupplloott supports many different graphics devices.  Use sseett tteerr--
     mmiinnaall to tell ggnnuupplloott what kind of output to generate. Use sseett
     oouuttppuutt to redirect that output to a file or device.

     Syntax:
           set terminal {<terminal-type> | push | pop}
           show terminal

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

     If both sseett tteerrmmiinnaall and sseett oouuttppuutt are used together, it is
     safest to give sseett tteerrmmiinnaall first, because some terminals set a
     flag which is needed in some operating systems.

     Several terminals have additional options.  For example, see
     dduummbb, iirriiss44dd, hhpplljjiiii or ppoossttssccrriipptt.  The options used by a pre-
     vious invocation sseett tteerrmm <<tteerrmm>> <<ooppttiioonnss>> of a given <<tteerrmm>>
     are remembered, thus subsequent sseett tteerrmm <<tteerrmm>> does not reset
     them.  This helps in printing, for instance, when switching
     among different terminals---previous options don't have to be
     repeated.

     The command sseett tteerrmm ppuusshh remembers the current terminal
     including its settings while sseett tteerrmm ppoopp restores it. This is
     equivalent to ssaavvee tteerrmm and llooaadd tteerrmm, but without accessing
     the filesystem. Therefore they can be used to achieve platform
     independent restoring of the terminal after printing, for










GNUPLOT 4.0                                                      144


     instance. After gnuplot's startup, the default terminal or that
     from ssttaarrttuupp file is pushed automatically. Therefore portable
     scripts can rely that sseett tteerrmm ppoopp restores the default termi-
     nal on a given platform unless another terminal has been pushed
     explicitly.

     This document may describe drivers that are not available to
     you because they were not installed, or it may not describe all
     the drivers that are available to you, depending on its output
     format.




          3388..5599..11..  AAeedd776677


          The aaeedd551122 and aaeedd776677 terminal drivers support AED graph-
          ics terminals.  The two drivers differ only in their hori-
          zontal ranges, which are 512 and 768 pixels, respectively.
          Their vertical range is 575 pixels.  There are no options
          for these drivers.



          3388..5599..22..  AAiiffmm


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

          Syntax:
                set terminal aifm {<color>} {"<fontname>"} {<font-
          size>}

          <color> is either ccoolloorr or mmoonnoocchhrroommee; "<fontname>" is the
          name of a valid PostScript font; <fontsize> is the size of
          the font in PostScript points, before scaling by the sseett
          ssiizzee command.  Selecting ddeeffaauulltt sets all options to their
          default values: mmoonnoocchhrroommee, "Times-Roman", and 14pt.

          Since AI does not really support multiple pages, multiple
          graphs will be drawn directly on top of one another.  How-
          ever, 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











GNUPLOT 4.0                                                      145


          3388..5599..33..  AAmmiiggaa


          The aammiiggaa terminal, for Commodore Amiga computers, allows
          the user to plot either to a screen (default), or, if
          Kickstart 3.0 or higher is installed, to a window on the
          current public screen. The font and its size can also be
          selected.

          Syntax:
                set terminal amiga {screen | window} {"<fontname>"}
          {<fontsize>}

          The default font is 8-point "topaz".

          The screen option uses a virtual screen, so it is possible
          that the graph will be larger than the screen.



          3388..5599..44..  AAppoolllloo


          The aappoolllloo terminal driver supports the Apollo Graphics
          Primitive Resource with rescaling after window resizing.
          It has no options.

          If a fixed-size window is desired, the ggpprr terminal may be
          used instead.



          3388..5599..55..  AAqquuaa


          This terminal relies on AquaTerm.app for display on Mac OS
          X.

          Syntax:
                set terminal aqua {<n>} {title "<wintitle>"} {size
          <x> <y>}
                                  {fname "<fontface>"} {fsize <font-
          size>}

          where <n> is the number of the window to draw in (default
          is 0), <wintitle> is the name shown in the title bar
          (default "Figure <n>"), <x> <y> is the size of the plot
          (default is 846x594 pt = 11.75x8.25 in).

          Use <fontface> to specify the font to use (default is
          "Times-Roman"), <fontzise> sets the font size (default is
          14.0 pt).











GNUPLOT 4.0                                                      146


          3388..5599..66..  AAttaarrii SSTT ((vviiaa AAEESS))


          The aattaarrii terminal has options to set the character size
          and the screen colors.

          Syntax:
                set terminal atari {<fontsize>} {<col0> <col1> ...
          <col15>}

          The character size must appear if any colors are to be
          specified.  Each of the (up to 16) colors is given as a
          three-digit hex number, where the digits represent 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
                           # set first seven colors to black, white,
          red, green,
                           # blue, cyan, and purple 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.



          3388..5599..77..  BBee


          ggnnuupplloott provides the bbee terminal type for use with X
          servers.  This terminal type is set automatically at
          startup if the DDIISSPPLLAAYY environment variable is set, if the
          TTEERRMM environment variable is set to xxtteerrmm, or if the --ddiiss--
          ppllaayy command line option is used.

          Syntax:
                    set terminal be {reset} {<n>}

          Multiple plot windows are supported: sseett tteerrmmiinnaall bbee <<nn>>
          directs the output to plot window number n.  If n>0, the
          terminal number will be appended to the window title and
          the icon will be labeled ggpplltt <<nn>>.  The active window may
          distinguished by a change in cursor (from default to
          crosshair.)











GNUPLOT 4.0                                                      147


          Plot windows remain open even when the ggnnuupplloott driver is
          changed to a different device.  A plot window can be
          closed by pressing the letter q while that window has
          input focus, or by choosing cclloossee from a window manager
          menu.  All plot windows can be closed by specifying rreesseett,
          which actually terminates the subprocess which maintains
          the windows (unless --ppeerrssiisstt was specified).

          Plot windows will automatically be closed at the end of
          the session unless the --ppeerrssiisstt option was given.

          The size or aspect ratio of a plot may be changed by
          resizing the ggnnuupplloott window.

          Linewidths and pointsizes may be changed from within ggnnuu--
          pplloott with sseett lliinneessttyyllee.

          For terminal type bbee, ggnnuupplloott accepts (when initialized)
          the standard X Toolkit options and resources such as geom-
          etry, font, and name from the command line arguments or a
          configuration file.  See the X(1) man page (or its equiva-
          lent) for a description of such options.

          A number of other ggnnuupplloott options are available for the bbee
          terminal.  These may be specified either as command-line
          options when ggnnuupplloott is invoked or as resources in the
          configuration file ".Xdefaults".  They are set upon ini-
          tialization and cannot be altered during a ggnnuupplloott ses-
          sion.




               3388..5599..77..11..  CCoommmmaanndd--lliinnee__ooppttiioonnss


               In addition to the X Toolkit options, the following
               options may be specified on the command line when
               starting ggnnuupplloott or as resources in your ".Xdefaults"
               file:























GNUPLOT 4.0                                                      148


+---------------------------------------------------------------------------------+
|    `-mono`        forces monochrome rendering on color displays.                |
|    `-gray`        requests grayscale rendering on grayscale or color displays.  |
|                   (Grayscale displays receive monochrome rendering by default.) |
|    `-clear`       requests that the window be cleared momentarily before a      |
|                   new plot is displayed.                                        |
|    `-raise`       raises plot window after each plot                            |
|   `-noraise`      does not raise plot window after each plot                    |
|   `-persist`      plots windows survive after main gnuplot program exits        |
+---------------------------------------------------------------------------------+


The options are shown above in their command-line syntax.  When
entered as resources in ".Xdefaults", they require a different syn-
tax.

Example:
          gnuplot*gray: on

ggnnuupplloott also provides a command line option (--ppooiinnttssiizzee <<vv>>) and a
resource, ggnnuupplloott**ppooiinnttssiizzee:: <<vv>>, to control the size of points
plotted with the ppooiinnttss plotting style.  The value vv is a real num-
ber (greater than 0 and less than or equal to ten) used as a scaling
factor for point sizes.  For example, --ppooiinnttssiizzee 22 uses points twice
the default size, and --ppooiinnttssiizzee 00..55 uses points half the normal
size.



               3388..5599..77..22..  MMoonnoocchhrroommee__ooppttiioonnss


               For monochrome displays, ggnnuupplloott does not honor fore-
               ground or background colors.  The default is black-
               on-white.  --rrvv or ggnnuupplloott**rreevveerrsseeVViiddeeoo:: oonn requests
               white-on-black.




               3388..5599..77..33..  CCoolloorr__rreessoouurrcceess


               For color displays, ggnnuupplloott honors the following
               resources (shown here with their default values) or
               the greyscale resources.  The values may be color
               names as listed in the BE rgb.txt file on your sys-
               tem, hexadecimal RGB color specifications (see BE
               documentation), or a color name followed by a comma
               and an iinntteennssiittyy value from 0 to 1.  For example,
               bblluuee,, 00..55 means a half intensity blue.












GNUPLOT 4.0                                                      149


                 +--------------------------------+
                 |    gnuplot*background: white   |
                 |    gnuplot*textColor: black    |
                 |    gnuplot*borderColor: black  |
                 |    gnuplot*axisColor: black    |
                 |    gnuplot*line1Color: red     |
                 |    gnuplot*line2Color: green   |
                 |    gnuplot*line3Color: blue    |
                 |    gnuplot*line4Color: magenta |
                 |    gnuplot*line5Color: cyan    |
                 |    gnuplot*line6Color: sienna  |
                 |    gnuplot*line7Color: orange  |
                 |    gnuplot*line8Color: coral   |
                 +--------------------------------+



The command-line syntax for these is, for example,

Example:
          gnuplot -background coral




               3388..5599..77..44..  GGrraayyssccaallee__rreessoouurrcceess


               When --ggrraayy is selected, ggnnuupplloott honors the following
               resources for grayscale or color displays (shown here
               with their default values).  Note that the default
               background is black.



                  +-------------------------------+
                  |    gnuplot*background: black  |
                  |    gnuplot*textGray: white    |
                  |    gnuplot*borderGray: gray50 |
                  |    gnuplot*axisGray: gray50   |
                  |    gnuplot*line1Gray: gray100 |
                  |    gnuplot*line2Gray: gray60  |
                  |    gnuplot*line3Gray: gray80  |
                  |    gnuplot*line4Gray: gray40  |
                  |    gnuplot*line5Gray: gray90  |
                  |    gnuplot*line6Gray: gray50  |
                  |    gnuplot*line7Gray: gray70  |
                  |    gnuplot*line8Gray: gray30  |
                  +-------------------------------+














GNUPLOT 4.0                                                      150


               3388..5599..77..55..  LLiinnee__rreessoouurrcceess


               ggnnuupplloott honors the following resources for setting
               the width (in pixels) of plot lines (shown here with
               their default values.)  0 or 1 means a minimal width
               line of 1 pixel width.  A value of 2 or 3 may improve
               the appearance of some plots.



                    +---------------------------+
                    |    gnuplot*borderWidth: 2 |
                    |    gnuplot*axisWidth: 0   |
                    |    gnuplot*line1Width: 0  |
                    |    gnuplot*line2Width: 0  |
                    |    gnuplot*line3Width: 0  |
                    |    gnuplot*line4Width: 0  |
                    |    gnuplot*line5Width: 0  |
                    |    gnuplot*line6Width: 0  |
                    |    gnuplot*line7Width: 0  |
                    |    gnuplot*line8Width: 0  |
                    +---------------------------+



ggnnuupplloott honors the following resources for setting the dash style
used for plotting lines.  0 means a solid line.  A two-digit number
jjkk (jj and kk are >= 1  and <= 9) means a dashed line with a repeated
pattern of jj pixels on followed by kk pixels off.  For example, '16'
is a "dotted" line with one pixel on followed by six pixels off.
More elaborate on/off patterns can be specified with a four-digit
value.  For example, '4441' is four on, four off, four on, one off.
The default values shown below are for monochrome displays or mono-
chrome rendering on color or grayscale displays.  For color dis-
plays, the default for each is 0 (solid line) except for aaxxiissDDaasshheess
which defaults to a '16' dotted line.



                  +------------------------------+
                  |    gnuplot*borderDashes: 0   |
                  |    gnuplot*axisDashes: 16    |
                  |    gnuplot*line1Dashes: 0    |
                  |    gnuplot*line2Dashes: 42   |
                  |    gnuplot*line3Dashes: 13   |
                  |    gnuplot*line4Dashes: 44   |
                  |    gnuplot*line5Dashes: 15   |
                  |    gnuplot*line6Dashes: 4441 |
                  |    gnuplot*line7Dashes: 42   |
                  |    gnuplot*line8Dashes: 13   |
                  +------------------------------+











GNUPLOT 4.0                                                      151


          3388..5599..88..  CCggii


          The ccggii and hhccggii terminal drivers support SCO CGI drivers.
          hhccggii is for printers; the environment variable CGIPRNT
          must be set.  ccggii may be used for either a display or
          hardcopy; if the environment variable CGIDISP is set, then
          that display is used.  Otherwise CGIPRNT is used.

          These terminals have no options.



          3388..5599..99..  CCggmm


          The ccggmm terminal generates a Computer Graphics Metafile,
          Version 1.  This file format is a subset of the ANSI
          X3.122-1986 standard entitled "Computer Graphics -
          Metafile for the Storage and Transfer of Picture Descrip-
          tion Information".  Several options may be set in ccggmm.

          Syntax:
                set terminal cgm {<mode>} {<color>} {<rotation>}
          {solid | dashed}
                                 {width <plot_width>} {linewidth
          <line_width>}
                                 {"<font>"} {<fontsize>}
                                 {<color0> <color1> <color2> ...}

          where <mode> is llaannddssccaappee, ppoorrttrraaiitt, or ddeeffaauulltt; <color>
          is either ccoolloorr or mmoonnoocchhrroommee; <rotation> is either rroottaattee
          or nnoorroottaattee; ssoolliidd draws all curves with solid lines,
          overriding any dashed patterns; <plot_width> is the
          assumed width of the plot in points; <line_width> is the
          line width in points (default 1); <font> is the name of a
          font; and <fontsize> is the size of the font in points
          (default 12).

          By default, ccggmm uses rotated text for the Y axis label.

          The first six options can be in any order.  Selecting
          ddeeffaauulltt sets all options to their default values.

          Each color must be of the form 'xrrggbb', where x is the
          literal character 'x' and 'rrggbb' are the red, green and
          blue components in hex.  For example, 'x00ff00' is green.
          The background color is set first, then the plotting col-
          ors.  Examples:
                set terminal cgm landscape color rotate dashed width
          432 \
                               linewidth 1  'Helvetica Bold' 12
          # defaults










GNUPLOT 4.0                                                      152


                set terminal cgm linewidth 2  14  # wider lines &
          larger font
                set terminal cgm portrait "Times Italic" 12
                set terminal cgm color solid      # no pesky dashes!




               3388..5599..99..11..  FFoonntt


               The first part of a Computer Graphics Metafile, the
               metafile description, includes a font table.  In the
               picture body, a font is designated by an index into
               this table.  By default, this terminal generates a
               table with the following 35 fonts, plus six more with
               iittaalliicc replaced by oobblliiqquuee, or vice-versa (since at
               least the Microsoft Office and Corel Draw CGM import
               filters treat iittaalliicc and oobblliiqquuee as equivalent):












































GNUPLOT 4.0                                                      153


                +-----------------------------------+
                |        CGM fonts                  |
                +-----------------------------------+
                |        Helvetica                  |
                |        Helvetica Bold             |
                |        Helvetica Oblique          |
                |        Helvetica Bold Oblique     |
                |        Times Roman                |
                |        Times Bold                 |
                |        Times Italic               |
                |        Times Bold Italic          |
                |        Courier                    |
                |        Courier Bold               |
                |        Courier Oblique            |
                |        Courier Bold Oblique       |
                |        Symbol                     |
                |        Hershey/Cartographic_Roman |
                |        Hershey/Cartographic_Greek |
                |        Hershey/Simplex_Roman      |
                |        Hershey/Simplex_Greek      |
                |        Hershey/Simplex_Script     |
                |        Hershey/Complex_Roman      |
                |        Hershey/Complex_Greek      |
                |        Hershey/Complex_Script     |
                |        Hershey/Complex_Italic     |
                |        Hershey/Complex_Cyrillic   |
                |        Hershey/Duplex_Roman       |
                |        Hershey/Triplex_Roman      |
                |        Hershey/Triplex_Italic     |
                |        Hershey/Gothic_German      |
                |        Hershey/Gothic_English     |
                |        Hershey/Gothic_Italian     |
                |        Hershey/Symbol_Set_1       |
                |        Hershey/Symbol_Set_2       |
                |        Hershey/Symbol_Math        |
                |        ZapfDingbats               |
                |        Script                     |
                |        15                         |
                +-----------------------------------+


The first thirteen of these fonts are required for WebCGM.  The
Microsoft Office CGM import filter implements the 13 standard fonts
listed above, and also 'ZapfDingbats' and 'Script'.  However, the
script font may only be accessed under the name '15'.  For more on
Microsoft import filter font substitutions, check its help file
which you may find here:
  C:\Program Files\Microsoft Office\Office\Cgmimp32.hlp
and/or its configuration file, which you may find here:
  C:\Program Files\Common Files\Microsoft
Shared\Grphflt\Cgmimp32.cfg

In the sseett tteerrmm command, you may specify a font name which does not










GNUPLOT 4.0                                                      154


appear in the default font table.  In that case, a new font table is
constructed with the specified font as its first entry. You must
ensure that the spelling, capitalization, and spacing of the name
are appropriate for the application that will read the CGM file.
(Gnuplot and any MIL-D-28003A compliant application ignore case in
font names.)  If you need to add several new fonts, use several sseett
tteerrmm commands.

Example:
      set terminal cgm 'Old English'
      set terminal cgm 'Tengwar'
      set terminal cgm 'Arabic'
      set output 'myfile.cgm'
      plot ...
      set output

You cannot introduce a new font in a sseett llaabbeell command.2 fontsize
Fonts are scaled assuming the page is 6 inches wide.  If the ssiizzee
command is used to change the aspect ratio of the page or the CGM
file is converted to a different width, the resulting font sizes
will be scaled up or down accordingly.  To change the assumed width,
use the wwiiddtthh option.



               3388..5599..99..22..  LLiinneewwiiddtthh


               The lliinneewwiiddtthh option sets the width of lines in pt.
               The default width is 1 pt.  Scaling is affected by
               the actual width of the page, as discussed under the
               ffoonnttssiizzee and wwiiddtthh options.



               3388..5599..99..33..  RRoottaattee


               The nnoorroottaattee option may be used to disable text rota-
               tion.  For example, the CGM input filter for Word for
               Windows 6.0c can accept rotated text, but the DRAW
               editor within Word cannot.  If you edit a graph (for
               example, to label a curve), all rotated text is
               restored to horizontal.  The Y axis label will then
               extend beyond the clip boundary.  With nnoorroottaattee, the
               Y axis label starts in a less attractive location,
               but the page can be edited without damage.  The
               rroottaattee option confirms the default behavior.















GNUPLOT 4.0                                                      155


               3388..5599..99..44..  SSoolliidd


               The ssoolliidd option may be used to disable dashed line
               styles in the plots.  This is useful when color is
               enabled and the dashing of the lines detracts from
               the appearance of the plot. The ddaasshheedd option con-
               firms the default behavior, which gives a different
               dash pattern to each curve.



               3388..5599..99..55..  SSiizzee


               Default size of a CGM plot is 32599 units wide and
               23457 units high for landscape, or 23457 units wide
               by 32599 units high for portrait.



               3388..5599..99..66..  WWiiddtthh


               All distances in the CGM file are in abstract units.
               The application that reads the file determines the
               size of the final plot.  By default, the width of the
               final plot is assumed to be 6 inches (15.24 cm).
               This distance is used to calculate the correct font
               size, and may be changed with the wwiiddtthh option.  The
               keyword should be followed by the width in points.
               (Here, a point is 1/72 inch, as in PostScript.  This
               unit is known as a "big point" in TeX.)  Gnuplot
               eexxpprreessssiioonnss can be used to convert from other units.

               Example:
                     set terminal cgm width 432            # default
                     set terminal cgm width 6*72           # same as
               above
                     set terminal cgm width 10/2.54*72     # 10 cm
               wide



               3388..5599..99..77..  NNooffoonnttlliisstt


               The default font table includes the fonts recommended
               for WebCGM, which are compatible with the Computer
               Graphics Metafile input filter for Microsoft Office
               and Corel Draw.  Another application might use dif-
               ferent fonts and/or different font names, which may
               not be documented.  As a workaround, the nnooffoonnttlliisstt










GNUPLOT 4.0                                                      156


               option deletes the font table from the CGM file.  In
               this case, the reading application should use a
               default table.  Gnuplot will still use its own
               default font table to select font indices.  Thus,
               'Helvetica' will give you an index of 1, which should
               get you the first entry in your application's default
               font table. 'Helvetica Bold' will give you its second
               entry, etc.

               The former wwiinnwwoorrdd66 option is now a deprecated syn-
               onym for nnooffoonnttlliisstt.  The problems involving the
               color and font tables that the wwiinnwwoorrdd66 option was
               intended to work around turned out to be gnuplot bugs
               which have now been fixed.



          3388..5599..1100..  CCoorreell


          The ccoorreell terminal driver supports CorelDraw.

          Syntax:
                set terminal corel {  default
                                    | {monochrome | color
                                         {"<font>" {<fontsize>
                                            {<xsize> <ysize>
          {<linewidth> }}}}}

          where the fontsize and linewidth are specified in points
          and the sizes in inches.  The defaults are monochrome,
          "SwitzerlandLight", 22, 8.2, 10 and 1.2.



          3388..5599..1111..  DDeebbuugg


          This terminal is provided to allow for the debugging of
          ggnnuupplloott.  It is likely to be of use only for users who are
          modifying the source code.



          3388..5599..1122..  DDoossppcc


          The ddoossppcc terminal driver supports PCs with arbitrary
          graphics boards, which will be automatically detected.  It
          should be used only if you are not using the gcc or Zortec
          C/C++ compilers.












GNUPLOT 4.0                                                      157


          3388..5599..1133..  DDuummbb


          The dduummbb terminal driver has an optional size specifica-
          tion and trailing linefeed control.

          Syntax:
                set terminal dumb {[no]feed} {<xsize> <ysize>}
                                  {[no]enhanced}

          where <xsize> and <ysize> set the size of the dumb termi-
          nals. Default is 79 by 24. The last newline is printed
          only if ffeeeedd is enabled.

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



          3388..5599..1144..  DDxxff


          The ddxxff terminal driver creates pictures that can be
          imported into AutoCad (Release 10.x).  It has no options
          of its own, but some features of its plots may be modified
          by other means.  The default size is 120x80 AutoCad units,
          which can be changed by sseett ssiizzee.  ddxxff uses seven colors
          (white, red, yellow, green, cyan, blue and magenta), which
          can be changed only by modifying the source file.  If a
          black-and-white plotting device is used, the colors are
          mapped to differing line thicknesses.  See the description
          of the AutoCad print/plot command.



          3388..5599..1155..  DDxxyy880000aa


          This terminal driver supports the Roland DXY800A plotter.
          It has no options.



          3388..5599..1166..  EEeeppiicc


          The eeeeppiicc terminal driver supports the extended LaTeX pic-
          ture environment.  It is an alternative to the llaatteexx
          driver.

          The output of this terminal is intended for use with the










GNUPLOT 4.0                                                      158


          "eepic.sty" macro package for LaTeX.  To use it, you need
          "eepic.sty", "epic.sty" and a printer driver that supports
          the "tpic" \specials.  If your printer driver doesn't sup-
          port those \specials, "eepicemu.sty" will enable you to
          use some of them.  dvips and dvipdfm do support the "tpic"
          \specials.

          Syntax:
             set terminal eepic {color, dashed, rotate, small, tiny,
          default, <fontsize>}

          Options: You can give options in any order you wish.
          'color' causes gnuplot to produce \color{...} commands so
          that the graphs are colored. Using this option, you must
          include \usepackage{color} in the preambel of your latex
          document.  'dashed' will allow dashed line types; without
          this option, only solid lines with varying thickness will
          be used.  'dashed' and 'color' are mutually exclusive; if
          'color' is specified, then 'dashed' will be ignored.
          'rotate' will enable true rotated text (by 90 degrees).
          Otherwise, rotated text will be typeset with letters
          stacked above each other. If you use this option you must
          include \usepackage{graphicx} in the preamble.  'small'
          will use \scriptsize symbols as point markers (Probably
          does not work with TeX, only LaTeX2e). Default is to use
          the default math size.  'tiny' uses \scriptscriptstyle
          symbols.  'default' resets all options to their defaults =
          no color, no dashed lines, pseudo-rotated (stacked) text,
          large point symbols.  <fontsize> is a number which speci-
          fies the font size inside the picture environment; the
          unit is pt (points), i.e., 10 pt equals approx. 3.5 mm.
          If fontsize is not specified, then all text inside the
          picture will be set in \footnotesize.

          Notes: Remember to escape the # character (or other chars
          meaningful to (La-)TeX) by \\ (2 backslashes).  It seems
          that dashed lines become solid lines when the vertices of
          a plot are too close. (I do not know if that is a general
          problem with the tpic specials, or if it is caused by a
          bug in eepic.sty or dvips/dvipdfm.)  The default size of
          an eepic plot is 5x3 inches, which can be scaled by 'set
          size a,b'.  Points, among other things, are drawn using
          the LaTeX commands "\Diamond", "\Box", etc.  These com-
          mands no longer belong to the LaTeX2e core; they are
          included in the latexsym package, which is part of the
          base distribution and thus part of any LaTeX implementa-
          tion. Please do not forget to use this package.  Instead
          of latexsym, you can also include the amssymb package. All
          drivers for LaTeX offer a special way of controlling text
          positioning: If any text string begins with '{', you also
          need to include a '}' at the end of the text, and the
          whole text will be centered both horizontally and verti-
          cally.  If the text string begins with '[', you need to










GNUPLOT 4.0                                                      159


          follow this with a position specification (up to two out
          of t,b,l,r), ']{', the text itself, and finally '}'.  The
          text itself may be anything LaTeX can typeset as an LR-
          box.  '\rule{}{}'s may help for best positioning.

          Examples: set term eepic
            output graphs as eepic macros inside a picture environ-
          ment;
            \input the resulting file in your LaTeX document.
          set term eepic color tiny rotate 8
            eepic macros with \color macros, \scripscriptsize point
          markers,
            true rotated text, and all text set with 8pt.

          About label positioning: Use gnuplot defaults (mostly sen-
          sible, but sometimes not really best):
                 set title '\LaTeX\ -- $ \gamma $'
          Force centering both horizontally and vertically:
                 set label '{\LaTeX\ -- $ \gamma $}' at 0,0
          Specify own positioning (top here):
                 set xlabel '[t]{\LaTeX\ -- $ \gamma $}'
          The other label -- account for long ticlabels:
                 set ylabel '[r]{\LaTeX\ -- $ \gamma
          $\rule{7mm}{0pt}}'



          3388..5599..1177..  EEmmff


          The eemmff terminal generates an Enhanced Metafile Format
          file.  This file format is the metafile standard on MS
          Win32 Systems Syntax:
                set terminal emf {<color>} {solid | dashed}
                                 {"<font>"} {<fontsize>}

          <color> is either ccoolloorr or mmoonnoocchhrroommee; ssoolliidd draws all
          curves with solid lines, overriding any dashed patterns;
          <font> is the name of a font; and <<ffoonnttssiizzee>> is the size
          of the font in points.

          The first two options can be in any order.  Selecting
          ddeeffaauulltt sets all options to their default values.

          Examples:
                set terminal emf 'Times Roman Italic' 12
                set terminal emf color solid    # no pesky dashes!
















GNUPLOT 4.0                                                      160


          3388..5599..1188..  EEmmxxvvggaa


          The eemmxxvvggaa, eemmxxvveessaa and vvggaall terminal drivers support PCs
          with SVGA, vesa SVGA and VGA graphics boards, respec-
          tively.  They are intended to be compiled with "emx-gcc"
          under either DOS or OS/2.  They also need VESA and SVGAKIT
          maintained by Johannes Martin (JMARTIN@GOOFY.ZDV.UNI-
          MAINZ.DE) with additions by David J. Liu
          (liu@phri.nyu.edu).

          Syntax:
                set terminal emxvga
                set terminal emxvesa {vesa-mode}
                set terminal vgal

          The only option is the vesa mode for eemmxxvveessaa, which
          defaults to G640x480x256.



          3388..5599..1199..  EEppssllaatteexx


          The eeppssllaatteexx driver generates output for further process-
          ing by LaTeX.  Syntax:
                set terminal epslatex {default}
                                        {color | monochrome} {solid
          | dashed}
                                        {"<fontname>"} {<fontsize>}

          ddeeffaauulltt mode sets all options to their defaults: mmoonnoo--
          cchhrroommee, ddaasshheedd, "default" and 11pt.  Default size of a
          plot is 5 inches wide and 3 inches high.

          ssoolliidd draws all plots with solid lines, overriding any
          dashed patterns; ""<<ffoonnttnnaammee>>"" is the name of font; and
          <<ffoonnttssiizzee>> is the size of the font in PostScript points.
          Font selection isn't supported yet.  Font size selection
          is supported only for the calculation of proper spacing.
          The actual LaTeX font at the point of inclusion is taken,
          so use LaTeX commands for changing fonts. If you use e.g.
          12pt as font size for your LaTeX documents, use '"default"
          12' as options.

          All drivers for LaTeX offer a special way of controlling
          text positioning: (a) If any text string begins with '{',
          you also need to include a '}' at the end of the text, and
          the whole text will be centered both horizontally and ver-
          tically by LaTeX.  (b) If the text string begins with '[',
          you need to continue it with: a position specification (up
          to two out of t,b,l,r), ']{', the text itself, and
          finally, '}'. The text itself may be anything LaTeX can










GNUPLOT 4.0                                                      161


          typeset as an LR-box. \rule{}{}'s may help for best posi-
          tioning.  See also the documentation for the ppssllaatteexx ter-
          minal driver.  To create multiline labels, use \short-
          stack, for example
             set ylabel '[r]{\shortstack{first line \\ second
          line}}'

          The driver produces two different files, one for the eps
          part of the figure and one for the LaTeX part. The name of
          the eps file is taken from the sseett oouuttppuutt command. The
          name of the LaTeX file is derived by replacing the file
          extension (normally ..eeppss) with ..tteexx instead.  There is no
          LaTeX output if no output file is given!  Remember to
          close the oouuttppuutt ffiillee before leaving ggnnuupplloott.

          In your LaTeX documents use '\input{filename}' to include
          the figure.  The ..eeppss file is included by the command
          \includegraphics{...}, so you must also include \usepack-
          age{graphicx} in the LaTeX preamble.

          Pdf files can be made from the eps file using 'epstopdf'.
          If the graphics package is properly configured, the LaTeX
          files can also be processed by pdflatex without changes,
          using the pdf files instead of the eps files.



          3388..5599..2200..  EEppssoonn--118800ddppii


          This driver supports a family of Epson printers and deriv-
          atives.

          eeppssoonn--118800ddppii and eeppssoonn--6600ddppii are drivers for Epson LQ-
          style 24-pin printers with resolutions of 180 and 60 dots
          per inch, respectively.

          eeppssoonn--llxx880000 is a generic 9-pin driver appropriate for
          printers like the Epson LX-800, the Star NL-10 and
          NX-1000, the PROPRINTER, and so forth.

          nneecc--ccpp66 is generic 24-pin driver that can be used for
          printers like the NEC CP6 and the Epson LQ-800.

          The ookkiiddaattaa driver supports the 9-pin OKIDATA 320/321
          Standard printers.

          The ssttaarrcc driver is for the Star Color Printer.

          The ttaannddyy--6600ddppii driver is for the Tandy DMP-130 series of
          9-pin, 60-dpi printers.

          Only nneecc--ccpp66 has any options.










GNUPLOT 4.0                                                      162


          Syntax:
                set terminal nec-cp6 {monochrome | colour | draft}

          which defaults to monochrome.

          With each of these drivers, a binary copy is required on a
          PC to print.  Do not use pprriinntt---use instead ccooppyy ffiillee //bb
          llpptt11::.



          3388..5599..2211..  EExxccll


          The eexxccll terminal driver supports Talaris printers such as
          the EXCL Laser printer and the 1590.  It has no options.



          3388..5599..2222..  FFiigg


          The ffiigg terminal device generates output in the Fig graph-
          ics language.

          Syntax:
                set terminal fig {monochrome | color}
                                 {landscape | portrait}
                                 {small | big | size <xsize>
          <ysize>}
                                 {metric | inches}
                                 {pointsmax <max_points>}
                                 {solid | dashed}
                                 {fontsize <fsize>}
                                 {textnormal | {textspecial texthid-
          den textrigid}}
                                 {thickness <units>}
                                 {depth <layer>}
                                 {version <number>}

          mmoonnoocchhrroommee and ccoolloorr determine whether the picture is
          black-and-white or ccoolloorr.  ssmmaallll and bbiigg produce a 5x3 or
          8x5 inch graph in the default llaannddssccaappee mode and 3x5 or
          5x8 inches in ppoorrttrraaiitt mode.  ssiizzee sets (overrides) the
          size of the drawing area to <xsize>*<ysize> in units of
          inches or centimeters depending on the iinncchheess or mmeettrriicc
          setting in effect.  The latter settings is also used as
          default units for editing with "xfig".

          ppooiinnttssmmaaxx <<mmaaxx__ppooiinnttss>> sets the maximum number of points
          per polyline.

          ssoolliidd inhibits automatic usage of ddaasshhed lines when solid










GNUPLOT 4.0                                                      163


          linestyles are used up, which otherwise occurs.

          ffoonnttssiizzee sets the size of the text font to <fsize> points.
          tteexxttnnoorrmmaall resets the text flags and selects postscript
          fonts, tteexxttssppeecciiaall sets the text flags for LaTeX specials,
          tteexxtthhiiddddeenn sets the hidden flag and tteexxttrriiggiidd the rigid
          flag.

          ddeepptthh sets the default depth layer for all lines and text.
          The default depth is 10 to leave room for adding material
          with "xfig" on top of the plot.

          vveerrssiioonn sets the format version of the generated fig out-
          put. Currently only versions 3.1 and 3.2 are supported.

          tthhiicckknneessss sets the default line thickness, which is 1 if
          not specified.  Overriding the thickness can be achieved
          by adding a multiple of 100 to the lliinneettyyppee value for a
          pplloott command.  In a similar way the ddeepptthh of plot elements
          (with respect to the default depth) can be controlled by
          adding a multiple of 1000 to <linetype>.  The depth is
          then <layer> + <linetype>/1000 and the thickness is
          (<linetype>%1000)/100 or, if that is zero, the default
          line thickness.

          Additional point-plot symbols are also available with the
          ffiigg driver. The symbols can be used through ppooiinnttttyyppee val-
          ues % 100 above 50, with different fill intensities con-
          trolled by <pointtype> % 5 and outlines in black (for
          <pointtype> % 10 < 5) or in the current color.  Available
          symbols are
                  50 - 59:  circles
                  60 - 69:  squares
                  70 - 79:  diamonds
                  80 - 89:  upwards triangles
                  90 - 99:  downwards triangles
          The size of these symbols is linked to the font size.  The
          depth of symbols is by default one less than the depth for
          lines to achieve nice error bars.  If <pointtype> is above
          1000, the depth is <layer> + <pointtype>/1000-1.  If
          <pointtype>%1000 is above 100, the fill color is (<point-
          type>%1000)/100-1.

          Available fill colors are (from 1 to 9): black, blue,
          green, cyan, red, magenta, yellow, white and dark blue (in
          monochrome mode: black for 1 to 6 and white for 7 to 9).

          See pplloott wwiitthh for details of <linetype> and <pointtype>.

          The bbiigg option is a substitute for the bbffiigg terminal in
          earlier versions, which is no longer supported.

          Examples:










GNUPLOT 4.0                                                      164


                set terminal fig monochrome small pointsmax 1000  #
          defaults

                plot 'file.dat' with points linetype 102 pointtype
          759
          would produce circles with a blue outline of width 1 and
          yellow fill color.

                plot 'file.dat' using 1:2:3 with err linetype 1
          pointtype 554
          would produce errorbars with black lines and circles
          filled red.  These circles are one layer above the lines
          (at depth 9 by default).

          To plot the error bars on top of the circles use
                plot 'file.dat' using 1:2:3 with err linetype 1
          pointtype 2554



          3388..5599..2233..  GGggii


          The ggggii driver can run on different targets as X or
          svgalib.

          Syntax:
             set terminal ggi [acceleration <integer>] [[mode]
          {mode}]

          In X the window cannot be resized using window manager
          handles, but the mode can be given with the mode option,
          e.g.:
           - V1024x768
           - V800x600
           - V640x480
           - V320x200
          Please refer to the ggi documentation for other modes. The
          'mode' keyword is optional. It is recommended to select
          the target by environment variables as explained in the
          libggi manual page. To get DGA on X, you should for exam-
          ple
             bash> export GGI_DISPLAY=DGA
             csh>  setenv GGI_DISPLAY DGA

          'acceleration' is only used for targets which report rela-
          tive pointer motion events (e.g. DGA) and is a strictly
          positive integer multiplication factor for the relative
          distances.  The default for acceleration is 7.

          Examples:
             set term ggi acc 10
             set term ggi acc 1 mode V1024x768










GNUPLOT 4.0                                                      165


             set term ggi V1024x768



          3388..5599..2244..  GGiiff


          The ggiiff terminal driver generates output in GIF format.
          It uses Thomas Boutell's gd library, which is available
          from http://www.boutell.com/gd/ Support for GIF output was
          removed from the gd library beginning with version 1.6;
          newer versions support PNG output instead.

          Syntax:
                set terminal gif {transparent} {interlace}
                                 {tiny | small | medium | large |
          giant}
                                 {size <x>,<y>}
                                 {<color0> <color1> <color2> ...}

          ttrraannssppaarreenntt instructs the driver to generate transparent
          GIFs.  The first color will be the transparent one.

          iinntteerrllaaccee instructs the driver to generate interlaced
          GIFs.

          The choice of fonts is ttiinnyy (5x8 pixels), ssmmaallll (6x12 pix-
          els), mmeeddiiuumm (7x13 Bold), llaarrggee (8x16) or ggiiaanntt (9x15 pix-
          els)

          The size <x,y> is given in pixels---it defaults to
          640x480.  The number of pixels can be also modified by
          scaling with the sseett ssiizzee command.

          Each color must be of the form 'xrrggbb', where x is the
          literal character 'x' and 'rrggbb' are the red, green and
          blue components in hex.  For example, 'x00ff00' is green.
          The background color is set first, then the border colors,
          then the X & Y axis colors, then the plotting colors.  The
          maximum number of colors that can be set is 256.

          Examples:
                set terminal gif small size 640,480 \
                                 xffffff x000000 x404040 \
                                 xff0000 xffa500 x66cdaa xcdb5cd \
                                 xadd8e6 x0000ff xdda0dd x9500d3
          # defaults

          which uses white for the non-transparent background, black
          for borders, gray for the axes, and red, orange, medium
          aquamarine, thistle 3, light blue, blue, plum and dark
          violet for eight plotting colors.











GNUPLOT 4.0                                                      166


                set terminal gif transparent xffffff \
                                 x000000 x202020 x404040 x606060 \
                                 x808080 xA0A0A0 xC0C0C0 xE0E0E0

          which uses white for the transparent background, black for
          borders, dark gray for axes, and a gray-scale for the six
          plotting colors.

          The page size is 640x480 pixels.  The ggiiff driver can cre-
          ate either color or monochromatic output, but you have no
          control over which is produced.

          The current version of the ggiiff driver does not support
          animated GIFs.



          3388..5599..2255..  GGnnuuggrraapphh((GGNNUU pplloottuuttiillss))


          The ggnnuuggrraapphh driver produces device-independent output in
          the GNU plot graphics language.  The default size of the
          PostScript results generated by "plot2ps" is 5 x 3 inches;
          this can be increased up to about 8.25 x 8.25 by sseett ssiizzee.

          Syntax:
                set terminal gnugraph {"<fontname>"} {<fontsize>}
                                      {type <pt>} {size "<size>"}

          which defaults to 10-point "Courier".

          For ttyyppee, the following options are accepted: XX, ppnnmm, ggiiff,
          aaii, ppss, ccggmm, ffiigg, ppccll55, hhppggll, tteekk, and mmeettaa (default). The
          ssiizzee option (default is a4) is passed straight through to
          plotutils, it's the user's responsibility to provide cor-
          rect values. Details can be found in the plotutils docu-
          mentation.

          Examples:
                set terminal gnugraph type hpgl size "a4"
                set terminal gnugraph size "a4,xoffset=-5mm,yoff-
          set=2.0cm" type pnm

          There is a non-GNU version of the ggnnuuggrraapphh driver which
          cannot be compiled unless this version is left out.



          3388..5599..2266..  GGppiicc


          The ggppiicc terminal driver generates GPIC graphs in the Free
          Software Foundations's "groff" package.  The default size










GNUPLOT 4.0                                                      167


          is 5 x 3 inches.  The only option is the origin, which
          defaults to (0,0).

          Syntax:
                set terminal gpic {<x> <y>}

          where xx and yy are in inches.

          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 sseett
          llaabbeell and sseett {{xx//yy}}llaabbeell 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 docu-
          ment.  The pic language is easy to understand, so the
          graphs can be edited by hand if need be.  All co-ordinates
          in the pic-file produced by ggnnuupplloott are given as x+gnu-
          plotx and y+gnuploty.  By default x and y are given the
          value 0.  If this line is removed with an editor in a num-
          ber of files, one can put several graphs in 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-inch-wide figure with four graphs
          in two rows on top of each other.

          One can also achieve the same thing by the command

                set terminal gpic x y











GNUPLOT 4.0                                                      168


          for example, using

                .PS 6.0
                copy "trig.pic"
                .PE



          3388..5599..2277..  GGpprr


          The ggpprr terminal driver supports the Apollo Graphics Prim-
          itive Resource for a fixed-size window.  It has no
          options.

          If a variable window size is desired, use the aappoolllloo ter-
          minal instead.



          3388..5599..2288..  GGrraassss


          The ggrraassss terminal driver gives ggnnuupplloott capabilities to
          users of the GRASS geographic information system.  Contact
          grassp-list@moon.cecer.army.mil for more information.
          Pages are written to the current frame of the GRASS Graph-
          ics Window.  There are no options.



          3388..5599..2299..  HHeerrccuulleess


          These drivers supports PC monitors with autodetected
          graphics boards.  They can be used only when compiled with
          Zortech C/C++.  None have options.



          3388..5599..3300..  HHpp22662233aa


          The hhpp22662233aa terminal driver supports the Hewlett Packard
          HP2623A.  It has no options.



          3388..5599..3311..  HHpp22664488


          The hhpp22664488 terminal driver supports the Hewlett Packard
          HP2647 and HP2648.  It has no options.










GNUPLOT 4.0                                                      169


          3388..5599..3322..  HHpp550000cc


          The hhpp550000cc terminal driver supports the Hewlett Packard HP
          DeskJet 500c.  It has options for resolution and compres-
          sion.

          Syntax:
                set terminal hp500c {<res>} {<comp>}

          where rreess can be 75, 100, 150 or 300 dots per inch and
          ccoommpp can be "rle", or "tiff".  Any other inputs are
          replaced by the defaults, which are 75 dpi and no compres-
          sion.  Rasterization at the higher resolutions may require
          a large amount of memory.



          3388..5599..3333..  HHppggll


          The hhppggll driver produces HPGL output for devices like the
          HP7475A plotter.  There are two options which can be set:
          the number of pens and eejjeecctt, which tells the plotter to
          eject a page when done.  The default is to use 6 pens and
          not to eject the page when done.

          The international character sets ISO-8859-1 and CP850 are
          recognized via sseett eennccooddiinngg iissoo__88885599__11 or sseett eennccooddiinngg
          ccpp885500 (see sseett eennccooddiinngg for details).

          Syntax:
                set terminal hpgl {<number_of_pens>} {eject}

          The selection

                set terminal hpgl 8 eject

          is equivalent to the previous hhpp77555500 terminal, and the
          selection

                set terminal hpgl 4

          is equivalent to the previous hhpp77558800bb terminal.

          The ppccll55 driver supports plotters such as the Hewlett-
          Packard Designjet 750C, the Hewlett-Packard Laserjet III,
          and the Hewlett-Packard Laserjet IV.  It actually uses
          HPGL-2, but there is a name conflict among the terminal
          devices.  It has several options which must be specified
          in the order indicated below:

          Syntax:










GNUPLOT 4.0                                                      170


                set terminal pcl5 {mode <mode>} {<plotsize>}
                    {{color {<number_of_pens>}} | monochrome} {solid
          | dashed}
                    {font <font>} {size <fontsize>} {pspoints | nop-
          spoints}

          <mode> is llaannddssccaappee or ppoorrttrraaiitt. <plotsize> is the physi-
          cal plotting size of the plot, which is one of the follow-
          ing: lleetttteerr for standard (8 1/2" X 11") displays, lleeggaall
          for (8 1/2" X 14") displays, nnooeexxtteennddeedd for (36" X 48")
          displays (a letter size ratio) or, eexxtteennddeedd for (36" X
          55") displays (almost a legal size ratio).  ccoolloorr is for
          multi-pen (i.e. color) plots, and <number_of_pens> is the
          number of pens (i.e. colors) used in color plots. mmoonnoo--
          cchhrroommee is for one (e.g. black) pen plots. ssoolliidd draws all
          lines as solid lines, or ddaasshheedd will draw lines with dif-
          ferent dashed and dotted line patterns.  <font> is ssttiicckk,
          uunniivveerrss, ccgg__ttiimmeess, zzaappff__ddiinnggbbaattss, aannttiiqquuee__oolliivvee, aarriiaall,
          ccoouurriieerr, ggaarraammoonndd__aannttiigguuaa, lleetttteerr__ggootthhiicc, ccgg__oommeeggaa, aallbbeerr--
          ttuuss, ttiimmeess__nneeww__rroommaann, ccllaarreennddoonn, ccoorroonneett, mmaarriiggoolldd, ttrruuee--
          ttyyppee__ssyymmbboollss, or wwiinnggddiinnggss. <fontsize> is the font size in
          points.  The point type selection can be the standard
          default set by specifying nnooppssppooiinnttss, or the same set of
          point types found in the postscript terminal by specifying
          ppssppooiinnttss.

          Note that built-in support of some of these options is
          printer device dependent. For instance, all the fonts are
          supposedly supported by the HP Laserjet IV, but only a few
          (e.g. univers, stick) may be supported by the HP Laserjet
          III and the Designjet 750C. Also, color obviously won't
          work on the the laserjets since they are monochrome
          devices.

          Defaults: landscape, noextended, color (6 pens), solid,
          univers, 12 point,
                    and nopspoints.

          With ppccll55 international characters are handled by the
          printer; you just put the appropriate 8-bit character
          codes into the text strings.  You don't need to bother
          with sseett eennccooddiinngg.

          HPGL graphics can be imported by many software packages.



          3388..5599..3344..  HHpplljjiiii


          The hhpplljjiiii terminal driver supports the HP Laserjet Series
          II printer.  The hhppddjj driver supports the HP DeskJet 500
          printer.  These drivers allow a choice of resolutions.










GNUPLOT 4.0                                                      171


          Syntax:
                set terminal hpljii | hpdj {<res>}

          where rreess may be 75, 100, 150 or 300 dots per inch; the
          default is 75.  Rasterization at the higher resolutions
          may require a large amount of memory.

          The hhpp550000cc terminal is similar to hhppddjj; hhpp550000cc addition-
          ally supports color and compression.



          3388..5599..3355..  HHppppjj


          The hhppppjj terminal driver supports the HP PaintJet and
          HP3630 printers.  The only option is the choice of font.

          Syntax:
                set terminal hppj {FNT5X9 | FNT9X17 | FNT13X25}

          with the middle-sized font (FNT9X17) being the default.



          3388..5599..3366..  IImmaaggeenn


          The iimmaaggeenn terminal driver supports Imagen laser printers.
          It is capable of placing multiple graphs on a single page.

          Syntax:
                set terminal imagen {<fontsize>} {portrait | land-
          scape}
                                    {[<horiz>,<vert>]}

          where ffoonnttssiizzee defaults to 12 points and the layout
          defaults to llaannddssccaappee.  <<hhoorriizz>> and <<vveerrtt>> are the number
          of graphs in the horizontal and vertical directions; these
          default to unity.

          Example:
                set terminal imagen portrait [2,3]

          puts six graphs on the page in three rows of two in por-
          trait orientation.



          3388..5599..3377..  IIrriiss44dd













GNUPLOT 4.0                                                      172


          The iirriiss44dd terminal driver supports Silicon Graphics IRIS
          4D computers.  Its only option is 8- or 24-bit color
          depth.  The default is 8.

          Syntax:
                set terminal iris4d {8 | 24}

          The color depth is not really a choice -- the value appro-
          priate for the hardware should be selected.

          When using 24-bit mode, the colors can be directly speci-
          fied 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 plot-
          ting colors, in that order.  For example, here is a file
          containing the default colors:

                85   85   85     Background   (dark gray)
                0    0    0      Boundary     (black)
                170  0    170    Labeling     (magenta)
                85   255  255    Plot Color 1 (light cyan)
                170  0    0      Plot Color 2 (red)
                0    170  0      Plot Color 3 (green)
                255  85   255    Plot Color 4 (light magenta)
                255  255  85     Plot Color 5 (yellow)
                255  85   85     Plot Color 6 (light red)
                85   255  85     Plot Color 7 (light green)
                0    170  170    Plot Color 8 (cyan)
                170  170  0      Plot Color 9 (brown)

          This file must have exactly 12 lines of RGB triples.  No
          empty lines are allowed, and anything after the third num-
          ber on a line is ignored.



          3388..5599..3388..  JJppeegg



          Syntax:
                set terminal jpeg
                                 {{no}interlace}
                                 {tiny | small | medium | large |
          giant}
                                 {font <face> {<pointsize>}}
                                 {size <x>,<y>} {{no}crop}
                                 {{no}enhanced}
                                 {<color0> <color1> <color2> ...}

          JPEG images are created using libgd, with optional support
          for TrueType fonts via libfreetype.










GNUPLOT 4.0                                                      173


          The iinntteerrllaaccee option creates a progressive JPEG image.
          Default is nnooiinntteerrllaaccee.

          Five basic fonts are supported directly by the gd library.
          These are ttiinnyy (5x8 pixels), ssmmaallll (6x12 pixels), mmeeddiiuumm,
          (7x13 Bold), llaarrggee (8x16) or ggiiaanntt (9x15 pixels). These
          fonts cannot be scaled or rotated (pure horizontal or ver-
          tical text only).

          If gnuplot was built with support for TrueType (*.ttf) or
          Adobe Type 1 (*.pfa) fonts, they may be selected using the
          'font <face> {<pointsize>}' option. <face> is either the
          full pathname to the font file, or a font face name that
          is assumed to be the first part of a filename in one of
          the directories listed in the GDFONTPATH environmental
          variable. That is, 'set term jpeg font "Face"' will look
          for a font file named either <somedirectory>/Face.ttf or
          <somedirectory>/Face.pfa. Both TrueType and Adobe Type 1
          fonts are fully scalable and may be rotated through any
          angle.  If no font is specified, gnuplot checks the envi-
          ronmental variable GNUPLOT_DEFAULT_GDFONT to see if there
          is a preferred default font.

          eennhhaanncceedd enables the enhanced text processing features,
          (subscripts, superscripts and mixed fonts). See eennhhaanncceedd
          for more information.  The full enhanced mode syntax is
          supported by the PNG/JPEG driver itself, but some of these
          features are dependent on which version of the underlying
          libgd library is present, and which fonts are available.

          The size <x,y> is given in pixels---it defaults to
          640x480.  The number of pixels can be also modified by
          scaling with the sseett ssiizzee command.  ccrroopp trims blank space
          from the edges of the completed plot, resulting in a
          smaller final image size. Default is nnooccrroopp.

          Each color must be of the form 'xrrggbb', where x is the
          literal character 'x' and 'rrggbb' are the red, green and
          blue components in hex.  For example, 'x00ff00' is green.
          The background color is set first, then the border colors,
          then the X & Y axis colors, then the plotting colors.  The
          maximum number of colors that can be set is 256.

          Examples:
                set terminal jpeg medium size 640,480 \
                                 xffffff x000000 x404040 \
                                 xff0000 xffa500 x66cdaa xcdb5cd \
                                 xadd8e6 x0000ff xdda0dd x9500d3
          # defaults

          which uses white for the non-transparent background, black
          for borders, gray for the axes, and red, orange, medium
          aquamarine, thistle 3, light blue, blue, plum and dark










GNUPLOT 4.0                                                      174


          violet for eight plotting colors.

                set terminal jpeg large font arial size 800,600

          which searches for a TrueType font with face name 'arial'
          in the directory specified by the environment variable
          GDFONTPATH and large (14pt) font size.




          3388..5599..3399..  KKyyoo


          The kkyyoo and pprreessccrriibbee terminal drivers support the Kyocera
          laser printer.  The only difference between the two is
          that kkyyoo uses "Helvetica" whereas pprreessccrriibbee uses
          "Courier".  There are no options.



          3388..5599..4400..  LLaatteexx


          The llaatteexx and eemmtteexx drivers allow two options.

          Syntax:
                set terminal latex | emtex {courier | roman |
          default} {<fontsize>}

          ffoonnttssiizzee may be any size you specify.  The default is for
          the plot to inherit its font setting from the embedding
          document.

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

          METAFONT users beware: METAFONT does not like odd sizes.

          All drivers for LaTeX offer a special way of controlling
          text positioning: If any text string begins with '{', you
          also need to include a '}' at the end of the text, and the
          whole text will be centered both horizontally and verti-
          cally.  If the text string begins with '[', you need to
          follow this with a position specification (up to two out
          of t,b,l,r), ']{', the text itself, and finally '}'.  The
          text itself may be anything LaTeX can typeset as an LR-
          box.  '\rule{}{}'s may help for best positioning.

          Points, among other things, are drawn using the LaTeX com-
          mands "\Diamond" and "\Box".  These commands no longer
          belong to the LaTeX2e core; they are included in the










GNUPLOT 4.0                                                      175


          latexsym package, which is part of the base distribution
          and thus part of any LaTeX implementation.  Please do not
          forget to use this package.

          Examples: About label positioning: Use gnuplot defaults
          (mostly sensible, but sometimes not really best):
                 set title '\LaTeX\ -- $ \gamma $'
          Force centering both horizontally and vertically:
                 set label '{\LaTeX\ -- $ \gamma $}' at 0,0
          Specify own positioning (top here):
                 set xlabel '[t]{\LaTeX\ -- $ \gamma $}'
          The other label -- account for long ticlabels:
                 set ylabel '[r]{\LaTeX\ -- $ \gamma
          $\rule{7mm}{0pt}}'



          3388..5599..4411..  LLiinnuuxx


          The lliinnuuxx driver has no additional options to specify.  It
          looks at the environment variable GSVGAMODE for the
          default mode; if not set, it uses 1024x768x256 as default
          mode or, if that is not possible, 640x480x16 (standard
          VGA).



          3388..5599..4422..  MMaacciinnttoosshh


          Several options may be set in the 'macintosh' driver.

          Syntax:
               set terminal macintosh {singlewin | multiwin} {verti-
          cal | novertical}
                                      {size <width>, <height> |
          default}

          'singlewin' limits the output to a single window and is
          useful for animations.  'multiwin' allows multiple win-
          dows.  'vertical' is only valid under the gx option. With
          this option, rotated text
              be drawn vertically. novertical turns this option off.
           size <width>, <height> overrides the graph size set in
          the preferences
              dialog until it is cleared with either 'set term mac
          size default'
              or 'set term mac default'.

           'set term mac size default' sets the window size settings
          to those set in
              the preferences dialog.










GNUPLOT 4.0                                                      176


           'set term mac default' sets all options to their default
          values.
              Default values: nogx, multiwin, novertical.

           If you generate graphs under the multiwin option and then
          switch to singlewin,
           the next plot command will cause one more window to be
          created. This new
           window will be reused as long as singlewin is in effect.
          If you switch back
           to multiwin, generate some graphs, and then switch to
          singlewin again, the
           orginal 'singlewin' window will be resused if it is still
          open. Otherwise
           a new 'singlewin' window will be created. The 'singlewin'
          window is not numbered.



          3388..5599..4433..  MMff


          The mmff terminal driver creates an input file to the META-
          FONT program.  Thus a figure may be used in the TeX docu-
          ment in the same way as is a character.

          To use a picture in a document, the METAFONT program must
          be run with the output file from ggnnuupplloott as input.  Thus,
          the user needs a basic knowledge of the font creating
          process and the procedure for including 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 is in principal free to choose whatever fonts he
          or 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 lim-
          ited amount of memory available may also cause problems if
          too many pictures are stored.

          The mmff terminal has no options.
















GNUPLOT 4.0                                                      177


               3388..5599..4433..11..  MMEETTAAFFOONNTT IInnssttrruuccttiioonnss



               - Set your terminal to METAFONT:
                 set terminal mf
               - Select an output-file, e.g.:
                 set output "myfigures.mf"
               - Create your pictures. Each picture will generate a
               separate character. Its default size will be 5*3
               inches. You can change the size by saying sseett ssiizzee
               00..55,,00..55 or whatever fraction of the default size you
               want to have.

               - Quit ggnnuupplloott.

               - Generate a TFM and GF file by running METAFONT on
               the output of ggnnuupplloott.  Since the picture is quite
               large (5*3 in), you will have to use a version of
               METAFONT that has a value of at least 150000 for mem-
               max.  On Unix systems these are conventionally
               installed under the name bigmf.  For the following
               assume that the command virmf stands for a big ver-
               sion 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 ggnnuupplloott-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 myfig-
               ures.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










GNUPLOT 4.0                                                      178


               directory and doing the same thing for the environ-
               ment 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 pictures in your document you have
               to tell TeX the font:
                 \font\gnufigs=myfigures
               Each picture you made is stored in a single charac-
               ter.  The first picture is character 0, the second is
               character 1, and so on...  After doing the above
               step, you can use the pictures just like any other
               characters.  Therefore, to place pictures 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 picture wherever
               you wish by using the \makebox and \put macros.

               This conversion saves you a lot of time once you have
               generated the font; TeX handles the pictures as char-
               acters and uses minimal time to place them, and the
               documents you make change more often than the pic-
               tures do.  It also 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.



          3388..5599..4444..  MMggrr


          The mmggrr terminal driver supports the Mgr Window system.
          It has no options.



          3388..5599..4455..  MMiiff


          The mmiiff 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 ggnnuupplloott page
          will be plotted in a MIF Frame, and several MIF Frames are
          collected in one large MIF Frame.  The MIF font used for
          text is "Times".

          Several options may be set in the MIF 3.00 driver.










GNUPLOT 4.0                                                      179


          Syntax:
                set terminal mif {color | colour | monochrome}
          {polyline | vectors}
                                 {help | ?}

          ccoolloouurr plots lines with line types >= 0 in colour (MIF
          sep. 2--7) and mmoonnoocchhrroommee plots all line types in black
          (MIF sep. 0).  ppoollyylliinnee plots curves as continuous curves
          and vveeccttoorrss plots curves as collections of vectors.  hheellpp
          and ?? print online help on standard error output---both
          print a short description of the usage; hheellpp also lists
          the options.

          Examples:
                set term mif colour polylines    # defaults
                set term mif                     # defaults
                set term mif vectors
                set term mif help



          3388..5599..4466..  MMpp



          The mmpp driver produces output intended to be input to the
          Metapost program.  Running Metapost on the file creates
          EPS files containing the plots. By default, Metapost
          passes all text through TeX.  This has the advantage of
          allowing essentially  any TeX symbols in titles and
          labels.

          Syntax:
             set term mp {color | colour | monochrome}
                         {solid | dashed}
                         {notex | tex | latex}
                         {magnification <magsize>}
                         {psnfss | psnfss-version7 | nopsnfss}
                         {prologues <value>}
                         {a4paper}
                         {amstex}
                         {"<fontname>"} {<fontsize>}

          The option ccoolloorr causes lines to be drawn in color (on a
          printer or display that supports it), mmoonnoocchhrroommee (or noth-
          ing) selects black lines.  The option ssoolliidd draws solid
          lines, while ddaasshheedd (or nothing) selects lines with dif-
          ferent patterns of dashes.  If ssoolliidd is selected but ccoolloorr
          is not, nearly all lines will be identical.  This may
          occasionally be useful, so it is allowed.

          The option nnootteexx bypasses TeX entirely, therefore no TeX
          code can be used in labels under this option.  This is










GNUPLOT 4.0                                                      180


          intended for use on old plot files or files that make fre-
          quent use of common characters like $$ and %% that require
          special handling in TeX.

          The option tteexx sets the terminal to output its text for
          TeX to process.

          The option llaatteexx sets the terminal to output its text for
          processing by LaTeX. This allows things like \frac for
          fractions which LaTeX knows about but TeX does not.  Note
          that you must set the environment variable TEX to the name
          of your LaTeX executable (normally latex) if you use this
          option or use mmppoosstt ----tteexx==<<nnaammee ooff LLaaTTeeXX eexxeeccuuttaabbllee>> .......
          Otherwise metapost will try and use TeX to process the
          text and it won't work.

          Changing font sizes in TeX has no effect on the size of
          mathematics, and there is no foolproof way to make such a
          change, except by globally  setting a magnification fac-
          tor. This is the purpose of the mmaaggnniiffiiccaattiioonn option. It
          must be followed by a scaling factor. All text (NOT the
          graphs) will be scaled by this factor. Use this if you
          have math that you want at some size other than the
          default 10pt. Unfortunately, all math will be the same
          size, but see the discussion below on editing the MP out-
          put. mmaagg will also work under nnootteexx but there seems no
          point in using it as the font size option (below) works as
          well.

          The option ppssnnffssss uses postscript fonts in combination
          with LaTeX. Since this option only makes sense, if LaTeX
          is being used, the llaatteexx option is selected automatically.
          This option includes the following packages for LaTeX:
          inputenc(latin1), fontenc(T1), mathptmx, hel-
          vet(scaled=09.2), courier, latexsym and textcomp.

          The option ppssnnffssss--vveerrssiioonn77 uses also postscript fonts in
          LaTeX (option llaatteexx is also automatically selected), but
          uses the following packages with LaTeX: inputenc(latin1),
          fontenc(T1), times, mathptmx, helvet and courier.

          The option nnooppssnnffssss is the default and uses the standard
          font (cmr10 if not otherwise specified).

          The option pprroolloogguueess takes a value as an additional argu-
          ment and adds the line pprroolloogguueess::==<<vvaalluuee>> to the metapost
          file. If a value of 22 is specified metapost uses post-
          script fonts to generate the eps-file, so that the result
          can be viewed using e.g. ghostscript. Normally the output
          of metapost uses TeX fonts and therefore has to be
          included in a (La)TeX file before you can look at it.

          The option nnoopprroolloogguueess is the default. No additional line










GNUPLOT 4.0                                                      181


          specifying the prologue will be added.

          The option aa44ppaappeerr adds a [[aa44ppaappeerr]] to the documentclass.
          Normally letter paper is used (default). Since this option
          is only used in case of LaTeX, the llaatteexx option is
          selected automatically.

          The option aammsstteexx automatically selects the llaatteexx option
          and includes the following LaTeX packages: amsfonts, ams-
          math(intlimits). By default these packages are not
          included.

          A name in quotes selects the font that will be used when
          no explicit font is given in a sseett llaabbeell or sseett ttiittllee.  A
          name recognized by TeX (a TFM file exists) must be used.
          The default is "cmr10" unless nnootteexx is selected, then it
          is "pcrr8r" (Courier).  Even under nnootteexx, a TFM file is
          needed by Metapost. The file ppccrrrr88rr..ttffmm is the name given
          to Courier in LaTeX's psnfss package.  If you change the
          font from the nnootteexx default, choose a font that matches
          the ASCII encoding at least in the range 32-126.  ccmmtttt1100
          almost works, but it has a nonblank character in position
          32 (space).

          The size can be any number between 5.0 and 99.99.  If it
          is omitted, 10.0 is used.  It is advisable to use mmaaggsstteepp
          sizes: 10 times an integer or half-integer power of 1.2,
          rounded to two decimals, because those are the most avail-
          able sizes of fonts in TeX systems.

          All the options are optional.  If font information is
          given, it must be at the end, with size (if present) last.
          The size is needed to select a size for the font, even if
          the font name includes size information.  For example, sseett
          tteerrmm mmpp ""ccmmtttt1122"" selects cmtt12 shrunk to the default size
          10.  This is probably not what you want or you would have
          used cmtt10.

          The following common ascii characters need special treat-
          ment in TeX:
             $, &, #, %, _;  |, <, >;  ^, ~,  \, {, and }
          The five characters $, #, &, _, and % can simply be
          escaped, e.g., \\$$.  The three characters <, >, and | can
          be wrapped in math mode, e.g., $$<<$$.  The remainder require
          some TeX work-arounds.  Any good book on TeX will give
          some guidance.

          If you type your labels inside double quotes, backslashes
          in TeX code need to be escaped (doubled). Using single
          quotes will avoid having to do this, but then you cannot
          use \\nn for line breaks.  As of this writing, version 3.7
          of gnuplot processes titles given in a pplloott command dif-
          ferently than in other places, and backslashes in TeX










GNUPLOT 4.0                                                      182


          commands need to be doubled regardless of the style of
          quotes.

          Metapost pictures are typically used in TeX documents.
          Metapost deals with fonts pretty much the same way TeX
          does, which is different from most other document prepara-
          tion programs.  If the picture is included in a LaTeX doc-
          ument using the graphics package, or in a plainTeX docu-
          ment via epsf.tex, and then converted to PostScript with
          dvips (or other dvi-to-ps converter), the text in the plot
          will usually be handled correctly.  However, the text may
          not appear if you send the Metapost output as-is to a
          PostScript interpreter.





               3388..5599..4466..11..  MMeettaappoosstt IInnssttrruuccttiioonnss



               - Set your terminal to Metapost, e.g.:
                  set terminal mp mono "cmtt12" 12

               - Select an output-file, e.g.:
                  set output "figure.mp"

               - Create your pictures.  Each plot (or multiplot
               group) will generate a separate Metapost begin-
               fig...endfig group.  Its default size will be 5 by 3
               inches.  You can change the size by saying sseett ssiizzee
               00..55,,00..55 or whatever fraction of the default size you
               want to have.

               - Quit gnuplot.

               - Generate EPS files by running Metapost on the out-
               put of gnuplot:
                  mpost figure.mp  OR  mp figure.mp
               The name of the Metapost program depends on the sys-
               tem, typically mmppoosstt for a Unix machine and mmpp on
               many others.  Metapost will generate one EPS file for
               each picture.

               - To include your pictures in your document you can
               use the graphics package in LaTeX or epsf.tex in
               plainTeX:
                  \usepackage{graphics} % LaTeX
                  \input epsf.tex       % plainTeX
               If you use a driver other than dvips for converting
               TeX DVI output to PS, you may need to add the follow-
               ing line in your LaTeX document:










GNUPLOT 4.0                                                      183


                  \DeclareGraphicsRule{*}{eps}{*}{}
               Each picture you made is in a separate file.  The
               first picture is in, e.g., figure.0, the second in
               figure.1, and so on....  To place the third picture
               in your document, for example, all you have to do is:
                  \includegraphics{figure.2} % LaTeX
                  \epsfbox{figure.2}         % plainTeX

               The advantage, if any, of the mp terminal over a
               postscript terminal is editable output.  Considerable
               effort went into making this output as clean as pos-
               sible.  For those knowledgeable in the Metapost lan-
               guage, the default line types and colors can be
               changed by editing the arrays lltt[[]] and ccooll[[]].  The
               choice of solid vs dashed lines, and color vs black
               lines can be change by changing the values assigned
               to the booleans ddaasshheeddlliinneess and ccoolloorrlliinneess.  If the
               default tteexx option was in effect, global changes to
               the text of labels can be achieved by editing the
               vveebbaattiimmtteexx......eetteexx block.  In particular, a LaTeX pre-
               amble can be added if desired, and then LaTeX's
               built-in size changing commands can be used for maxi-
               mum flexibility. Be sure to set the appropriate MP
               configuration variable to force Metapost to run LaTeX
               instead of plainTeX.



          3388..5599..4477..  MMttooss


          The mmttooss terminal has no options.  It sends data via a
          pipe to an external program called GPCLIENT.  It runs
          under MULTITOS, Magic 3.x, MagicMAC. and MiNT.  If you
          cannot find GPCLIENT, than mail to dirk@lstm.uni-erlan-
          gen.de.



          3388..5599..4488..  NNeexxtt


          Several options may be set in the next driver.

          Syntax:
                set terminal next {<mode>} {<type> } {<color>}
          {<dashed>}
                           {"<fontname>"} {<fontsize>} title
          {"<newtitle>"}

          where <mode> is  ddeeffaauulltt, which sets all options to their
          defaults; <type> is either nneeww or oolldd, where oolldd invokes
          the old single window; <color> is either ccoolloorr or










GNUPLOT 4.0                                                      184


          mmoonnoocchhrroommee; <dashed> is either ssoolliidd or ddaasshheedd; "<font-
          name>" is the name of a valid PostScript font; <fontsize>
          is the size of the font in PostScript points; and <title>
          is the title for the GnuTerm window.  Defaults are  nneeww,
          mmoonnoocchhrroommee, ddaasshheedd, "Helvetica", 14pt.

          Examples:
                set term next default
                set term next 22
                set term next color "Times-Roman" 14
                set term next color "Helvetica" 12 title "MyPlot"
                set term next old

          Pointsizes may be changed with sseett lliinneessttyyllee.



          3388..5599..4499..  OOppeennsstteepp ((nneexxtt))


          Several options may be set in the openstep (next) driver.

          Syntax:
                set terminal openstep {<mode>} {<type> } {<color>}
          {<dashed>}
                           {"<fontname>"} {<fontsize>} title
          {"<newtitle>"}

          where <mode> is  ddeeffaauulltt, which sets all options to their
          defaults; <type> is either nneeww or oolldd, where oolldd invokes
          the old single window; <color> is either ccoolloorr or mmoonnoo--
          cchhrroommee; <dashed> is either ssoolliidd or ddaasshheedd; "<fontname>"
          is the name of a valid PostScript font; <fontsize> is the
          size of the font in PostScript points; and <title> is the
          title for the GnuTerm window.  Defaults are  nneeww, mmoonnoo--
          cchhrroommee, ddaasshheedd, "Helvetica", 14pt.

          Examples:
                set term openstep default
                set term openstep 22
                set term openstep color "Times-Roman" 14
                set term openstep color "Helvetica" 12 title
          "MyPlot"
                set term openstep old

          Pointsizes may be changed with sseett lliinneessttyyllee.



          3388..5599..5500..  PPbbmm













GNUPLOT 4.0                                                      185


          Several options may be set in the ppbbmm terminal---the
          driver for PBMplus.

          Syntax:
                set terminal pbm {<fontsize>} {<mode>}

          where <fontsize> is ssmmaallll, mmeeddiiuumm, or llaarrggee and <mode> is
          mmoonnoocchhrroommee, ggrraayy or ccoolloorr.  The default plot size is 640
          pixels wide and 480 pixels high; this may be changed by
          sseett ssiizzee.

          The output of the ppbbmm driver depends upon <mode>: mmoonnoo--
          cchhrroommee produces a portable bitmap (one bit per pixel),
          ggrraayy a portable graymap (three bits per pixel) and ccoolloorr a
          portable pixmap (color, four bits per pixel).

          The output of this driver can be used with Jef Poskanzer's
          excellent PBMPLUS package, which provides programs to con-
          vert the above PBMPLUS formats to GIF, TIFF, MacPaint,
          Macintosh PICT, PCX, X11 bitmap and many others.  PBMPLUS
          may be obtained from ftp.x.org.  The relevant files have
          names that begin with "netpbm-1mar1994.p1"; they reside in
          /contrib/utilities.  The package can probably also be
          obtained from one of the many sites that mirrors
          ftp.x.org.

          Examples:
                set terminal pbm small monochrome             #
          defaults
                set size 2,2; set terminal pbm color medium



          3388..5599..5511..  PPddff


          This terminal produces files in the Adobe Portable Docu-
          ment Format (PDF), useable for printing or display with
          tools like Acrobat Reader

          Syntax:
                set terminal pdf {fname "<font>"} {fsize <fontsize>}
                                 {{no}enhanced}

          where <font> is the name of the default font to use
          (default Helvetica) and <fontsize> is the font size (in
          points, default 12).

          The eennhhaanncceedd option enables enhanced text processing fea-
          tures (subscripts, superscripts and mixed fonts). See
          eennhhaanncceedd for more information. Only the core PDF fonts are
          supported.











GNUPLOT 4.0                                                      186


          3388..5599..5522..  PPmm


          The ppmm terminal driver provides an OS/2 Presentation Man-
          ager window in which the graph is plotted.  The window is
          opened when the first graph is plotted.  This window has
          its own online help as well as facilities for printing,
          copying to the clipboard and some line type and color
          adjustments.  The mmuullttiipplloott option is supported.

          Syntax:
                set terminal pm {server {n}} {persist} {widelines}
          {enhanced} {"title"}

          If ppeerrssiisstt is specified, each graph appears in its own
          window and all windows remain open after ggnnuupplloott exits.
          If sseerrvveerr is specified, all graphs appear in the same win-
          dow, which remains open when ggnnuupplloott exits.  This option
          takes an optional numerical argument which specifies an
          instance of the server process.  Thus multiple server win-
          dows can be in use at the same time.

          If wwiiddeelliinneess is specified, all plots will be drawn with
          wide lines.  If eennhhaanncceedd is specified, sub- and super-
          scripts and multiple fonts are enabled using the same syn-
          tax as the eennhhaanncceedd ppoossttssccrriipptt option (see sseett tteerrmmiinnaall
          ppoossttssccrriipptt eennhhaanncceedd for details).  Font names for the
          basic PostScript fonts may be abbreviated to single let-
          ters.

          If ttiittllee is specified, it will be used as the title of the
          plot window.  It will also be used as the name of the
          server instance, and will override the optional numerical
          argument.

          Linewidths may be changed with sseett lliinneessttyyllee.



          3388..5599..5533..  PPnngg ((NNEEWW))


          Syntax:
                set terminal png
                       {{no}transparent} {{no}interlace}
                       {tiny | small | medium | large | giant}
                       {font <face> {<pointsize>}}
                       {size <x>,<y>} {{no}crop}
                       {{no}enhanced}
                       {<color0> <color1> <color2> ...}

          PNG images are created using libgd, with optional support
          for TrueType and Adobe Type 1 fonts via libfreetype.










GNUPLOT 4.0                                                      187


          Version 1.8 or greater of libgd is required.

          ttrraannssppaarreenntt instructs the driver to generate transparent
          PNGs.  The first color will be the transparent one.
          Default is nnoottrraannssppaarreenntt.

          iinntteerrllaaccee instructs the driver to generate interlaced
          PNGs.  Default is nnooiinntteerrllaaccee.

          Five basic fonts are supported directly by the gd library.
          These are ttiinnyy (5x8 pixels), ssmmaallll (6x12 pixels), mmeeddiiuumm,
          (7x13 Bold), llaarrggee (8x16) or ggiiaanntt (9x15 pixels). These
          fonts cannot be scaled or rotated (pure horizontal or ver-
          tical text only).

          If gnuplot was built with support for TrueType (*.ttf) or
          Adobe Type 1 (*.pfa) fonts, they may be selected using the
          'font <face> {<pointsize>}' option. <face> is either the
          full pathname to the font file, or a font face name that
          is assumed to be the first part of a filename in one of
          the directories listed in the GDFONTPATH environmental
          variable. That is, 'set term png font "Face"' will look
          for a font file named either <somedirectory>/Face.ttf or
          <somedirectory>/Face.pfa. Both TrueType and Adobe Type 1
          fonts are fully scalable and may be rotated through any
          angle.  If no font is specified, gnuplot checks the envi-
          ronmental variable GNUPLOT_DEFAULT_GDFONT to see if there
          is a preferred default font.

          eennhhaanncceedd enables the enhanced text processing features,
          (subscripts, superscripts and mixed fonts). See eennhhaanncceedd
          for more information.  The full enhanced mode syntax is
          supported by the PNG/JPEG driver itself, but some of these
          features are dependent on which version of the underlying
          libgd library is present, and which fonts are available.

          The size <x,y> is given in pixels---it defaults to
          640x480.  The number of pixels can be also modified by
          scaling with the sseett ssiizzee command.  ccrroopp trims blank space
          from the edges of the completed plot, resulting in a
          smaller final image size. Default is nnooccrroopp.

          Each color must be of the form 'xrrggbb', where x is the
          literal character 'x' and 'rrggbb' are the red, green and
          blue components in hex.  For example, 'x00ff00' is green.
          The background color is set first, then the border colors,
          then the X & Y axis colors, then the plotting colors.  The
          maximum number of colors that can be set is 256.

          Examples:
                set terminal png medium size 640,480 \
                                 xffffff x000000 x404040 \
                                 xff0000 xffa500 x66cdaa xcdb5cd \










GNUPLOT 4.0                                                      188


                                 xadd8e6 x0000ff xdda0dd x9500d3
          # defaults

          which uses white for the non-transparent background, black
          for borders, gray for the axes, and red, orange, medium
          aquamarine, thistle 3, light blue, blue, plum and dark
          violet for eight plotting colors.

                set terminal png font arial 14 size 800,600

          which searches for a TrueType font with face name 'arial'
          in the directory specified by the environment variable
          GDFONTPATH and 14pt font size.

                set terminal png transparent xffffff \
                                 x000000 x202020 x404040 x606060 \
                                 x808080 xA0A0A0 xC0C0C0 xE0E0E0

          which uses white for the transparent background, black for
          borders, dark gray for axes, and a gray-scale for the six
          plotting colors.




          3388..5599..5544..  PPnngg ((OOLLDD))


          The ppnngg terminal driver supports Portable Network Graph-
          ics.  This old version of the png driver requires the
          third-party libraries "libpng" and "zlib".  There is a
          newer png driver, with many more features, that is pre-
          ferred if you have libgd version 1.8 or newer.

          Syntax:
                set terminal png {small | medium | large}
                                 {transparent|notransparent}
                                 {picsize <xsize> <ysize>}
                                 {monochrome | gray | color}
                                 {<color0> <color1> <color2> ...}

          ttrraannssppaarreenntt instructs the driver to generate transparent
          PNGs.  The first color will be the transparent one.

          The defaults are ssmmaallll (fontsize) and ccoolloorr.  Default size
          of the output is 640*480 pixel. This can be changed by the
          option ppiiccssiizzee.

          Each <color> must be of the form 'xrrggbb', where x is the
          literal character 'x' and 'rrggbb' are the red, green and
          blue components in hex.  For example, 'x00ff00' is green.
          The background color is set first, then the border color,
          then the X & Y axis color, then the plotting colors.  The










GNUPLOT 4.0                                                      189


          maximum number of colors that can be set is currently 99.



          3388..5599..5555..  PPoossttssccrriipptt


          Several options may be set in the ppoossttssccrriipptt driver.

          Syntax:
                set terminal postscript {<mode>} {enhanced | noen-
          hanced}
                                        {color | colour | mono-
          chrome}
                                        {blacktext | colortext |
          colourtext}
                                        {solid | dashed} {dashlength
          | dl <DL>}
                                        {linewidth | lw <LW>}
                                        {<duplexing>}
                                        {rounded | butt}
                                        {fontfile [add | delete]
          "<filename>"}
                                        {palfuncparam <sam-
          ples>{,<maxdeviation>}}
                                        {"<fontname>"} {<fontsize>}

          where <mode> is llaannddssccaappee, ppoorrttrraaiitt, eeppss or ddeeffaauulltt;
          eennhhaanncceedd enables enhanced text mode features (subscripts,
          superscripts and mixed fonts). See eennhhaanncceedd for more
          information.  Option ccoolloorr enables color; bbllaacckktteexxtt forces
          all text to be written in black even in color mode; ssoolliidd
          draws all plots with solid lines, overriding any dashed
          patterns; ddaasshhlleennggtthh or ddll scales the length of the
          dashed-line segments by <DL> (which is a floating-point
          number greater than zero); lliinneewwiiddtthh or llww scales all
          linewidths by <LW>; <duplexing> is ddeeffaauullttpplleexx, ssiimmpplleexx or
          dduupplleexx ("duplexing" in PostScript is the ability of the
          printer to print on both sides of the same page---don't
          set this if your printer can't do it); rroouunnddeedd sets line
          caps and line joins to be rounded; bbuutttt is the default,
          butt caps and mitered joins; ""<<ffoonnttnnaammee>>"" is the name of a
          valid PostScript font; and <<ffoonnttssiizzee>> is the size of the
          font in PostScript points.  In addition to the standard
          postscript fonts, an oblique version of the Symbol font,
          useful for mathematics, is defined. It is called "Symbol-
          Oblique".

          ddeeffaauulltt mode sets all options to their defaults: llaanndd--
          ssccaappee, mmoonnoocchhrroommee, ddaasshheedd, ddll 11..00, llww 11..00, ddeeffaauullttpplleexx,
          nnooeennhhaanncceedd, "Helvetica" and 14pt.  Default size of a Post-
          Script plot is 10 inches wide and 7 inches high.











GNUPLOT 4.0                                                      190


          ppaallffuunnccppaarraamm is only available if compiled with ppmm33dd sup-
          port.  It controls how sseett ppaalleettttee ffuunnccttiioonnss are encoded
          as gradients in the output.  Analytic color component
          functions (set via sseett ppaalleettttee ffuunnccttiioonnss) are encoded as
          linear interpolated gradients in the postscript output:
          The color component functions are sampled at <samples>
          points and all points are removed from this gradient which
          can be removed without changing the resulting colors by
          more than <maxdeviation>.  For almost every useful palette
          you may savely leave the defaults of <samples>=2000 and
          <maxdeviation>=0.003 untouched.

          eeppss mode generates EPS (Encapsulated PostScript) output,
          which is just regular PostScript with some additional
          lines that allow the file to be imported into a variety of
          other applications.  (The added lines are PostScript com-
          ment lines, so the file may still be printed by itself.)
          To get EPS output, use the eeppss mode and make only one plot
          per file.  In eeppss mode the whole plot, including the
          fonts, is reduced to half of the default size.

          Fonts listed by ffoonnttffiillee or ffoonnttffiillee aadddd encapsulate the
          font definitions of the listed font from a postscript Type
          1 or TrueType font file directly into the gnuplot output
          postscript file. Thus, the enclosed font can be used in
          labels, titles, etc. See the section ppoossttssccrriipptt ffoonnttffiillee
          for more details.  With ffoonnttffiillee ddeelleettee a fontfile is
          deleted from the list of embedded files.

          Examples:
                set terminal postscript default       # old post-
          script
                set terminal postscript enhanced      # old enhpost
                set terminal postscript landscape 22  # old psbig
                set terminal postscript eps 14        # old epsf1
                set terminal postscript eps 22        # old epsf2
                set size 0.7,1.4; set term post portrait color
          "Times-Roman" 14
                set term post "VAGRoundedBT_Regular" 14 fontfile
          "bvrr8a.pfa"

          Linewidths and pointsizes may be changed with sseett ssttyyllee
          lliinnee.

          The ppoossttssccrriipptt driver supports about 70 distinct point-
          types, selectable through the ppooiinnttttyyppee option on pplloott and
          sseett ssttyyllee lliinnee.

          Several possibly useful files about ggnnuupplloott's PostScript
          are included in the /docs/psdoc subdirectory of the ggnnuu--
          pplloott distribution and at the distribution sites.  These
          are "ps_symbols.gpi" (a ggnnuupplloott command file that, when
          executed, creates the file "ps_symbols.ps" which shows all










GNUPLOT 4.0                                                      191


          the symbols available through the ppoossttssccrriipptt terminal),
          "ps_guide.ps" (a PostScript file that contains a summary
          of the enhanced syntax and a page showing what the octal
          codes produce with text and symbol fonts), "ps_file.doc"
          (a text file that contains a discussion of the organiza-
          tion of a PostScript file written by ggnnuupplloott), and
          "ps_fontfile_doc.tex" (a LaTeX file which contains a short
          documentation concerning the encapsulation of LaTeX fonts
          with a glyph table of the math fonts).

          A PostScript file is editable, so once ggnnuupplloott has created
          one, you are free to modify it to your heart's desire.
          See the eeddiittiinngg ppoossttssccrriipptt section for some hints.




               3388..5599..5555..11..  EEnnhhaanncceedd ppoossttssccrriipptt


               Several terminal types support an enhanced text mode
               in which additional formatting information is embed-
               ded in the text string.






  +--------------------------------------------------------------+
  |Control     Examples      Explanation                         |
  +--------------------------------------------------------------+
  |   ^           a^x        superscript                         |
  |   _           a_x        subscript                           |
  |   @       @x or a@^b_c   phantom box (occupies no width)     |
  |   &         &{space}     inserts space of specified length   |
  |   ~         ~a{.8-}      overprints '-' on 'a', raised by .8 |
  |                          times the current fontsize          |
  +--------------------------------------------------------------+



Braces can be used to place multiple-character text where a single
character is expected (e.g., 2^{10}).  To change the font and/or
size, use the full form:  {/[fontname][=fontsize | *fontscale]
text}.  Thus {/Symbol=20 G} is a 20-point GAMMA and {/*0.75 K} is a
K at three-quarters of whatever fontsize is currently in effect.
(The '/' character MUST be the first character after the '{'.)

If the encoding vector has been changed by sseett eennccooddiinngg, the default
encoding vector can be used instead by following the slash with a
dash.  This is unnecessary if you use the Symbol font, how-
ever---since /Symbol uses its own encoding vector, ggnnuupplloott will not










GNUPLOT 4.0                                                      192


apply any other encoding vector to it.

The phantom box is useful for a@^b_c to align superscripts and sub-
scripts but does not work well for overwriting an accent on a let-
ter.  (To do the latter, it is much better to use 'set encoding
iso_8859_1' to change to the ISO Latin-1 encoding vector, which con-
tains a large variety of letters with accents or other diacritical
marks.)  Since the box is non-spacing, it is sensible to put the
shorter of the subscript or superscript in the box (that is, after
the @).

Space equal in length to a string can be inserted using the '&'
character.  Thus
        'abc&{def}ghi'
would produce
        'abc   ghi'.

The '~' character causes the next character or bracketed text to be
overprinted by the following character or bracketed text.  The sec-
ond text will be horizontally centered on the first.  Thus '~a/'
will result in an 'a' with a slash through it.  You can also shift
the second text vertically by preceding the second text with a num-
ber, which will define the fraction of the current fontsize by which
the text will be raised or lowered.  In this case the number and
text must be enclosed in brackets because more than one character is
necessary.  If the overprinted text begins with a number, put a
space between the vertical offset and the text ('~{abc}{.5 000}');
otherwise no space is needed ('~{abc}{.5---}').  You can change the
font for one or both strings ('~a{.5 /*.2 o}'---an 'a' with a one-
fifth-size 'o' on top---and the space between the number and the
slash is necessary), but you can't change it after the beginning of
the string.  Neither can you use any other special syntax within
either string.  You can, of course, use control characters by escap-
ing them (see below), such as '~a{\^}'

You can access special symbols numerically by specifying \character-
code (in octal), e.g., {/Symbol \245} is the symbol for infinity.

You can escape control characters using \, e.g.,  \\, \{, and so on.

But be aware that strings in double-quotes are parsed differently
than those enclosed in single-quotes.  The major difference is that
backslashes may need to be doubled when in double-quoted strings.

Examples (these are hard to describe in words---try them!):
      set xlabel 'Time (10^6 {/Symbol m}s)'
      set title '{/Symbol=18 \362@_{/=9.6 0}^{/=12 x}} \
                 {/Helvetica e^{-{/Symbol m}^2/2} d}{/Symbol m}'

The file "ps_guide.ps" in the /docs/psdoc subdirectory of the ggnnuu--
pplloott source distribution contains more examples of the enhanced syn-
tax.











GNUPLOT 4.0                                                      193


               3388..5599..5555..22..  EEddiittiinngg ppoossttssccrriipptt


               The PostScript language is a very complex lan-
               guage---far too complex to describe in any detail in
               this document.  Nevertheless there are some things in
               a PostScript file written by ggnnuupplloott that can be
               changed without risk of introducing fatal errors into
               the file.

               For example, the PostScript statement "/Color true
               def" (written into the file in response to the com-
               mand sseett tteerrmmiinnaall ppoossttssccrriipptt ccoolloorr), may be altered
               in an obvious way to generate a black-and-white ver-
               sion of a plot.  Similarly line colors, text colors,
               line weights and symbol sizes can also be altered in
               straight-forward ways.  Text (titles and labels) can
               be edited to correct misspellings or to change fonts.
               Anything can be repositioned, and of course anything
               can be added or deleted, but modifications such as
               these may require deeper knowledge of the PostScript
               language.

               The organization of a PostScript file written by ggnnuu--
               pplloott is discussed in the text file "ps_file.doc" in
               the docs/ps subdirectory of the gnuplot source dis-
               tribution.



               3388..5599..5555..33..  PPoossttssccrriipptt ffoonnttffiillee


               The ffoonnttffiillee or ffoonnttffiillee aadddd option takes one file
               name as argument and encapsulates this file into the
               postscript output in order to make this font avail-
               able for text elements (labels, tic marks, titles,
               etc.).  The ffoonnttffiillee ddeelleettee option also takes one
               file name as argument. It deletes this file name from
               the list of encapsulated files.

               The postscript terminal understands some font file
               formats: Type 1 fonts in ASCII file format (extension
               ".pfa"), Type 1 fonts in binary file format (exten-
               sion ".pfb"), and TrueType fonts (extension ".ttf").
               Pfa files are understood directly, pfb and ttf files
               are converted on the fly if appropriate conversion
               tools are installed (see below). You have to specify
               the full filename with the extension. Each ffoonnttffiillee
               option takes exact one font file name. This option
               can be used multiple times in order to include more
               than one font file.











GNUPLOT 4.0                                                      194


               The font file is searched in the working directory
               and in all directories listed in the fontpath which
               is determined by sseett ffoonnttppaatthh.  In addition, the
               fontpath can be set using the environment variable
               GNUPLOT_FONTPATH. If this is not set a system depen-
               dent default search list is used. See sseett ffoonnttppaatthh
               for more details.

               For using the encapsulated font file you have to
               specify the font name (which normally is not the same
               as the file name). When embedding a font file by
               using the ffoonnttffiillee option in interactive mode, the
               font name is printed on the screen. E.g.
                  Font file 'p052004l.pfb' contains the font 'URW-
               PalladioL-Bold'. Location:
                  /usr/lib/X11/fonts/URW/p052004l.pfb

               When using pfa or pfb fonts, you can also find it out
               by looking into the font file. There is a line simi-
               lar to "/FontName /URWPalladioL-Bold def".  The mid-
               dle string without the slash is the fontname, here
               "URWPalladioL-Bold".  For TrueType fonts, this is not
               so easy since the font name is stored in a binary
               format. In addition, they often have spaces in the
               font names which is not supported by Type 1 fonts (in
               which a TrueType is converted on the fly). The font
               names are changed in order to eliminate the spaces in
               the fontnames. The easiest way to find out which font
               name is generated for use with gnuplot, start gnuplot
               in interactive mode and type in "set terminal post-
               script fontfile '<filename.ttf>'".

               For converting font files to pfa format the conver-
               sion tool has to read the font from a file and write
               it to standard output.  For pfb files "pfbtops" is a
               tool which can do this. If this program is installed
               on your system the on the fly conversion should work.
               Just try to encapsulate a pfb file. If the compiled
               in program call does not work correctly you can spec-
               ify how this program is called by defining the envi-
               ronment variable GNUPLOT_PFBTOPFA e.g. to "pfbtops
               %s". The %%ss will be repeated by the font file name
               and thus has to exist in the string.  If you don't
               want to do the conversion on the fly but get a pfa
               file of the font you can use the tool "pfb2pfa" which
               is written in simple c and should compile with any c
               compiler.  It is available from many ftp servers,
               e.g.
                         ftp://ftp.dante.de/tex-archive/fonts/utili-
               ties/ps2mf/
               In fact, "pfbtopfa" and "pfb2ps" do the same job.
               "pfbtopfa" puts the resulting pfa code into a file,
               whereas "pfbtops" writes it to standard output.










GNUPLOT 4.0                                                      195


               TrueType fonts are converted into Type 1 pfa format,
               e.g.  by using the tool "ttf2pt1" which is available
               from
                         http://ttf2pt1.sourceforge.net/
               If the builtin conversion does not work, the conver-
               sion command can be changed by the environment vari-
               able GNUPLOT_TTFTOPFA. For usage with ttf2pt1 it may
               be set to "ttf2pt1 -a -e -W 0 %s - ". Here again, %%ss
               stands for the file name.

               For special purposes you also can use a pipe (if
               available for your operating system). Therefore you
               start the file name definition with the character "<"
               and append a program call. This program has to write
               pfa data to standard output. Thus, a pfa file may be
               accessed by sseett ffoonnttffiillee ""<< ccaatt ggaarraammoonndd..ppffaa"".

               For example, including Type 1 font files can be used
               for including the postscript output in LaTeX docu-
               ments. The "european computer modern" font (which is
               a variant of the "computer modern" font) is available
               in pfb format from any CTAN server, e.g.
                         ftp://ftp.dante.de/tex-archive/fonts/ps-
               type1/cm-super/
               For example, the file "sfrm1000.pfb" contains the
               normal upright fonts with serifs in the design size
               10pt (font name "SFRM1000").  The computer modern
               fonts, which are still necessary for mathematics, are
               available from
                         ftp://ftp.dante.de/tex-archive/fonts/cm/ps-
               type1/bluesky
               With these you can use any character available in
               TeX. However, the computer modern fonts have a
               strange encoding. (This is why you should not use
               cmr10.pfb for text, but sfrm1000.pfb instead.)  The
               usage of TeX fonts is shown in one of the demos.  The
               file "ps_fontfile_doc.tex" in the /docs/psdoc subdi-
               rectory of the ggnnuupplloott source distribution contains a
               table with glyphs of the TeX mathfonts.

               If the font "CMEX10" is embedded (file "cmex10.pfb")
               gnuplot defines the additional font "CMEX10-Base-
               line". It is shifted vertically in order to fit bet-
               ter to the other glyphs (CMEX10 has its baseline at
               the top of the symbols).



          3388..5599..5566..  PPssllaatteexx aanndd ppsstteexx


          The ppssllaatteexx and ppsstteexx drivers generate output for further
          processing by LaTeX and TeX, respectively.  Figures










GNUPLOT 4.0                                                      196


          generated by ppsstteexx can be included in any plain-based for-
          mat (including LaTeX).

          Syntax:
                set terminal [pslatex | pstex] {<color>} {<dashed>}
          {<rotate>}
                                               {auxfile}
          {<font_size>}

          <color> is either ccoolloorr or mmoonnoocchhrroommee.  <dashed> is either
          ddaasshheedd or ssoolliidd.  <rotate> is either rroottaattee or nnoorroottaattee
          and determines if the y-axis label is rotated.
          <font_size> is the size (in pts) of the desired font.

          If aauuxxffiillee is specified, it directs the driver to put the
          PostScript commands into an auxiliary file instead of
          directly into the LaTeX file.  This is useful if your pic-
          tures are large enough that dvips cannot handle them.  The
          name of the auxiliary PostScript file is derived from the
          name of the TeX file given on the sseett oouuttppuutt command; it
          is determined by replacing the trailing ..tteexx (actually
          just the final extent in the file name) with ..ppss in the
          output file name, or, if the TeX file has no extension,
          ..ppss is appended.  Remember to close the oouuttppuutt ffiillee before
          leaving ggnnuupplloott.  The ..ppss is included into the ..tteexx file
          by a \special{psfile=...} command.  If you would rather
          prefer \includegraphics{...}, then use the eeppssllaatteexx termi-
          nal.

          All drivers for LaTeX offer a special way of controlling
          text positioning: (a) If any text string begins with '{',
          you also need to include a '}' at the end of the text, and
          the whole text will be centered both horizontally and ver-
          tically by LaTeX.  (b) If the text string begins with '[',
          you need to continue it with: a position specification (up
          to two out of t,b,l,r), ']{', the text itself, and
          finally, '}'. The text itself may be anything LaTeX can
          typeset as an LR-box. \rule{}{}'s may help for best posi-
          tioning.

          Examples:
                set term pslatex monochrome dashed rotate       #
          set to defaults
          To write the PostScript commands into the file "foo.ps":
                set term pslatex auxfile
                set output "foo.tex"; plot ...; set output
          About label positioning: Use gnuplot defaults (mostly sen-
          sible, but sometimes not really best):
                 set title '\LaTeX\ -- $ \gamma $'
          Force centering both horizontally and vertically:
                 set label '{\LaTeX\ -- $ \gamma $}' at 0,0
          Specify own positioning (top here):
                 set xlabel '[t]{\LaTeX\ -- $ \gamma $}'










GNUPLOT 4.0                                                      197


          The other label -- account for long ticlabels:
                 set ylabel '[r]{\LaTeX\ -- $ \gamma
          $\rule{7mm}{0pt}}'

          Linewidths and pointsizes may be changed with sseett ssttyyllee
          lliinnee.



          3388..5599..5577..  PPssttrriicckkss


          The ppssttrriicckkss driver is intended for use with the
          "pstricks.sty" macro package for LaTeX.  It is an alterna-
          tive to the eeeeppiicc and llaatteexx drivers.  You need
          "pstricks.sty", and, of course, a printer that understands
          PostScript, or a converter such as Ghostscript.

          PSTricks is available via anonymous ftp from the /pub
          directory at Princeton.edu.  This driver definitely does
          not come close to using the full capability of the
          PSTricks package.

          Syntax:
                set terminal pstricks {hacktext | nohacktext} {unit
          | nounit}

          The first option invokes an ugly hack that gives nicer
          numbers; the second has to do with plot scaling.  The
          defaults are hhaacckktteexxtt and nnoouunniitt.



          3388..5599..5588..  QQmmss


          The qqmmss terminal driver supports the QMS/QUIC Laser
          printer, the Talaris 1200 and others.  It has no options.



          3388..5599..5599..  RReeggiiss


          The rreeggiiss terminal device generates output in the REGIS
          graphics language.  It has the option of using 4 (the
          default) or 16 colors.

          Syntax:
                set terminal regis {4 | 16}













GNUPLOT 4.0                                                      198


          3388..5599..6600..  RRggiipp


          The rrggiipp and uunniipplleexx terminal drivers support RGIP
          metafiles.  They can combine several graphs on a single
          page, but only one page is allowed in a given output file.

          Syntax:
                set terminal rgip | uniplex {portrait | landscape}
                                            {[<horiz>,<vert>]}
          {<fontsize>}

          permissible values for the font size are in the range
          1--8, with the default being 1.  The default layout is
          landscape.  Graphs are placed on the page in a hhoorriizzxvveerrtt
          grid, which defaults to [1,1].

          Example:
                set terminal uniplex portrait [2,3]

          puts six graphs on a page in three rows of two in portrait
          orientation.



          3388..5599..6611..  SSuunn


          The ssuunn terminal driver supports the SunView window sys-
          tem.  It has no options.



          3388..5599..6622..  SSvvgg


          This terminal produces files in the W3C Scalable Vector
          Graphics format.

          Syntax:
                set terminal svg {size <x> <y> {|fixed|dynamic}}
                                 {fname "<font>"} {fsize <fontsize>}
                                 {{no}enhanced} {fontfile <file-
          name>}

          where <x> and <y> are the size of the SVG plot to gener-
          ate, ddyynnaammiicc allows a svg-Viewer to resize plot, whereas
          the default setting, ffiixxeedd, will request an absolute size.

          <font> is the name of the default font to use (default
          Arial) and <fontsize> is the font size (in points, default
          12). Gnuplot does not currently provide a mechanism for
          embedding fonts in the output file, so svg viewing










GNUPLOT 4.0                                                      199


          programs may substitute other fonts when the file is dis-
          played.

          The svg terminal supports an enhanced text mode, which
          allows font and other formatting commands to be embedded
          in labels and other text strings. The enhanced text mode
          syntax is shared with other gnuplot terminal types. See
          eennhhaanncceedd for more details.

          SVG allows you to embed fonts directly into an SVG docu-
          ment, or to provide a hypertext link to the desired font.
          The ffoonnttffiillee option specifies a local file which is copied
          into the <defs> section of the resulting SVG output file.
          This file may either itself contain a font, or may contain
          the records necessary to create a hypertext reference to
          the desired font. Gnuplot will look for the requested file
          using the directory list in the GNUPLOT_FONTPATH environ-
          mental variable.



          3388..5599..6633..  SSvvggaa


          The ssvvggaa terminal driver supports PCs with SVGA graphics.
          It can only be used if it is compiled with DJGPP.  Its
          only option is the font.

          Syntax:
                set terminal svga {"<fontname>"}



          3388..5599..6644..  TTaabbllee


          Instead of producing a graph, the ttaabbllee terminal prints
          out the points on which a graph would be based, i.e., the
          results of processing the pplloott or sspplloott command, in a mul-
          ticolumn ASCII table of X Y {Z} R values.  The character R
          takes on one of three values: "i" if the point is in the
          active range, "o" if it is out-of-range, or "u" if it is
          undefined.  The data format is determined by the format of
          the axis labels (see sseett ffoorrmmaatt), and the columns are sep-
          arated by single spaces.

          For those times when you want the numbers, you can display
          them on the screen or save them to a file.  This can be
          useful if you want to generate contours and then save them
          for further use, perhaps for plotting with pplloott;  see sseett
          ccoonnttoouurr for an example.  The same method can be used to
          save interpolated data (see sseett ssaammpplleess and sseett ddggrriidd33dd).











GNUPLOT 4.0                                                      200


          3388..5599..6655..  TTeekk4400


          This family of terminal drivers supports a variety of VT-
          like terminals.  tteekk4400xxxx supports Tektronix 4010 and oth-
          ers as well as most TEK emulators; vvtttteekk supports VT-like
          tek40xx terminal emulators; kkcc--tteekk4400xxxx supports MS-DOS
          Kermit Tek4010 terminal emulators in color: kkmm--tteekk4400xxxx
          supports them in monochrome; sseellaannaarr supports Selanar
          graphics; and bbiittggrraapphh supports BBN Bitgraph terminals.
          None have any options.



          3388..5599..6666..  TTeekk441100xx


          The tteekk441100xx terminal driver supports the 410x and 420x
          family of Tektronix terminals.  It has no options.



          3388..5599..6677..  TTeexxddrraaww


          The tteexxddrraaww terminal driver supports the LaTeX texdraw
          environment.  It is intended for use with "texdraw.sty"
          and "texdraw.tex" in the texdraw package.

          Points, among other things, are drawn using the LaTeX com-
          mands "\Diamond" and "\Box".  These commands no longer
          belong to the LaTeX2e core; they are included in the
          latexsym package, which is part of the base distribution
          and thus part of any LaTeX implementation.  Please do not
          forget to use this package.

          It has no options.



          3388..5599..6688..  TTggiiff


          Tgif is an X11-based drawing tool---it has nothing to do
          with GIF.

          The ttggiiff driver supports different pointsizes (with sseett
          ppooiinnttssiizzee), different label fonts and font sizes (e.g. sseett
          llaabbeell ""HHaalllloo"" aatt xx,,yy ffoonntt ""HHeellvveettiiccaa,,3344"") and multiple
          graphs on the page.  The proportions of the axes are not
          changed.

          Syntax:










GNUPLOT 4.0                                                      201


                set terminal tgif {portrait | landscape} {<[x,y]>}
                                  {solid | dashed}
                                  {"<fontname>"} {<fontsize>}

          where <[x,y]> specifies the number of graphs in the x and
          y directions on the page, "<fontname>" is the name of a
          valid PostScript font, and <fontsize> specifies the size
          of the PostScript font.  Defaults are ppoorrttrraaiitt, [[11,,11]],
          ddaasshheedd, ""HHeellvveettiiccaa"", and 1188.

          The ssoolliidd option is usually prefered if lines are colored,
          as they often are in the editor.  Hardcopy will be black-
          and-white, so ddaasshheedd should be chosen for that.

          Multiplot is implemented in two different ways.

          The first multiplot implementation is the standard gnuplot
          multiplot feature:

                set terminal tgif
                set output "file.obj"
                set multiplot
                set origin x01,y01
                set size  xs,ys
                plot ...
                     ...
                set origin x02,y02
                plot ...
                set nomultiplot

          See sseett mmuullttiipplloott for further information.

          The second version is the [x,y] option for the driver
          itself.  The advantage of this implementation is that
          everything is scaled and placed automatically without the
          need for setting origins and sizes; the graphs keep their
          natural x/y proportions of 3/2 (or whatever is fixed by
          sseett ssiizzee).

          If both multiplot methods are selected, the standard
          method is chosen and a warning message is given.

          Examples of single plots (or standard multiplot):
                set terminal tgif                  # defaults
                set terminal tgif "Times-Roman" 24
                set terminal tgif landscape
                set terminal tgif landscape solid

          Examples using the built-in multiplot mechanism:
                set terminal tgif portrait [2,4]  # portrait; 2
          plots in the x-
                                                  # and 4 in the y-
          direction










GNUPLOT 4.0                                                      202


                set terminal tgif [1,2]           # portrait; 1 plot
          in the x-
                                                  # and 2 in the y-
          direction
                set terminal tgif landscape [3,3] # landscape; 3
          plots in both
                                                  # directions



          3388..5599..6699..  TTkkccaannvvaass


          This terminal driver generates Tk canvas widget commands
          based on Tcl/Tk (default) or Perl.  To use it, rebuild
          ggnnuupplloott (after uncommenting or inserting the appropriate
          line in "term.h"), then

           gnuplot> set term tkcanvas {perltk} {interactive}
           gnuplot> set output 'plot.file'

          After invoking "wish", execute the following sequence of
          Tcl/Tk commands:

           % source plot.file
           % canvas .c
           % pack .c
           % gnuplot .c

          Or, for Perl/Tk use a program like this:

           use Tk;
           my $top = MainWindow->new;
           my $c = $top->Canvas->pack;
           my $gnuplot = do "plot.pl";
           $gnuplot->($c);
           MainLoop;

          The code generated by ggnnuupplloott creates a procedure called
          "gnuplot" that takes the name of a canvas as its argument.
          When the procedure is called, it clears the canvas, finds
          the size of the canvas and draws the plot in it, scaled to
          fit.

          For 2-dimensional plotting (pplloott) two additional proce-
          dures are defined: "gnuplot_plotarea" will return a list
          containing the borders of the plotting area "xleft,
          xright, ytop, ybot" in canvas screen coordinates, while
          the ranges of the two axes "x1min, x1max, y1min, y1max,
          x2min, x2max, y2min, y2max" in plot coordinates can be
          obtained calling "gnuplot_axisranges".  If the "interac-
          tive" option is specified, mouse clicking on a line seg-
          ment will print the coordinates of its midpoint to stdout.










GNUPLOT 4.0                                                      203


          Advanced actions can happen instead if the user supplies a
          procedure named "user_gnuplot_coordinates", which takes
          the following arguments: "win id x1s y1s x2s y2s x1e y1e
          x2e y2e x1m y1m x2m y2m", the name of the canvas and the
          id of the line segment followed by the coordinates of its
          start and end point in the two possible axis ranges; the
          coordinates of the midpoint are only filled for logarith-
          mic axes.

          The current version of ttkkccaannvvaass supports neither mmuullttiipplloott
          nor rreepplloott.



          3388..5599..7700..  TTppiicc


          The ttppiicc terminal driver supports the LaTeX picture envi-
          ronment with tpic \specials.  It is an alternative to the
          llaatteexx and eeeeppiicc terminal drivers.  Options are the point
          size, line width, and dot-dash interval.

          Syntax:
                set terminal tpic <pointsize> <linewidth> <interval>

          where ppooiinnttssiizzee and lliinneewwiiddtthh are integers in milli-inches
          and iinntteerrvvaall is a float in inches.  If a non-positive
          value is specified, the default is chosen: pointsize = 40,
          linewidth = 6, interval = 0.1.

          All drivers for LaTeX offer a special way of controlling
          text positioning: If any text string begins with '{', you
          also need to include a '}' at the end of the text, and the
          whole text will be centered both horizontally and verti-
          cally by LaTeX. --- If the text string begins with '[',
          you need to continue it with: a position specification (up
          to two out of t,b,l,r), ']{', the text itself, and
          finally, '}'. The text itself may be anything LaTeX can
          typeset as an LR-box. \rule{}{}'s may help for best posi-
          tioning.

          Examples: About label positioning: Use gnuplot defaults
          (mostly sensible, but sometimes not really best):
                 set title '\LaTeX\ -- $ \gamma $'
          Force centering both horizontally and vertically:
                 set label '{\LaTeX\ -- $ \gamma $}' at 0,0
          Specify own positioning (top here):
                 set xlabel '[t]{\LaTeX\ -- $ \gamma $}'
          The other label -- account for long ticlabels:
                 set ylabel '[r]{\LaTeX\ -- $ \gamma
          $\rule{7mm}{0pt}}'












GNUPLOT 4.0                                                      204


          3388..5599..7711..  UUnniixxppcc


          The uunniixxppcc terminal driver supports AT&T 3b1 and AT&T 7300
          Unix PC.  It has no options.



          3388..5599..7722..  UUnniixxpplloott


          The uunniixxpplloott terminal driver generates output in the Unix
          "plot" graphics language.  It has no options.

          This terminal cannot be compiled if the GNU version of
          plot is to be used; in that case, use the ggnnuuggrraapphh termi-
          nal instead.



          3388..5599..7733..  AAttaarrii SSTT ((vviiaa VVDDII))


          The vvddii terminal is the same as the aattaarrii terminal, except
          that it sends output to the screen via the VDI and not
          into AES-Windows.

          The vvddii terminal has options to set the character size and
          the screen colors.

          Syntax:
                set terminal vdi {<fontsize>} {<col0> <col1> ...
          <col15>}

          The character size must appear if any colors are to be
          specified.  Each of the (up to 16) colors is given as a
          three-digit hex number, where the digits represent 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 vdi 4    # use small (6x6) font
                set terminal vdi 6 0  # set monochrome screen to
          white on black
                set terminal vdi 13 0 fff f00 f0 f ff f0f
                           # set first seven colors to black, white,
          red, green,
                           # blue, cyan, and purple and use large
          font (8x16).

          Additionally, if an environment variable GNUCOLORS exists,










GNUPLOT 4.0                                                      205


          its contents are interpreted as an options string, but an
          explicit terminal option takes precedence.



          3388..5599..7744..  VVggaaggll


          The vvggaaggll driver is a fast linux console driver with full
          mouse and pm3d support.  It looks at the environment vari-
          able SVGALIB_DEFAULT_MODE for the default mode; if not
          set, it uses a 256 color mode with the highest available
          resolution.

          Syntax:
             set terminal vgagl \
                          background [red] [[green] [blue]] \
                          [uniform | interpolate] \
                          [mode]

          The color mode can also be given with the mode option.
          Both Symbolic names as G1024x768x256 and integers are
          allowed. The bbaacckkggrroouunndd option takes either one or three
          integers in the range [0, 255]. If only one integers is
          supplied, it is taken as gray value for the background.
          If three integers are present, the background gets the
          corresponding color.  The (mutually exclusive) options
          iinntteerrppoollaattee and uunniiffoorrmm control if color interpolation is
          done while drawing triangles (on by default).

          To get high resolution modes, you will probably have to
          modify the configuration file of libvga, usually
          /etc/vga/libvga.conf.  Using the VESA fb is a good choice,
          but this needs to be compiled in the kernel.

          The vgagl driver uses the first *available* vga mode from
          the following list:
           - the driver which was supplied when setting vgagl, e.g.
          `set term vgagl
             G1024x768x256` would first check, if the G1024x768x256
          mode is available.
           - the environment variable SVGALIB_DEFAULT_MODE
           - G1024x768x256
           - G800x600x256
           - G640x480x256
           - G320x200x256
           - G1280x1024x256
           - G1152x864x256
           - G1360x768x256
           - G1600x1200x256













GNUPLOT 4.0                                                      206


          3388..5599..7755..  VVWWSS


          The VVWWSS terminal driver supports the VAX Windowing System.
          It has no options.  It will sense the display type (mono-
          chrome, gray scale, or color.)  All line styles are plot-
          ted as solid lines.



          3388..5599..7766..  VVxx338844


          The vvxx338844 terminal driver supports the Vectrix 384 and
          Tandy color printers.  It has no options.



          3388..5599..7777..  WWiinnddoowwss


          Three options may be set in the wwiinnddoowwss terminal driver.

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

          where <<ccoolloorr>> is either ccoolloorr or mmoonnoocchhrroommee, ""<<ffoonnttnnaammee>>""
          is the name of a valid Windows font, and <<ffoonnttssiizzee>> is the
          size of the font in points.

          Other options may be set with the graph-menu, the initial-
          ization file, and sseett lliinneessttyyllee.  Note that there is one
          restriction imposed by the classic Windows GDI interface:
          modifiable linewidth only works with solid lines, not with
          dotted or dashed ones.

          The Windows version normally terminates immediately as
          soon as the end of any files given as command line argu-
          ments is reached (i.e. in non-interactive mode), unless
          you specify -- as the last command line option.  It will
          also not show the text-window at all, in this mode, only
          the plot.  By giving the optional argument --ppeerrssiisstt (same
          as for gnuplot under x11; former Windows-only options
          //nnooeenndd or --nnooeenndd are still accepted as well), will not
          close gnuplot. Contrary to gnuplot on other operating sys-
          tems, gnuplot's interactive command line is accessible
          after the -persist option.















GNUPLOT 4.0                                                      207


               3388..5599..7777..11..  GGrraapphh--mmeennuu


               The ggnnuupplloott ggrraapphh window has the following options on
               a pop-up menu accessed by pressing the right mouse
               button or selecting OOppttiioonnss from the system menu:

               BBrriinngg ttoo TToopp when checked brings the graph window to
               the top after every plot.

               CCoolloorr when checked enables color linestyles.  When
               unchecked it forces monochrome linestyles.

               CCooppyy ttoo CClliippbbooaarrdd copies a bitmap and a Metafile pic-
               ture.

               BBaacckkggrroouunndd...... sets the window background color.

               CChhoooossee FFoonntt...... selects the font used in the graphics
               window.

               LLiinnee SSttyylleess...... allows customization of the line col-
               ors and styles.

               PPrriinntt...... prints the graphics windows using a Windows
               printer driver and allows selection of the printer
               and scaling of the output.  The output produced by
               PPrriinntt is not as good as that from ggnnuupplloott's own
               printer drivers.

               UUppddaattee wwggnnuupplloott..iinnii saves the current window loca-
               tions, window sizes, text window font, text window
               font size, graph window font, graph window font size,
               background color and linestyles to the initialization
               file WWGGNNUUPPLLOOTT..IINNII.



               3388..5599..7777..22..  PPrriinnttiinngg


               In order of preference, graphs may be be printed in
               the following ways.

               11.. Use the ggnnuupplloott command sseett tteerrmmiinnaall to select a
               printer and sseett oouuttppuutt to redirect output to a file.

               22.. Select the PPrriinntt...... command from the ggnnuupplloott ggrraapphh
               window.  An extra command ssccrreeeenndduummpp does this from
               the text window.

               33.. If sseett oouuttppuutt ""PPRRNN"" is used, output will go to a
               temporary file.  When you exit from ggnnuupplloott or when










GNUPLOT 4.0                                                      208


               you change the output with another sseett oouuttppuutt com-
               mand, a dialog box will appear for you to select a
               printer port.  If you choose OK, the output will be
               printed on the selected port, passing unmodified
               through the print manager.  It is possible to acci-
               dentally (or deliberately) send printer output meant
               for one printer to an incompatible printer.



               3388..5599..7777..33..  TTeexxtt--mmeennuu


               The ggnnuupplloott tteexxtt window has the following options on
               a pop-up menu accessed by pressing the right mouse
               button or selecting OOppttiioonnss from the system menu:

               CCooppyy ttoo CClliippbbooaarrdd copies marked text to the clip-
               board.

               PPaassttee copies text from the clipboard as if typed by
               the user.

               CChhoooossee FFoonntt...... selects the font used in the text win-
               dow.

               SSyysstteemm CCoolloorrss when selected makes the text window
               honor the System Colors set using the Control Panel.
               When unselected, text is black or blue on a white
               background.

               UUppddaattee wwggnnuupplloott..iinnii saves the current text window
               location, text window size, text window font and text
               window font size to the initialisation file WWGGNNUU--
               PPLLOOTT..IINNII.

               MMEENNUU BBAARR

               If the menu file WWGGNNUUPPLLOOTT..MMNNUU is found in the same
               directory as WGNUPLOT.EXE, then the menu specified in
               WWGGNNUUPPLLOOTT..MMNNUU will be loaded.  Menu commands:

               [Menu] starts a new menu with the name on the follow-
               ing line.

               [EndMenu] ends the current menu.

               [--] inserts a horizontal menu separator.

               [|] inserts a vertical menu separator.

               [Button] puts the next macro on a push button instead
               of a menu.










GNUPLOT 4.0                                                      209


               Macros take two lines with the macro name (menu
               entry) on the first line and the macro on the second
               line.  Leading spaces are ignored.  Macro commands:

               [INPUT] --- Input string with prompt terminated by
               [EOS] or {ENTER}

               [EOS] --- End Of String terminator.  Generates no
               output.

               [OPEN] --- Get name of file to open from list box,
               with title of list box terminated by [EOS], followed
               by default filename terminated by [EOS] or {ENTER}.
               This uses COMMDLG.DLL from Windows 3.1.

               [SAVE] --- Get name of file to save.  Similar to
               [OPEN]

               Macro character substitutions:

               {ENTER} --- Carriage Return '\r'

               {TAB} --- Tab '\011'

               {ESC} --- Escape '\033'

               {^A} --- '\001'

               ...

               {^_} --- '\031'

               Macros are limited to 256 characters after expansion.



               3388..5599..7777..44..  WWggnnuupplloott..iinnii


               Windows ggnnuupplloott will read some of its options from
               the [[WWGGNNUUPPLLOOTT]] section of WWGGNNUUPPLLOOTT..IINNII in the Windows
               directory.  A sample WWGGNNUUPPLLOOTT..IINNII file:

                     [WGNUPLOT]
                     TextOrigin=0 0
                     TextSize=640 150
                     TextFont=Terminal,9
                     GraphOrigin=0 150
                     GraphSize=640 330
                     GraphFont=Arial,10
                     GraphColor=1
                     GraphToTop=1
                     GraphBackground=255 255 255










GNUPLOT 4.0                                                      210


                     Border=0 0 0 0 0
                     Axis=192 192 192 2 2
                     Line1=0 0 255 0 0
                     Line2=0 255 0 0 1
                     Line3=255 0 0 0 2
                     Line4=255 0 255 0 3
                     Line5=0 0 128 0 4

               The GGrraapphhFFoonntt entry specifies the font name and size
               in points.  The five numbers given in the BBoorrddeerr,
               AAxxiiss and LLiinnee entries are the RReedd intensity (0--255),
               GGrreeeenn intensity, BBlluuee intensity, CCoolloorr LLiinneessttyyllee and
               MMoonnoo LLiinneessttyyllee.  LLiinneessttyylleess are 0=SOLID, 1=DASH,
               2=DOT, 3=DASHDOT, 4=DASHDOTDOT.  In the sample WWGGNNUU--
               PPLLOOTT..IINNII file above, Line 2 is a green solid line in
               color mode, or a dashed line in monochrome mode.  The
               default line width is 1 pixel.  If LLiinneessttyyllee is nega-
               tive, it specifies the width of a SOLID line in pix-
               els.  Line1 and any linestyle used with the ppooiinnttss
               style must be SOLID with unit width.



               3388..5599..7777..55..  WWiinnddoowwss33..00


               Windows 3.1 is preferred, but WGNUPLOT will run under
               Windows 3.0 with the following restrictions: 11.. COM-
               MDLG.DLL and SHELL.DLL (available with Windows 3.1 or
               Borland C++ 3.1) must be in the windows directory.

               22.. WGNUPLOT.HLP produced by Borland C++ 3.1 is in
               Windows 3.1 format.  You need to use the WINHELP.EXE
               supplied with Borland C++ 3.1.

               33.. It will not run in real mode due to lack of mem-
               ory.

               44.. TrueType fonts are not available in the graph win-
               dow.

               55.. Drag-drop does not work.



          3388..5599..7788..  XX1111


          ggnnuupplloott provides the xx1111 terminal type for use with X
          servers.  This terminal type is set automatically at
          startup if the DDIISSPPLLAAYY environment variable is set, if the
          TTEERRMM environment variable is set to xxtteerrmm, or if the --ddiiss--
          ppllaayy command line option is used.










GNUPLOT 4.0                                                      211


          Syntax:
             set terminal x11 [reset] <n> [[no]enhanced] [font
          <fontspec>]
                              [title "<string>"] [[no]persist]
          [[no]raise] [close]

          Multiple plot windows are supported: sseett tteerrmmiinnaall xx1111 <<nn>>
          directs the output to plot window number n.  If n>0, the
          terminal number will be appended to the window title
          (unless a title has been supplied manually) and the icon
          will be labeled ggpplltt <<nn>>.  The active window may be dis-
          tinguished by a change in cursor (from default to
          crosshair.)

          The x11 terminal support enhanced text mode (see
          eennhhaanncceedd), subject to the available fonts. In order for
          font size commands embedded in text to have any effect,
          the default x11 font must be scalable. Thus the first
          example below will work as expected, but the second will
          not.

             set term x11 enhanced font "arial,15"
             set title '{\=20 Big} Medium {\=5 Small}'

             set term x11 enhanced font "terminal-14"
             set title '{\=20 Big} Medium {\=5 Small}'

          Plot windows remain open even when the ggnnuupplloott driver is
          changed to a different device.  A plot window can be
          closed by pressing the letter q while that window has
          input focus, or by choosing cclloossee from a window manager
          menu.  All plot windows can be closed by specifying rreesseett,
          which actually terminates the subprocess which maintains
          the windows (unless --ppeerrssiisstt was specified).  The cclloossee
          command can be used to close individual plot windows by
          number.  However, after a rreesseett, those plot windows left
          due to persist cannot be closed with the command cclloossee.  A
          cclloossee without a number closes the current active plot win-
          dow.

          The gnuplot outboard driver, gnuplot_x11, is searched in a
          default place chosen when the program is compiled.  You
          can override that by defining the environment variable
          GNUPLOT_DRIVER_DIR to point to a different location.

          Plot windows will automatically be closed at the end of
          the session unless the --ppeerrssiisstt option was given.

          The options ppeerrssiisstt and rraaiissee are unset by default, which
          means that the defaults (persist == no and raise == yes)
          or the command line options -persist / -raise or the Xre-
          sources are taken.  If [no]persist or [no]raise are speci-
          fied, they will override command line options and










GNUPLOT 4.0                                                      212


          Xresources.  Setting one of these options takes place
          immediately, so the behaviour of an already running driver
          can be modified.

          The option ttiittllee ""<<ttiittllee nnaammee>>"" will supply the title name
          of the window for the current plot window or plot window
          <n> if a number is given.  Where (or if) this title is
          shown depends on your X window manager.

          The size or aspect ratio of a plot may be changed by
          resizing the ggnnuupplloott window.

          Linewidths and pointsizes may be changed from within ggnnuu--
          pplloott with sseett lliinneessttyyllee.

          For terminal type xx1111, ggnnuupplloott accepts (when initialized)
          the standard X Toolkit options and resources such as geom-
          etry, font, and name from the command line arguments or a
          configuration file.  See the X(1) man page (or its equiva-
          lent) for a description of such options.

          A number of other ggnnuupplloott options are available for the
          xx1111 terminal.  These may be specified either as command-
          line options when ggnnuupplloott is invoked or as resources in
          the configuration file ".Xdefaults".  They are set upon
          initialization and cannot be altered during a ggnnuupplloott ses-
          sion.  (except ppeerrssiisstt and rraaiissee)




               3388..5599..7788..11..  XX1111__ffoonnttss


               Upon initial startup, the default font is taken from
               the X11 resources as set in the system or user .Xde-
               faults file or on the command line.

               Example:
                     gnuplot*font: lucidasans-bold-12
               A new default font may be specified to the x11 driver
               from inside gnuplot using
                    `set term x11 font "<fontspec>"`
               The driver first queries the X-server for a font of
               the exact name given, for example sseett tteerrmm xx1111 ffoonntt
               ""lluucciiddaassaannss--1100"". If this query fails, then it tries
               to interpret <fontspec> as
               "<font>,<size>,<slant>,<weight>" and to construct a
               full X11 font name of the form
                     -*-<font>-<weight>-<s>-*-*-<size>-*-*-*-*-*-<encod-
               ing>

                <font> is the base name of the font (e.g. Times or










GNUPLOT 4.0                                                      213


               Symbol)
                <size> is the point size (defaults to 12 if not
               specified)
                <s> is `i` if <slant>=="italic" `o` if
               <slant>=="oblique" `r` otherwise
                <weight> is `medium` or `bold` if explicitly
               requested, otherwise `*`
                <encoding> is set based on the current character set
               (see help for `set encoding`).
               So sseett tteerrmm xx1111 ffoonntt ""aarriiaall,,1155,,iittaalliicc"" will be trans-
               lated to -*-arial-*-i-*-*-15-*-*-*-*-*-iso8859-1
               (assuming default encoding).  The <size>, <slant>,
               and <weight> specifications are all optional.  If you
               do not specify <slant> or <weight> then you will get
               whatever font variant the font server offers first.
               The driver also recognizes some common PostScript
               font names and replaces them with possible X11 or
               TrueType equivalents.  This same sequence is used to
               process font requests from sseett llaabbeell.



               3388..5599..7788..22..  CCoommmmaanndd--lliinnee__ooppttiioonnss


               In addition to the X Toolkit options, the following
               options may be specified on the command line when
               starting ggnnuupplloott or as resources in your ".Xdefaults"
               file (note that rraaiissee and ppeerrssiisstt can be overridden
               later by sseett tteerrmm xx1111 [[nnoo]]rraaiissee [[nnoo]]ppeerrssiisstt)):



+-----------------------------------------------------------------------------+
|  `-mono`      forces monochrome rendering on color displays.                |
|  `-gray`      requests grayscale rendering on grayscale or color displays.  |
|               (Grayscale displays receive monochrome rendering by default.) |
|  `-clear`     requests that the window be cleared momentarily before a      |
|               new plot is displayed.                                        |
|  `-tvtwm`     requests that geometry specifications for position of the     |
|               window be made relative to the currently displayed portion    |
|               of the virtual root.                                          |
|  `-raise`     raises plot window after each plot                            |
| `-noraise`    does not raise plot window after each plot                    |
|`-novevents`   does not process mouse and key events                         |
| `-persist`    plot windows survive after main gnuplot program exits         |
+-----------------------------------------------------------------------------+


The options are shown above in their command-line syntax.  When
entered as resources in ".Xdefaults", they require a different syn-
tax.











GNUPLOT 4.0                                                      214


Example:
      gnuplot*gray: on

ggnnuupplloott also provides a command line option (--ppooiinnttssiizzee <<vv>>) and a
resource, ggnnuupplloott**ppooiinnttssiizzee:: <<vv>>, to control the size of points
plotted with the ppooiinnttss plotting style.  The value vv is a real num-
ber (greater than 0 and less than or equal to ten) used as a scaling
factor for point sizes.  For example, --ppooiinnttssiizzee 22 uses points twice
the default size, and --ppooiinnttssiizzee 00..55 uses points half the normal
size.

The --nnooeevveennttss switch disables all mouse and key event processing
(except for qq and <<ssppaaccee>> for closing the window). This is useful
for programs which use the x11 driver independent of the gnuplot
main program.



               3388..5599..7788..33..  MMoonnoocchhrroommee__ooppttiioonnss


               For monochrome displays, ggnnuupplloott does not honor fore-
               ground or background colors.  The default is black-
               on-white.  --rrvv or ggnnuupplloott**rreevveerrsseeVViiddeeoo:: oonn requests
               white-on-black.




               3388..5599..7788..44..  CCoolloorr__rreessoouurrcceess


               For color displays, ggnnuupplloott honors the following
               resources (shown here with their default values) or
               the greyscale resources.  The values may be color
               names as listed in the X11 rgb.txt file on your sys-
               tem, hexadecimal RGB color specifications (see X11
               documentation), or a color name followed by a comma
               and an iinntteennssiittyy value from 0 to 1.  For example,
               bblluuee,, 00..55 means a half intensity blue.























GNUPLOT 4.0                                                      215


                 +--------------------------------+
                 |    gnuplot*background: white   |
                 |    gnuplot*textColor: black    |
                 |    gnuplot*borderColor: black  |
                 |    gnuplot*axisColor: black    |
                 |    gnuplot*line1Color: red     |
                 |    gnuplot*line2Color: green   |
                 |    gnuplot*line3Color: blue    |
                 |    gnuplot*line4Color: magenta |
                 |    gnuplot*line5Color: cyan    |
                 |    gnuplot*line6Color: sienna  |
                 |    gnuplot*line7Color: orange  |
                 |    gnuplot*line8Color: coral   |
                 +--------------------------------+



The command-line syntax for these is simple only for background,
which maps directly to the usual X11 toolkit option "-bg".  All oth-
ers can only be set on the command line by use of the generic "-xrm"
resource override option

Examples:

      gnuplot -background coral
to change the background color.

      gnuplot -xrm 'gnuplot*line1Color:blue'
to override the first linetype color.




               3388..5599..7788..55..  GGrraayyssccaallee__rreessoouurrcceess


               When --ggrraayy is selected, ggnnuupplloott honors the following
               resources for grayscale or color displays (shown here
               with their default values).  Note that the default
               background is black.























GNUPLOT 4.0                                                      216


                  +-------------------------------+
                  |    gnuplot*background: black  |
                  |    gnuplot*textGray: white    |
                  |    gnuplot*borderGray: gray50 |
                  |    gnuplot*axisGray: gray50   |
                  |    gnuplot*line1Gray: gray100 |
                  |    gnuplot*line2Gray: gray60  |
                  |    gnuplot*line3Gray: gray80  |
                  |    gnuplot*line4Gray: gray40  |
                  |    gnuplot*line5Gray: gray90  |
                  |    gnuplot*line6Gray: gray50  |
                  |    gnuplot*line7Gray: gray70  |
                  |    gnuplot*line8Gray: gray30  |
                  +-------------------------------+






               3388..5599..7788..66..  LLiinnee__rreessoouurrcceess


               ggnnuupplloott honors the following resources for setting
               the width (in pixels) of plot lines (shown here with
               their default values.)  0 or 1 means a minimal width
               line of 1 pixel width.  A value of 2 or 3 may improve
               the appearance of some plots.



                    +---------------------------+
                    |    gnuplot*borderWidth: 2 |
                    |    gnuplot*axisWidth: 0   |
                    |    gnuplot*line1Width: 0  |
                    |    gnuplot*line2Width: 0  |
                    |    gnuplot*line3Width: 0  |
                    |    gnuplot*line4Width: 0  |
                    |    gnuplot*line5Width: 0  |
                    |    gnuplot*line6Width: 0  |
                    |    gnuplot*line7Width: 0  |
                    |    gnuplot*line8Width: 0  |
                    +---------------------------+



ggnnuupplloott honors the following resources for setting the dash style
used for plotting lines.  0 means a solid line.  A two-digit number
jjkk (jj and kk are >= 1  and <= 9) means a dashed line with a repeated
pattern of jj pixels on followed by kk pixels off.  For example, '16'
is a "dotted" line with one pixel on followed by six pixels off.
More elaborate on/off patterns can be specified with a four-digit
value.  For example, '4441' is four on, four off, four on, one off.










GNUPLOT 4.0                                                      217


The default values shown below are for monochrome displays or mono-
chrome rendering on color or grayscale displays.  For color dis-
plays, the default for each is 0 (solid line) except for aaxxiissDDaasshheess
which defaults to a '16' dotted line.



                  +------------------------------+
                  |    gnuplot*borderDashes: 0   |
                  |    gnuplot*axisDashes: 16    |
                  |    gnuplot*line1Dashes: 0    |
                  |    gnuplot*line2Dashes: 42   |
                  |    gnuplot*line3Dashes: 13   |
                  |    gnuplot*line4Dashes: 44   |
                  |    gnuplot*line5Dashes: 15   |
                  |    gnuplot*line6Dashes: 4441 |
                  |    gnuplot*line7Dashes: 42   |
                  |    gnuplot*line8Dashes: 13   |
                  +------------------------------+






               3388..5599..7788..77..  XX1111 ppmm33dd__rreessoouurrcceess


               Choosing the appropriate visual class and number of
               colors is a crucial point in X11 applications and a
               bit awkward, since X11 supports six visual types in
               different depths.

               By default ggnnuupplloott uses the default visual of the
               screen. The number of colors which can be allocated
               depends on the visual class chosen. On a visual class
               with a depth > 12bit, gnuplot starts with a maximal
               number of 0x200 colors.  On a visual class with a
               depth > 8bit (but <= 12 bit) the maximal number of
               colors is 0x100, on <= 8bit displays the maximum num-
               ber of colors is 240 (16 are left for line colors).

               Gnuplot first starts to allocate the maximal number
               of colors as stated above.  If this fails, the number
               of colors is reduced by the factor 2 until gnuplot
               gets all colors which are requested. If dividing mmaaxx--
               ccoolloorrss by 2 repeatedly results in a number which is
               smaller than mmiinnccoolloorrss ggnnuupplloott tries to install a
               private colormap. In this case the window manager is
               responsible for swapping colormaps when the pointer
               is moved in and out the x11 driver's window.

               The default for mmiinnccoolloorrss is maxcolors /










GNUPLOT 4.0                                                      218


               (num_colormaps > 1 ? 2 : 8), where num_colormaps is
               the number of colormaps which are currently used by
               gnuplot (usually 1, if only one x11 window is open).

               Some systems support multiple (different) visual
               classes together on one screen. On these systems it
               might be necessary to force gnuplot to use a specific
               visual class, e.g. the default visual might be 8bit
               PseudoColor but the screen would also support 24bit
               TrueColor which would be the preferred choice.

               The information about an Xserver's capabilities can
               be obtained with the program xxddppyyiinnffoo.  For the
               visual names below you can choose one of StaticGray,
               GrayScale, StaticColor, PseudoColor, TrueColor,
               DirectColor.  If an Xserver supports a requested
               visual type at different depths, ggnnuupplloott chooses the
               visual class with the highest depth (deepest).  If
               the requested visual class matches the default visual
               and multiple classes of this type are supported, the
               default visual is preferred.

               Example: on an 8bit PseudoColor visual you can force
               a private color map by specifying ggnnuupplloott**mmaaxxccoolloorrss::
               224400 and ggnnuupplloott**mmiinnccoolloorrss:: 224400.




             +-----------------------------------------+
             |    gnuplot*maxcolors:  <integer number> |
             |    gnuplot*mincolors:  <integer number> |
             |    gnuplot*visual:     <visual name>    |
             +-----------------------------------------+





          3388..5599..7799..  XXlliibb


          The xxlliibb terminal driver supports the X11 Windows System.
          It generates gnuplot_x11 commands, but sends them to the
          output file specified by sseett oouuttppuutt ''<<ffiilleennaammee>>''. sseett tteerrmm
          xx1111 is equivalent to sseett tteerrmmiinnaall xxlliibb;; sseett oouuttppuutt ""||ggnnuu--
          pplloott__xx1111 --nnooeevveennttss"".  xxlliibb takes the same set of options
          as xx1111.















GNUPLOT 4.0                                                      219


     3388..6600..  TTiiccss


     The sseett ttiiccss command can be used to change the tics to be drawn
     outwards.

     Syntax:
           set tics {<direction>}
           show tics

     where <direction> may be iinn (the default) or oouutt.

     See also sseett xxttiiccss for more control of major (labelled) tic
     marks and sseett mmxxttiiccss for control of minor tic marks.



     3388..6611..  TTiiccsslleevveell


     Using sspplloott, one can adjust the relative height of the vertical
     (Z) axis using sseett ttiiccsslleevveell.  The numeric argument provided
     specifies the location of the bottom of the scale (as a frac-
     tion of the z-range) above the xy-plane.  The default value is
     0.5.  Negative values are permitted, but tic labels on the
     three axes may overlap.

     To place the xy-plane at a position 'pos' on the z-axis, ttiicc--
     sslleevveell should be set equal to  (pos - zmin) / (zmin - zmax).

     Syntax:
           set ticslevel {<level>}
           show tics

     See also sseett vviieeww.



     3388..6622..  TTiiccssccaallee


     The size of the tic marks can be adjusted with sseett ttiiccssccaallee.

     Syntax:
           set ticscale {<major> {<minor>}}
           show tics

     If <minor> is not specified, it is 0.5*<major>.  The default
     size is 1.0 for major tics and 0.5 for minor tics.  Note that
     it is possible to have the tic marks pointing outward by speci-
     fying a negative size.












GNUPLOT 4.0                                                      220


     3388..6633..  TTiimmeessttaammpp


     The command sseett ttiimmeessttaammpp places the time and date of the plot
     in the left margin.

     Syntax:
           set timestamp {"<format>"} {top|bottom} {{no}rotate}
                         {<xoff>}{,<yoff>} {"<font>"}
           unset timestamp
           show timestamp

     The format string allows you to choose the format used to write
     the date and time.  Its default value is what asctime() uses:
     "%a %b %d %H:%M:%S %Y" (weekday, month name, day of the month,
     hours, minutes, seconds, four-digit year).  With ttoopp or bboottttoomm
     you can place the timestamp at the top or bottom of the left
     margin (default: bottom).  rroottaattee lets you write the timestamp
     vertically, if your terminal supports vertical text.  The con-
     stants <xoff> and <yoff> are offsets from the default position
     given in character screen coordinates.  <font> is used to spec-
     ify the font with which the time is to be written.

     The abbreviation ttiimmee may be used in place of ttiimmeessttaammpp.

     Example:
           set timestamp "%d/%m/%y %H:%M" 80,-2 "Helvetica"

     See sseett ttiimmeeffmmtt for more information about time format strings.



     3388..6644..  TTiimmeeffmmtt


     This command applies to timeseries where data are composed of
     dates/times.  It has no meaning unless the command sseett xxddaattaa
     ttiimmee is given also.

     Syntax:
           set timefmt "<format string>"
           show timefmt

     The string argument tells ggnnuupplloott how to read timedata from the
     datafile.  The valid formats are:


















GNUPLOT 4.0                                                      221


  +---------------------------------------------------------------+
  |Format   Explanation                                           |
  +---------------------------------------------------------------+
  |  %d     day of the month, 1--31                               |
  |  %m     month of the year, 1--12                              |
  |  %y     year, 0--99                                           |
  |  %Y     year, 4-digit                                         |
  |  %j     day of the year, 1--365                               |
  |  %H     hour, 0--24                                           |
  |  %M     minute, 0--60                                         |
  |  %s     seconds since the Unix epoch (1970-01-01 00:00 UTC)   |
  |  %S     second, 0--60                                         |
  |  %b     three-character abbreviation of the name of the month |
  |  %B     name of the month                                     |
  +---------------------------------------------------------------+
  +---------------------------------------------------------------+


Any character is allowed in the string, but must match exactly.  \t
(tab) is recognized.  Backslash-octals (\nnn) are converted to char.
If there is no separating character between the time/date elements,
then %d, %m, %y, %H, %M and %S read two digits each, %Y reads four
digits and %j reads three digits.  %b requires three characters, and
%B requires as many as it needs.

Spaces are treated slightly differently.  A space in the string
stands for zero or more whitespace characters in the file.  That is,
"%H %M" can be used to read "1220" and "12     20" as well as "12
20".

Each set of non-blank characters in the timedata counts as one col-
umn in the uussiinngg nn::nn specification.  Thus 1111::1111  2255//1122//7766  2211..00 con-
sists of three columns.  To avoid confusion, ggnnuupplloott requires that
you provide a complete uussiinngg specification if your file contains
timedata.

Since ggnnuupplloott cannot read non-numerical text, if the date format
includes the day or month in words, the format string must exclude
this text.  But it can still be printed with the "%a", "%A", "%b",
or "%B" specifier: see sseett ffoorrmmaatt for more details about these and
other options for printing timedata.  (ggnnuupplloott will determine the
proper month and weekday from the numerical values.)

See also sseett xxddaattaa and TTiimmee//ddaattee for more information.

Example:
      set timefmt "%d/%m/%Y\t%H:%M"
tells ggnnuupplloott to read date and time separated by tab.  (But look
closely at your data---what began as a tab may have been converted
to spaces somewhere along the line; the format string must match
what is actually in the file.)  See also time data demo.












GNUPLOT 4.0                                                      222


     3388..6655..  TTiittllee


     The sseett ttiittllee command produces a plot title that is centered at
     the top of the plot.  sseett ttiittllee is a special case of sseett llaabbeell.

     Syntax:
           set title {"<title-text>"} {<xoff>}{,<yoff>}
     {"<font>{,<size>}"}
                     {{textcolor | tc} {lt <line_type> | default}}
           show title

     Specifying constants <xoff> or <yoff> as optional offsets for
     the title will move the title <xoff> or <yoff> character screen
     coordinates (not graph coordinates).  For example, "sseett ttiittllee
     ,,--11" will change only the y offset of the title, moving the
     title down by roughly the height of one character.

     <font> is used to specify the font with which the title is to
     be written; the units of the font <size> depend upon which ter-
     minal is used.

     tteexxttccoolloorr lltt <<nn>> sets the text color to that of line type <n>.

     sseett ttiittllee with no parameters clears the title.

     See ssyynnttaaxx for details about the processing of backslash
     sequences and the distinction between single- and double-
     quotes.



     3388..6666..  TTmmaarrggiinn


     The command sseett ttmmaarrggiinn sets the size of the top margin.
     Please see sseett mmaarrggiinn for details.



     3388..6677..  TTrraannggee


     The sseett ttrraannggee command sets the parametric range used to com-
     pute x and y values when in parametric or polar modes.  Please
     see sseett xxrraannggee for details.



     3388..6688..  UUrraannggee













GNUPLOT 4.0                                                      223


     The sseett uurraannggee and sseett vvrraannggee commands set the parametric
     ranges used to compute x, y, and z values when in sspplloott para-
     metric mode.  Please see sseett xxrraannggee for details.



     3388..6699..  VVaarriiaabblleess


     The sshhooww vvaarriiaabblleess command lists all user-defined variables and
     their values.

     Syntax:
           show variables



     3388..7700..  VVeerrssiioonn


     The sshhooww vveerrssiioonn command lists the version of gnuplot being
     run, its last modification date, the copyright holders, and
     email addresses for the FAQ, the gnuplot-info mailing list, and
     reporting bugs--in short, the information listed on the screen
     when the program is invoked interactively.

     Syntax:
           show version {long}

     When the lloonngg option is given, it also lists the operating sys-
     tem, the compilation options used when ggnnuupplloott was installed,
     the location of the help file, and (again) the useful email
     addresses.



     3388..7711..  VViieeww


     The sseett vviieeww command sets the viewing angle for ssppllootts.  It
     controls how the 3-d coordinates of the plot are mapped into
     the 2-d screen space.  It provides controls for both rotation
     and scaling of the plotted data, but supports orthographic pro-
     jections only.  It supports both 3D projection or orthogonal 2D
     projection into a 2D plot-like map.

     Syntax:
           set view { <rot_x>{,{<rot_z>}{,{<scale>}{,<scale_z>}}} |
     map }
           show view

     where <rot_x> and <rot_z> control the rotation angles (in
     degrees) in a virtual 3-d coordinate system aligned with the










GNUPLOT 4.0                                                      224


     screen such that initially (that is, before the rotations are
     performed) the screen horizontal axis is x, screen vertical
     axis is y, and the axis perpendicular to the screen is z.  The
     first rotation applied is <rot_x> around the x axis.  The sec-
     ond rotation applied is <rot_z> around the new z axis.

     Command sseett vviieeww mmaapp is used to represent the drawing as a map.
     It can be used for ccoonnttoouurr plots, or for color ppmm33dd maps. In
     the latter, take care that you properly use zzrraannggee and ccbbrraannggee
     for input data point filtering and color range scaling, respec-
     tively.

     <rot_x> is bounded to the [0:180] range with a default of 60
     degrees, while <rot_z> is bounded to the [0:360] range with a
     default of 30 degrees.  <scale> controls the scaling of the
     entire sspplloott, while <scale_z> scales the z axis only.  Both
     scales default to 1.0.

     Examples:
           set view 60, 30, 1, 1
           set view ,,0.5

     The first sets all the four default values.  The second changes
     only scale, to 0.5.

     See also sseett ttiiccsslleevveell.



     3388..7722..  VVrraannggee


     The sseett uurraannggee and sseett vvrraannggee commands set the parametric
     ranges used to compute x, y, and z values when in sspplloott para-
     metric mode.  Please see sseett xxrraannggee for details.



     3388..7733..  XX22ddaattaa


     The sseett xx22ddaattaa command sets data on the x2 (top) axis to time-
     series (dates/times).  Please see sseett xxddaattaa.



     3388..7744..  XX22ddttiiccss


     The sseett xx22ddttiiccss command changes tics on the x2 (top) axis to
     days of the week.  Please see sseett xxddttiiccss for details.












GNUPLOT 4.0                                                      225


     3388..7755..  XX22llaabbeell


     The sseett xx22llaabbeell command sets the label for the x2 (top) axis.
     Please see sseett xxllaabbeell.



     3388..7766..  XX22mmttiiccss


     The sseett xx22mmttiiccss command changes tics on the x2 (top) axis to
     months of the year.  Please see sseett xxmmttiiccss for details.



     3388..7777..  XX22rraannggee


     The sseett xx22rraannggee command sets the horizontal range that will be
     displayed on the x2 (top) axis.  Please see sseett xxrraannggee for
     details.



     3388..7788..  XX22ttiiccss


     The sseett xx22ttiiccss command controls major (labelled) tics on the x2
     (top) axis.  Please see sseett xxttiiccss for details.



     3388..7799..  XX22zzeerrooaaxxiiss


     The sseett xx22zzeerrooaaxxiiss command draws a line at the origin of the x2
     (top) axis (y2 = 0).  For details, please see sseett zzeerrooaaxxiiss.



     3388..8800..  XXddaattaa


     This command sets the datatype on the x axis to time/date.  A
     similar command does the same thing for each of the other axes.

     Syntax:
           set xdata {time}
           show xdata

     The same syntax applies to yyddaattaa, zzddaattaa, xx22ddaattaa, yy22ddaattaa and
     ccbbddaattaa.










GNUPLOT 4.0                                                      226


     The ttiimmee option signals that the datatype is indeed time/date.
     If the option is not specified, the datatype reverts to normal.

     See sseett ttiimmeeffmmtt to tell gnuplot how to read date or time data.
     The time/date is converted to seconds from start of the cen-
     tury.  There is currently only one timefmt, which implies that
     all the time/date columns must conform to this format.  Speci-
     fication of ranges should be supplied as quoted strings accord-
     ing to this format to avoid interpretation of the time/date as
     an expression.

     The function 'strftime' (type "man strftime" on unix to look it
     up) is used to print tic-mark labels.  ggnnuupplloott tries to figure
     out a reasonable format for this  unless the sseett ffoorrmmaatt xx
     ""ssttrriinngg"" has supplied something that does not look like a deci-
     mal format (more than one '%' or neither %f nor %g).

     See also TTiimmee//ddaattee for more information.



     3388..8811..  XXddttiiccss


     The sseett xxddttiiccss commands converts the x-axis tic marks to days
     of the week where 0=Sun and 6=Sat.  Overflows are converted
     modulo 7 to dates.  sseett nnooxxddttiiccss returns the labels to their
     default values.  Similar commands do the same things for the
     other axes.

     Syntax:
           set xdtics
           unset xdtics
           show xdtics

     The same syntax applies to yyddttiiccss, zzddttiiccss, xx22ddttiiccss, yy22ddttiiccss and
     ccbbddttiiccss.

     See also the sseett ffoorrmmaatt command.



     3388..8822..  XXllaabbeell


     The sseett xxllaabbeell command sets the x axis label.  Similar commands
     set labels on the other axes.

     Syntax:
           set xlabel {"<label>"} {<xoff>}{,<yoff>} {font
     "<font>{,<size>}"}
                      {{textcolor | tc} {lt <line_type> | default}}
           show xlabel










GNUPLOT 4.0                                                      227


     The same syntax applies to xx22llaabbeell, yyllaabbeell, yy22llaabbeell, zzllaabbeell and
     ccbbllaabbeell.

     Specifying the constants <xoff> or <yoff> as optional offsets
     for a label will move it <xoff> or <yoff> character widths or
     heights.  For example, " sseett xxllaabbeell --11" will change only the x
     offset of the xlabel, moving the label roughly one character
     width to the left.   The size of a character depends on both
     the font and the terminal.

     <font> is used to specify the font in which the label is writ-
     ten; the units of the font <size> depend upon which terminal is
     used.

     tteexxttccoolloorr lltt <<nn>> sets the text color to that of line type <n>.

     To clear a label, put no options on the command line, e.g.,
     "sseett yy22llaabbeell".

     The default positions of the axis labels are as follows:

     xlabel:  The x-axis label is centered below the bottom axis.

     ylabel:  The position of the y-axis label depends on the termi-
     nal, and can be one of the following three positions:

     1. Horizontal text flushed left at the top left of the plot.
     Terminals that cannot rotate text will probably use this
     method.  If sseett xx22ttiiccss is also in use, the ylabel may overwrite
     the left-most x2tic label.  This may be remedied by adjusting
     the ylabel position or the left margin.

     2. Vertical text centered vertically at the left of the plot.
     Terminals that can rotate text will probably use this method.

     3. Horizontal text centered vertically at the left of the plot.
     The EEPIC, LaTeX and TPIC drivers use this method.  The EEPIC
     driver will produce a stack of characters so as not to over-
     write the plot. With other drivers (such as LaTeX and TPIC),
     the user probably has to insert line breaks using \\ to prevent
     the ylabel from overwriting the plot.

     zlabel: The z-axis label is centered along the z axis and
     placed in the space above the grid level.

     cblabel: The color box axis label is centered along the box and
     placed below or right according to horizontal or vertical color
     box gradient.

     y2label: The y2-axis label is placed to the right of the y2
     axis.  The position is terminal-dependent in the same manner as
     is the y-axis label.











GNUPLOT 4.0                                                      228


     x2label: The x2-axis label is placed above the top axis but
     below the plot title.  It is also possible to create an x2-axis
     label by using new-line characters to make a multi-line plot
     title, e.g.,

           set title "This is the title\n\nThis is the x2label"

     Note that double quotes must be used.  The same font will be
     used for both lines, of course.

     If you are not satisfied with the default position of an axis
     label, use sseett llaabbeell instead--that command gives you much more
     control over where text is placed.

     Please see ssyynnttaaxx for further information about backslash pro-
     cessing and the difference between single- and double-quoted
     strings.



     3388..8833..  XXmmttiiccss


     The sseett xxmmttiiccss command converts the x-axis tic marks to months
     of the year where 1=Jan and 12=Dec.  Overflows are converted
     modulo 12 to months.  The tics are returned to their default
     labels by uunnsseett xxmmttiiccss.  Similar commands perform the same
     duties for the other axes.

     Syntax:
           set xmtics
           unset xmtics
           show xmtics

     The same syntax applies to xx22mmttiiccss, yymmttiiccss, yy22mmttiiccss, zzmmttiiccss and
     ccbbmmttiiccss.

     See also the sseett ffoorrmmaatt command.



     3388..8844..  XXrraannggee


     The sseett xxrraannggee command sets the horizontal range that will be
     displayed.  A similar command exists for each of the other
     axes, as well as for the polar radius r and the parametric
     variables t, u, and v.

     Syntax:
           set xrange { [{{<min>}:{<max>}}] {{no}reverse}
     {{no}writeback} }
                      | restore










GNUPLOT 4.0                                                      229


           show xrange

     where <min> and <max> terms are constants, expressions or an
     asterisk to set autoscaling.  If the data are time/date, you
     must give the range as a quoted string according to the sseett
     ttiimmeeffmmtt format.  Any value omitted will not be changed.

     The same syntax applies to yyrraannggee, zzrraannggee, xx22rraannggee, yy22rraannggee,
     ccbbrraannggee, rrrraannggee, ttrraannggee, uurraannggee and vvrraannggee.

     The rreevveerrssee option reverses the direction of the axis, e.g.,
     sseett xxrraannggee [[00::11]] rreevveerrssee will produce an axis with 1 on the
     left and 0 on the right.  This is identical to the axis pro-
     duced by sseett xxrraannggee [[11::00]], of course.  rreevveerrssee is intended pri-
     marily for use with aauuttoossccaallee.

     The wwrriitteebbaacckk option essentially saves the range found by
     aauuttoossccaallee in the buffers that would be filled by sseett xxrraannggee.
     This is useful if you wish to plot several functions together
     but have the range determined by only some of them.  The wwrriittee--
     bbaacckk operation is performed during the pplloott execution, so it
     must be specified before that command.  To restore, the last
     saved horizontal range use sseett xxrraannggee rreessttoorree.  For example,

           set xrange [-10:10]
           set yrange [] writeback
           plot sin(x)
           set yrange restore
           replot x/2

     results in a yrange of [-1:1] as found only from the range of
     sin(x); the [-5:5] range of x/2 is ignored.  Executing sshhooww
     yyrraannggee after each command in the above example should help you
     understand what is going on.

     In 2-d, xxrraannggee and yyrraannggee determine the extent of the axes,
     ttrraannggee determines the range of the parametric variable in para-
     metric mode or the range of the angle in polar mode.  Similarly
     in parametric 3-d, xxrraannggee, yyrraannggee, and zzrraannggee govern the axes
     and uurraannggee and vvrraannggee govern the parametric variables.

     In polar mode, rrrraannggee determines the radial range plotted.
     <rmin> acts as an additive constant to the radius, whereas
     <rmax> acts as a clip to the radius---no point with radius
     greater than <rmax> will be plotted.  xxrraannggee and yyrraannggee are
     affected---the ranges can be set as if the graph was of
     r(t)-rmin, with rmin added to all the labels.

     Any range may be partially or totally autoscaled, although it
     may not make sense to autoscale a parametric variable unless it
     is plotted with data.

     Ranges may also be specified on the pplloott command line.  A range










GNUPLOT 4.0                                                      230


     given on the plot line will be used for that single pplloott com-
     mand; a range given by a sseett command will be used for all sub-
     sequent plots that do not specify their own ranges.  The same
     holds true for sspplloott.

     Examples:

     To set the xrange to the default:
           set xrange [-10:10]

     To set the yrange to increase downwards:
           set yrange [10:-10]

     To change zmax to 10 without affecting zmin (which may still be
     autoscaled):
           set zrange [:10]

     To autoscale xmin while leaving xmax unchanged:
           set xrange [*:]



     3388..8855..  XXttiiccss


     Fine control of the major (labelled) tics on the x axis is pos-
     sible with the sseett xxttiiccss command.  The tics may be turned off
     with the uunnsseett xxttiiccss command, and may be turned on (the default
     state) with sseett xxttiiccss.  Similar commands control the major tics
     on the y, z, x2 and y2 axes.

     Syntax:
           set xtics {axis | border} {{no}mirror} {{no}rotate {by
     <ang>}}
                     {  autofreq
                      | <incr>
                      | <start>, <incr> {,<end>}
                      | ({"<label>"} <pos> {<level>}
     {,{"<label>"}...) }
                     { font "name{,<size>}" }
                     { textcolor <colorspec> }
           unset xtics
           show xtics

     The same syntax applies to yyttiiccss, zzttiiccss, xx22ttiiccss, yy22ttiiccss and
     ccbbttiiccss.

     aaxxiiss or bboorrddeerr tells ggnnuupplloott to put the tics (both the tics
     themselves and the accompanying labels) along the axis or the
     border, respectively.  If the axis is very close to the border,
     the aaxxiiss option will move the tic labels to outside the border.
     The relevant margin settings will usually be sized badly by the
     automatic layout algorithm in this case.










GNUPLOT 4.0                                                      231


     mmiirrrroorr tells ggnnuupplloott to put unlabelled tics at the same posi-
     tions on the opposite border.  nnoommiirrrroorr does what you think it
     does.

     rroottaattee asks ggnnuupplloott to rotate the text through 90 degrees,
     which will be done if the terminal driver in use supports text
     rotation.  nnoorroottaattee cancels this. rroottaattee bbyy <<aanngg>> asks for
     rotation by <ang> degrees, supported by some terminal types.

     The defaults are bboorrddeerr mmiirrrroorr nnoorroottaattee for tics on the x and y
     axes, and bboorrddeerr nnoommiirrrroorr nnoorroottaattee for tics on the x2 and y2
     axes.  For the z axis, the {{aaxxiiss || bboorrddeerr}} option is not avail-
     able and the default is nnoommiirrrroorr.  If you do want to mirror the
     z-axis tics, you might want to create a bit more room for them
     with sseett bboorrddeerr.

     sseett xxttiiccss with no options restores the default border or axis
     if xtics are being displayed;  otherwise it has no effect.  Any
     previously specified tic frequency or position {and labels} are
     retained.

     Positions of the tics are calculated automatically by default
     or if the aauuttooffrreeqq option is given; otherwise they may be spec-
     ified in either of two forms:

     The implicit <start>, <incr>, <end> form specifies that a
     series of tics will be plotted on the axis between the values
     <start> and <end> with an increment of <incr>.  If <end> is not
     given, it is assumed to be infinity.  The increment may be neg-
     ative.  If neither <start> nor <end> is given, <start> is
     assumed to be negative infinity, <end> is assumed to be posi-
     tive infinity, and the tics will be drawn at integral multiples
     of <incr>.  If the axis is logarithmic, the increment will be
     used as a multiplicative factor.

     The sseett ggrriidd options 'front', 'back' and 'layerdefault' affect
     the drawing order of the xtics, too.

     Examples:

     Make tics at 0, 0.5, 1, 1.5, ..., 9.5, 10.
           set xtics 0,.5,10

     Make tics at ..., -10, -5, 0, 5, 10, ...
           set xtics 5

     Make tics at 1, 100, 1e4, 1e6, 1e8.
           set logscale x; set xtics 1,100,1e8

     The explicit ("<label>" <pos> <level>, ...) form allows arbi-
     trary tic positions or non-numeric tic labels.  In this form,
     the tics do not need to be listed in numerical order.  Each tic
     has a position, optionally with a label.  Note that the label










GNUPLOT 4.0                                                      232


     is a string enclosed by quotes.  It may be a constant string,
     such as "hello", may contain formatting information for con-
     verting the position into its label, such as "%3f clients", or
     may be empty, "".  See sseett ffoorrmmaatt for more information.  If no
     string is given, the default label (numerical) is used.

     An explicit tic mark has a third parameter, the "level".  The
     default is level 0, a major tic.  A level of 1 generates a
     minor tic.  If the level is specified, then the label must also
     be supplied.

     Examples:
           set xtics ("low" 0, "medium" 50, "high" 100)
           set xtics (1,2,4,8,16,32,64,128,256,512,1024)
           set ytics ("bottom" 0, "" 10, "top" 20)
           set ytics ("bottom" 0, "" 10 1, "top" 20)

     In the second example, all tics are labelled.  In the third,
     only the end tics are labelled.  In the fourth, the unlabeled
     tic is a minor tic.

     However they are specified, tics will only be plotted when in
     range.

     Format (or omission) of the tic labels is controlled by sseett
     ffoorrmmaatt, unless the explicit text of a labels is included in the
     sseett xxttiiccss ((<label>)) form.

     Minor (unlabelled) tics can be added by the sseett mmxxttiiccss command.

     In case of timeseries data, position values must be given as
     quoted dates or times according to the format ttiimmeeffmmtt.  If the
     <start>, <incr>, <end> form is used, <start> and <end> must be
     given according to ttiimmeeffmmtt, but <incr> must be in seconds.
     Times will be written out according to the format given on sseett
     ffoorrmmaatt, however.

     Examples:
           set xdata time
           set timefmt "%d/%m"
           set format x "%b %d"
           set xrange ["01/12":"06/12"]
           set xtics "01/12", 172800, "05/12"

           set xdata time
           set timefmt "%d/%m"
           set format x "%b %d"
           set xrange ["01/12":"06/12"]
           set xtics ("01/12", "" "03/12", "05/12")
     Both of these will produce tics "Dec 1", "Dec 3", and "Dec 5",
     but in the second example the tic at "Dec 3" will be unla-
     belled.











GNUPLOT 4.0                                                      233


     3388..8866..  XXzzeerrooaaxxiiss


     The sseett xxzzeerrooaaxxiiss command draws a line at y = 0.  For details,
     please see sseett zzeerrooaaxxiiss.



     3388..8877..  YY22ddaattaa


     The sseett yy22ddaattaa command sets y2 (right-hand) axis data to time-
     series (dates/times).  Please see sseett xxddaattaa.



     3388..8888..  YY22ddttiiccss


     The sseett yy22ddttiiccss command changes tics on the y2 (right-hand)
     axis to days of the week.  Please see sseett xxddttiiccss for details.



     3388..8899..  YY22llaabbeell


     The sseett yy22llaabbeell command sets the label for the y2 (right-hand)
     axis.  Please see sseett xxllaabbeell.



     3388..9900..  YY22mmttiiccss


     The sseett yy22mmttiiccss command changes tics on the y2 (right-hand)
     axis to months of the year.  Please see sseett xxmmttiiccss for details.



     3388..9911..  YY22rraannggee


     The sseett yy22rraannggee command sets the vertical range that will be
     displayed on the y2 (right-hand) axis.  Please see sseett xxrraannggee
     for details.



     3388..9922..  YY22ttiiccss













GNUPLOT 4.0                                                      234


     The sseett yy22ttiiccss command controls major (labelled) tics on the y2
     (right-hand) axis.  Please see sseett xxttiiccss for details.



     3388..9933..  YY22zzeerrooaaxxiiss


     The sseett yy22zzeerrooaaxxiiss command draws a line at the origin of the y2
     (right-hand) axis (x2 = 0).  For details, please see sseett
     zzeerrooaaxxiiss.



     3388..9944..  YYddaattaa


     The sseett yyddaattaa commands sets y-axis data to timeseries
     (dates/times).  Please see sseett xxddaattaa.



     3388..9955..  YYddttiiccss


     The sseett yyddttiiccss command changes tics on the y axis to days of
     the week.  Please see sseett xxddttiiccss for details.



     3388..9966..  YYllaabbeell


     This command sets the label for the y axis.  Please see sseett
     xxllaabbeell.



     3388..9977..  YYmmttiiccss


     The sseett yymmttiiccss command changes tics on the y axis to months of
     the year.  Please see sseett xxmmttiiccss for details.



     3388..9988..  YYrraannggee


     The sseett yyrraannggee command sets the vertical range that will be
     displayed on the y axis.  Please see sseett xxrraannggee for details.












GNUPLOT 4.0                                                      235


     3388..9999..  YYttiiccss


     The sseett yyttiiccss command controls major (labelled) tics on the y
     axis.  Please see sseett xxttiiccss for details.



     3388..110000..  YYzzeerrooaaxxiiss


     The sseett yyzzeerrooaaxxiiss command draws a line at x = 0.  For details,
     please see sseett zzeerrooaaxxiiss.



     3388..110011..  ZZddaattaa


     The sseett zzddaattaa command sets zaxis data to timeseries
     (dates/times).  Please see sseett xxddaattaa.



     3388..110022..  ZZddttiiccss


     The sseett zzddttiiccss command changes tics on the z axis to days of
     the week.  Please see sseett xxddttiiccss for details.



     3388..110033..  CCbbddaattaa


     Set color box axis data to timeseries (dates/times).  Please
     see sseett xxddaattaa.



     3388..110044..  CCbbddttiiccss


     The sseett ccbbddttiiccss command changes tics on the color box axis to
     days of the week. Please see sseett xxddttiiccss for details.



     3388..110055..  ZZeerroo


     The zzeerroo value is the default threshold for values approaching
     0.0.










GNUPLOT 4.0                                                      236


     Syntax:
           set zero <expression>
           show zero

     ggnnuupplloott will not plot a point if its imaginary part is greater
     in magnitude than the zzeerroo threshold.  This threshold is also
     used in various other parts of ggnnuupplloott as a (crude) numerical-
     error threshold.  The default zzeerroo value is 1e-8.  zzeerroo values
     larger than 1e-3 (the reciprocal of the number of pixels in a
     typical bitmap display) should probably be avoided, but it is
     not unreasonable to set zzeerroo to 0.0.



     3388..110066..  ZZeerrooaaxxiiss


     The x axis may be drawn by sseett xxzzeerrooaaxxiiss and removed by uunnsseett
     xxzzeerrooaaxxiiss.  Similar commands behave similarly for the y, x2,
     and y2 axes.

     Syntax:
           set {x|x2|y|y2|}zeroaxis { {linestyle | ls <line_style>}
                                      | { linetype | lt <line_type>}
                                        { linewidth | lw
     <line_width>}}
           unset {x|x2|y|y2|}zeroaxis
           show {x|y|}zeroaxis


     By default, these options are off.  The selected zero axis is
     drawn with a line of type <line_type> and width <line_width>
     (if supported by the terminal driver currently in use), or a
     user-defined style <line_style>.

     If no linetype is specified, any zero axes selected will be
     drawn using the axis linetype (linetype 0).

     sseett zzeerrooaaxxiiss is equivalent to sseett xxzzeerrooaaxxiiss;; sseett yyzzeerrooaaxxiiss.
     sseett nnoozzeerrooaaxxiiss is equivalent to uunnsseett xxzzeerrooaaxxiiss;; uunnsseett yyzzee--
     rrooaaxxiiss.

     Examples:

     To simply have the y=0 axis drawn visibly:

            set xzeroaxis

     If you want a thick line in a different color or pattern,
     instead:

            set xzeroaxis linetype 3 linewidth 2.5











GNUPLOT 4.0                                                      237


     3388..110077..  ZZllaabbeell


     This command sets the label for the z axis.  Please see sseett
     xxllaabbeell.



     3388..110088..  ZZmmttiiccss


     The sseett zzmmttiiccss command changes tics on the z axis to months of
     the year.  Please see sseett xxmmttiiccss for details.



     3388..110099..  ZZrraannggee


     The sseett zzrraannggee command sets the range that will be displayed on
     the z axis.  The zrange is used only by sspplloott and is ignored by
     pplloott.  Please see sseett xxrraannggee for details.



     3388..111100..  ZZttiiccss


     The sseett zzttiiccss command controls major (labelled) tics on the z
     axis.  Please see sseett xxttiiccss for details.



     3388..111111..  CCbbllaabbeell


     This command sets the label for the color box axis.  Please see
     sseett xxllaabbeell.



     3388..111122..  CCbbmmttiiccss


     The sseett ccbbmmttiiccss command changes tics on the color box axis to
     months of the year. Please see sseett xxmmttiiccss for details.



     3388..111133..  CCbbrraannggee













GNUPLOT 4.0                                                      238


     The sseett ccbbrraannggee command sets the range of z-values which are
     colored by ppmm33dd mode of sspplloott. If the cb-axis is autoscaled,
     then the ppmm33dd / ppaalleettttee range is taken from zzrraannggee.

     Please see sseett xxrraannggee for details on sseett ccbbrraannggee syntax.



     3388..111144..  CCbbttiiccss


     The sseett ccbbttiiccss command controls major (labelled) tics on the
     color box axis.  Please see sseett xxttiiccss for details.



3399..  SShheellll


The sshheellll command spawns an interactive shell.  To return to ggnnuu--
pplloott, type llooggoouutt if using VMS, eexxiitt or the END-OF-FILE character if
using Unix, eennddccllii if using AmigaOS, or eexxiitt if using MS-DOS or
OS/2.

There are two ways of spawning a shell command: using ssyysstteemm command
or via !! ($ if using VMS). The former command takes a string as a
parameter and thus it can be used anywhere among other gnuplot com-
mands, while the latter syntax requires to be the only command on
the line. Control will return immediately to ggnnuupplloott after this com-
mand is executed.  For example, in AmigaOS, MS-DOS or OS/2,

      ! dir
or
      system "dir"


prints a directory listing and then returns to ggnnuupplloott.


Other examples of the former syntax:
       system "date"; set time; plot "a.dat"
       print=1; if (print) replot; set out; system "lpr x.ps"

On an Atari, the !! command first checks whether a shell is already
loaded and uses it, if available.  This is practical if ggnnuupplloott is
run from gguullaamm, for example.



4400..  SSpplloott













GNUPLOT 4.0                                                      239


sspplloott is the command for drawing 3-d plots (well, actually projec-
tions on a 2-d surface, but you knew that).  It can create a plot
from functions or a data file in a manner very similar to the pplloott
command.

See pplloott for features common to the pplloott command; only differences
are discussed in detail here.  Note specifically that the bbiinnaarryy and
mmaattrriixx options (discussed under "datafile-modifiers") are not avail-
able for pplloott, and pplloott's aaxxeess option is not available for sspplloott.

Syntax:
      splot {<ranges>}
            <function> | "<datafile>" {datafile-modifiers}}
            {<title-spec>} {with <style>}
            {, {definitions,} <function> ...}

where either a <function> or the name of a data file enclosed in
quotes is supplied.  The function can be a mathematical expression,
or a triple of mathematical expressions in parametric mode.

By default sspplloott draws the xy plane completely below the plotted
data.  The offset between the lowest ztic and the xy plane can be
changed by sseett ttiiccsslleevveell.  The orientation of a sspplloott projection is
controlled by sseett vviieeww.  See sseett vviieeww and sseett ttiiccsslleevveell for more
information.

The syntax for setting ranges on the sspplloott command is the same as
for pplloott.  In non-parametric mode, the order in which ranges must be
given is xxrraannggee, yyrraannggee, and zzrraannggee.  In parametric mode, the order
is uurraannggee, vvrraannggee, xxrraannggee, yyrraannggee, and zzrraannggee.

The ttiittllee option is the same as in pplloott.  The operation of wwiitthh is
also the same as in pplloott, except that the plotting styles available
to sspplloott are limited to lliinneess, ppooiinnttss, lliinneessppooiinnttss, ddoottss, and
iimmppuullsseess;  the error-bar capabilities of pplloott are not available for
sspplloott.

The ddaattaaffiillee options have more differences.

See also sshhooww pplloott.




     4400..11..  DDaattaa--ffiillee


     As for pplloott, discrete data contained in a file can be displayed
     by specifying the name of the data file, enclosed in quotes,
     on the sspplloott command line.

     Syntax:
           splot '<file_name>' {binary | matrix}










GNUPLOT 4.0                                                      240


                               {index <index list>}
                               {every <every list>}
                               {using <using list>}

     The special filenames """" and ""--"" are permitted, as in pplloott.

     In brief, bbiinnaarryy and mmaattrriixx indicate that the data are in a
     special form, iinnddeexx selects which data sets in a multi-data-set
     file are to be plotted, eevveerryy specifies which datalines (sub-
     sets) within a single data set are to be plotted, and uussiinngg
     determines how the columns within a single record are to be
     interpreted.

     The options iinnddeexx and eevveerryy behave the same way as with pplloott;
     uussiinngg does so also, except that the uussiinngg list must provide
     three entries instead of two.

     The pplloott options tthhrruu and ssmmooootthh are not available for sspplloott,
     but ccnnttrrppaarraamm and ddggrriidd33dd provide limited smoothing capabili-
     ties.

     Data file organization is essentially the same as for pplloott,
     except that each point is an (x,y,z) triple.  If only a single
     value is provided, it will be used for z, the datablock number
     will be used for y, and the index of the data point in the dat-
     ablock will be used for x.  If two or four values are provided,
     ggnnuupplloott uses the last value for calculating the color in pm3d
     plots.  Three values are interpreted as an (x,y,z) triple.
     Additional values are generally used as errors, which can be
     used by ffiitt.

     Single blank records separate datablocks in a sspplloott datafile;
     sspplloott treats datablocks as the equivalent of function y-iso-
     lines.  No line will join points separated by a blank record.
     If all datablocks contain the same number of points, ggnnuupplloott
     will draw cross-isolines between datablocks, connecting corre-
     sponding points.  This is termed "grid data", and is required
     for drawing a surface, for contouring (sseett ccoonnttoouurr) and hidden-
     line removal (sseett hhiiddddeenn33dd). See also sspplloott ggrriidd__ddaattaa.

     It is no longer necessary to specify ppaarraammeettrriicc mode for three-
     column ssppllootts.




          4400..11..11..  BBiinnaarryy


          sspplloott can read binary files written with a specific format
          (and on a system with a compatible binary file representa-
          tion.)











GNUPLOT 4.0                                                      241


          In previous versions, ggnnuupplloott dynamically detected binary
          data files.  It is now necessary to specify the keyword
          bbiinnaarryy directly after the filename.

          Single precision floats are stored in a binary file as
          follows:

                <N+1>  <y0>   <y1>   <y2>  ...  <yN>
                 <x0> <z0,0> <z0,1> <z0,2> ... <z0,N>
                 <x1> <z1,0> <z1,1> <z1,2> ... <z1,N>
                  :      :      :      :   ...    :

          which are converted into triplets:
                <x0> <y0> <z0,0>
                <x0> <y1> <z0,1>
                <x0> <y2> <z0,2>
                 :    :     :
                <x0> <yN> <z0,N>

                <x1> <y0> <z1,0>
                <x1> <y1> <z1,1>
                 :    :     :

          These triplets are then converted into ggnnuupplloott iso-curves
          and then ggnnuupplloott proceeds in the usual manner to do the
          rest of the plotting.

          A collection of matrix and vector manipulation routines
          (in C) is provided in bbiinnaarryy..cc.  The routine to write
          binary data is

                int
          fwrite_matrix(file,m,nrl,nrl,ncl,nch,row_title,col-
          umn_title)

          An example of using these routines is provided in the file
          bbff__tteesstt..cc, which generates binary files for the demo file
          ddeemmoo//bbiinnaarryy..ddeemm.

          The iinnddeexx keyword is not supported, since the file format
          allows only one surface per file.  The eevveerryy and uussiinngg
          filters are supported.  uussiinngg operates as if the data were
          read in the above triplet form.  See also Binary File
          Splot Demo.



          4400..11..22..  EExxaammppllee ddaattaaffiillee


          A simple example of plotting a 3-d data file is

                splot 'datafile.dat'










GNUPLOT 4.0                                                      242


          where the file "datafile.dat" might contain:

                # The valley of the Gnu.
                   0 0 10
                   0 1 10
                   0 2 10

                   1 0 10
                   1 1 5
                   1 2 10

                   2 0 10
                   2 1 1
                   2 2 10

                   3 0 10
                   3 1 0
                   3 2 10

          Note that "datafile.dat" defines a 4 by 3 grid ( 4 rows of
          3 points each ).  Rows (datablocks) are separated by blank
          records.

          Note also that the x value is held constant within each
          dataline.  If you instead keep y constant, and plot with
          hidden-line removal enabled, you will find that the sur-
          face is drawn 'inside-out'.

          Actually for grid data it is not necessary to keep the x
          values constant within a datablock, nor is it necessary to
          keep the same sequence of y values.  ggnnuupplloott requires only
          that the number of points be the same for each datablock.
          However since the surface mesh, from which contours are
          derived, connects sequentially corresponding points, the
          effect of an irregular grid on a surface plot is unpre-
          dictable and should be examined on a case-by-case basis.



          4400..11..33..  MMaattrriixx


          The mmaattrriixx flag indicates that the ASCII data are stored
          in matrix format.  The z-values are read in a row at a
          time, i. e.,
                z11 z12 z13 z14 ...
                z21 z22 z23 z24 ...
                z31 z32 z33 z34 ...
          and so forth.  The row and column indices are used for the
          x- and y-values.

          A blank line or comment line ends the matrix, and starts a
          new surface mesh. You can select among the meshes inside a










GNUPLOT 4.0                                                      243


          file by the iinnddeexx option to the sspplloott command, as usual.



     4400..22..  GGrriidd__ddaattaa


     The 3D routines are designed for points in a grid format, with
     one sample, datapoint, at each mesh intersection; the data-
     points may originate from either evaluating a function, see sseett
     iissoossaammpplleess, or reading a datafile, see sspplloott ddaattaaffiillee.  The
     term "isoline" is applied to the mesh lines for both functions
     and data.  Note that the mesh need not be rectangular in x and
     y, as it may be parameterized in u and v, see sseett iissoossaammpplleess.

     However, ggnnuupplloott does not require that format.  In the case of
     functions, 'samples' need not be equal to 'isosamples', i.e.,
     not every x-isoline sample need intersect a y-isoline. In the
     case of data files, if there are an equal number of scattered
     data points in each datablock, then "isolines" will connect the
     points in a datablock, and "cross-isolines" will connect the
     corresponding points in each datablock to generate a "surface".
     In either case, contour and hidden3d modes may give different
     plots than if the points were in the intended format.  Scat-
     tered data can be converted to a {different} grid format with
     sseett ddggrriidd33dd.

     The contour code tests for z intensity along a line between a
     point on a y-isoline and the corresponding point in the next y-
     isoline.  Thus a sspplloott contour of a surface with samples on the
     x-isolines that do not coincide with a y-isoline intersection
     will ignore such samples. Try:
            set xrange [-pi/2:pi/2]; set yrange [-pi/2:pi/2]
            set style function lp
            set contour
            set isosamples 10,10; set samples 10,10;
            splot cos(x)*cos(y)
            set samples 4,10; replot
            set samples 10,4; replot




     4400..33..  SSpplloott__oovveerrvviieeww


     sspplloott can display a surface as a collection of points, or by
     connecting those points.  As with pplloott, the points may be read
     from a data file or result from evaluation of a function at
     specified intervals, see sseett iissoossaammpplleess.  The surface may be
     approximated by connecting the points with straight line seg-
     ments, see sseett ssuurrffaaccee, in which case the surface can be made
     opaque with sseett hhiiddddeenn33dd..  The orientation from which the 3d










GNUPLOT 4.0                                                      244


     surface is viewed can be changed with sseett vviieeww.

     Additionally, for points in a grid format, sspplloott can interpo-
     late points having a common amplitude (see sseett ccoonnttoouurr) and can
     then connect those new points to display contour lines, either
     directly with straight-line segments or smoothed lines (see sseett
     ccnnttrrppaarraamm).  Functions are already evaluated in a grid format,
     determined by sseett iissoossaammpplleess and sseett ssaammpplleess, while file data
     must either be in a grid format, as described in ddaattaa--ffiillee, or
     be used to generate a grid (see sseett ddggrriidd33dd).

     Contour lines may be displayed either on the surface or pro-
     jected onto the base.  The base projections of the contour
     lines may be written to a file, and then read with pplloott, to
     take advantage of pplloott's additional formatting capabilities.



4411..  SSyysstteemm


ssyysstteemm spawns shell to execute a command. Please type hheellpp sshheellll for
more details.



4422..  TTeesstt


This command graphically tests or presents terminal and palette
capabilities.

Syntax:
      test {terminal | palette [rgb|rbg|grb|gbr|brg|bgr]}

tteesstt or tteesstt tteerrmmiinnaall creates a display of line and point styles and
other useful things appropriate for and supported by the tteerrmmiinnaall
you are just using.

tteesstt ppaalleettttee draws graphically profiles R(z),G(z),B(z), where
0<=z<=1, as calculated by the current color ppaalleettttee. In other words,
it is a beautiful plot you would have to do yourself with the result
of sshhooww ppaalleettttee ppaalleettttee 225566 ffllooaatt.  The optional parameter, a permu-
tation of letters rgb, determines the sequence of r,g,b profiles
drawn one after the other --- try this yourself for sseett ppaalleettttee
ggrraayy. The default sequence is rgb.



4433..  UUnnsseett













GNUPLOT 4.0                                                      245


Options set using the sseett command may be returned to their default
state by issuing the corresponding uunnsseett command.

Example:
      set xtics mirror rotate by -45 0,10,100
      ...
      unset xtics




4444..  UUppddaattee


This command writes the current values of the fit parameters into
the given file, formatted as an initial-value file (as described in
the ffiittsection).  This is useful for saving the current values for
later use or for restarting a converged or stopped fit.

Syntax:
      update <filename> {<filename>}

If a second filename is supplied, the updated values are written to
this file, and the original parameter file is left unmodified.

Otherwise, if the file already exists, ggnnuupplloott first renames it by
appending ..oolldd and then opens a new file.  That is, "uuppddaattee ''ffrreedd''"
behaves the same as "!!rreennaammee ffrreedd ffrreedd..oolldd;; uuppddaattee ''ffrreedd..oolldd''
''ffrreedd''".  [On DOS and other systems that use the twelve-character
"filename.ext" naming convention, "ext" will be "oolldd" and "filename"
will be related (hopefully recognizably) to the initial name.
Renaming is not done at all on VMS systems, since they use file-ver-
sioning.]

Please see ffiitt for more information.




4455..  GGrraapphhiiccaall UUsseerr IInntteerrffaacceess


Several graphical user interfaces have been written for ggnnuupplloott and
one for win32 is included in this distribution.  In addition, there
is a Macintosh interface at
         ftp://ftp.ee.gatech.edu/pub/mac/gnuplot


Also several X11 interfaces exist.  One of them is called xgfe. It
uses the Qt library and can be found on
         http://www.flash.net/~dmishee/xgfe/xgfe.html

In addition three Tcl/Tk located at the usual Tcl/Tk repositories










GNUPLOT 4.0                                                      246


exist.

Bruce Ravel (ravel@phys.washington.edu) has written a new version of
gnuplot-mode for GNU emacs and XEmacs. This version is based on the
gnuplot.el file by Gershon Elber.  While the gnuplot CVS repository
has its own copy the most recent version of this package is avail-
able from
          http://feff.phys.washington.edu/~ravel/software/gnuplot-
mode/





4466..  BBuuggss


Floating point exceptions (floating point number too large/small,
divide by zero, etc.) may occasionally be generated by user defined
functions.  Some of the demos in particular may cause numbers to
exceed the floating point range.  Whether the system ignores such
exceptions (in which case ggnnuupplloott labels the corresponding point as
undefined) or aborts ggnnuupplloott depends on the compiler/runtime envi-
ronment.

The bessel functions do not work for complex arguments.

The gamma function does not work for complex arguments.

As of ggnnuupplloott version 3.7, all development has been done using ANSI
C.  With current operating system, compiler, and library releases,
the OS specific bugs documented in release 3.5, now relegated to
oolldd__bbuuggss, may no longer be relevant.

Bugs reported since the current release as well as older ones may be
located via the official distribution site:
          http://www.gnuplot.info

Please e-mail any bugs to bug-gnuplot mailing list (see SSeeeekkiinngg--
aassssiissttaannccee).




4477..  OOlldd__bbuuggss


There is a bug in the stdio library for old Sun operating systems
(SunOS Sys4-3.2).  The "%g" format for 'printf' sometimes incor-
rectly prints numbers (e.g., 200000.0 as "2").  Thus, tic mark
labels may be incorrect on a Sun4 version of ggnnuupplloott.  A work-around
is to rescale the data or use the sseett ffoorrmmaatt command to change the
tic mark format to "%7.0f" or some other appropriate format.  This










GNUPLOT 4.0                                                      247


appears to have been fixed in SunOS 4.0.

Another bug: On a Sun3 under SunOS 4.0, and on Sun4's under Sys4-3.2
and SunOS 4.0, the 'sscanf' routine incorrectly parses "00 12" with
the format "%f %f" and reads 0 and 0 instead of 0 and 12.  This
affects data input.  If the data file contains x coordinates that
are zero but are specified like '00', '000', etc, then you will read
the wrong y values.  Check any data files or upgrade the SunOS.  It
appears to have been fixed in SunOS 4.1.1.

Suns appear to overflow when calculating exp(-x) for large x, so
ggnnuupplloott gets an undefined result.  One work-around is to make a
user-defined function like e(x) = x<-500 ? 0 : exp(x).  This affects
plots of Gaussians (exp(-x*x)) in particular, since x*x grows quite
rapidly.

Microsoft C 5.1 has a nasty bug associated with the %g format for
'printf'.  When any of the formats "%.2g", "%.1g", "%.0g", "%.g" are
used, 'printf' will incorrectly print numbers in the range 1e-4 to
1e-1.  Numbers that should be printed in the %e format are incor-
rectly printed in the %f format, with the wrong number of zeros
after the decimal point.  To work around this problem, use the %e or
%f formats explicitly.

ggnnuupplloott, when compiled with Microsoft C, did not work correctly on
two VGA displays that were tested.  The CGA, EGA and VGA drivers
should probably be rewritten to use the Microsoft C graphics
library.  ggnnuupplloott compiled with Borland C++ uses the Turbo C graph-
ics drivers and does work correctly with VGA displays.

VAX/VMS 4.7 C compiler release 2.4 also has a poorly implemented %g
format for 'printf'.  The numbers are printed numerically correct,
but may not be in the requested format.  The K&R second edition says
that for the %g format, %e is used if the exponent is less than -4
or greater than or equal to the precision.  The VAX uses %e format
if the exponent is less than -1.  The VAX appears to take no notice
of the precision when deciding whether to use %e or %f for numbers
less than 1.  To work around this problem, use the %e or %f formats
explicitly.  From the VAX C 2.4 release notes: e,E,f,F,g,G  Result
will always contain a decimal  point.  For g and G, trailing zeros
will not be removed from the result.

VAX/VMS 5.2 C compiler release 3.0 has a slightly better implemented
%g format than release 2.4, but not much.  Trailing decimal points
are now removed, but trailing zeros are still not removed from %g
numbers in exponential format.

The two preceding problems are actually in the libraries rather than
in the compilers.  Thus the problems will occur whether ggnnuupplloott is
built using either the DEC compiler or some other one (e.g. the lat-
est gcc).

ULTRIX X11R3 has a bug that causes the X11 driver to display "every










GNUPLOT 4.0                                                      248


other" graph.  The bug seems to be fixed in DEC's release of X11R4
so newer releases of ULTRIX don't seem to have the problem.  Solu-
tions for older sites include upgrading the X11 libraries (from DEC
or direct from MIT) or defining ULTRIX_KLUDGE when compiling the
x11.trm file.  Note that the kludge is not an ideal fix, however.

The constant HUGE was incorrectly defined in the NeXT OS 2.0 operat-
ing system.  HUGE should be set to 1e38 in plot.h. This error has
been corrected in the 2.1 version of NeXT OS.

Some older models of HP plotters do not have a page eject command
'PG'.  The current HPGL driver uses this command in HPGL_reset.
This may need to be removed for these plotters.  The current PCL5
driver uses HPGL/2 for text as well as graphics.  This should be
modified to use scalable PCL fonts.

On the Atari version, it is not possible to send output directly to
the printer (using //ddeevv//llpp as output file), since CRs are added to
LFs in binary output.  As a work-around, write the output to a file
and copy it to the printer afterwards using a shell command.

On AIX 4, the literal 'NaNq' in a datafile causes the special inter-
nal value 'not-a-number' to be stored, rather than setting an inter-
nal 'undefined' flag.  A workaround is to use sseett ddaattaaffiillee mmiissssiinngg
''NNaaNNqq''.






































GNUPLOT 4.0                                                        i


                         TTaabbllee ooff CCoonntteennttss


Gnuplot  . . . . . . . . . . . . . . . . . . . . . . . . . . . .   1
Copyright  . . . . . . . . . . . . . . . . . . . . . . . . . . .   1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . .   2
Seeking-assistance . . . . . . . . . . . . . . . . . . . . . . .   3
What is New in Version 4.0 . . . . . . . . . . . . . . . . . . .   4
Mouse and hotkey support in interactive terminals  . . . . . . .   4
New terminal features  . . . . . . . . . . . . . . . . . . . . .   5
New plot style `pm3d`  . . . . . . . . . . . . . . . . . . . . .   5
New plot style `filledcurves`  . . . . . . . . . . . . . . . . .   6
Filled boxes . . . . . . . . . . . . . . . . . . . . . . . . . .   6
New plot option smooth frequency . . . . . . . . . . . . . . . .   6
Improved text options  . . . . . . . . . . . . . . . . . . . . .   6
More text encodings  . . . . . . . . . . . . . . . . . . . . . .   7
Arrows . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   7
Data file format . . . . . . . . . . . . . . . . . . . . . . . .   7
Other changes and additions  . . . . . . . . . . . . . . . . . .   7
Accompanying documentation . . . . . . . . . . . . . . . . . . .   8
Batch/Interactive Operation  . . . . . . . . . . . . . . . . . .   9
Command-line-editing . . . . . . . . . . . . . . . . . . . . . .   9
Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . .  11
Coordinates  . . . . . . . . . . . . . . . . . . . . . . . . . .  11
Environment  . . . . . . . . . . . . . . . . . . . . . . . . . .  12
Expressions  . . . . . . . . . . . . . . . . . . . . . . . . . .  13
Functions  . . . . . . . . . . . . . . . . . . . . . . . . . . .  14
Random number generator  . . . . . . . . . . . . . . . . . . . .  16
Operators  . . . . . . . . . . . . . . . . . . . . . . . . . . .  16
Unary  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  17
Binary . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  17
Ternary  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  18
User-defined . . . . . . . . . . . . . . . . . . . . . . . . . .  19
Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . .  20
Mouse input  . . . . . . . . . . . . . . . . . . . . . . . . . .  21
Bind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  21
Mouse_variables  . . . . . . . . . . . . . . . . . . . . . . . .  23
Plotting . . . . . . . . . . . . . . . . . . . . . . . . . . . .  23
Start-up . . . . . . . . . . . . . . . . . . . . . . . . . . . .  24
Substitution . . . . . . . . . . . . . . . . . . . . . . . . . .  24
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  25
Time/Date data . . . . . . . . . . . . . . . . . . . . . . . . .  26
Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . .  27
Cd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  28
Call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  28
Clear  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  29
Exit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  29
Fit  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  30
Adjustable parameters  . . . . . . . . . . . . . . . . . . . . .  31
Short introduction . . . . . . . . . . . . . . . . . . . . . . .  32
Error estimates  . . . . . . . . . . . . . . . . . . . . . . . .  33
Statistical overview . . . . . . . . . . . . . . . . . . . . . .  34
Practical guidelines . . . . . . . . . . . . . . . . . . . . . .  35










GNUPLOT 4.0                                                       ii


Fit controlling  . . . . . . . . . . . . . . . . . . . . . . . .  37
Control variables  . . . . . . . . . . . . . . . . . . . . . . .  37
Environment variables  . . . . . . . . . . . . . . . . . . . . .  38
Multi-branch . . . . . . . . . . . . . . . . . . . . . . . . . .  38
Starting values  . . . . . . . . . . . . . . . . . . . . . . . .  39
Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  39
Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  41
History  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  41
If . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  42
Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  42
Pause  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  43
Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  44
Data-file  . . . . . . . . . . . . . . . . . . . . . . . . . . .  44
Every  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  46
Example datafile . . . . . . . . . . . . . . . . . . . . . . . .  47
Index  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  47
Smooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  48
Acsplines  . . . . . . . . . . . . . . . . . . . . . . . . . . .  49
Bezier . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  49
Csplines . . . . . . . . . . . . . . . . . . . . . . . . . . . .  49
Sbezier  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  50
Unique . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  50
Frequency  . . . . . . . . . . . . . . . . . . . . . . . . . . .  50
Special-filenames  . . . . . . . . . . . . . . . . . . . . . . .  50
Thru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  52
Using  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  52
Errorbars  . . . . . . . . . . . . . . . . . . . . . . . . . . .  55
Errorlines . . . . . . . . . . . . . . . . . . . . . . . . . . .  56
Parametric . . . . . . . . . . . . . . . . . . . . . . . . . . .  57
Ranges . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  57
Title  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  59
With . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  59
Print  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  62
Pwd  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  62
Quit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  62
Replot . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  63
Reread . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  63
Reset  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  64
Save . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  64
Set-show . . . . . . . . . . . . . . . . . . . . . . . . . . . .  65
Angles . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  66
Arrow  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  67
Autoscale  . . . . . . . . . . . . . . . . . . . . . . . . . . .  69
Parametric mode  . . . . . . . . . . . . . . . . . . . . . . . .  70
Polar mode . . . . . . . . . . . . . . . . . . . . . . . . . . .  71
Bars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  71
Bmargin  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  72
Border . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  72
Boxwidth . . . . . . . . . . . . . . . . . . . . . . . . . . . .  74
Clabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  75
Clip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  75
Cntrparam  . . . . . . . . . . . . . . . . . . . . . . . . . . .  76
Color box  . . . . . . . . . . . . . . . . . . . . . . . . . . .  78










=1 .if 0 .tl 'GNUPLOT 4.0''%'


Contour  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  79
Data style . . . . . . . . . . . . . . . . . . . . . . . . . . .  80
Datafile . . . . . . . . . . . . . . . . . . . . . . . . . . . .  80
Set datafile missing . . . . . . . . . . . . . . . . . . . . . .  81
Set datafile separator . . . . . . . . . . . . . . . . . . . . .  82
Set datafile commentschars . . . . . . . . . . . . . . . . . . .  82
Decimalsign  . . . . . . . . . . . . . . . . . . . . . . . . . .  83
Dgrid3d  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  83
Dummy  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  84
Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . .  85
Fit  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  86
Fontpath . . . . . . . . . . . . . . . . . . . . . . . . . . . .  87
Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  87
Format specifiers  . . . . . . . . . . . . . . . . . . . . . . .  88
Time/date specifiers . . . . . . . . . . . . . . . . . . . . . .  90
Function style . . . . . . . . . . . . . . . . . . . . . . . . .  91
Functions  . . . . . . . . . . . . . . . . . . . . . . . . . . .  91
Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  91
Hidden3d . . . . . . . . . . . . . . . . . . . . . . . . . . . .  92
Historysize  . . . . . . . . . . . . . . . . . . . . . . . . . .  95
Isosamples . . . . . . . . . . . . . . . . . . . . . . . . . . .  95
Key  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  96
Label  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  99
Lmargin  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Loadpath . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Logscale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Mapping  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Margin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Mouse  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
X11_mouse  . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Multiplot  . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Mx2tics  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Mxtics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
My2tics  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Mytics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Mztics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Offsets  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Origin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Parametric . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Pm3d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Palette  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Rgbformulae  . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Defined  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Functions  . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Gamma-correction . . . . . . . . . . . . . . . . . . . . . . . . 123
Postscript . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Pointsize  . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Polar  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Print  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126










GNUPLOT 4.0                                                       iv


Rmargin  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Rrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Samples  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Style  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Set style arrow  . . . . . . . . . . . . . . . . . . . . . . . . 129
Set style data . . . . . . . . . . . . . . . . . . . . . . . . . 130
Set style fill . . . . . . . . . . . . . . . . . . . . . . . . . 131
Set style function . . . . . . . . . . . . . . . . . . . . . . . 131
Set style line . . . . . . . . . . . . . . . . . . . . . . . . . 132
Plotting styles  . . . . . . . . . . . . . . . . . . . . . . . . 133
Boxerrorbars . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Boxes  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Filledcurves . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Boxxyerrorbars . . . . . . . . . . . . . . . . . . . . . . . . . 137
Candlesticks . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Dots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Financebars  . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Fsteps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Histeps  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Impulses . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Lines  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Linespoints  . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Steps  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Vectors  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Xerrorbars . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Xyerrorbars  . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Yerrorbars . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Xerrorlines  . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Xyerrorlines . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Yerrorlines  . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Surface  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Terminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Aed767 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Aifm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Amiga  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Apollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Aqua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Atari ST (via AES) . . . . . . . . . . . . . . . . . . . . . . . 146
Be . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Command-line_options . . . . . . . . . . . . . . . . . . . . . . 147
Monochrome_options . . . . . . . . . . . . . . . . . . . . . . . 148
Color_resources  . . . . . . . . . . . . . . . . . . . . . . . . 148
Grayscale_resources  . . . . . . . . . . . . . . . . . . . . . . 149
Line_resources . . . . . . . . . . . . . . . . . . . . . . . . . 150
Cgi  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Cgm  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Font . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Linewidth  . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Rotate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Solid  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155










GNUPLOT 4.0                                                        v


Width  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Nofontlist . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Corel  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Debug  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Dospc  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Dumb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Dxf  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Dxy800a  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Eepic  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Emf  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Emxvga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Epslatex . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Epson-180dpi . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Excl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Fig  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Ggi  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Gif  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Gnugraph(GNU plotutils)  . . . . . . . . . . . . . . . . . . . . 166
Gpic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Gpr  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Grass  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Hercules . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Hp2623a  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Hp2648 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Hp500c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Hpgl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Hpljii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Hppj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Imagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Iris4d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Jpeg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Kyo  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Latex  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Linux  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Macintosh  . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Mf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
METAFONT Instructions  . . . . . . . . . . . . . . . . . . . . . 177
Mgr  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Mif  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Mp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Metapost Instructions  . . . . . . . . . . . . . . . . . . . . . 182
Mtos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Next . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Openstep (next)  . . . . . . . . . . . . . . . . . . . . . . . . 184
Pbm  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Pdf  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Pm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
Png (NEW)  . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
Png (OLD)  . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Postscript . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Enhanced postscript  . . . . . . . . . . . . . . . . . . . . . . 191
Editing postscript . . . . . . . . . . . . . . . . . . . . . . . 193
Postscript fontfile  . . . . . . . . . . . . . . . . . . . . . . 193










GNUPLOT 4.0                                                       vi


Pslatex and pstex  . . . . . . . . . . . . . . . . . . . . . . . 195
Pstricks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Qms  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Regis  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Rgip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Sun  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Svg  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Svga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Table  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Tek40  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Tek410x  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Texdraw  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Tgif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Tkcanvas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Tpic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Unixpc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Unixplot . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Atari ST (via VDI) . . . . . . . . . . . . . . . . . . . . . . . 204
Vgagl  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
VWS  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Vx384  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Windows  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Graph-menu . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Printing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Text-menu  . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Wgnuplot.ini . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Windows3.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
X11  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
X11_fonts  . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Command-line_options . . . . . . . . . . . . . . . . . . . . . . 213
Monochrome_options . . . . . . . . . . . . . . . . . . . . . . . 214
Color_resources  . . . . . . . . . . . . . . . . . . . . . . . . 214
Grayscale_resources  . . . . . . . . . . . . . . . . . . . . . . 215
Line_resources . . . . . . . . . . . . . . . . . . . . . . . . . 216
X11 pm3d_resources . . . . . . . . . . . . . . . . . . . . . . . 217
Xlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Tics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Ticslevel  . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Ticscale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Timestamp  . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Timefmt  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Title  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Tmargin  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Trange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Urange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Variables  . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Version  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Vrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
X2data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
X2dtics  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
X2label  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
X2mtics  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225










GNUPLOT 4.0                                                      vii


X2range  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
X2tics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
X2zeroaxis . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Xdata  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Xdtics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Xlabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Xmtics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Xrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Xtics  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Xzeroaxis  . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Y2data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Y2dtics  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Y2label  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Y2mtics  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Y2range  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Y2tics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Y2zeroaxis . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Ydata  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Ydtics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Ylabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Ymtics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Yrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Ytics  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Yzeroaxis  . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Zdata  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Zdtics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Cbdata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Cbdtics  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Zero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Zeroaxis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Zlabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Zmtics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Zrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Ztics  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Cblabel  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Cbmtics  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Cbrange  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Cbtics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Shell  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Splot  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Data-file  . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Binary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Example datafile . . . . . . . . . . . . . . . . . . . . . . . . 241
Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Grid_data  . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Splot_overview . . . . . . . . . . . . . . . . . . . . . . . . . 243
System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Unset  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Graphical User Interfaces  . . . . . . . . . . . . . . . . . . . 245
Bugs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Old_bugs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246










GNUPLOT 4.0                                                     viii





























































