home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 22 gnu / 22-gnu.zip / gp371os2.zip / gnuplot.gih < prev    next >
Text File  |  1999-10-27  |  353KB  |  8,470 lines

  1. ?copyright
  2. ?license
  3.        Copyright (C) 1986 - 1993, 1998   Thomas Williams, Colin Kelley
  4.  
  5.  Permission to use, copy, and distribute this software and its
  6.  documentation for any purpose with or without fee is hereby granted,
  7.  provided that the above copyright notice appear in all copies and
  8.  that both that copyright notice and this permission notice appear
  9.  in supporting documentation.
  10.  
  11.  Permission to modify the software is granted, but not the right to
  12.  distribute the complete modified source code.  Modifications are to
  13.  be distributed as patches to the released version.  Permission to
  14.  distribute binaries produced by compiling modified sources is granted,
  15.  provided you
  16.    1. distribute the corresponding source modifications from the
  17.     released version in the form of a patch file along with the binaries,
  18.    2. add special version identification to distinguish your version
  19.     in addition to the base release version number,
  20.    3. provide your name and address as the primary contact for the
  21.     support of your modified version, and
  22.    4. retain our contact information in regard to use of the base
  23.     software.
  24.  Permission to distribute the released version of the source code along
  25.  with corresponding source modifications in the form of a patch file is
  26.  granted with same provisions 2 through 4 for binary distributions.
  27.  
  28.  This software is provided "as is" without express or implied warranty
  29.  to the extent permitted by applicable law.
  30.  
  31.  
  32.        AUTHORS
  33.  
  34.        Original Software:
  35.           Thomas Williams,  Colin Kelley.
  36.  
  37.        Gnuplot 2.0 additions:
  38.           Russell Lang, Dave Kotz, John Campbell.
  39.  
  40.        Gnuplot 3.0 additions:
  41.           Gershon Elber and many others.
  42. ?introduction
  43. ?
  44.  `gnuplot` is a command-driven interactive function and data plotting program.
  45.  It is case sensitive (commands and function names written in lowercase are
  46.  not the same as those written in CAPS).  All command names may be abbreviated
  47.  as long as the abbreviation is not ambiguous.  Any number of commands may
  48.  appear on a line (with the exception that `load` or `call` must be the final
  49.  command), separated by semicolons (;).  Strings are indicated with quotes.
  50.  They may be either single or double quotation marks, e.g.,
  51.  
  52.        load "filename"
  53.        cd 'dir'
  54.  
  55.  although there are some subtle differences (see `syntax` for more details).
  56.  
  57.  Any command-line arguments are assumed to be names of files containing
  58.  `gnuplot` commands, with the exception of standard X11 arguments, which are
  59.  processed first.  Each file is loaded with the `load` command, in the order
  60.  specified.  `gnuplot` exits after the last file is processed.  When no load
  61.  files are named, `gnuplot` enters into an interactive mode.  The special
  62.  filename "-" is used to denote standard input.  See "help batch/interactive"
  63.  for more details.
  64.  
  65.  Many `gnuplot` commands have multiple options.  These options must appear in
  66.  the proper order, although unwanted ones may be omitted in most cases.  Thus
  67.  if the entire command is "command a b c", then "command a c" will probably
  68.  work, but "command c a" will fail.
  69.  
  70.  Commands may extend over several input lines by ending each line but the last
  71.  with a backslash (\).  The backslash must be the _last_ character on each
  72.  line.  The effect is as if the backslash and newline were not there.  That
  73.  is, no white space is implied, nor is a comment terminated.  Therefore,
  74.  commenting out a continued line comments out the entire command (see
  75.  `comment`).  But note that if an error occurs somewhere on a multi-line
  76.  command, the parser may not be able to locate precisely where the error is
  77.  and in that case will not necessarily point to the correct line.
  78.  
  79.  In this document, curly braces ({}) denote optional arguments and a vertical
  80.  bar (|) separates mutually exclusive choices.  `gnuplot` keywords or `help`
  81.  topics are indicated by backquotes or `boldface` (where available).  Angle
  82.  brackets (<>) are used to mark replaceable tokens.  In many cases, a default
  83.  value of the token will be taken for optional arguments if the token is
  84.  omitted, but these cases are not always denoted with braces around the angle
  85.  brackets.
  86.  
  87.  For on-line help on any topic, type `help` followed by the name of the topic
  88.  or just `help` or `?` to get a menu of available topics.
  89.  
  90.  The new `gnuplot` user should begin by reading about `plotting` (if on-line,
  91.  type `help plotting`).
  92. ?seeking-assistance
  93.  There is a mailing list for `gnuplot` users.  Note, however, that the
  94.  newsgroup
  95.        comp.graphics.apps.gnuplot
  96.  is identical to the mailing list (they both carry the same set of messages).
  97.  We prefer that you read the messages through the newsgroup rather than
  98.  subscribing to the mailing list.  Administrative requests should be sent to
  99.        majordomo@dartmouth.edu
  100.  Send a message with the body (not the subject) consisting of the single word
  101.  "help" (without the quotes) for more details.
  102.  
  103.  The address for mailing to list members is:
  104.        info-gnuplot@dartmouth.edu
  105.  
  106.  Bug reports and code contributions should be mailed to:
  107.        bug-gnuplot@dartmouth.edu
  108.  
  109.  The list of those interested in beta-test versions is:
  110.        info-gnuplot-beta@dartmouth.edu
  111.  
  112.  There is also a World Wide Web page with up-to-date information, including
  113.  known bugs:
  114.        http://www.cs.dartmouth.edu/gnuplot_info.html
  115.  
  116.  Before seeking help, please check the
  117.  FAQ (Frequently Asked Questions) list.
  118.  If you do not have a copy of the FAQ, you may request a copy by email from
  119.  the Majordomo address above, ftp a copy from
  120.        ftp://ftp.ucc.ie/pub/gnuplot/faq,
  121.        ftp://ftp.gnuplot.vt.edu/pub/gnuplot/faq,
  122.  or see the WWW `gnuplot` page.
  123.  
  124.  When posting a question, please include full details of the version of
  125.  `gnuplot`, the machine, and operating system you are using.  A _small_ script
  126.  demonstrating the problem may be useful.  Function plots are preferable to
  127.  datafile plots.  If email-ing to info-gnuplot, please state whether or not
  128.  you are subscribed to the list, so that users who use news will know to email
  129.  a reply to you.  There is a form for such postings on the WWW site.
  130. ?new-features
  131.  Gnuplot version 3.7 contains many new features.  This section gives a partial
  132.  list and links to the new items in no particular order.
  133.  
  134.  1. `fit f(x) 'file' via` uses the Marquardt-Levenberg method to fit data.
  135.  (This is only slightly different from the `gnufit` patch available for 3.5.)
  136.  
  137.  2. Greatly expanded `using` command.  See `plot using`.
  138.  
  139.  3. `set timefmt` allows for the use of dates as input and output for time
  140.  series plots.  See `Time/Date data` and
  141.  timedat.dem.
  142.  
  143.  4. Multiline labels and font selection in some drivers.
  144.  
  145.  5. Minor (unlabeled) tics.  See `set mxtics`.
  146.  
  147.  6. `key` options for moving the key box in the page (and even outside of the
  148.  plot), putting a title on it and a box around it, and more.  See `set key`.
  149.  
  150.  7. Multiplots on a single logical page with `set multiplot`.
  151.  
  152.  8. Enhanced `postscript` driver with super/subscripts and font changes.
  153.  (This was a separate driver (`enhpost`) that was available as a patch for
  154.  3.5.)
  155.  
  156.  9. Second axes:  use the top and right axes independently of the bottom and
  157.  left, both for plotting and labels.  See `plot`.
  158.  
  159.  10. Special datafile names `'-'` and `""`.  See `plot special-filenames`.
  160.  
  161.  11. Additional coordinate systems for labels and arrows.  See `coordinates`.
  162.  
  163.  12. `set size` can try to plot with a specified aspect ratio.
  164.  
  165.  13. `set missing` now treats missing data correctly.
  166.  
  167.  14. The `call` command: `load` with arguments.
  168.  
  169.  15. More flexible `range` commands with `reverse` and `writeback` keywords.
  170.  
  171.  16. `set encoding` for multi-lingual encoding.
  172.  
  173.  17. New `x11` driver with persistent and multiple windows.
  174.  
  175.  18. New plotting styles: `xerrorbars`, `histeps`, `financebars` and more.
  176.  See `set style`.
  177.  
  178.  19. New tic label formats, including `"%l %L"` which uses the mantissa and
  179.  exponents to a given base for labels.  See `set format`.
  180.  
  181.  20. New drivers, including `cgm` for inclusion into MS-Office applications
  182.  and `gif` for serving plots to the WEB.
  183.  
  184.  21. Smoothing and spline-fitting options for `plot`.  See `plot smooth`.
  185.  
  186.  22. `set margin` and `set origin` give much better control over where a
  187.  graph appears on the page.
  188.  
  189.  23. `set border` now controls each border individually.
  190.  
  191.  24. The new commands `if` and `reread` allow command loops.
  192.  
  193.  25. Point styles and sizes, line types and widths can be specified on the
  194.  `plot` command.  Line types and widths can also be specified for grids,
  195.  borders, tics and arrows.  See `plot with`.  Furthermore these types may be
  196.  combined and stored for further use.  See `set linestyle`.
  197.  
  198.  26. Text (labels, tic labels, and the time stamp) can be written vertically
  199.  by those terminals capable of doing so.
  200. ?batch/interactive
  201.  `gnuplot` may be executed in either batch or interactive modes, and the two
  202.  may even be mixed together on many systems.
  203.  
  204.  Any command-line arguments are assumed to be names of files containing
  205.  `gnuplot` commands (with the exception of standard X11 arguments, which are
  206.  processed first).  Each file is loaded with the `load` command, in the order
  207.  specified.  `gnuplot` exits after the last file is processed.  When no load
  208.  files are named, `gnuplot` enters into an interactive mode.  The special
  209.  filename "-" is used to denote standard input.
  210.  
  211.  Both the `exit` and `quit` commands terminate the current command file and
  212.  `load` the next one, until all have been processed.
  213.  
  214.  Examples:
  215.  
  216.  To launch an interactive session:
  217.        gnuplot
  218.  
  219.  To launch a batch session using two command files "input1" and "input2":
  220.        gnuplot input1 input2
  221.  
  222.  To launch an interactive session after an initialization file "header" and
  223.  followed by another command file "trailer":
  224.        gnuplot header - trailer
  225. ?line-editing
  226. ?editing
  227. ?history
  228. ?command-line-editing
  229.  Command-line editing is supported by the Unix, Atari, VMS, MS-DOS and OS/2
  230.  versions of `gnuplot`.  Also, a history mechanism allows previous commands to
  231.  be edited and re-executed.  After the command line has been edited, a newline
  232.  or carriage return will enter the entire line without regard to where the
  233.  cursor is positioned.
  234.  
  235.  (The readline function in `gnuplot` is not the same as the readline used in
  236.  GNU Bash and GNU Emacs.  If the GNU version is desired, it may be selected
  237.  instead of the `gnuplot` version at compile time.)
  238.  
  239.  
  240.  The editing commands are as follows:
  241.  
  242.        `Line-editing`:
  243.  
  244.        ^B    moves back a single character.
  245.        ^F    moves forward a single character.
  246.        ^A    moves to the beginning of the line.
  247.        ^E    moves to the end of the line.
  248.        ^H    and DEL delete the previous character.
  249.        ^D    deletes the current character.
  250.        ^K    deletes from current position to the end of line.
  251.        ^L,^R redraws line in case it gets trashed.
  252.        ^U    deletes the entire line.
  253.        ^W    deletes the last word.
  254.  
  255.        `History`:
  256.  
  257.        ^P    moves back through history.
  258.        ^N    moves forward through history.
  259.  
  260.  On the IBM PC, the use of a TSR program such as DOSEDIT or CED may be desired
  261.  for line editing.  The default makefile assumes that this is the case;  by
  262.  default `gnuplot` will be compiled with no line-editing capability.  If you
  263.  want to use `gnuplot`'s line editing, set READLINE in the makefile and add
  264.  readline.obj to the link file.  The following arrow keys may be used on the
  265.  IBM PC and Atari versions if readline is used:
  266.  
  267.        Left  Arrow      - same as ^B.
  268.        Right Arrow      - same as ^F.
  269.        Ctrl Left  Arrow - same as ^A.
  270.        Ctrl Right Arrow - same as ^E.
  271.        Up    Arrow      - same as ^P.
  272.        Down  Arrow      - same as ^N.
  273.  
  274.  The Atari version of readline defines some additional key aliases:
  275.  
  276.        Undo            - same as ^L.
  277.        Home            - same as ^A.
  278.        Ctrl Home       - same as ^E.
  279.        Esc             - same as ^U.
  280.        Help            - `help` plus return.
  281.        Ctrl Help       - `help `.
  282. ?comments
  283.  Comments are supported as follows: a `#` may appear in most places in a line
  284.  and `gnuplot` will ignore the rest of the line.  It will not have this effect
  285.  inside quotes, inside numbers (including complex numbers), inside command
  286.  substitutions, etc.  In short, it works anywhere it makes sense to work.
  287. ?coordinates
  288.  The commands `set arrow`, `set key`, and `set label` allow you to draw
  289.  something at an arbitrary position on the graph.  This position is specified
  290.  by the syntax:
  291.  
  292.        {<system>} <x>, {<system>} <y> {,{<system>} <z>}
  293.  
  294.  Each <system> can either be `first`, `second`, `graph` or `screen`.
  295.  
  296.  `first` places the x, y, or z coordinate in the system defined by the left
  297.  and bottom axes; `second` places it in the system defined by the second axes
  298.  (top and right); `graph` specifies the area within the axes---0,0 is bottom
  299.  left and 1,1 is top right (for splot, 0,0,0 is bottom left of plotting area;
  300.  use negative z to get to the base---see `set ticslevel`); and `screen`
  301.  specifies the screen area (the entire area---not just the portion selected by
  302.  `set size`), with 0,0 at bottom left and 1,1 at top right.
  303.  
  304.  If the coordinate system for x is not specified, `first` is used.  If the
  305.  system for y is not specified, the one used for x is adopted.
  306.  
  307.  If one (or more) axis is timeseries, the appropriate coordinate should
  308.  be given as a quoted time string according to the `timefmt` format string.
  309.  See `set xdata` and `set timefmt`.  `gnuplot` will also accept an integer
  310.  expression, which will be interpreted as seconds from 1 January 2000.
  311. ?environment
  312.  A number of shell environment variables are understood by `gnuplot`.  None of
  313.  these are required, but may be useful.
  314.  
  315.  If GNUTERM is defined, it is used as the name of the terminal type to be
  316.  used.  This overrides any terminal type sensed by `gnuplot` on start-up, but
  317.  is itself overridden by the .gnuplot (or equivalent) start-up file (see
  318.  `start-up`) and, of course, by later explicit changes.
  319.  
  320.  On Unix, AmigaOS, AtariTOS, MS-DOS and OS/2, GNUHELP may be defined to be the
  321.  pathname of the HELP file (gnuplot.gih).
  322.  
  323.  On VMS, the logical name GNUPLOT$HELP should be defined as the name of the
  324.  help library for `gnuplot`.  The `gnuplot` help can be put inside any system
  325.  help library, allowing access to help from both within and outside `gnuplot`
  326.  if desired.
  327.  
  328.  On Unix, HOME is used as the name of a directory to search for a .gnuplot
  329.  file if none is found in the current directory.  On AmigaOS, AtariTOS,
  330.  MS-DOS and OS/2, gnuplot is used.  On VMS, SYS$LOGIN: is used. See `help
  331.  start-up`.
  332.  
  333.  On Unix, PAGER is used as an output filter for help messages.
  334.  
  335.  On Unix, AtariTOS and AmigaOS, SHELL is used for the `shell` command.  On
  336.  MS-DOS and OS/2, COMSPEC is used for the `shell` command.
  337.  
  338.  On MS-DOS, if the BGI or Watcom interface is used, PCTRM is used to tell
  339.  the maximum resolution supported by your monitor by setting it to
  340.  S<max. horizontal resolution>. E.g. if your monitor's maximum resolution is
  341.  800x600, then use:
  342.        set PCTRM=S800
  343.  If PCTRM is not set, standard VGA is used.
  344.  
  345.  FIT_SCRIPT may be used to specify a `gnuplot` command to be executed when a
  346.  fit is interrupted---see `fit`.  FIT_LOG specifies the filename of the
  347.  logfile maintained by fit.
  348. ?expressions
  349.  In general, any mathematical expression accepted by C, FORTRAN, Pascal, or
  350.  BASIC is valid.  The precedence of these operators is determined by the
  351.  specifications of the C programming language.  White space (spaces and tabs)
  352.  is ignored inside expressions.
  353.  
  354.  Complex constants are expressed as {<real>,<imag>}, where <real> and <imag>
  355.  must be numerical constants.  For example, {3,2} represents 3 + 2i; {0,1}
  356.  represents 'i' itself.  The curly braces are explicitly required here.
  357.  
  358.  Note that gnuplot uses both "real" and "integer" arithmetic, like FORTRAN and
  359.  C.  Integers are entered as "1", "-10", etc; reals as "1.0", "-10.0", "1e1",
  360.  3.5e-1, etc.  The most important difference between the two forms is in
  361.  division: division of integers truncates: 5/2 = 2; division of reals does
  362.  not: 5.0/2.0 = 2.5.  In mixed expressions, integers are "promoted" to reals
  363.  before evaluation: 5/2e0 = 2.5.  The result of division of a negative integer
  364.  by a positive one may vary among compilers.  Try a test like "print -5/2" to
  365.  determine if your system chooses -2 or -3 as the answer.
  366.  
  367.  The integer expression "1/0" may be used to generate an "undefined" flag,
  368.  which causes a point to ignored; the `ternary` operator gives an example.
  369.  
  370.  The real and imaginary parts of complex expressions are always real, whatever
  371.  the form in which they are entered: in {3,2} the "3" and "2" are reals, not
  372.  integers.
  373. ?expressions functions
  374. ?functions
  375.  The functions in `gnuplot` are the same as the corresponding functions in
  376.  the Unix math library, except that all functions accept integer, real, and
  377.  complex arguments, unless otherwise noted.
  378.  
  379.  For those functions that accept or return angles that may be given in either
  380.  degrees or radians (sin(x), cos(x), tan(x), asin(x), acos(x), atan(x),
  381.  atan2(x) and arg(z)), the unit may be selected by `set angles`, which
  382.  defaults to radians.
  383.  
  384. ?expressions functions abs
  385. ?functions abs
  386. ?abs
  387.  The `abs(x)` function returns the absolute value of its argument.  The
  388.  returned value is of the same type as the argument.
  389.  
  390.  For complex arguments, abs(x) is defined as the length of x in the complex
  391.  plane [i.e.,  sqrt(real(x)**2 + imag(x)**2) ].
  392. ?expressions functions acos
  393. ?functions acos
  394. ?acos
  395.  The `acos(x)` function returns the arc cosine (inverse cosine) of its
  396.  argument.  `acos` returns its argument in radians or degrees, as selected by
  397.  `set angles`.
  398. ?expressions functions acosh
  399. ?functions acosh
  400. ?acosh
  401.  The `acosh(x)` function returns the inverse hyperbolic cosine of its argument
  402.  in radians.
  403. ?expressions functions arg
  404. ?functions arg
  405. ?arg
  406.  The `arg(x)` function returns the phase of a complex number in radians or
  407.  degrees, as selected by `set angles`.
  408. ?expressions functions asin
  409. ?functions asin
  410. ?asin
  411.  The `asin(x)` function returns the arc sin (inverse sin) of its argument.
  412.  `asin` returns its argument in radians or degrees, as selected by `set
  413.  angles`.
  414. ?expressions functions asinh
  415. ?functions asinh
  416. ?asinh
  417.  The `asinh(x)` function returns the inverse hyperbolic sin of its argument in
  418.  radians.
  419. ?expressions functions atan
  420. ?functions atan
  421. ?atan
  422.  The `atan(x)` function returns the arc tangent (inverse tangent) of its
  423.  argument.  `atan` returns its argument in radians or degrees, as selected by
  424.  `set angles`.
  425. ?expressions functions atan2
  426. ?functions atan2
  427. ?atan2
  428.  The `atan2(y,x)` function returns the arc tangent (inverse tangent) of the
  429.  ratio of the real parts of its arguments.  `atan2` returns its argument in
  430.  radians or degrees, as selected by `set angles`, in the correct quadrant.
  431. ?expressions functions atanh
  432. ?functions atanh
  433. ?atanh
  434.  The `atanh(x)` function returns the inverse hyperbolic tangent of its
  435.  argument in radians.
  436. ?expressions functions besj0
  437. ?functions besj0
  438. ?besj0
  439.  The `besj0(x)` function returns the j0th Bessel function of its argument.
  440.  `besj0` expects its argument to be in radians.
  441. ?expressions functions besj1
  442. ?functions besj1
  443. ?besj1
  444.  The `besj1(x)` function returns the j1st Bessel function of its argument.
  445.  `besj1` expects its argument to be in radians.
  446. ?expressions functions besy0
  447. ?functions besy0
  448. ?besy0
  449.  The `besy0` function returns the y0th Bessel function of its argument.
  450.  `besy0` expects its argument to be in radians.
  451. ?expressions functions besy1
  452. ?functions besy1
  453. ?besy1
  454.  The `besy1(x)` function returns the y1st Bessel function of its argument.
  455.  `besy1` expects its argument to be in radians.
  456. ?expressions functions ceil
  457. ?functions ceil
  458. ?ceil
  459.  The `ceil(x)` function returns the smallest integer that is not less than its
  460.  argument.  For complex numbers, `ceil` returns the smallest integer not less
  461.  than the real part of its argument.
  462. ?expressions functions cos
  463. ?functions cos
  464. ?cos
  465.  The `cos(x)` function returns the cosine of its argument.  `cos` accepts its
  466.  argument in radians or degrees, as selected by `set angles`.
  467. ?expressions functions cosh
  468. ?functions cosh
  469. ?cosh
  470.  The `cosh(x)` function returns the hyperbolic cosine of its argument.  `cosh`
  471.  expects its argument to be in radians.
  472. ?expressions functions erf
  473. ?functions erf
  474. ?erf
  475.  The `erf(x)` function returns the error function of the real part of its
  476.  argument.  If the argument is a complex value, the imaginary component is
  477.  ignored.
  478. ?expressions functions erfc
  479. ?functions erfc
  480. ?erfc
  481.  The `erfc(x)` function returns 1.0 - the error function of the real part of
  482.  its argument.  If the argument is a complex value, the imaginary component is
  483.  ignored.
  484. ?expressions functions exp
  485. ?functions exp
  486. ?exp
  487.  The `exp(x)` function returns the exponential function of its argument (`e`
  488.  raised to the power of its argument).  On some implementations (notably
  489.  suns), exp(-x) returns undefined for very large x.  A user-defined function
  490.  like safe(x) = x<-100 ? 0 : exp(x) might prove useful in these cases.
  491. ?expressions functions floor
  492. ?functions floor
  493. ?floor
  494.  The `floor(x)` function returns the largest integer not greater than its
  495.  argument.  For complex numbers, `floor` returns the largest integer not
  496.  greater than the real part of its argument.
  497. ?expressions functions gamma
  498. ?functions gamma
  499. ?gamma
  500.  The `gamma(x)` function returns the gamma function of the real part of its
  501.  argument.  For integer n, gamma(n+1) = n!.  If the argument is a complex
  502.  value, the imaginary component is ignored.
  503. ?expressions functions ibeta
  504. ?functions ibeta
  505. ?ibeta
  506.  The `ibeta(p,q,x)` function returns the incomplete beta function of the real
  507.  parts of its arguments. p, q > 0 and x in [0:1].  If the arguments are
  508.  complex, the imaginary components are ignored.
  509. ?expressions functions inverf
  510. ?functions inverf
  511. ?inverf
  512.  The `inverf(x)` function returns the inverse error function of the real part
  513.  of its argument.
  514. ?expressions functions igamma
  515. ?functions igamma
  516. ?igamma
  517.  The `igamma(a,x)` function returns the incomplete gamma function of the real
  518.  parts of its arguments.  a > 0 and x >= 0.  If the arguments are complex,
  519.  the imaginary components are ignored.
  520. ?expressions functions imag
  521. ?functions imag
  522. ?imag
  523.  The `imag(x)` function returns the imaginary part of its argument as a real
  524.  number.
  525. ?expressions functions invnorm
  526. ?functions invnorm
  527. ?invnorm
  528.  The `invnorm(x)` function returns the inverse normal distribution function of
  529.  the real part of its argument.
  530. ?expressions functions int
  531. ?functions int
  532. ?int
  533.  The `int(x)` function returns the integer part of its argument, truncated
  534.  toward zero.
  535. ?expressions functions lgamma
  536. ?functions lgamma
  537. ?lgamma
  538.  The `lgamma(x)` function returns the natural logarithm of the gamma function
  539.  of the real part of its argument.  If the argument is a complex value, the
  540.  imaginary component is ignored.
  541. ?expressions functions log
  542. ?functions log
  543. ?log
  544.  The `log(x)` function returns the natural logarithm (base `e`) of its
  545.  argument.
  546. ?expressions functions log10
  547. ?functions log10
  548. ?log10
  549.  The `log10(x)` function returns the logarithm (base 10) of its argument.
  550. ?expressions functions norm
  551. ?functions norm
  552. ?norm
  553.  The `norm(x)` function returns the normal distribution function (or Gaussian)
  554.  of the real part of its argument.
  555. ?expressions functions rand
  556. ?functions rand
  557. ?rand
  558.  The `rand(x)` function returns a pseudo random number in the interval [0:1]
  559.  using the real part of its argument as a seed.  If seed < 0, the sequence
  560.  is (re)initialized.  If the argument is a complex value, the imaginary
  561.  component is ignored.
  562. ?expressions functions real
  563. ?functions real
  564. ?real
  565.  The `real(x)` function returns the real part of its argument.
  566. ?expressions functions sgn
  567. ?functions sgn
  568. ?sgn
  569.  The `sgn(x)` function returns 1 if its argument is positive, -1 if its
  570.  argument is negative, and 0 if its argument is 0.  If the argument is a
  571.  complex value, the imaginary component is ignored.
  572. ?expressions functions sin
  573. ?functions sin
  574. ?sin
  575.  The `sin(x)` function returns the sine of its argument.  `sin` expects its
  576.  argument to be in radians or degrees, as selected by `set angles`.
  577. ?expressions functions sinh
  578. ?functions sinh
  579. ?sinh
  580.  The `sinh(x)` function returns the hyperbolic sine of its argument.  `sinh`
  581.  expects its argument to be in radians.
  582. ?expressions functions sqrt
  583. ?functions sqrt
  584. ?sqrt
  585.  The `sqrt(x)` function returns the square root of its argument.
  586. ?expressions functions tan
  587. ?functions tan
  588. ?tan
  589.  The `tan(x)` function returns the tangent of its argument.  `tan` expects
  590.  its argument to be in radians or degrees, as selected by `set angles`.
  591. ?expressions functions tanh
  592. ?functions tanh
  593. ?tanh
  594.  The `tanh(x)` function returns the hyperbolic tangent of its argument.  `tanh`
  595.  expects its argument to be in radians.
  596.  
  597.  A few additional functions are also available.
  598.  
  599. ?expressions functions column
  600. ?functions column
  601. ?column
  602.  `column(x)` may be used only in expressions as part of `using` manipulations
  603.  to fits or datafile plots.  See `plot datafile using`.
  604. ?expressions tm_hour
  605. ?functions tm_hour
  606.  The `tm_hour` function interprets its argument as a time, in seconds from
  607.  1 Jan 2000.  It returns the hour (an integer in the range 0--23) as a real.
  608. ?expressions tm_mday
  609. ?functions tm_mday
  610.  The `tm_mday` function interprets its argument as a time, in seconds from
  611.  1 Jan 2000.  It returns the day of the month (an integer in the range 1--31)
  612.  as a real.
  613. ?expressions tm_min
  614. ?functions tm_min
  615.  The `tm_min` function interprets its argument as a time, in seconds from
  616.  1 Jan 2000.  It returns the minute (an integer in the range 0--59) as a real.
  617. ?expressions tm_mon
  618. ?functions tm_mon
  619.  The `tm_mon` function interprets its argument as a time, in seconds from
  620.  1 Jan 2000.  It returns the month (an integer in the range 1--12) as a real.
  621. ?expressions tm_sec
  622. ?functions tm_sec
  623.  The `tm_sec` function interprets its argument as a time, in seconds from
  624.  1 Jan 2000.  It returns the second (an integer in the range 0--59) as a real.
  625. ?expressions tm_wday
  626. ?functions tm_wday
  627.  The `tm_wday` function interprets its argument as a time, in seconds from
  628.  1 Jan 2000.  It returns the day of the week (an integer in the range 1--7) as
  629.  a real.
  630. ?expressions tm_yday
  631. ?functions tm_yday
  632.  The `tm_yday` function interprets its argument as a time, in seconds from
  633.  1 Jan 2000.  It returns the day of the year (an integer in the range 1--366)
  634.  as a real.
  635. ?expressions tm_year
  636. ?functions tm_year
  637.  The `tm_year` function interprets its argument as a time, in seconds from
  638.  1 Jan 2000.  It returns the year (an integer) as a real.
  639. ?expressions functions valid
  640. ?functions valid
  641. ?valid
  642.  `valid(x)` may be used only in expressions as part of `using` manipulations
  643.  to fits or datafile plots.  See `plot datafile using`.
  644. ?expressions operators
  645. ?operators
  646.  The operators in `gnuplot` are the same as the corresponding operators in the
  647.  C programming language, except that all operators accept integer, real, and
  648.  complex arguments, unless otherwise noted.  The ** operator (exponentiation)
  649.  is supported, as in FORTRAN.
  650.  
  651.  Parentheses may be used to change order of evaluation.
  652. ?expressions operators unary
  653. ?operators unary
  654. ?unary
  655.  The following is a list of all the unary operators and their usages:
  656.  
  657.      Symbol      Example    Explanation
  658.        -           -a          unary minus
  659.        +           +a          unary plus (no-operation)
  660.        ~           ~a        * one's complement
  661.        !           !a        * logical negation
  662.        !           a!        * factorial
  663.        $           $3        * call arg/column during `using` manipulation
  664.  (*) Starred explanations indicate that the operator requires an integer
  665.  argument.
  666.  
  667.  Operator precedence is the same as in Fortran and C.  As in those languages,
  668.  parentheses may be used to change the order of operation.  Thus -2**2 = -4,
  669.  but (-2)**2 = 4.
  670.  
  671.  The factorial operator returns a real number to allow a greater range.
  672. ?expressions operators binary
  673. ?operators binary
  674. ?binary
  675.  The following is a list of all the binary operators and their usages:
  676.  
  677.      Symbol       Example      Explanation
  678.        **          a**b          exponentiation
  679.        *           a*b           multiplication
  680.        /           a/b           division
  681.        %           a%b         * modulo
  682.        +           a+b           addition
  683.        -           a-b           subtraction
  684.        ==          a==b          equality
  685.        !=          a!=b          inequality
  686.        <           a<b           less than
  687.        <=          a<=b          less than or equal to
  688.        >           a>b           greater than
  689.        >=          a>=b          greater than or equal to
  690.        &           a&b         * bitwise AND
  691.        ^           a^b         * bitwise exclusive OR
  692.        |           a|b         * bitwise inclusive OR
  693.        &&          a&&b        * logical AND
  694.        ||          a||b        * logical OR
  695.  
  696.  (*) Starred explanations indicate that the operator requires integer
  697.  arguments.
  698.  
  699.  Logical AND (&&) and OR (||) short-circuit the way they do in C.  That is,
  700.  the second `&&` operand is not evaluated if the first is false; the second
  701.  `||` operand is not evaluated if the first is true.
  702. ?expressions operators ternary
  703. ?operators ternary
  704. ?ternary
  705.  There is a single ternary operator:
  706.  
  707.      Symbol       Example      Explanation
  708.        ?:          a?b:c     ternary operation
  709.  
  710.  The ternary operator behaves as it does in C.  The first argument (a), which
  711.  must be an integer, is evaluated.  If it is true (non-zero), the second
  712.  argument (b) is evaluated and returned; otherwise the third argument (c) is
  713.  evaluated and returned.
  714.  
  715.  The ternary operator is very useful both in constructing piecewise functions
  716.  and in plotting points only when certain conditions are met.
  717.  
  718.  Examples:
  719.  
  720.  Plot a function that is to equal sin(x) for 0 <= x < 1, 1/x for 1 <= x < 2,
  721.  and undefined elsewhere:
  722.        f(x) = 0<=x && x<1 ? sin(x) : 1<=x && x<2 ? 1/x : 1/0
  723.        plot f(x)
  724.  Note that `gnuplot` quietly ignores undefined values, so the final branch of
  725.  the function (1/0) will produce no plottable points.  Note also that f(x)
  726.  will be plotted as a continuous function across the discontinuity if a line
  727.  style is used.  To plot it discontinuously, create separate functions for the
  728.  two pieces.  (Parametric functions are also useful for this purpose.)
  729.  
  730.  For data in a file, plot the average of the data in columns 2 and 3 against
  731.  the datum in column 1, but only if the datum in column 4 is non-negative:
  732.  
  733.        plot 'file' using 1:( $4<0 ? 1/0 : ($2+$3)/2 )
  734.  
  735.  Please see `plot data-file using` for an explanation of the `using` syntax.
  736. ?expressions user-defined
  737. ?user-defined
  738. ?variables
  739.  New user-defined variables and functions of one through five variables may
  740.  be declared and used anywhere, including on the `plot` command itself.
  741.  
  742.  User-defined function syntax:
  743.        <func-name>( <dummy1> {,<dummy2>} ... {,<dummy5>} ) = <expression>
  744.  
  745.  where <expression> is defined in terms of <dummy1> through <dummy5>.
  746.  
  747.  User-defined variable syntax:
  748.        <variable-name> = <constant-expression>
  749.  
  750.  Examples:
  751.        w = 2
  752.        q = floor(tan(pi/2 - 0.1))
  753.        f(x) = sin(w*x)
  754.        sinc(x) = sin(pi*x)/(pi*x)
  755.        delta(t) = (t == 0)
  756.        ramp(t) = (t > 0) ? t : 0
  757.        min(a,b) = (a < b) ? a : b
  758.        comb(n,k) = n!/(k!*(n-k)!)
  759.        len3d(x,y,z) = sqrt(x*x+y*y+z*z)
  760.        plot f(x) = sin(x*a), a = 0.2, f(x), a = 0.4, f(x)
  761.  
  762.  Note that the variable `pi` is already defined.  But it is in no way magic;
  763.  you may redefine it to be whatever you like.
  764.  
  765.  Valid names are the same as in most programming languages: they must begin
  766.  with a letter, but subsequent characters may be letters, digits, "$", or "_".
  767.  Note, however, that the `fit` mechanism uses several variables with names
  768.  that begin "FIT_".  It is safest to avoid using such names.  "FIT_LIMIT",
  769.  however, is one that you may wish to redefine. See the documentation
  770.  on `fit` for details.
  771.  
  772.  
  773.  See `show functions`, `show variables`, and `fit`.
  774. ?glossary
  775.  Throughout this document an attempt has been made to maintain consistency of
  776.  nomenclature.  This cannot be wholly successful because as `gnuplot` has
  777.  evolved over time, certain command and keyword names have been adopted that
  778.  preclude such perfection.  This section contains explanations of the way
  779.  some of these terms are used.
  780.  
  781.  A "page" or "screen" is the entire area addressable by `gnuplot`.  On a
  782.  monitor, it is the full screen; on a plotter, it is a single sheet of paper.
  783.  
  784.  A screen may contain one or more "plots".  A plot is defined by an abscissa
  785.  and an ordinate, although these need not actually appear on it, as well as
  786.  the margins and any text written therein.
  787.  
  788.  A plot contains one "graph".  A graph is defined by an abscissa and an
  789.  ordinate, although these need not actually appear on it.
  790.  
  791.  A graph may contain one or more "lines".  A line is a single function or
  792.  data set.  "Line" is also a plotting style.  The word will also be used in
  793.  sense "a line of text".  Presumably the context will remove any ambiguity.
  794.  
  795.  The lines on a graph may have individual names.  These may be listed
  796.  together with a sample of the plotting style used to represent them in
  797.  the "key", sometimes also called the "legend".
  798.  
  799.  The word "title" occurs with multiple meanings in `gnuplot`.  In this
  800.  document, it will always be preceded by the adjective "plot", "line", or
  801.  "key" to differentiate among them.
  802.  
  803.  A graph may have up to four labelled axes.  Various commands have the name of
  804.  an axis built into their names, such as `set xlabel`.  Other commands have
  805.  one or more axis names as options, such as `set logscale xy`.  The names of
  806.  the four axes for these usages are "x" for the axis along the bottom border
  807.  of the plot, "y" for the left border, "x2" for the top border, and "y2" for
  808.  the right border.  "z" also occurs in commands used with 3-d plotting.
  809.  
  810.  When discussing data files, the term "record" will be resurrected and used
  811.  to denote a single line of text in the file, that is, the characters between
  812.  newline or end-of-record characters.  A "point" is the datum extracted from
  813.  a single record.  A "datablock" is a set of points from consecutive records,
  814.  delimited by blank records.  A line, when referred to in the context of a
  815.  data file, is a subset of a datablock.
  816. ?plotting
  817.  There are three `gnuplot` commands which actually create a plot: `plot`,
  818.  `splot` and `replot`.  `plot` generates 2-d plots, `splot` generates 3-d
  819.  plots (actually 2-d projections, of course), and `replot` appends its
  820.  arguments to the previous `plot` or `splot` and executes the modified
  821.  command.
  822.  
  823.  Much of the general information about plotting can be found in the discussion
  824.  of `plot`; information specific to 3-d can be found in the `splot` section.
  825.  
  826.  `plot` operates in either rectangular or polar coordinates -- see `set polar`
  827.  for details of the latter.  `splot` operates only in rectangular coordinates,
  828.  but the `set mapping` command allows for a few other coordinate systems to be
  829.  treated.  In addition, the `using` option allows both `plot` and `splot` to
  830.  treat almost any coordinate system you'd care to define.
  831.  
  832.  `splot` can plot surfaces and contours in addition to points and/or lines.
  833.  In addition to `splot`, see `set isosamples` for information about defining
  834.  the grid for a 3-d function;  `splot datafile` for information about the
  835.  requisite file structure for 3-d data values; and `set contour` and `set
  836.  cntrparam` for information about contours.
  837. ?startup
  838. ?start
  839. ?.gnuplot
  840.  When `gnuplot` is run, it looks for an initialization file to load.  This
  841.  file is called `.gnuplot` on Unix and AmigaOS systems, and `GNUPLOT.INI` on
  842.  other systems.  If this file is not found in the current directory, the
  843.  program will look for it in the home directory (under AmigaOS,
  844.  Atari(single)TOS, MS-DOS and OS/2, the environment variable `gnuplot` should
  845.  contain the name of this directory).  Note: if NOCWDRC is defined during the
  846.  installation, `gnuplot` will not read from the current directory.
  847.  
  848.  If the initialization file is found, `gnuplot` executes the commands in it.
  849.  These may be any legal `gnuplot` commands, but typically they are limited to
  850.  setting the terminal and defining frequently-used functions or variables.
  851. ?substitution
  852.  Command-line substitution is specified by a system command enclosed in
  853.  backquotes.  This command is spawned and the output it produces replaces
  854.  the name of the command (and backquotes) on the command line.  Some
  855.  implementations also support pipes;  see `plot data-file special-filenames`.
  856.  
  857.  Newlines in the output produced by the spawned command are replaced with
  858.  blanks.
  859.  
  860.  Command-line substitution can be used anywhere on the `gnuplot` command
  861.  line.
  862.  
  863.  Example:
  864.  
  865.  This will run the program `leastsq` and replace `leastsq` (including
  866.  backquotes) on the command line with its output:
  867.        f(x) = `leastsq`
  868.  
  869.  or, in VMS
  870.        f(x) = `run leastsq`
  871. ?syntax
  872. ?specify
  873. ?punctuation
  874.  The general rules of syntax and punctuation in `gnuplot` are that keywords
  875.  and options are order-dependent.  Options and any accompanying parameters are
  876.  separated by spaces whereas lists and coordinates are separated by commas.
  877.  Ranges are separated by colons and enclosed in brackets [], text and file
  878.  names are enclosed in quotes, and a few miscellaneous things are enclosed
  879.  in parentheses.  Braces {} are used for a few special purposes.
  880.  
  881.  Commas are used to separate coordinates on the `set` commands `arrow`,
  882.  `key`, and `label`; the list of variables being fitted (the list after the
  883.  `via` keyword on the `fit` command); lists of discrete contours or the loop
  884.  parameters which specify them on the `set cntrparam` command; the arguments
  885.  of the `set` commands `dgrid3d`, `dummy`, `isosamples`, `offsets`, `origin`,
  886.  `samples`, `size`, `time`, and `view`; lists of tics or the loop parameters
  887.  which specify them; the offsets for titles and axis labels; parametric
  888.  functions to be used to calculate the x, y, and z coordinates on the `plot`,
  889.  `replot` and `splot` commands; and the complete sets of keywords specifying
  890.  individual plots (data sets or functions) on the `plot`, `replot` and `splot`
  891.  commands.
  892.  
  893.  Parentheses are used to delimit sets of explicit tics (as opposed to loop
  894.  parameters) and to indicate computations in the `using` filter of the `fit`,
  895.  `plot`, `replot` and `splot` commands.
  896.  
  897.  (Parentheses and commas are also used as usual in function notation.)
  898.  
  899.  Brackets are used to delimit ranges, whether they are given on `set`, `plot`
  900.  or `splot` commands.
  901.  
  902.  Colons are used to separate extrema in `range` specifications (whether they
  903.  are given on `set`, `plot` or `splot` commands) and to separate entries in
  904.  the `using` filter of the `plot`, `replot`, `splot` and `fit` commands.
  905.  
  906.  Semicolons are used to separate commands given on a single command line.
  907.  
  908.  Braces are used in text to be specially processed by some terminals, like
  909.  `postscript`.  They are also used to denote complex numbers: {3,2} = 3 + 2i.
  910.  
  911.  Text may be enclosed in single- or double-quotes.  Backslash processing of
  912.  sequences like \n (newline) and \345 (octal character code) is performed for
  913.  double-quoted strings, but not for single-quoted strings.
  914.  
  915.  The justification is the same for each line of a multi-line string.  Thus the
  916.  center-justified string
  917.        "This is the first line of text.\nThis is the second line."
  918.  will produce
  919.                         This is the first line of text.
  920.                            This is the second line.
  921.  but
  922.        'This is the first line of text.\nThis is the second line.'
  923.  will produce
  924.            This is the first line of text.\nThis is the second line.
  925.  
  926.  Filenames may be entered with either single- or double-quotes.  In this
  927.  manual the command examples generally single-quote filenames and double-quote
  928.  other string tokens for clarity.
  929.  
  930.  At present you should not embed \n inside {} when using the enhanced option
  931.  of the postscript terminal.
  932.  
  933.  The EEPIC, Imagen, Uniplex, LaTeX, and TPIC drivers allow a newline to be
  934.  specified by \\ in a single-quoted string or \\\\ in a double-quoted string.
  935.  
  936.  Back-quotes are used to enclose system commands for substitution.
  937. ?time/date
  938.  `gnuplot` supports the use of time and/or date information as input data.
  939.  This feature is activated by the commands `set xdata time`, `set ydata time`,
  940.  etc.
  941.  
  942.  Internally all times and dates are converted to the number of seconds from
  943.  the year 2000.  The command `set timefmt` defines the format for all inputs:
  944.  data files, ranges, tics, label positions---in short, anything that accepts a
  945.  data value must receive it in this format.  Since only one input format can
  946.  be in force at a given time, all time/date quantities being input at the same
  947.  time must be presented in the same format.  Thus if both x and y data in a
  948.  file are time/date, they must be in the same format.
  949.  
  950.  The conversion to and from seconds assumes Universal Time (which is the same
  951.  as Greenwich Standard Time).  There is no provision for changing the time
  952.  zone or for daylight savings.  If all your data refer to the same time zone
  953.  (and are all either daylight or standard) you don't need to worry about these
  954.  things.  But if the absolute time is crucial for your application, you'll
  955.  need to convert to UT yourself.
  956.  
  957.  Commands like `show xrange` will re-interpret the integer according to
  958.  `timefmt`.  If you change `timefmt`, and then `show` the quantity again, it
  959.  will be displayed in the new `timefmt`.  For that matter, if you give the
  960.  deactivation command (like `set xdata`), the quantity will be shown in its
  961.  numerical form.
  962.  
  963.  The command `set format` defines the format that will be used for tic labels,
  964.  whether or not the specified axis is time/date.
  965.  
  966.  If time/date information is to be plotted from a file, the `using` option
  967.  _must_ be used on the `plot` or `splot` command.  These commands simply use
  968.  white space to separate columns, but white space may be embedded within the
  969.  time/date string.  If you use tabs as a separator, some trial-and-error may
  970.  be necessary to discover how your system treats them.
  971.  
  972.  The following example demonstrates time/date plotting.
  973.  
  974.  Suppose the file "data" contains records like
  975.  
  976.        03/21/95 10:00  6.02e23
  977.  
  978.  This file can be plotted by
  979.  
  980.        set xdata time
  981.        set timefmt "%m/%d/%y"
  982.        set xrange ["03/21/95":"03/22/95"]
  983.        set format x "%m/%d"
  984.        set timefmt "%m/%d/%y %H:%M"
  985.        plot "data" using 1:3
  986.  
  987.  which will produce xtic labels that look like "03/21".
  988.  
  989.  See the descriptions of each command for more details.
  990. ?commands
  991.  This section lists the commands acceptable to `gnuplot` in alphabetical
  992.  order.  Printed versions of this document contain all commands; on-line
  993.  versions may not be complete.  Indeed, on some systems there may be no
  994.  commands at all listed under this heading.
  995.  
  996.  Note that in most cases unambiguous abbreviations for command names and their
  997.  options are permissible, i.e., "`p f(x) w l`" instead of "`plot f(x) with
  998.  lines`".
  999.  
  1000.  In the syntax descriptions, braces ({}) denote optional arguments and a
  1001.  vertical bar (|) separates mutually exclusive choices.
  1002. ?commands cd
  1003. ?cd
  1004.  The `cd` command changes the working directory.
  1005.  
  1006.  Syntax:
  1007.        cd '<directory-name>'
  1008.  
  1009.  The directory name must be enclosed in quotes.
  1010.  
  1011.  Examples:
  1012.        cd 'subdir'
  1013.        cd ".."
  1014.  
  1015.  DOS users _must_ use single-quotes---backslash [\] has special significance
  1016.  inside double-quotes.  For example,
  1017.        cd "c:\newdata"
  1018.  fails, but
  1019.        cd 'c:\newdata'
  1020.  works as expected.
  1021. ?commands call
  1022. ?call
  1023.  The `call` command is identical to the load command with one exception: you
  1024.  can have up to ten additional parameters to the command (delimited according
  1025.  to the standard parser rules) which can be substituted into the lines read
  1026.  from the file.  As each line is read from the `call`ed input file, it is
  1027.  scanned for the sequence `$` (dollar-sign) followed by a digit (0--9).  If
  1028.  found, the sequence is replaced by the corresponding parameter from the
  1029.  `call` command line.  If the parameter was specified as a string in the
  1030.  `call` line, it is substituted without its enclosing quotes.  `$` followed by
  1031.  any character other than a digit will be that character.  E.g. use `$$` to
  1032.  get a single `$`.  Providing more than ten parameters on the `call` command
  1033.  line will cause an error.  A parameter that was not provided substitutes as
  1034.  nothing.  Files being `call`ed may themselves contain `call` or `load`
  1035.  commands.
  1036.  
  1037.  The `call` command _must_ be the last command on a multi-command line.
  1038.  
  1039.  Syntax:
  1040.        call "<input-file>" <parameter-0> <parm-1> ... <parm-9>
  1041.  
  1042.  The name of the input file must be enclosed in quotes, and it is recommended
  1043.  that parameters are similarly enclosed in quotes (future versions of gnuplot
  1044.  may treat quoted and unquoted arguments differently).
  1045.  
  1046.  Example:
  1047.  
  1048.  If the file 'calltest.gp' contains the line:
  1049.        print "p0=$0 p1=$1 p2=$2 p3=$3 p4=$4 p5=$5 p6=$6 p7=x$7x"
  1050.  
  1051.  entering the command:
  1052.        call 'calltest.gp' "abcd" 1.2 + "'quoted'" -- "$2"
  1053.  
  1054.  will display:
  1055.        p0=abcd p1=1.2 p2=+ p3='quoted' p4=- p5=- p6=$2 p7=xx
  1056.  
  1057.  NOTE: there is a clash in syntax with the datafile `using` callback
  1058.  operator.  Use `$$n` or `column(n)` to access column n from a datafile inside
  1059.  a `call`ed datafile plot.
  1060. ?commands clear
  1061. ?clear
  1062.  The `clear` command erases the current screen or output device as specified
  1063.  by `set output`.  This usually generates a formfeed on hardcopy devices.  Use
  1064.  `set terminal` to set the device type.
  1065.  
  1066.  For some terminals `clear` erases only the portion of the plotting surface
  1067.  defined by `set size`, so for these it can be used in conjunction with `set
  1068.  multiplot` to create an inset.
  1069.  
  1070.  Example:
  1071.        set multiplot
  1072.        plot sin(x)
  1073.        set origin 0.5,0.5
  1074.        set size 0.4,0.4
  1075.        clear
  1076.        plot cos(x)
  1077.        set nomultiplot
  1078.  
  1079.  Please see `set multiplot`, `set size`, and `set origin` for details of these
  1080.  commands.
  1081. ?commands exit
  1082. ?exit
  1083.  The commands `exit` and `quit` and the END-OF-FILE character will exit the
  1084.  current `gnuplot` command file and `load` the next one.  See "help
  1085.  batch/interactive" for more details.
  1086.  
  1087.  Each of these commands will clear the output device (as does the `clear`
  1088.  command) before exiting.
  1089. ?commands fit
  1090. ?fit
  1091. ?least-squares
  1092. ?Marquardt
  1093.  The `fit` command can fit a user-defined function to a set of data points
  1094.  (x,y) or (x,y,z), using an implementation of the nonlinear least-squares
  1095.  (NLLS) Marquardt-Levenberg algorithm.  Any user-defined variable occurring in
  1096.  the function body may serve as a fit parameter, but the return type of the
  1097.  function must be real.
  1098.  
  1099.  Syntax:
  1100.        fit {[xrange] {[yrange]}} <function> '<datafile>'
  1101.            {datafile-modifiers}
  1102.            via '<parameter file>' | <var1>{,<var2>,...}
  1103.  
  1104.  Ranges may be specified to temporarily limit the data which is to be fitted;
  1105.  any out-of-range data points are ignored. The syntax is
  1106.        [{dummy_variable=}{<min>}{:<max>}],
  1107.  analogous to `plot`; see `plot ranges`.
  1108.  
  1109.  <function> is any valid `gnuplot` expression, although it is usual to use a
  1110.  previously user-defined function of the form f(x) or f(x,y).
  1111.  
  1112.  <datafile> is treated as in the `plot` command.  All the `plot datafile`
  1113.  modifiers (`using`, `every`,...) except `smooth` are applicable to `fit`.
  1114.  See `plot datafile`.
  1115.  
  1116.  The default data formats for fitting functions with a single independent
  1117.  variable, y=f(x), are {x:}y or x:y:s; those formats can be changed with
  1118.  the datafile `using` qualifier.  The third item, (a column number or an
  1119.  expression), if present, is interpreted as the standard deviation of the
  1120.  corresponding y value and is used to compute a weight for the datum, 1/s**2.
  1121.  Otherwise, all data points are weighted equally, with a weight of one.
  1122.  
  1123.  To fit a function with two independent variables, z=f(x,y), the required
  1124.  format is `using` with four items, x:y:z:s.  The complete format must be
  1125.  given---no default columns are assumed for a missing token.  Weights for
  1126.  each data point are evaluated from 's' as above.  If error estimates are
  1127.  not available, a constant value can be specified as a constant expression
  1128.  (see `plot datafile using`), e.g., `using 1:2:3:(1)`.
  1129.  
  1130.  Multiple datasets may be simultaneously fit with functions of one
  1131.  independent variable by making y a 'pseudo-variable', e.g., the dataline
  1132.  number, and fitting as two independent variables.  See `fit multibranch`.
  1133.  
  1134.  The `via` qualifier specifies which parameters are to be adjusted, either
  1135.  directly, or by referencing a parameter file.
  1136.  
  1137.  Examples:
  1138.        f(x) = a*x**2 + b*x + c
  1139.        g(x,y) = a*x**2 + b*y**2 + c*x*y
  1140.        FIT_LIMIT = 1e-6
  1141.        fit f(x) 'measured.dat' via 'start.par'
  1142.        fit f(x) 'measured.dat' using 3:($7-5) via 'start.par'
  1143.        fit f(x) './data/trash.dat' using 1:2:3 via a, b, c
  1144.        fit g(x,y) 'surface.dat' using 1:2:3:(1) via a, b, c
  1145.  
  1146.  After each iteration step, detailed information about the current state
  1147.  of the fit is written to the display.  The same information about the
  1148.  initial and final states is written to a log file, "fit.log".  This file
  1149.  is always appended to, so as to not lose any previous fit history;  it
  1150.  should be deleted or renamed as desired.
  1151.  
  1152.  The fit may be interrupted by pressing Ctrl-C (any key but Ctrl-C under
  1153.  MSDOS and Atari Multitasking Systems).  After the current iteration
  1154.  completes, you have the option to (1) stop the fit and accept the current
  1155.  parameter values, (2) continue the fit, (3) execute a `gnuplot` command
  1156.  as specified by the environment variable FIT_SCRIPT.  The default for
  1157.  FIT_SCRIPT is `replot`, so if you had previously plotted both the data
  1158.  and the fitting function in one graph, you can display the current state
  1159.  of the fit.
  1160.  
  1161.  Once `fit` has finished, the `update` command may be used to store final
  1162.  values in a file for subsequent use as a parameter file.   See `update`
  1163.  for details.
  1164. ?commands fit parameters
  1165. ?fit parameters
  1166. ?commands fit adjustable_parameters
  1167. ?fit adjustable_parameters
  1168. ?fit_parameters
  1169.  There are two ways that `via` can specify the parameters to be adjusted,
  1170.  either directly on the command line or indirectly, by referencing a
  1171.  parameter file.  The two use different means to set initial values.
  1172.  
  1173.  Adjustable parameters can be specified by a comma-separated list of variable
  1174.  names after the `via` keyword.  Any variable that is not already defined is
  1175.  is created with an initial value of 1.0.  However, the fit is more likely
  1176.  to converge rapidly if the variables have been previously declared with more
  1177.  appropriate starting values.
  1178.  
  1179.  In a parameter file, each parameter to be varied and a corresponding initial
  1180.  value are specified, one per line, in the form
  1181.        varname = value
  1182.  
  1183.  Comments, marked by '#', and blank lines are permissible.  The
  1184.  special form
  1185.        varname = value       # FIXED
  1186.  
  1187.  means that the variable is treated as a 'fixed parameter', initialized by the
  1188.  parameter file, but not adjusted by `fit`.  For clarity, it may be useful to
  1189.  designate variables as fixed parameters so that their values are reported by
  1190.  `fit`.  The keyword `# FIXED` has to appear in exactly this form.
  1191.  
  1192. ?commands fit beginners_guide
  1193. ?fit beginners_guide
  1194. ?fit guide
  1195. ?fitting
  1196.  `fit` is used to find a set of parameters that 'best' fits your data to your
  1197.  user-defined function.  The fit is judged on the basis of the the sum of the
  1198.  squared differences or 'residuals' (SSR) between the input data points and
  1199.  the function values, evaluated at the same places.  This quantity is often
  1200.  called 'chisquare' (i.e., the Greek letter chi, to the power of 2).  The
  1201.  algorithm attempts to minimize SSR, or more precisely, WSSR, as the residuals
  1202.  are 'weighted' by the input data errors (or 1.0) before being squared; see
  1203.  `fit error_estimates` for details.
  1204.  
  1205.  That's why it is called 'least-squares fitting'.  Let's look at an example
  1206.  to see what is meant by 'non-linear', but first we had better go over some
  1207.  terms.  Here it is convenient to use z as the dependent variable for
  1208.  user-defined functions of either one independent variable, z=f(x), or two
  1209.  independent variables, z=f(x,y).  A parameter is a user-defined variable
  1210.  that `fit` will adjust, i.e., an unknown quantity in the function
  1211.  declaration.  Linearity/non-linearity refers to the relationship of the
  1212.  dependent variable, z, to the parameters which `fit` is adjusting, not of
  1213.  z to the independent variables, x and/or y.  (To be technical, the
  1214.  second {and higher} derivatives of the fitting function with respect to
  1215.  the parameters are zero for a linear least-squares problem).
  1216.  
  1217.  For linear least-squares (LLS), the user-defined function will be a sum of
  1218.  simple functions, not involving any parameters, each multiplied by one
  1219.  parameter.  NLLS handles more complicated functions in which parameters can
  1220.  be used in a large number of ways.  An example that illustrates the
  1221.  difference between linear and nonlinear least-squares is the Fourier series.
  1222.  One member may be written as
  1223.       z=a*sin(c*x) + b*cos(c*x).
  1224.  If a and b are the unknown parameters and c is constant, then estimating
  1225.  values of the parameters is a linear least-squares problem.  However, if
  1226.  c is an unknown parameter, the problem is nonlinear.
  1227.  
  1228.  In the linear case, parameter values can be determined by comparatively
  1229.  simple linear algebra, in one direct step.  However LLS is a special case
  1230.  which is also solved along with more general NLLS problems by the iterative
  1231.  procedure that `gnuplot` uses.  `fit` attempts to find the minimum by doing
  1232.  a search.  Each step (iteration) calculates WSSR with a new set of parameter
  1233.  values.  The Marquardt-Levenberg algorithm selects the parameter values for
  1234.  the next iteration.  The process continues until a preset criterium is met,
  1235.  either (1) the fit has "converged" (the relative change in WSSR is less than
  1236.  FIT_LIMIT), or (2) it reaches a preset iteration count limit, FIT_MAXITER
  1237.  (see `fit control variables`).  The fit may also be interrupted
  1238.  and subsequently halted from the keyboard (see `fit`).
  1239.  
  1240.  Often the function to be fitted will be based on a model (or theory) that
  1241.  attempts to describe or predict the behaviour of the data.  Then `fit` can
  1242.  be used to find values for the free parameters of the model, to determine
  1243.  how well the data fits the model, and to estimate an error range for each
  1244.  parameter.  See `fit error_estimates`.
  1245.  
  1246.  Alternatively, in curve-fitting, functions are selected independent of
  1247.  a model (on the basis of experience as to which are likely to describe
  1248.  the trend of the data with the desired resolution and a minimum number
  1249.  of parameters*functions.)  The `fit` solution then provides an analytic
  1250.  representation of the curve.
  1251.  
  1252.  However, if all you really want is a smooth curve through your data points,
  1253.  the `smooth` option to `plot` may be what you've been looking for rather
  1254.  than `fit`.
  1255. ?commands fit error_estimate
  1256. ?fit error_estimate
  1257. ?fit errors
  1258.  In `fit`, the term "error" is used in two different contexts, data error
  1259.  estimates and parameter error estimates.
  1260.  
  1261.  Data error estimates are used to calculate the relative weight of each data
  1262.  point when determining the weighted sum of squared residuals, WSSR or
  1263.  chisquare.  They can affect the parameter estimates, since they determine
  1264.  how much influence the deviation of each data point from the fitted function
  1265.  has on the final values.  Some of the `fit` output information, including
  1266.  the parameter error estimates, is more meaningful if accurate data error
  1267.  estimates have been provided.
  1268.  
  1269.  The 'statistical overview' describes some of the `fit` output and gives some
  1270.  background for the 'practical guidelines'.
  1271. ?commands fit error statistical_overview
  1272. ?fit error statistical_overview
  1273. ?statistical_overview
  1274.  The theory of non-linear least-squares (NLLS) is generally described in terms
  1275.  of a normal distribution of errors, that is, the input data is assumed to be
  1276.  a sample from a population having a given mean and a Gaussian (normal)
  1277.  distribution about the mean with a given standard deviation.  For a sample of
  1278.  sufficiently large size, and knowing the population standard deviation, one
  1279.  can use the statistics of the chisquare distribution to describe a "goodness
  1280.  of fit" by looking at the variable often called "chisquare".  Here, it is
  1281.  sufficient to say that a reduced chisquare (chisquare/degrees of freedom,
  1282.  where degrees of freedom is the number of datapoints less the number of
  1283.  parameters being fitted) of 1.0 is an indication that the weighted sum of
  1284.  squared deviations between the fitted function and the data points is the
  1285.  same as that expected for a random sample from a population characterized by
  1286.  the function with the current value of the parameters and the given standard
  1287.  deviations.
  1288.  
  1289.  If the standard deviation for the population is not constant, as in counting
  1290.  statistics where variance = counts, then each point should be individually
  1291.  weighted when comparing the observed sum of deviations and the expected sum
  1292.  of deviations.
  1293.  
  1294.  At the conclusion `fit` reports 'stdfit', the standard deviation of the fit,
  1295.  which is the rms of the residuals, and the variance of the residuals, also
  1296.  called 'reduced chisquare' when the data points are weighted.  The number of
  1297.  degrees of freedom (the number of data points minus the number of fitted
  1298.  parameters) is used in these estimates because the parameters used in
  1299.  calculating the residuals of the datapoints were obtained from the same data.
  1300.  
  1301.  To estimate confidence levels for the parameters, one can use the minimum
  1302.  chisquare obtained from the fit and chisquare statistics to determine the
  1303.  value of chisquare corresponding to the desired confidence level, but
  1304.  considerably more calculation is required to determine the combinations of
  1305.  parameters which produce such values.
  1306.  
  1307.  Rather than determine confidence intervals, `fit` reports parameter error
  1308.  estimates which are readily obtained from the variance-covariance matrix
  1309.  after the final iteration.  By convention, these estimates are called
  1310.  "standard errors" or "asymptotic standard errors", since they are calculated
  1311.  in the same way as the standard errors (standard deviation of each parameter)
  1312.  of a linear least-squares problem, even though the statistical conditions for
  1313.  designating the quantity calculated to be a standard deviation are not
  1314.  generally valid for the NLLS problem.  The asymptotic standard errors are
  1315.  generally over-optimistic and should not be used for determining confidence
  1316.  levels, but are useful for qualitative purposes.
  1317.  
  1318.  The final solution also produces a correlation matrix, which gives an
  1319.  indication of the correlation of parameters in the region of the solution;
  1320.  if one parameter is changed, increasing chisquare, does changing another
  1321.  compensate?  The main diagonal elements, autocorrelation, are all 1; if
  1322.  all parameters were independent, all other elements would be nearly 0.  Two
  1323.  variables which completely compensate each other would have an off-diagonal
  1324.  element of unit magnitude, with a sign depending on whether the relation is
  1325.  proportional or inversely proportional.  The smaller the magnitudes of the
  1326.  off-diagonal elements, the closer the estimates of the standard deviation
  1327.  of each parameter would be to the asymptotic standard error.
  1328. ?commands fit error practical_guidelines
  1329. ?fit error practical_guidelines
  1330. ?practical_guidelines
  1331. ?guidelines
  1332.  If you have a basis for assigning weights to each data point, doing so lets
  1333.  you make use of additional knowledge about your measurements, e.g., take into
  1334.  account that some points may be more reliable than others.  That may affect
  1335.  the final values of the parameters.
  1336.  
  1337.  Weighting the data provides a basis for interpreting the additional `fit`
  1338.  output after the last iteration.  Even if you weight each point equally,
  1339.  estimating an average standard deviation rather than using a weight of 1
  1340.  makes WSSR a dimensionless variable, as chisquare is by definition.
  1341.  
  1342.  Each fit iteration will display information which can be used to evaluate
  1343.  the progress of the fit.  (An '*' indicates that it did not find a smaller
  1344.  WSSR and is trying again.)  The 'sum of squares of residuals', also called
  1345.  'chisquare', is the WSSR between the data and your fitted function; `fit`
  1346.  has minimized that.  At this stage, with weighted data, chisquare is expected
  1347.  to approach the number of degrees of freedom (data points minus parameters).
  1348.  The WSSR can be used to calculate the reduced chisquare (WSSR/ndf) or stdfit,
  1349.  the standard deviation of the fit, sqrt(WSSR/ndf).  Both of these are
  1350.  reported for the final WSSR.
  1351.  
  1352.  If the data are unweighted, stdfit is the rms value of the deviation of the
  1353.  data from the fitted function, in user units.
  1354.  
  1355.  If you supplied valid data errors, the number of data points is large enough,
  1356.  and the model is correct, the reduced chisquare should be about unity.  (For
  1357.  details, look up the 'chi-squared distribution' in your favourite statistics
  1358.  reference.)  If so, there are additional tests, beyond the scope of this
  1359.  overview, for determining how well the model fits the data.
  1360.  
  1361.  A reduced chisquare much larger than 1.0 may be due to incorrect data error
  1362.  estimates, data errors not normally distributed, systematic measurement
  1363.  errors, 'outliers', or an incorrect model function.  A plot of the residuals,
  1364.  e.g., `plot 'datafile' using 1:($2-f($1))`, may help to show any systematic
  1365.  trends.  Plotting both the data points and the function may help to suggest
  1366.  another model.
  1367.  
  1368.  Similarly, a reduced chisquare less than 1.0 indicates WSSR is less than that
  1369.  expected for a random sample from the function with normally distributed
  1370.  errors.  The data error estimates may be too large, the statistical
  1371.  assumptions may not be justified, or the model function may be too general,
  1372.  fitting fluctuations in a particular sample in addition to the underlying
  1373.  trends.  In the latter case, a simpler function may be more appropriate.
  1374.  
  1375.  You'll have to get used to both `fit` and the kind of problems you apply it
  1376.  to before you can relate the standard errors to some more practical estimates
  1377.  of parameter uncertainties or evaluate the significance of the correlation
  1378.  matrix.
  1379.  
  1380.  Note that `fit`, in common with most NLLS implementations, minimizes the
  1381.  weighted sum of squared distances (y-f(x))**2.  It does not provide any means
  1382.  to account for "errors" in the values of x, only in y.  Also, any "outliers"
  1383.  (data points outside the normal distribution of the model) will have an
  1384.  exaggerated effect on the solution.
  1385. ?commands fit_control
  1386. ?fit_control
  1387. ?fit control
  1388.  There are a number of `gnuplot` variables that can be defined to affect
  1389.  `fit`.  Those which can be defined once `gnuplot` is running are listed
  1390.  under 'control_variables' while those defined before starting `gnuplot`
  1391.  are listed under 'environment_variables'.
  1392. ?commands fit_control variables
  1393. ?fit_control variables
  1394. ?fit control variables
  1395.  The default epsilon limit (1e-5) may be changed by declaring a value for
  1396.        FIT_LIMIT
  1397.  When the sum of squared residuals changes between two iteration steps by
  1398.  a factor less than this number (epsilon), the fit is considered to have
  1399.  'converged'.
  1400.  
  1401.  The maximum number of iterations may be limited by declaring a value for
  1402.        FIT_MAXITER
  1403.  A value of 0 (or not defining it at all)  means that there is no limit.
  1404.  
  1405.  If you need even more control about the algorithm, and know the
  1406.  Marquardt-Levenberg algorithm well, there are some more variables to
  1407.  influence it. The startup value of `lambda` is normally calculated
  1408.  automatically from the ML-matrix, but if you want to, you may provide
  1409.  your own one with
  1410.        FIT_START_LAMBDA
  1411.  Specifying FIT_START_LAMBDA as zero or less will re-enable the automatic
  1412.  selection. The variable
  1413.        FIT_LAMBDA_FACTOR
  1414.  gives the factor by which `lambda` is increased or decreased whenever
  1415.  the chi-squared target function increased or decreased significantly.
  1416.  Setting FIT_LAMBDA_FACTOR to zero re-enables the default factor of
  1417.  10.0.
  1418.  
  1419.  Oher variables with the FIT_ prefix may be added to `fit`, so it is safer
  1420.  not to use that prefix for user-defined variables.
  1421.  
  1422.  The variables FIT_SKIP and FIT_INDEX were used by earlier releases of
  1423.  `gnuplot` with a 'fit' patch called `gnufit` and are no longer available.
  1424.  The datafile `every` modifier provides the functionality of FIT_SKIP.
  1425.  FIT_INDEX was used for multi-branch fitting, but multi-branch fitting of
  1426.  one independent variable is now done as a pseudo-3D fit in which the
  1427.  second independent variable and `using` are used to specify the branch.
  1428.  See `fit multi-branch`.
  1429. ?commands fit_control environment
  1430. ?fit_control environment
  1431. ?fit control environment
  1432.  The environment variables must be defined before `gnuplot` is executed; how
  1433.  to do so depends on your operating system.
  1434.  
  1435.        FIT_LOG
  1436.  changes the name (and/or path) of the file to which the fit log will be
  1437.  written from the default of "fit.log" in the working directory.
  1438.  
  1439.        FIT_SCRIPT
  1440.  specifies a command that may be executed after an user interrupt. The default
  1441.  is `replot`, but a `plot` or `load` command may be useful to display a plot
  1442.  customized to highlight the progress of the fit.
  1443. ?commands fit multi-branch
  1444. ?fit multi-branch
  1445. ?multi-branch
  1446. ?branch
  1447.  In multi-branch fitting, multiple data sets can be simultaneously fit with
  1448.  functions of one independent variable having common parameters by minimizing
  1449.  the total WSSR.  The function and parameters (branch) for each data set are
  1450.  selected by using a 'pseudo-variable', e.g., either the dataline number (a
  1451.  'column' index of -1) or the datafile index (-2), as the second independent
  1452.  variable.
  1453.  
  1454.  Example:  Given two exponential decays of the form, z=f(x), each describing
  1455.  a different data set but having a common decay time, estimate the values of
  1456.  the parameters.  If the datafile has the format x:z:s, then
  1457.       f(x,y) = (y==0) ? a*exp(-x/tau) : b*exp(-x/tau)
  1458.       fit f(x,y) 'datafile' using  1:-1:2:3  via a, b, tau
  1459.  
  1460.  For a more complicated example, see the file "hexa.fnc" used by the
  1461.  "fit.dem" demo.
  1462.  
  1463.  Appropriate weighting may be required since unit weights may cause one
  1464.  branch to predominate if there is a difference in the scale of the dependent
  1465.  variable.  Fitting each branch separately, using the multi-branch solution
  1466.  as initial values, may give an indication as to the relative effect of each
  1467.  branch on the joint solution.
  1468. ?commands fit starting_values
  1469. ?fit starting_values
  1470. ?starting_values
  1471.  Nonlinear fitting is not guaranteed to converge to the global optimum (the
  1472.  solution with the smallest sum of squared residuals, SSR), and can get stuck
  1473.  at a local minimum.  The routine has no way to determine that;  it is up to
  1474.  you to judge whether this has happened.
  1475.  
  1476.  `fit` may, and often will get "lost" if started far from a solution, where
  1477.  SSR is large and changing slowly as the parameters are varied, or it may
  1478.  reach a numerically unstable region (e.g., too large a number causing a
  1479.  floating point overflow) which results in an "undefined value" message
  1480.  or `gnuplot` halting.
  1481.  
  1482.  To improve the chances of finding the global optimum, you should set the
  1483.  starting values at least roughly in the vicinity of the solution, e.g.,
  1484.  within an order of magnitude, if possible.  The closer your starting values
  1485.  are to the solution, the less chance of stopping at another minimum.  One way
  1486.  to find starting values is to plot data and the fitting function on the same
  1487.  graph and change parameter values and `replot` until reasonable similarity
  1488.  is reached.  The same plot is also useful to check whether the fit stopped at
  1489.  a minimum with a poor fit.
  1490.  
  1491.  Of course, a reasonably good fit is not proof there is not a "better" fit (in
  1492.  either a statistical sense, characterized by an improved goodness-of-fit
  1493.  criterion, or a physical sense, with a solution more consistent with the
  1494.  model.)  Depending on the problem, it may be desirable to `fit` with various
  1495.  sets of starting values, covering a reasonable range for each parameter.
  1496. ?commands fit tips
  1497. ?fit tips
  1498. ?tips
  1499.  Here are some tips to keep in mind to get the most out of `fit`.  They're not
  1500.  very organized, so you'll have to read them several times until their essence
  1501.  has sunk in.
  1502.  
  1503.  The two forms of the `via` argument to `fit` serve two largely distinct
  1504.  purposes.  The `via "file"` form is best used for (possibly unattended) batch
  1505.  operation, where you just supply the startup values in a file and can later
  1506.  use `update` to copy the results back into another (or the same) parameter
  1507.  file.
  1508.  
  1509.  The `via var1, var2, ...` form is best used interactively, where the command
  1510.  history mechanism may be used to edit the list of parameters to be fitted or
  1511.  to supply new startup values for the next try.  This is particularly useful
  1512.  for hard problems, where a direct fit to all parameters at once won't work
  1513.  without good starting values.  To find such, you can iterate several times,
  1514.  fitting only some of the parameters, until the values are close enough to the
  1515.  goal that the final fit to all parameters at once will work.
  1516.  
  1517.  Make sure that there is no mutual dependency among parameters of the function
  1518.  you are fitting.  For example, don't try to fit a*exp(x+b), because
  1519.  a*exp(x+b)=a*exp(b)*exp(x).  Instead, fit either a*exp(x) or exp(x+b).
  1520.  
  1521.  A technical issue:  the parameters must not be too different in magnitude.
  1522.  The larger the ratio of the largest and the smallest absolute parameter
  1523.  values, the slower the fit will converge.  If the ratio is close to or above
  1524.  the inverse of the machine floating point precision, it may take next to
  1525.  forever to converge, or refuse to converge at all.  You will have to adapt
  1526.  your function to avoid this, e.g., replace 'parameter' by '1e9*parameter' in
  1527.  the function definition, and divide the starting value by 1e9.
  1528.  
  1529.  If you can write your function as a linear combination of simple functions
  1530.  weighted by the parameters to be fitted, by all means do so.  That helps a
  1531.  lot, because the problem is no longer nonlinear and should converge with only
  1532.  a small number of iterations, perhaps just one.
  1533.  
  1534.  Some prescriptions for analysing data, given in practical experimentation
  1535.  courses, may have you first fit some functions to your data, perhaps in a
  1536.  multi-step process of accounting for several aspects of the underlying
  1537.  theory one by one, and then extract the information you really wanted from
  1538.  the fitting parameters of those functions.  With `fit`, this may often be
  1539.  done in one step by writing the model function directly in terms of the
  1540.  desired parameters.  Transforming data can also quite often be avoided,
  1541.  though sometimes at the cost of a more difficult fit problem.  If you think
  1542.  this contradicts the previous paragraph about simplifying the fit function,
  1543.  you are correct.
  1544.  
  1545.  A "singular matrix" message indicates that this implementation of the
  1546.  Marquardt-Levenberg algorithm can't calculate parameter values for the next
  1547.  iteration.  Try different starting values, writing the function in another
  1548.  form, or a simpler function.
  1549.  
  1550.  Finally, a nice quote from the manual of another fitting package (fudgit),
  1551.  that kind of summarizes all these issues:  "Nonlinear fitting is an art!"
  1552. ?commands help
  1553. ?help
  1554.  The `help` command displays on-line help. To specify information on a
  1555.  particular topic use the syntax:
  1556.  
  1557.        help {<topic>}
  1558.  
  1559.  If <topic> is not specified, a short message is printed about `gnuplot`.
  1560.  After help for the requested topic is given, a menu of subtopics is given;
  1561.  help for a subtopic may be requested by typing its name, extending the help
  1562.  request.  After that subtopic has been printed, the request may be extended
  1563.  again or you may go back one level to the previous topic.  Eventually, the
  1564.  `gnuplot` command line will return.
  1565.  
  1566.  If a question mark (?) is given as the topic, the list of topics currently
  1567.  available is printed on the screen.
  1568. ?commands if
  1569. ?if
  1570.  The `if` command allows commands to be executed conditionally.
  1571.  
  1572.  Syntax:
  1573.        if (<condition>) <command-line>
  1574.  
  1575.  <condition> will be evaluated.  If it is true (non-zero), then the command(s)
  1576.  of the <command-line> will be executed.  If <condition> is false (zero), then
  1577.  the entire <command-line> is ignored.  Note that use of `;` to allow multiple
  1578.  commands on the same line will _not_ end the conditionalized commands.
  1579.  
  1580.  Examples:
  1581.        pi=3
  1582.        if (pi!=acos(-1)) print "?Fixing pi!"; pi=acos(-1); print pi
  1583.  will display:
  1584.        ?Fixing pi!
  1585.        3.14159265358979
  1586.  but
  1587.        if (1==2) print "Never see this"; print "Or this either"
  1588.  will not display anything.
  1589.  
  1590.  See `reread` for an example of how `if` and `reread` can be used together to
  1591.  perform a loop.
  1592. ?commands load
  1593. ?load
  1594.  The `load` command executes each line of the specified input file as if it
  1595.  had been typed in interactively.  Files created by the `save` command can
  1596.  later be `load`ed.  Any text file containing valid commands can be created
  1597.  and then executed by the `load` command.  Files being `load`ed may themselves
  1598.  contain `load` or `call` commands.  See `comment` for information about
  1599.  comments in commands.  To `load` with arguments, see `call`.
  1600.  
  1601.  The `load` command _must_ be the last command on a multi-command line.
  1602.  
  1603.  Syntax:
  1604.        load "<input-file>"
  1605.  
  1606.  The name of the input file must be enclosed in quotes.
  1607.  
  1608.  The special filename "-" may be used to `load` commands from standard input.
  1609.  This allows a `gnuplot` command file to accept some commands from standard
  1610.  input.  Please see "help batch/interactive" for more details.
  1611.  
  1612.  Examples:
  1613.        load 'work.gnu'
  1614.        load "func.dat"
  1615.  
  1616.  The `load` command is performed implicitly on any file names given as
  1617.  arguments to `gnuplot`.  These are loaded in the order specified, and
  1618.  then `gnuplot` exits.
  1619. ?commands pause
  1620. ?pause
  1621.  The `pause` command displays any text associated with the command and then
  1622.  waits a specified amount of time or until the carriage return is pressed.
  1623.  `pause` is especially useful in conjunction with `load` files.
  1624.  
  1625.  Syntax:
  1626.        pause <time> {"<string>"}
  1627.  
  1628.  <time> may be any integer constant or expression.  Choosing -1 will wait
  1629.  until a carriage return is hit, zero (0) won't pause at all, and a positive
  1630.  integer will wait the specified number of seconds.  `pause 0` is synonymous
  1631.  with `print`.
  1632.  
  1633.  Note: Since `pause` communicates with the operating system rather than the
  1634.  graphics, it may behave differently with different device drivers (depending
  1635.  upon how text and graphics are mixed).
  1636.  
  1637.  Examples:
  1638.        pause -1    # Wait until a carriage return is hit
  1639.        pause 3     # Wait three seconds
  1640.        pause -1  "Hit return to continue"
  1641.        pause 10  "Isn't this pretty?  It's a cubic spline."
  1642.  
  1643. ?commands plot
  1644. ?plot
  1645.  `plot` is the primary command for drawing plots with `gnuplot`.  It creates
  1646.  plots of functions and data in many, many ways.  `plot` is used to draw 2-d
  1647.  functions and data; `splot` draws 2-d projections of 3-d surfaces and data.
  1648.  `plot` and `splot` contain many common features; see `splot` for differences.
  1649.  Note specifically that `splot`'s `binary` and `matrix` options do not exist
  1650.  for `plot`.
  1651.  
  1652.  Syntax:
  1653.        plot {<ranges>}
  1654.             {<function> | {"<datafile>" {datafile-modifiers}}}
  1655.             {axes <axes>} {<title-spec>} {with <style>}
  1656.             {, {definitions,} <function> ...}
  1657.  
  1658.  where either a <function> or the name of a data file enclosed in quotes is
  1659.  supplied.  A function is a mathematical expression or a pair of mathematical
  1660.  expressions in parametric mode.  The expressions may be defined completely or
  1661.  in part earlier in the stream of `gnuplot` commands (see `user-defined`).
  1662.  
  1663.  It is also possible to define functions and parameters on the `plot` command
  1664.  itself.  This is done merely by isolating them from other items with commas.
  1665.  
  1666.  There are four possible sets of axes available; the keyword <axes> is used to
  1667.  select the axes for which a particular line should be scaled.  `x1y1` refers
  1668.  to the axes on the bottom and left; `x2y2` to those on the top and right;
  1669.  `x1y2` to those on the bottom and right; and `x2y1` to those on the top and
  1670.  left.  Ranges specified on the `plot` command apply only to the first set of
  1671.  axes (bottom left).
  1672.  
  1673.  Examples:
  1674.        plot sin(x)
  1675.        plot f(x) = sin(x*a), a = .2, f(x), a = .4, f(x)
  1676.        plot [t=1:10] [-pi:pi*2] tan(t), \
  1677.             "data.1" using (tan($2)):($3/$4) smooth csplines \
  1678.                      axes x1y2 notitle with lines 5
  1679.  
  1680. ?commands plot datafile
  1681. ?plot datafile
  1682. ?data-file
  1683. ?datafile
  1684. ?data
  1685.  Discrete data contained in a file can be displayed by specifying the name of
  1686.  the data file (enclosed in single or double quotes) on the `plot` command line.
  1687.  
  1688.  Syntax:
  1689.        plot '<file_name>' {index <index list>}
  1690.                              {every <every list>}
  1691.                              {thru <thru expression>}
  1692.                              {using <using list>}
  1693.                              {smooth <option>}
  1694.  
  1695.  The modifiers `index`, `every`, `thru`, `using`, and `smooth` are discussed
  1696.  separately.  In brief, `index` selects which data sets in a multi-data-set
  1697.  file are to be plotted, `every` specifies which points within a single data
  1698.  set are to be plotted, `using` determines how the columns within a single
  1699.  record are to be interpreted (`thru` is a special case of `using`), and
  1700.  `smooth` allows for simple interpolation and approximation.  ('splot' has a
  1701.  similar syntax, but does not support the `smooth` and `thru` options.)
  1702.  
  1703.  Data files should contain at least one data point per record (`using` can
  1704.  select one data point from the record).  Records beginning with `#` (and
  1705.  also with `!` on VMS) will be treated as comments and ignored.  Each data
  1706.  point represents an (x,y) pair.  For `plot`s with error bars (see `set style
  1707.  errorbars`), each data point is (x,y,ydelta), (x,y,ylow,yhigh), (x,y,xdelta),
  1708.  (x,y,xlow,xhigh), or (x,y,xlow,xhigh,ylow,yhigh).  In all cases, the numbers
  1709.  on each record of a data file must be separated by white space (one or more
  1710.  blanks or tabs), unless a format specifier is provided by the `using` option.
  1711.  This white space divides each record into columns.
  1712.  
  1713.  Data may be written in exponential format with the exponent preceded by the
  1714.  letter e, E, d, D, q, or Q.
  1715.  
  1716.  Only one column (the y value) need be provided.  If x is omitted, `gnuplot`
  1717.  provides integer values starting at 0.
  1718.  
  1719.  In datafiles, blank records (records with no characters other than blanks and
  1720.  a newline and/or carriage return) are significant---pairs of blank records
  1721.  separate `index`es (see `plot datafile index`).  Data separated by double
  1722.  blank records are treated as if they were in separate data files.
  1723.  
  1724.  Single blank records designate discontinuities in a `plot`; no line will join
  1725.  points separated by a blank records (if they are plotted with a line style).
  1726.  
  1727.  If autoscaling has been enabled (`set autoscale`), the axes are automatically
  1728.  extended to include all datapoints, with a whole number of tic marks if tics
  1729.  are being drawn.  This has two consequences: i) For `splot`, the corner of
  1730.  the surface may not coincide with the corner of the base.  In this case, no
  1731.  vertical line is drawn.  ii) When plotting data with the same x range on a
  1732.  dual-axis graph, the x coordinates may not coincide if the x2tics are not
  1733.  being drawn.  This is because the x axis has been autoextended to a whole
  1734.  number of tics, but the x2 axis has not.  The following example illustrates
  1735.  the problem:
  1736.  
  1737.        reset; plot '-', '-'
  1738.        1 1
  1739.        19 19
  1740.        e
  1741.        1 1
  1742.        19 19
  1743.        e
  1744. ?commands plot datafile every
  1745. ?plot datafile every
  1746. ?plot every
  1747. ?data-file every
  1748. ?datafile every
  1749. ?every
  1750.  The `every` keyword allows a periodic sampling of a data set to be plotted.
  1751.  
  1752.  In the discussion a "point" is a datum defined by a single record in the
  1753.  file; "block" here will mean the same thing as "datablock" (see `glossary`).
  1754.  
  1755.  Syntax:
  1756.        plot 'file' every {<point_incr>}
  1757.                            {:{<block_incr>}
  1758.                              {:{<start_point>}
  1759.                                {:{<start_block>}
  1760.                                  {:{<end_point>}
  1761.                                    {:<end_block>}}}}}
  1762.  
  1763.  The data points to be plotted are selected according to a loop from
  1764.  <`start_point`> to <`end_point`> with increment <`point_incr`> and the
  1765.  blocks according to a loop from <`start_block`> to <`end_block`> with
  1766.  increment <`block_incr`>.
  1767.  
  1768.  The first datum in each block is numbered '0', as is the first block in the
  1769.  file.
  1770.  
  1771.  Note that records containing unplottable information are counted.
  1772.  
  1773.  Any of the numbers can be omitted; the increments default to unity, the start
  1774.  values to the first point or block, and the end values to the last point or
  1775.  block.  If `every` is not specified, all points in all lines are plotted.
  1776.  
  1777.  Examples:
  1778.        every :::3::3    # selects just the fourth block ('0' is first)
  1779.        every :::::9     # selects the first 10 blocks
  1780.        every 2:2        # selects every other point in every other block
  1781.        every ::5::15    # selects points 5 through 15 in each block
  1782. ?commands plot datafile example
  1783. ?plot datafile example
  1784. ?plot example
  1785. ?datafile example
  1786. ?data-file example
  1787. ?example
  1788.  This example plots the data in the file "population.dat" and a theoretical
  1789.  curve:
  1790.  
  1791.        pop(x) = 103*exp((1965-x)/10)
  1792.        plot [1960:1990] 'population.dat', pop(x)
  1793.  
  1794.  The file "population.dat" might contain:
  1795.  
  1796.        # Gnu population in Antarctica since 1965
  1797.           1965   103
  1798.           1970   55
  1799.           1975   34
  1800.           1980   24
  1801.           1985   10
  1802.  
  1803. ?commands plot datafile index
  1804. ?plot datafile index
  1805. ?plot index
  1806. ?data-file index
  1807. ?datafile index
  1808. ?index
  1809.  The `index` keyword allows only some of the data sets in a multi-data-set
  1810.  file to be plotted.
  1811.  
  1812.  Syntax:
  1813.        plot 'file' index <m>{{:<n>}:<p>}
  1814.  
  1815.  Data sets are separated by pairs of blank records.  `index <m>` selects only
  1816.  set <m>; `index <m>:<n>` selects sets in the range <m> to <n>; and `index
  1817.  <m>:<n>:<p>` selects indices <m>, <m>+<p>, <m>+2<p>, etc., but stopping at
  1818.  <n>.  Following C indexing, the index 0 is assigned to the first data set in
  1819.  the file.  Specifying too large an index results in an error message.  If
  1820.  `index` is not specified, all sets are plotted as a single data set.
  1821.  
  1822.  Example:
  1823.        plot 'file' index 4:5
  1824. ?commands plot datafile smooth
  1825. ?plot datafile smooth
  1826. ?plot smooth
  1827. ?data-file smooth
  1828. ?datafile smooth
  1829. ?smooth
  1830.  `gnuplot` includes a few general-purpose routines for interpolation and
  1831.  approximation of data; these are grouped under the `smooth` option.  More
  1832.  sophisticated data processing may be performed by preprocessing the data
  1833.  externally or by using `fit` with an appropriate model.
  1834.  
  1835.  Syntax:
  1836.        smooth {unique | csplines | acsplines | bezier | sbezier}
  1837.  
  1838.  `unique` plots the data after making them monotonic.  Each of the other
  1839.  routines uses the data to determine the coefficients of a continuous curve
  1840.  between the endpoints of the data.  This curve is then plotted in the same
  1841.  manner as a function, that is, by finding its value at uniform intervals
  1842.  along the abscissa (see `set samples`) and connecting these points with
  1843.  straight line segments (if a line style is chosen).
  1844.  
  1845.  If `autoscale` is in effect, the ranges will be computed such that the
  1846.  plotted curve lies within the borders of the graph.
  1847.  
  1848.  If too few points are available to allow the selected option to be applied,
  1849.  an error message is produced.  The minimum number is one for `unique`, four
  1850.  for `acsplines`, and three for the others.
  1851.  
  1852.  The `smooth` options have no effect on function plots.
  1853. ?commands plot datafile smooth acsplines
  1854. ?plot datafile smooth acsplines
  1855. ?data-file smooth acsplines
  1856. ?datafile smooth acsplines
  1857. ?plot smooth acsplines
  1858. ?plot acsplines
  1859. ?smooth acsplines
  1860. ?acsplines
  1861.  The `acsplines` option approximates the data with a "natural smoothing spline".
  1862.  After the data are made monotonic in x (see `smooth unique`), a curve is
  1863.  piecewise constructed from segments of cubic polynomials whose coefficients
  1864.  are found by the weighting the data points; the weights are taken from the
  1865.  third column in the data file.  That default can be modified by the third
  1866.  entry in the `using` list, e.g.,
  1867.        plot 'data-file' using 1:2:(1.0) smooth acsplines
  1868.  
  1869.  Qualitatively, the absolute magnitude of the weights determines the number
  1870.  of segments used to construct the curve.  If the weights are large, the
  1871.  effect of each datum is large and the curve approaches that produced by
  1872.  connecting consecutive points with natural cubic splines.  If the weights are
  1873.  small, the curve is composed of fewer segments and thus is smoother; the
  1874.  limiting case is the single segment produced by a weighted linear least
  1875.  squares fit to all the data.  The smoothing weight can be expressed in terms
  1876.  of errors as a statistical weight for a point divided by a "smoothing factor"
  1877.  for the curve so that (standard) errors in the file can be used as smoothing
  1878.  weights.
  1879.  
  1880.  Example:
  1881.        sw(x,S)=1/(x*x*S)
  1882.        plot 'data_file' using 1:2:(sw($3,100)) smooth acsplines
  1883. ?commands plot datafile smooth bezier
  1884. ?plot datafile smooth bezier
  1885. ?plot smooth bezier
  1886. ?data-file smooth bezier
  1887. ?datafile smooth bezier
  1888. ?plot bezier
  1889. ?smooth bezier
  1890. ?bezier
  1891.  The `bezier` option approximates the data with a Bezier curve of degree n
  1892.  (the number of data points) that connects the endpoints.
  1893. ?commands plot datafile smooth csplines
  1894. ?plot datafile smooth csplines
  1895. ?plot smooth csplines
  1896. ?data-file smooth csplines
  1897. ?datafile smooth csplines
  1898. ?plot csplines
  1899. ?smooth csplines
  1900. ?csplines
  1901.  The `csplines` option connects consecutive points by natural cubic splines
  1902.  after rendering the data monotonic (see `smooth unique`).
  1903. ?commands plot datafile smooth sbezier
  1904. ?plot datafile smooth sbezier
  1905. ?plot smooth sbezier
  1906. ?data-file smooth sbezier
  1907. ?datafile smooth sbezier
  1908. ?plot sbezier
  1909. ?smooth sbezier
  1910. ?sbezier
  1911.  The `sbezier` option first renders the data monotonic (`unique`) and then
  1912.  applies the `bezier` algorithm.
  1913. ?commands plot datafile smooth unique
  1914. ?plot datafile smooth unique
  1915. ?plot smooth unique
  1916. ?data-file smooth unique
  1917. ?datafile smooth unique
  1918. ?plot unique
  1919. ?smooth unique
  1920. ?unique
  1921.  The `unique` option makes the data monotonic in x; points with the same
  1922.  x-value are replaced by a single point having the average y-value.  The
  1923.  resulting points are then connected by straight line segments.
  1924. ?commands plot datafile special-filenames
  1925. ?plot datafile special-filenames
  1926. ?plot special-filenames
  1927. ?datafile special-filenames
  1928. ?special-filenames
  1929.  A special filename of `'-'` specifies that the data are inline; i.e., they
  1930.  follow the command.  Only the data follow the command; `plot` options like
  1931.  filters, titles, and line styles remain on the 'plot' command line.  This is
  1932.  similar to << in unix shell script, and $DECK in VMS DCL.  The data are
  1933.  entered as though they are being read from a file, one data point per record.
  1934.  The letter "e" at the start of the first column terminates data entry.  The
  1935.  `using` option can be applied to these data---using it to filter them through
  1936.  a function might make sense, but selecting columns probably doesn't!
  1937.  
  1938.  `'-'` is intended for situations where it is useful to have data and commands
  1939.  together, e.g., when `gnuplot` is run as a sub-process of some front-end
  1940.  application.  Some of the demos, for example, might use this feature.  While
  1941.  `plot` options such as `index` and `every` are recognized, their use forces
  1942.  you to enter data that won't be used.  For example, while
  1943.  
  1944.        plot '-' index 0, '-' index 1
  1945.        2
  1946.        4
  1947.        6
  1948.  
  1949.  
  1950.        10
  1951.        12
  1952.        14
  1953.        e
  1954.        2
  1955.        4
  1956.        6
  1957.  
  1958.  
  1959.        10
  1960.        12
  1961.        14
  1962.        e
  1963.  
  1964.  does indeed work,
  1965.  
  1966.        plot '-', '-'
  1967.        2
  1968.        4
  1969.        6
  1970.        e
  1971.        10
  1972.        12
  1973.        14
  1974.        e
  1975.  
  1976.  is a lot easier to type.
  1977.  
  1978.  If you use `'-'` with `replot`, you may need to enter the data more than once
  1979.  (see `replot`).
  1980.  
  1981.  A blank filename ('') specifies that the previous filename should be reused.
  1982.  This can be useful with things like
  1983.  
  1984.        plot 'a/very/long/filename' using 1:2, '' using 1:3, '' using 1:4
  1985.  
  1986.  (If you use both `'-'` and `''` on the same `plot` command, you'll need to
  1987.  have two sets of inline data, as in the example above.)
  1988.  
  1989.  On some computer systems with a popen function (Unix), the datafile can be
  1990.  piped through a shell command by starting the file name with a '<'.  For
  1991.  example,
  1992.  
  1993.        pop(x) = 103*exp(-x/10)
  1994.        plot "< awk '{print $1-1965, $2}' population.dat", pop(x)
  1995.  
  1996.  would plot the same information as the first population example but with
  1997.  years since 1965 as the x axis.  If you want to execute this example, you
  1998.  have to delete all comments from the data file above or substitute the
  1999.  following command for the first part of the command above (the part up to
  2000.  the comma):
  2001.  
  2002.        plot "< awk '$0 !~ /^#/ {print $1-1965, $2}' population.dat"
  2003.  
  2004.  While this approach is most flexible, it is possible to achieve simple
  2005.  filtering with the `using` or `thru` keywords.
  2006. ?commands plot datafile thru
  2007. ?plot datafile thru
  2008. ?plot thru
  2009. ?data-file thru
  2010. ?datafile thru
  2011. ?thru
  2012.  The `thru` function is provided for backward compatibility.
  2013.  
  2014.  Syntax:
  2015.        plot 'file' thru f(x)
  2016.  
  2017.  It is equivalent to:
  2018.  
  2019.        plot 'file' using 1:(f($2))
  2020.  
  2021.  While the latter appears more complex, it is much more flexible.  The more
  2022.  natural
  2023.  
  2024.        plot 'file' thru f(y)
  2025.  
  2026.  also works (i.e. you can use y as the dummy variable).
  2027.  
  2028.  `thru` is parsed for `splot` and `fit` but has no effect.
  2029. ?commands plot datafile using
  2030. ?plot datafile using
  2031. ?plot using
  2032. ?data-file using
  2033. ?datafile using
  2034. ?using
  2035.  The most common datafile modifier is `using`.
  2036.  
  2037.  Syntax:
  2038.        plot 'file' using {<entry> {:<entry> {:<entry> ...}}} {'format'}
  2039.  
  2040.  If a format is specified, each datafile record is read using the C library's
  2041.  'scanf' function, with the specified format string.  Otherwise the record is
  2042.  read and broken into columns at spaces or tabs.  A format cannot be specified
  2043.  if time-format data is being used (this must be done by `set data time`).
  2044.  
  2045.  The resulting array of data is then sorted into columns according to the
  2046.  entries.  Each <entry> may be a simple column number, which selects the
  2047.  datum, an expression enclosed in parentheses, or empty.  The expression can
  2048.  use $1 to access the first item read, $2 for the second item, and so on.  It
  2049.  can also use `column(x)` and `valid(x)` where x is an arbitrary expression
  2050.  resulting in an integer.  `column(x)` returns the x'th datum; `valid(x)`
  2051.  tests that the datum in the x'th column is a valid number.  A column number
  2052.  of 0 generates a number increasing (from zero) with each point, and is reset
  2053.  upon encountering two blank records.  A column number of -1 gives the
  2054.  dataline number, which starts at 0, increments at single blank records, and
  2055.  is reset at double blank records.  A column number of -2 gives the index
  2056.  number, which is incremented only when two blank records are found.  An empty
  2057.  <entry> will default to its order in the list of entries.  For example,
  2058.  `using ::4` is interpreted as `using 1:2:4`.
  2059.  
  2060.  N.B.---the `call` command also uses $'s as a special character.  See `call`
  2061.  for details about how to include a column number in a `call` argument list.
  2062.  
  2063.  If the `using` list has but a single entry, that <entry> will be used for y
  2064.  and the data point number is used for x; for example, "`plot 'file' using 1`"
  2065.  is identical to "`plot 'file' using 0:1`".  If the `using` list has two
  2066.  entries, these will be used for x and y.  Additional entries are usually
  2067.  errors in x and/or y.  See `set style` for details about plotting styles that
  2068.  make use of error information, and `fit` for use of error information in
  2069.  curve fitting.
  2070.  
  2071.  'scanf' accepts several numerical specifications but `gnuplot` requires all
  2072.  inputs to be double-precision floating-point variables, so `lf` is the only
  2073.  permissible specifier.  'scanf' expects to see white space---a blank, tab
  2074.  ("\t"), newline ("\n"), or formfeed ("\f")---between numbers; anything else
  2075.  in the input stream must be explicitly skipped.
  2076.  
  2077.  Note that the use of "\t", "\n", or "\f" or requires use of double-quotes
  2078.  rather than single-quotes.
  2079.  
  2080.  Examples:
  2081.  
  2082.  This creates a plot of the sum of the 2nd and 3rd data against the first:
  2083.  (The format string specifies comma- rather than space-separated columns.)
  2084.        plot 'file' using 1:($2+$3) '%lf,%lf,%lf'
  2085.  
  2086.  In this example the data are read from the file "MyData" using a more
  2087.  complicated format:
  2088.        plot 'MyData' using "%*lf%lf%*20[^\n]%lf"
  2089.  
  2090.  The meaning of this format is:
  2091.  
  2092.        %*lf        ignore a number
  2093.        %lf         read a double-precision number (x by default)
  2094.        %*20[^\n]   ignore 20 non-newline characters
  2095.        %lf         read a double-precision number (y by default)
  2096.  
  2097.  One trick is to use the ternary `?:` operator to filter data:
  2098.  
  2099.        plot 'file' using 1:($3>10 ? $2 : 1/0)
  2100.  
  2101.  which plots the datum in column two against that in column one provided
  2102.  the datum in column three exceeds ten.  `1/0` is undefined; `gnuplot`
  2103.  quietly ignores undefined points, so unsuitable points are suppressed.
  2104.  
  2105.  In fact, you can use a constant expression for the column number, provided it
  2106.  doesn't start with an opening parenthesis; constructs like `using
  2107.  0+(complicated expression)` can be used.  The crucial point is that the
  2108.  expression is evaluated once if it doesn't start with a left parenthesis, or
  2109.  once for each data point read if it does.
  2110.  
  2111.  If timeseries data are being used, the time can span multiple columns.  The
  2112.  starting column should be specified.  Note that the spaces within the time
  2113.  must be included when calculating starting columns for other data.  E.g., if
  2114.  the first element on a line is a time with an embedded space, the y value
  2115.  should be specified as column three.
  2116.  
  2117.  It should be noted that `plot 'file'`, `plot 'file' using 1:2`, and `plot
  2118.  'file' using ($1):($2)` can be subtly different: 1) if `file` has some lines
  2119.  with one column and some with two, the first will invent x values when they
  2120.  are missing, the second will quietly ignore the lines with one column, and
  2121.  the third will store an undefined value for lines with one point (so that in
  2122.  a plot with lines, no line joins points across the bad point); 2) if a line
  2123.  contains text at the first column, the first will abort the plot on an error,
  2124.  but the second and third should quietly skip the garbage.
  2125.  
  2126.  In fact, it is often possible to plot a file with lots of lines of garbage at
  2127.  the top simply by specifying
  2128.  
  2129.        plot 'file' using 1:2
  2130.  
  2131.  However, if you want to leave text in your data files, it is safer to put the
  2132.  comment character (#) in the first column of the text lines.
  2133. ?commands plot errorbars
  2134. ?commands splot errorbars
  2135. ?plot errorbars
  2136. ?splot errorbars
  2137. ?errorbars
  2138.  Error bars are supported for 2-d data file plots by reading one to four
  2139.  additional columns (or `using` entries); these additional values are used in
  2140.  different ways by the various errorbar styles.
  2141.  
  2142.  In the default situation, `gnuplot` expects to see three, four, or six
  2143.  numbers on each line of the data file---either
  2144.  
  2145.        (x, y, ydelta),
  2146.        (x, y, ylow, yhigh),
  2147.        (x, y, xdelta),
  2148.        (x, y, xlow, xhigh),
  2149.        (x, y, xdelta, ydelta), or
  2150.        (x, y, xlow, xhigh, ylow, yhigh).
  2151.  
  2152.  The x coordinate must be specified.  The order of the numbers must be
  2153.  exactly as given above, though the `using` qualifier can manipulate the order
  2154.  and provide values for missing columns.  For example,
  2155.  
  2156.        plot 'file' with errorbars
  2157.        plot 'file' using 1:2:(sqrt($1)) with xerrorbars
  2158.        plot 'file' using 1:2:($1-$3):($1+$3):4:5 with xyerrorbars
  2159.  
  2160.  The last example is for a file containing an unsupported combination of
  2161.  relative x and absolute y errors.  The `using` entry generates absolute x min
  2162.  and max from the relative error.
  2163.  
  2164.  The y error bar is a vertical line plotted from (x, ylow) to (x, yhigh).
  2165.  If ydelta is specified instead of ylow and yhigh, ylow = y - ydelta and
  2166.  yhigh = y + ydelta are derived.  If there are only two numbers on the record,
  2167.  yhigh and ylow are both set to y.  The x error bar is a horizontal line
  2168.  computed in the same fashion.  To get lines plotted between the data points,
  2169.  `plot` the data file twice, once with errorbars and once with lines (but
  2170.  remember to use the `notitle` option on one to avoid two entries in the key).
  2171.  
  2172.  The error bars have crossbars at each end unless `set bar` is used (see `set
  2173.  bar` for details).
  2174.  
  2175.  If autoscaling is on, the ranges will be adjusted to include the error bars.
  2176.  
  2177.  See `plot using`, `plot with`, and `set style` for more information.
  2178. ?commands plot parametric
  2179. ?commands splot parametric
  2180. ?plot parametric
  2181. ?splot parametric
  2182. ?parametric
  2183.  When in parametric mode (`set parametric`) mathematical expressions must be
  2184.  given in pairs for `plot` and in triplets for `splot`.
  2185.  
  2186.  Examples:
  2187.        plot sin(t),t**2
  2188.        splot cos(u)*cos(v),cos(u)*sin(v),sin(u)
  2189.  
  2190.  Data files are plotted as before, except any preceding parametric function
  2191.  must be fully specified before a data file is given as a plot.  In other
  2192.  words, the x parametric function (`sin(t)` above) and the y parametric
  2193.  function (`t**2` above) must not be interrupted with any modifiers or data
  2194.  functions; doing so will generate a syntax error stating that the parametric
  2195.  function is not fully specified.
  2196.  
  2197.  Other modifiers, such as `with` and `title`, may be specified only after the
  2198.  parametric function has been completed:
  2199.  
  2200.        plot sin(t),t**2 title 'Parametric example' with linespoints
  2201. ?commands plot ranges
  2202. ?commands splot ranges
  2203. ?plot ranges
  2204. ?splot ranges
  2205. ?ranges
  2206.  The optional ranges specify the region of the graph that will be displayed.
  2207.  
  2208.  Syntax:
  2209.        [{<dummy-var>=}{{<min>}:{<max>}}]
  2210.        [{{<min>}:{<max>}}]
  2211.  
  2212.  The first form applies to the independent variable (`xrange` or `trange`, if
  2213.  in parametric mode).  The second form applies to the dependent variable
  2214.  `yrange` (and `xrange`, too, if in parametric mode).  <dummy-var> is a new
  2215.  name for the independent variable.  (The defaults may be changed with `set
  2216.  dummy`.)  The optional <min> and <max> terms can be constant expressions or *.
  2217.  
  2218.  In non-parametric mode, the order in which ranges must be given is `xrange`
  2219.  and `yrange`.
  2220.  
  2221.  In parametric mode, the order for the `plot` command is `trange`, `xrange`,
  2222.  and `yrange`.  The following `plot` command shows setting the `trange` to
  2223.  [-pi:pi], the `xrange` to [-1.3:1.3] and the `yrange` to [-1:1] for the
  2224.  duration of the graph:
  2225.  
  2226.        plot [-pi:pi] [-1.3:1.3] [-1:1] sin(t),t**2
  2227.  
  2228.  Note that the x2range and y2range cannot be specified here---`set x2range`
  2229.  and `set y2range` must be used.
  2230.  
  2231.  Ranges are interpreted in the order listed above for the appropriate mode.
  2232.  Once all those needed are specified, no further ones must be listed, but
  2233.  unneeded ones cannot be skipped---use an empty range `[]` as a placeholder.
  2234.  
  2235.  `*` can be used to allow autoscaling of either of min and max.  See also
  2236.  `set autoscale`.
  2237.  
  2238.  Ranges specified on the `plot` or `splot` command line affect only that
  2239.  graph; use the `set xrange`, `set yrange`, etc., commands to change the
  2240.  default ranges for future graphs.
  2241.  
  2242.  With time data, you must provide the range (in the same manner as the time
  2243.  appears in the datafile) within quotes.  `gnuplot` uses the `timefmt` string
  2244.  to read the value---see `set timefmt`.
  2245.  
  2246.  Examples:
  2247.  
  2248.  This uses the current ranges:
  2249.        plot cos(x)
  2250.  
  2251.  This sets the x range only:
  2252.        plot [-10:30] sin(pi*x)/(pi*x)
  2253.  
  2254.  This is the same, but uses t as the dummy-variable:
  2255.        plot [t = -10 :30]  sin(pi*t)/(pi*t)
  2256.  
  2257.  This sets both the x and y ranges:
  2258.        plot [-pi:pi] [-3:3]  tan(x), 1/x
  2259.  
  2260.  This sets only the y range, and turns off autoscaling on both axes:
  2261.        plot [ ] [-2:sin(5)*-8] sin(x)**besj0(x)
  2262.  
  2263.  This sets xmax and ymin only:
  2264.        plot [:200] [-pi:]  exp(sin(x))
  2265.  
  2266.  This sets the x range for a timeseries:
  2267.        set timefmt "%d/%m/%y %H:%M"
  2268.        plot ["1/6/93 12:00":"5/6/93 12:00"] 'timedata.dat'
  2269.  
  2270. ?commands plot title
  2271. ?commands splot title
  2272. ?plot title
  2273. ?splot title
  2274.  A line title for each function and data set appears in the key, accompanied
  2275.  by a sample of the line and/or symbol used to represent it.  It can be
  2276.  changed by using the `title` option.
  2277.  
  2278.  Syntax:
  2279.        title "<title>" | notitle
  2280.  
  2281.  where <title> is the new title of the line and must be enclosed in quotes.
  2282.  The quotes will not be shown in the key.  A special character may be given as
  2283.  a backslash followed by its octal value ("\345").  The tab character "\t" is
  2284.  understood.  Note that backslash processing occurs only for strings enclosed
  2285.  in double quotes---use single quotes to prevent such processing.  The newline
  2286.  character "\n" is not processed in key entries in either type of string.
  2287.  
  2288.  The line title and sample can be omitted from the key by using the keyword
  2289.  `notitle`.  A null title (`title ''`) is equivalent to `notitle`.  If only
  2290.  the sample is wanted, use one or more blanks (`title ' '`).
  2291.  
  2292.  By default the line title is the function or file name as it appears on the
  2293.  `plot` command.  If it is a file name, any datafile modifiers specified will
  2294.  be included in the default title.
  2295.  
  2296.  The layout of the key itself (position, title justification, etc.) can be
  2297.  controlled by `set key`.  Please see `set key` for details.
  2298.  
  2299.  Examples:
  2300.  
  2301.  This plots y=x with the title 'x':
  2302.        plot x
  2303.  
  2304.  This plots x squared with title "x^2" and file "data.1" with title
  2305.  "measured data":
  2306.        plot x**2 title "x^2", 'data.1' t "measured data"
  2307.  
  2308.  This puts an untitled circular border around a polar graph:
  2309.        set polar; plot my_function(t), 1 notitle
  2310. ?commands plot with
  2311. ?commands splot with
  2312. ?commands plot style
  2313. ?commands splot style
  2314. ?plot with
  2315. ?plot style
  2316. ?splot with
  2317. ?splot style
  2318. ?style
  2319. ?with
  2320.  Functions and data may be displayed in one of a large number of styles.
  2321.  The `with` keyword provides the means of selection.
  2322.  
  2323.  Syntax:
  2324.        with <style> { {linestyle | ls <line_style>}
  2325.                       | {{linetype | lt <line_type>}
  2326.                          {linewidth | lw <line_width>}
  2327.                          {pointtype | pt <point_type>}
  2328.                          {pointsize | ps <point_size>}} }
  2329.  
  2330.  where <style> is either `lines`, `points`, `linespoints`, `impulses`, `dots`,
  2331.  `steps`, `fsteps`, `histeps`, `errorbars`, `xerrorbars`, `yerrorbars`,
  2332.  `xyerrorbars`, `boxes`, `boxerrorbars`, `boxxyerrorbars`, `financebars`,
  2333.  `candlesticks` or `vector`.  Some of these styles require additional
  2334.  information.  See `set style <style>` for details of each style.
  2335.  
  2336.  Default styles are chosen with the `set function style` and `set data style`
  2337.  commands.
  2338.  
  2339.  By default, each function and data file will use a different line type and
  2340.  point type, up to the maximum number of available types.  All terminal
  2341.  drivers support at least six different point types, and re-use them, in
  2342.  order, if more are required.  The LaTeX driver supplies an additional six
  2343.  point types (all variants of a circle), and thus will only repeat after 12
  2344.  curves are plotted with points.  The PostScript drivers (`postscript`)
  2345.  supplies a total of 64.
  2346.  
  2347.  If you wish to choose the line or point type for a single plot, <line_type>
  2348.  and <point_type> may be specified.  These are positive integer constants (or
  2349.  expressions) that specify the line type and point type to be used for the
  2350.  plot.  Use `test` to display the types available for your terminal.
  2351.  
  2352.  You may also scale the line width and point size for a plot by using
  2353.  <line_width> and <point_size>, which are specified relative to the default
  2354.  values for each terminal.  The pointsize may also be altered globally---see
  2355.  `set pointsize` for details.  But note that both <point_size> as set here and
  2356.  as set by `set pointsize` multiply the default point size---their effects are
  2357.  not cumulative.  That is, `set pointsize 2; plot x w p ps 3` will use points
  2358.  three times default size, not six.
  2359.  
  2360.  If you have defined specific line type/width and point type/size combinations
  2361.  with `set linestyle`, one of these may be selected by setting <line_style> to
  2362.  the index of the desired style.
  2363.  
  2364.  The keywords may be abbreviated as indicated.
  2365.  
  2366.  Note that the `linewidth` and `pointsize` options are not supported by all
  2367.  terminals.
  2368.  
  2369.  Examples:
  2370.  
  2371.  This plots sin(x) with impulses:
  2372.        plot sin(x) with impulses
  2373.  
  2374.  This plots x with points, x**2 with the default:
  2375.        plot x*y w points, x**2 + y**2
  2376.  
  2377.  This plots tan(x) with the default function style, file "data.1" with lines:
  2378.        plot [ ] [-2:5] tan(x), 'data.1' with l
  2379.  
  2380.  This plots "leastsq.dat" with impulses:
  2381.        plot 'leastsq.dat' w i
  2382.  
  2383.  This plots the data file "population" with boxes:
  2384.        plot 'population' with boxes
  2385.  
  2386.  This plots "exper.dat" with errorbars and lines connecting the points
  2387.  (errorbars require three or four columns):
  2388.        plot 'exper.dat' w lines, 'exper.dat' notitle w errorbars
  2389.  
  2390.  This plots sin(x) and cos(x) with linespoints, using the same line type but
  2391.  different point types:
  2392.        plot sin(x) with linesp lt 1 pt 3, cos(x) with linesp lt 1 pt 4
  2393.  
  2394.  This plots file "data" with points of type 3 and twice usual size:
  2395.        plot 'data' with points pointtype 3 pointsize 2
  2396.  
  2397.  This plots two data sets with lines differing only by weight:
  2398.        plot 'd1' t "good" w l lt 2 lw 3, 'd2' t "bad" w l lt 2 lw 1
  2399.  
  2400.  See `set style` to change the default styles.
  2401. ?commands print
  2402. ?print
  2403.  The `print` command prints the value of <expression> to the screen.  It is
  2404.  synonymous with `pause 0`.  <expression> may be anything that `gnuplot` can
  2405.  evaluate that produces a number, or it can be a string.
  2406.  
  2407.  Syntax:
  2408.        print <expression> {, <expression>, ...}
  2409.  
  2410.  See `expressions`.
  2411. ?commands pwd
  2412. ?pwd
  2413.  The `pwd` command prints the name of the working directory to the screen.
  2414. ?commands quit
  2415. ?quit
  2416.  The `exit` and `quit` commands and END-OF-FILE character will exit `gnuplot`.
  2417.  Each of these commands will clear the output device (as does the `clear`
  2418.  command) before exiting.
  2419. ?commands replot
  2420. ?replot
  2421.  The `replot` command without arguments repeats the last `plot` or `splot`
  2422.  command.  This can be useful for viewing a plot with different `set` options,
  2423.  or when generating the same plot for several devices.
  2424.  
  2425.  Arguments specified after a `replot` command will be added onto the last
  2426.  `plot` or `splot` command (with an implied ',' separator) before it is
  2427.  repeated.  `replot` accepts the same arguments as the `plot` and `splot`
  2428.  commands except that ranges cannot be specified.  Thus you can use `replot`
  2429.  to plot a function against the second axes if the previous command was `plot`
  2430.  but not if it was `splot`, and similarly you can use `replot` to add a plot
  2431.  from a binary file only if the previous command was `splot`.
  2432.  
  2433.  N.B.---use of
  2434.  
  2435.        plot '-' ; ... ; replot
  2436.  
  2437.  is not recommended.  `gnuplot` does not store the inline data internally, so
  2438.  since `replot` appends new information to the previous `plot` and then
  2439.  executes the modified command, the `'-'` from the initial `plot` will expect
  2440.  to read inline data again.
  2441.  
  2442.  Note that `replot` does not work in `multiplot` mode, since it reproduces
  2443.  only the last plot rather than the entire screen.
  2444.  
  2445.  See also `command-line-editing` for ways to edit the last `plot` (`splot`)
  2446.  command.
  2447. ?commands reread
  2448. ?reread
  2449.  The `reread` command causes the current `gnuplot` command file, as specified
  2450.  by a `load` command or on the command line, to be reset to its starting
  2451.  point before further commands are read from it.  This essentially implements
  2452.  an endless loop of the commands from the beginning of the command file to
  2453.  the `reread` command.  (But this is not necessarily a disaster---`reread` can
  2454.  be very useful when used in conjunction with `if`.  See `if` for details.)
  2455.  The `reread` command has no effect if input from standard input.
  2456.  
  2457.  Examples:
  2458.  
  2459.  Suppose the file "looper" contains the commands
  2460.        a=a+1
  2461.        plot sin(x*a)
  2462.        pause -1
  2463.        if(a<5) reread
  2464.  and from within `gnuplot` you submit the commands
  2465.        a=0
  2466.        load 'looper'
  2467.  The result will be four plots (separated by the `pause` message).
  2468.  
  2469.  Suppose the file "data" contains six columns of numbers with a total yrange
  2470.  from 0 to 10; the first is x and the next are five different functions of x.
  2471.  Suppose also that the file "plotter" contains the commands
  2472.        c_p = c_p+1
  2473.        plot "$0" using 1:c_p with lines linetype c_p
  2474.        if(c_p <  n_p) reread
  2475.  and from within `gnuplot` you submit the commands
  2476.        n_p=6
  2477.        c_p=1
  2478.        set nokey
  2479.        set yrange [0:10]
  2480.        set multiplot
  2481.        call 'plotter' 'data'
  2482.        set nomultiplot
  2483.  The result is a single graph consisting of five plots.  The yrange must be
  2484.  set explicitly to guarantee that the five separate graphs (drawn on top of
  2485.  each other in multiplot mode) will have exactly the same axes.  The linetype
  2486.  must be specified; otherwise all the plots would be drawn with the same type.
  2487. ?commands reset
  2488. ?reset
  2489.  The `reset` command causes all options that can be set with the `set`
  2490.  command to take on their default values.  The only exceptions are that the
  2491.  terminal set with `set term` and the output file set with `set output` are
  2492.  left unchanged.  This command is useful, e.g., to restore the default
  2493.  settings at the end of a command file, or to return to a defined state after
  2494.  lots of settings have been changed within a command file.  Please refer to
  2495.  the `set` command to see the default values that the various options take.
  2496. ?commands save
  2497. ?save
  2498.  The `save` command saves user-defined functions, variables, `set` options,
  2499.  or all three, plus the last `plot` (`splot`) command to the specified file.
  2500.  
  2501.  Syntax:
  2502.        save  {<option>} '<filename>'
  2503.  
  2504.  where <option> is `functions`, `variables` or `set`. If no option is used,
  2505.  `gnuplot` saves functions, variables, `set` options and the last `plot`
  2506.  (`splot`) command.
  2507.  
  2508.  `save`d files are written in text format and may be read by the `load`
  2509.  command.
  2510.  
  2511.  The filename must be enclosed in quotes.
  2512.  
  2513.  Examples:
  2514.        save 'work.gnu'
  2515.        save functions 'func.dat'
  2516.        save var 'var.dat'
  2517.        save set 'options.dat'
  2518. ?commands set
  2519. ?commands show
  2520. ?set
  2521. ?show
  2522. ?show all
  2523.  The `set` command can be used to sets _lots_ of options.  No screen is
  2524.  drawn, however, until a `plot`, `splot`, or `replot` command is given.
  2525.  
  2526.  The `show` command shows their settings;  `show all` shows all the
  2527.  settings.
  2528.  
  2529.  If a variable contains time/date data, `show` will display it according to
  2530.  the format currently defined by `set timefmt`, even if that was not in effect
  2531.  when the variable was initially defined.
  2532. ?commands set angles
  2533. ?commands show angles
  2534. ?set angles
  2535. ?show angles
  2536. ?angles
  2537. ?commands set angles degrees
  2538. ?set angles degrees
  2539. ?angles degrees
  2540. ?degrees
  2541.  By default, `gnuplot` assumes the independent variable in polar graphs is in
  2542.  units of radians.  If `set angles degrees` is specified before `set polar`,
  2543.  then the default range is [0:360] and the independent variable has units of
  2544.  degrees.  This is particularly useful for plots of data files.  The angle
  2545.  setting also applies to 3-d mapping as set via the `set mapping` command.
  2546.  
  2547.  Syntax:
  2548.        set angles {degrees | radians}
  2549.        show angles
  2550.  
  2551.  The angle specified in `set grid polar` is also read and displayed in the
  2552.  units specified by `set angles`.
  2553.  
  2554.  `set angles` also affects the arguments of the machine-defined functions
  2555.  sin(x), cos(x) and tan(x), and the outputs of asin(x), acos(x), atan(x),
  2556.  atan2(x), and arg(x).  It has no effect on the arguments of hyperbolic
  2557.  functions or Bessel functions.  However, the output arguments of inverse
  2558.  hyperbolic functions of complex arguments are affected; if these functions
  2559.  are used, `set angles radians` must be in effect to maintain consistency
  2560.  between input and output arguments.
  2561.  
  2562.        x={1.0,0.1}
  2563.        set angles radians
  2564.        y=sinh(x)
  2565.        print y         #prints {1.16933, 0.154051}
  2566.        print asinh(y)  #prints {1.0, 0.1}
  2567.  but
  2568.        set angles degrees
  2569.        y=sinh(x)
  2570.        print y         #prints {1.16933, 0.154051}
  2571.        print asinh(y)  #prints {57.29578, 5.729578}
  2572. ?commands set arrow
  2573. ?commands set noarrow
  2574. ?commands show arrow
  2575. ?set arrow
  2576. ?set noarrow
  2577. ?show arrow
  2578. ?arrow
  2579. ?noarrow
  2580.  Arbitrary arrows can be placed on a plot using the `set arrow` command.
  2581.  
  2582.  Syntax:
  2583.        set arrow {<tag>} {from <position>} {to <position>} {{no}head}
  2584.                  { {linestyle | ls <line_style>}
  2585.                    | {linetype | lt <line_type>}
  2586.                      {linewidth | lw <line_width} }
  2587.        set noarrow {<tag>}
  2588.        show arrow
  2589.  
  2590.  <tag> is an integer that identifies the arrow.  If no tag is given, the
  2591.  lowest unused tag value is assigned automatically.  The tag can be used to
  2592.  delete or change a specific arrow.  To change any attribute of an existing
  2593.  arrow, use the `set arrow` command with the appropriate tag and specify the
  2594.  parts of the arrow to be changed.
  2595.  
  2596.  The <position>s are specified by either x,y or x,y,z, and may be preceded by
  2597.  `first`, `second`, `graph`, or `screen` to select the coordinate system.
  2598.  Unspecified coordinates default to 0.  The endpoints can be specified in
  2599.  one of four coordinate systems---`first` or `second` axes, `graph` or
  2600.  `screen`.  See `coordinates` for details.  A coordinate system specifier
  2601.  does not carry over from the "from" position to the "to" position.  Arrows
  2602.  outside the screen boundaries are permitted but may cause device errors.
  2603.  
  2604.  Specifying `nohead` produces an arrow drawn without a head---a line segment.
  2605.  This gives you yet another way to draw a line segment on the plot.  By
  2606.  default, arrows have heads.
  2607.  
  2608.  The line style may be selected from a user-defined list of line styles (see
  2609.  `set linestyle`) or may be defined here by providing values for <line_type>
  2610.  (an index from the default list of styles) and/or <line_width> (which is a
  2611.  multiplier for the default width).
  2612.  
  2613.  Note, however, that if a user-defined line style has been selected, its
  2614.  properties (type and width) cannot be altered merely by issuing another
  2615.  `set arrow` command with the appropriate index and `lt` or `lw`.
  2616.  
  2617.  Examples:
  2618.  
  2619.  To set an arrow pointing from the origin to (1,2) with user-defined style 5,
  2620.  use:
  2621.        set arrow to 1,2 ls 5
  2622.  
  2623.  To set an arrow from bottom left of plotting area to (-5,5,3), and tag the
  2624.  arrow number 3, use:
  2625.        set arrow 3 from graph 0,0 to -5,5,3
  2626.  
  2627.  To change the preceding arrow to end at 1,1,1, without an arrow head and
  2628.  double its width, use:
  2629.        set arrow 3 to 1,1,1 nohead lw 2
  2630.  
  2631.  To draw a vertical line from the bottom to the top of the graph at x=3, use:
  2632.        set arrow from 3, graph 0 to 3, graph 1 nohead
  2633.  
  2634.  To delete arrow number 2, use:
  2635.        set noarrow 2
  2636.  
  2637.  To delete all arrows, use:
  2638.        set noarrow
  2639.  
  2640.  To show all arrows (in tag order), use:
  2641.        show arrow
  2642. ?commands set autoscale
  2643. ?commands set noautoscale
  2644. ?commands show autoscale
  2645. ?set autoscale
  2646. ?set noautoscale
  2647. ?show autoscale
  2648. ?autoscale
  2649. ?noautoscale
  2650.  Autoscaling may be set individually on the x, y or z axis or globally on all
  2651.  axes. The default is to autoscale all axes.
  2652.  
  2653.  Syntax:
  2654.        set autoscale {<axes>{min|max}}
  2655.        set noautoscale {<axes>{min|max}}
  2656.        show autoscale
  2657.  
  2658.  where <axes> is either `x`, `y`, `z`, `x2`, `y2` or `xy`.  A keyword with
  2659.  `min` or `max` appended (this cannot be done with `xy`) tells `gnuplot` to
  2660.  autoscale just the minimum or maximum of that axis.  If no keyword is given,
  2661.  all axes are autoscaled.
  2662.  
  2663.  When autoscaling, the axis range is automatically computed and the dependent
  2664.  axis (y for a `plot` and z for `splot`) is scaled to include the range of the
  2665.  function or data being plotted.
  2666.  
  2667.  If autoscaling of the dependent axis (y or z) is not set, the current y or z
  2668.  range is used.
  2669.  
  2670.  Autoscaling the independent variables (x for `plot` and x,y for `splot`) is a
  2671.  request to set the domain to match any data file being plotted.  If there are
  2672.  no data files, autoscaling an independent variable has no effect.  In other
  2673.  words, in the absence of a data file, functions alone do not affect the x
  2674.  range (or the y range if plotting z = f(x,y)).
  2675.  
  2676.  Please see `set xrange` for additional information about ranges.
  2677.  
  2678.  The behavior of autoscaling remains consistent in parametric mode, (see `set
  2679.  parametric`).  However, there are more dependent variables and hence more
  2680.  control over x, y, and z axis scales.  In parametric mode, the independent or
  2681.  dummy variable is t for `plot`s and u,v for `splot`s.  `autoscale` in
  2682.  parametric mode, then, controls all ranges (t, u, v, x, y, and z) and allows
  2683.  x, y, and z to be fully autoscaled.
  2684.  
  2685.  Autoscaling works the same way for polar mode as it does for parametric mode
  2686.  for `plot`, with the extension that in polar mode `set dummy` can be used to
  2687.  change the independent variable from t (see `set dummy`).
  2688.  
  2689.  When tics are displayed on second axes but no plot has been specified for
  2690.  those axes, x2range and y2range are inherited from xrange and yrange.  This
  2691.  is done _before_ xrange and yrange are autoextended to a whole number of
  2692.  tics, which can cause unexpected results.
  2693.  
  2694.  Examples:
  2695.  
  2696.  This sets autoscaling of the y axis (other axes are not affected):
  2697.        set autoscale y
  2698.  
  2699.  This sets autoscaling only for the minimum of the y axis (the maximum of the
  2700.  y axis and the other axes are not affected):
  2701.        set autoscale ymin
  2702.  
  2703.  This sets autoscaling of the x and y axes:
  2704.        set autoscale xy
  2705.  
  2706.  This sets autoscaling of the x, y, z, x2 and y2 axes:
  2707.        set autoscale
  2708.  
  2709.  This disables autoscaling of the x, y, z, x2 and y2 axes:
  2710.        set noautoscale
  2711.  
  2712.  This disables autoscaling of the z axis only:
  2713.        set noautoscale z
  2714. ?commands set autoscale parametric
  2715. ?set autoscale parametric
  2716. ?set autoscale t
  2717.  When in parametric mode (`set parametric`), the xrange is as fully scalable
  2718.  as the y range.  In other words, in parametric mode the x axis can be
  2719.  automatically scaled to fit the range of the parametric function that is
  2720.  being plotted.  Of course, the y axis can also be automatically scaled just
  2721.  as in the non-parametric case.  If autoscaling on the x axis is not set, the
  2722.  current x range is used.
  2723.  
  2724.  Data files are plotted the same in parametric and non-parametric mode.
  2725.  However, there is a difference in mixed function and data plots: in
  2726.  non-parametric mode with autoscaled x, the x range of the datafile controls
  2727.  the x range of the functions; in parametric mode it has no influence.
  2728.  
  2729.  For completeness a last command `set autoscale t` is accepted.  However, the
  2730.  effect of this "scaling" is very minor.  When `gnuplot` determines that the
  2731.  t range would be empty, it makes a small adjustment if autoscaling is true.
  2732.  Otherwise, `gnuplot` gives an error.  Such behavior may, in fact, not be very
  2733.  useful and the command `set autoscale t` is certainly questionable.
  2734.  
  2735.  `splot` extends the above ideas as you would expect.  If autoscaling is set,
  2736.  then x, y, and z ranges are computed and each axis scaled to fit the
  2737.  resulting data.
  2738. ?commands set autoscale polar
  2739. ?set autoscale polar
  2740. ?set autoscale t
  2741.  When in polar mode (`set polar`), the xrange and the yrange are both found
  2742.  from the polar coordinates, and thus they can both be automatically scaled.
  2743.  In other words, in polar mode both the x and y axes can be automatically
  2744.  scaled to fit the ranges of the polar function that is being plotted.
  2745.  
  2746.  When plotting functions in polar mode, the rrange may be autoscaled.  When
  2747.  plotting data files in polar mode, the trange may also be autoscaled.  Note
  2748.  that if the trange is contained within one quadrant, autoscaling will produce
  2749.  a polar plot of only that single quadrant.
  2750.  
  2751.  Explicitly setting one or two ranges but not others may lead to unexpected
  2752.  results.
  2753. ?commands set bar
  2754. ?commands show bar
  2755. ?set bar
  2756. ?show bar
  2757.  The `set bar` command controls the tics at the ends of errorbars.
  2758.  
  2759.  Syntax:
  2760.        set bar {small | large | <size>}
  2761.        show bar
  2762.  
  2763.  `small` is a synonym for 0.0, and `large` for 1.0.
  2764.  The default is 1.0 if no size is given.
  2765. ?commands set bmargin
  2766. ?set bmargin
  2767. ?bmargin
  2768.  The command `set bmargin` sets the size of the bottom margin.  Please see
  2769.  `set margin` for details.
  2770. ?commands set border
  2771. ?commands set noborder
  2772. ?commands show border
  2773. ?set border
  2774. ?set noborder
  2775. ?show border
  2776. ?border
  2777. ?noborder
  2778.  The `set border` and `set noborder` commands control the display of the graph
  2779.  borders for the `plot` and `splot` commands.
  2780.  
  2781.  Syntax:
  2782.        set border {<integer> { {linestyle | ls <line_style>}
  2783.                                | {linetype | lt <line_type> }
  2784.                                  {linewidth | lw <line_width>} } }
  2785.        set noborder
  2786.        show border
  2787.  
  2788.  The borders are encoded in a 12-bit integer: the bottom four bits control the
  2789.  border for `plot` and the sides of the base for `splot`; The next four bits
  2790.  control the verticals in `splot`; the top four bits control the edges on top
  2791.  of the `splot`.  In detail, the `<integer>` should be the sum of the
  2792.  appropriate entries from the following table:
  2793.  
  2794.                          plot border     splot         splot
  2795.            Side          splot base    verticals        top
  2796.        bottom (south)         1            16           256
  2797.        left   (west)          2            32           512
  2798.        top    (north)         4            64          1024
  2799.        right  (east)          8           128          2048
  2800.  
  2801.  The default is 31, which is all four sides for `plot`, and base and z axis
  2802.  for `splot`.
  2803.  
  2804.  Using the optional <line_style>, <line_type> and <line_width>
  2805.  specifiers, the way the border lines are drawn can be influenced
  2806.  (limited by what the current terminal driver supports).  By default,
  2807.  the border is drawn with twice the usual linewidth.  The <line_width>
  2808.  specifier scales this default value; for example, `set border 15 lw 2`
  2809.  will produce a border with four times the usual linewidth.
  2810.  
  2811.  Various axes or combinations of axes may be added together in the command.
  2812.  
  2813.  To have tics on edges other than bottom and left, disable the usual tics and
  2814.  enable the second axes.
  2815.  
  2816.  Examples:
  2817.  
  2818.  Draw all borders:
  2819.        set border
  2820.  
  2821.  Draw only the SOUTHWEST borders:
  2822.        set border 3
  2823.  
  2824.  Draw a complete box around a `splot`:
  2825.        set border 4095
  2826.  
  2827.  Draw a partial box, omitting the front vertical:
  2828.        set border 127+256+512
  2829.  
  2830.  Draw only the NORTHEAST borders:
  2831.        set noxtics; set noytics; set x2tics; set y2tics; set border 12
  2832.  
  2833. ?commands set boxwidth
  2834. ?commands show boxwidth
  2835. ?set boxwidth
  2836. ?show boxwidth
  2837. ?boxwidth
  2838.  The `set boxwidth` command is used to set the default width of boxes in the
  2839.  `boxes` and `boxerrorbars` styles.
  2840.  
  2841.  Syntax:
  2842.        set boxwidth {<width>}
  2843.        show boxwidth
  2844.  
  2845.  If a data file is plotted without the width being specified in the third,
  2846.  fourth, or fifth column (or `using` entry), or if a function is plotted, the
  2847.  width of each box is set by the `set boxwidth` command.  (If a width is given
  2848.  both in the file and by the `set boxwidth` command, the one in the file is
  2849.  used.)  If the width is not specified in one of these ways, the width of each
  2850.  box will be calculated automatically so that it touches the adjacent boxes.
  2851.  In a four-column data set, the fourth column will be interpreted as the box
  2852.  width unless the width is set to -2.0, in which case the width will be
  2853.  calculated automatically.  See `set style boxerrorbars` for more details.
  2854.  
  2855.  To set the box width to automatic use the command
  2856.        set boxwidth
  2857.  or, for four-column data,
  2858.        set boxwidth -2
  2859.  
  2860.  The same effect can be achieved with the `using` keyword in `plot`:
  2861.        plot 'file' using 1:2:3:4:(-2)
  2862. ?commands set clabel
  2863. ?commands set noclabel
  2864. ?commands show clabel
  2865. ?set clabel
  2866. ?set noclabel
  2867. ?show clabel
  2868. ?clabel
  2869. ?noclabel
  2870.  `gnuplot` will vary the linetype used for each contour level when clabel is
  2871.  set.  When this option on (the default), a legend labels each linestyle with
  2872.  the z level it represents.  It is not possible at present to separate the
  2873.  contour labels from the surface key.
  2874.  
  2875.  Syntax:
  2876.        set clabel {'<format>'}
  2877.        set noclabel
  2878.        show clabel
  2879.  
  2880.  The default for the format string is %8.3g, which gives three decimal places.
  2881.  This may produce poor label alignment if the key is altered from its default
  2882.  configuration.
  2883.  
  2884.  The first contour linetype, or only contour linetype when clabel is off, is
  2885.  the surface linetype +1; contour points are the same style as surface points.
  2886.  
  2887.  See also `set contour`.
  2888. ?commands set clip
  2889. ?commands set noclip
  2890. ?commands show clip
  2891. ?set clip
  2892. ?set noclip
  2893. ?show clip
  2894. ?clip
  2895. ?noclip
  2896.  `gnuplot` can clip data points and lines that are near the boundaries of a
  2897.  graph.
  2898.  
  2899.  Syntax:
  2900.        set clip <clip-type>
  2901.        set noclip <clip-type>
  2902.        show clip
  2903.  
  2904.  Three clip types are supported by `gnuplot`: `points`, `one`, and `two`.
  2905.  One, two, or all three clip types may be active for a single graph.
  2906.  
  2907.  The `points` clip type forces `gnuplot` to clip (actually, not plot at all)
  2908.  data points that fall within but too close to the boundaries.  This is done
  2909.  so that large symbols used for points will not extend outside the boundary
  2910.  lines.  Without clipping points near the boundaries, the plot may look bad.
  2911.  Adjusting the x and y ranges may give similar results.
  2912.  
  2913.  Setting the `one` clip type causes `gnuplot` to draw a line segment which has
  2914.  only one of its two endpoints within the graph.  Only the in-range portion of
  2915.  the line is drawn.  The alternative is to not draw any portion of the line
  2916.  segment.
  2917.  
  2918.  Some lines may have both endpoints out of range, but pass through the graph.
  2919.  Setting the `two` clip-type allows the visible portion of these lines to be
  2920.  drawn.
  2921.  
  2922.  In no case is a line drawn outside the graph.
  2923.  
  2924.  The defaults are `noclip points`, `clip one`, and `noclip two`.
  2925.  
  2926.  To check the state of all forms of clipping, use
  2927.        show clip
  2928.  
  2929.  For backward compatibility with older versions, the following forms are also
  2930.  permitted:
  2931.        set clip
  2932.        set noclip
  2933.  
  2934.  `set clip` is synonymous with `set clip points`; `set noclip` turns off all
  2935.  three types of clipping.
  2936. ?commands set cntrparam
  2937. ?commands show cntrparam
  2938. ?set cntrparam
  2939. ?show cntrparam
  2940. ?cntrparam
  2941.  `set cntrparam` controls the generation of contours and their smoothness for
  2942.  a contour plot. `show contour` displays current settings of `cntrparam` as
  2943.  well as `contour`.
  2944.  
  2945.  Syntax:
  2946.        set cntrparam {  {linear | cubicspline | bspline}
  2947.                        { points <n>} { order <n> }
  2948.                        { levels   auto {<n>} | <n>
  2949.                                 | discrete <z1> {,<z2>{,<z3>...}}
  2950.                                 | incremental <start>, <incr> {,<end>}
  2951.                         }
  2952.                       }
  2953.        show contour
  2954.  
  2955.  This command has two functions.  First, it sets the values of z for which
  2956.  contour points are to be determined (by linear interpolation between data
  2957.  points or function isosamples.)  Second, it controls the way contours are
  2958.  drawn between the points determined to be of equal z.  <n> should be an
  2959.  integral constant expression and <z1>, <z2> ... any constant expressions.
  2960.  The parameters are:
  2961.  
  2962.  `linear`, `cubicspline`, `bspline`---Controls type of approximation or
  2963.  interpolation.  If `linear`, then straight line segments connect points of
  2964.  equal z magnitude.  If `cubicspline`, then piecewise-linear contours are
  2965.  interpolated between the same equal z points to form somewhat smoother
  2966.  contours, but which may undulate.  If `bspline`, a guaranteed-smoother curve
  2967.  is drawn, which only approximates the position of the points of equal-z.
  2968.  
  2969.  `points`---Eventually all drawings are done with piecewise-linear strokes.
  2970.  This number controls the number of line segments used to approximate the
  2971.  `bspline` or `cubicspline` curve.  Number of cubicspline or bspline
  2972.  segments (strokes) = `points` * number of linear segments.
  2973.  
  2974.  `order`---Order of the bspline approximation to be used.  The bigger this
  2975.  order is, the smoother the resulting contour.  (Of course, higher order
  2976.  bspline curves will move further away from the original piecewise linear
  2977.  data.)  This option is relevant for `bspline` mode only.  Allowed values are
  2978.  integers in the range from 2 (linear) to 10.
  2979.  
  2980.  `levels`--- Selection of contour levels,  controlled by `auto` (default),
  2981.  `discrete`, `incremental`, and <n>, number of contour levels, limited to
  2982.   MAX_DISCRETE_LEVELS as defined in plot.h (30 is standard.)
  2983.  
  2984.  For `auto`, <n> specifies a nominal number of levels; the actual number will
  2985.  be adjusted to give simple labels. If the surface is bounded by zmin and zmax,
  2986.  contours will be generated at integer multiples of dz between zmin and zmax,
  2987.  where dz is 1, 2, or 5 times some power of ten (like the step between two
  2988.  tic marks).
  2989.  
  2990.  For `levels discrete`, contours will be generated at z = <z1>, <z2> ... as
  2991.  specified; the number of discrete levels sets the number of contour levels.
  2992.  In `discrete` mode, any `set cntrparms levels <n>` are ignored.
  2993.  
  2994.  For `incremental`, contours are generated at values of z beginning at <start>
  2995.  and increasing by <increment>, until the number of contours is reached. <end>
  2996.  is used to determine the number of contour levels, which will be changed by
  2997.  any subsequent `set cntrparam levels <n>`.
  2998.  
  2999.  If the command `set cntrparam` is given without any arguments specified,  the
  3000.  defaults are used: linear, 5 points, order 4, 5 auto levels.
  3001.  
  3002.  Examples:
  3003.        set cntrparam bspline
  3004.        set cntrparam points 7
  3005.        set cntrparam order 10
  3006.  
  3007.  To select levels automatically, 5 if the level increment criteria are met:
  3008.        set cntrparam levels auto 5
  3009.  
  3010.  To specify discrete levels at .1, .37, and .9:
  3011.        set cntrparam levels discrete .1,1/exp(1),.9
  3012.  
  3013.  To specify levels from 0 to 4 with increment 1:
  3014.        set cntrparam levels incremental  0,1,4
  3015.  
  3016.  To set the number of levels to 10 (changing an incremental end or possibly
  3017.  the number of auto levels):
  3018.        set cntrparam levels 10
  3019.  
  3020.  To set the start and increment while retaining the number of levels:
  3021.        set cntrparam levels incremental 100,50
  3022.  
  3023.  See also `set contour` for control of where the contours are drawn, and `set
  3024.  clabel` for control of the format of the contour labels and linetypes.
  3025. ?commands set contour
  3026. ?commands set nocontour
  3027. ?commands show contour
  3028. ?set contour
  3029. ?set nocontour
  3030. ?show contour
  3031. ?contour
  3032. ?nocontour
  3033.  `set contour` enables contour drawing for surfaces. This option is available
  3034.  for `splot` only.
  3035.  
  3036.  Syntax:
  3037.        set contour {base | surface | both}
  3038.        set nocontour
  3039.        show contour
  3040.  
  3041.  The three options specify where to draw the contours: `base` draws the
  3042.  contours on the grid base where the x/ytics are placed, `surface` draws the
  3043.  contours on the surfaces themselves, and `both` draws the contours on both
  3044.  the base and the surface.  If no option is provided, the default is `base`.
  3045.  
  3046.  See also `set cntrparam` for the parameters that affect the drawing of
  3047.  contours, and `set clabel` for control of labelling of the contours.
  3048.  
  3049.  The surface can be switched off (see `set surface`), giving a contour-only
  3050.  graph.  Though it is possible to use `set size` to enlarge the plot to fill
  3051.  the screen, more control over the output format can be obtained by writing
  3052.  the contour information to a file, and rereading it as a 2-d datafile plot:
  3053.  
  3054.        set nosurface
  3055.        set contour
  3056.        set cntrparam ...
  3057.        set term table
  3058.        set out 'filename'
  3059.        splot ...
  3060.        set out
  3061.        # contour info now in filename
  3062.        set term <whatever>
  3063.        plot 'filename'
  3064.  
  3065.  In order to draw contours, the data should be organized as "grid data".  In
  3066.  such a file all the points for a single y-isoline are listed, then all the
  3067.  points for the next y-isoline, and so on.  A single blank line (a line
  3068.  containing no characters other than blank spaces and a carriage return and/or
  3069.  a line feed) separates one y-isoline from the next.  See also `splot datafile`.
  3070.  
  3071.  If contours are desired from non-grid data, `set dgrid3d` can be used to
  3072.  create an appropriate grid.  See `set dgrid3d` for more information.
  3073. ?commands set data style
  3074. ?commands show data style
  3075. ?set data style
  3076. ?show data style
  3077. ?data style
  3078.  The `set data style` command changes the default plotting style for data
  3079.  plots.
  3080.  
  3081.  Syntax:
  3082.        set data style <style-choice>
  3083.        show data style
  3084.  
  3085.  See `set style` for the choices.  If no choice is given, the choices are
  3086.  listed.  `show data style` shows the current default data plotting style.
  3087. ?commands set dgrid3d
  3088. ?commands set nodgrid3d
  3089. ?commands show dgrid3d
  3090. ?set dgrid3d
  3091. ?set nodgrid3d
  3092. ?show dgrid3d
  3093. ?dgrid3d
  3094. ?nodgrid3d
  3095.  The `set dgrid3d` command enables, and can set parameters for, non-grid
  3096.  to grid data mapping.
  3097.  
  3098.  Syntax:
  3099.        set dgrid3d {<row_size>} {,{<col_size>} {,<norm>}}
  3100.        set nodgrid3d
  3101.        show dgrid3d
  3102.  
  3103.  By default `dgrid3d` is disabled.  When enabled, 3-d data read from a file
  3104.  are always treated as a scattered data set.  A grid with dimensions derived
  3105.  from a bounding box of the scattered data and size as specified by the
  3106.  row/col_size parameters is created for plotting and contouring.  The grid
  3107.  is equally spaced in x (rows) and in y (columns); the z values are computed
  3108.  as weighted averages of the scattered points' z values.
  3109.  
  3110.  The third parameter, norm, controls the weighting:  Each data point is
  3111.  weighted inversely by its distance from the grid point raised to the norm
  3112.  power.  (Actually, the weights are given by the inverse of dx^norm + dy^norm,
  3113.  where dx and dy are the components of the separation of the grid point from
  3114.  each data point.  For some norms that are powers of two, specifically 4, 8,
  3115.  and 16, the computation is optimized by using the Euclidean distance in the
  3116.  weight calculation, (dx^2+dx^2)^norm/2.  However, any non-negative integer
  3117.  can be used.)
  3118.  
  3119.  The closer the data point is to a grid point, the more effect it has on
  3120.  that grid point and the larger the value of norm the less effect more
  3121.  distant data points have on that grid point.
  3122.  
  3123.  The `dgrid3d` option is a simple low pass filter that converts scattered
  3124.  data to a grid data set.  More sophisticated approaches to this problem
  3125.  exist and should be used to preprocess the data outside `gnuplot` if this
  3126.  simple solution is found inadequate.
  3127.  
  3128.  (The z values are found by weighting all data points, not by interpolating
  3129.  between nearby data points;  also edge effects may produce unexpected and/or
  3130.  undesired results.  In some cases, small norm values produce a grid point
  3131.  reflecting the average of distant data points rather than a local average,
  3132.  while large values of norm may produce "steps" with several grid points
  3133.  having the same value as the closest data point, rather than making a smooth
  3134.  transition between adjacent data points.  Some areas of a grid may be filled
  3135.  by extrapolation, to an arbitrary boundary condition.  The variables are
  3136.  not normalized; consequently the units used for x and y will affect the
  3137.  relative weights of points in the x and y directions.)
  3138.  
  3139.  Examples:
  3140.        set dgrid3d 10,10,1     # defaults
  3141.        set dgrid3d ,,4
  3142.  
  3143.  The first specifies that a grid of size 10 by 10 is to be constructed using
  3144.  a norm value of 1 in the weight computation.  The second only modifies the
  3145.  norm, changing it to 4.
  3146.  
  3147. ?commands set dummy
  3148. ?commands show dummy
  3149. ?set dummy
  3150. ?show dummy
  3151. ?dummy
  3152.  The `set dummy` command changes the default dummy variable names.
  3153.  
  3154.  Syntax:
  3155.        set dummy {<dummy-var>} {,<dummy-var>}
  3156.        show dummy
  3157.  
  3158.  By default, `gnuplot` assumes that the independent, or "dummy", variable for
  3159.  the `plot` command is "t" if in parametric or polar mode, or "x" otherwise.
  3160.  Similarly the independent variables for the `splot` command are "u" and "v"
  3161.  in parametric mode (`splot` cannot be used in polar mode), or "x" and "y"
  3162.  otherwise.
  3163.  
  3164.  It may be more convenient to call a dummy variable by a more physically
  3165.  meaningful or conventional name.  For example, when plotting time functions:
  3166.  
  3167.        set dummy t
  3168.        plot sin(t), cos(t)
  3169.  
  3170.  At least one dummy variable must be set on the command; `set dummy` by itself
  3171.  will generate an error message.
  3172.  
  3173.  Examples:
  3174.        set dummy u,v
  3175.        set dummy ,s
  3176.  
  3177.  The second example sets the second variable to s.
  3178. ?commands set encoding
  3179. ?commands show encoding
  3180. ?set encoding
  3181. ?show encoding
  3182. ?encoding
  3183.  The `set encoding` command selects a character encoding.  Valid values are
  3184.  `default`, which tells a terminal to use its default; `iso_8859_1` (known in
  3185.  the PostScript world as `ISO-Latin1`), which is used on many Unix workstations
  3186.  and with MS-Windows; `cp850`, for OS/2; and `cp437`, for MS-DOS.
  3187.  
  3188.  Syntax:
  3189.        set encoding {<value>}
  3190.        show encoding
  3191.  
  3192.  Note that encoding is not supported by all terminal drivers and that
  3193.  the device must be able to produce the desired non-standard characters.
  3194. ?commands set format
  3195. ?commands show format
  3196. ?set format
  3197. ?show format
  3198. ?format
  3199.  The format of the tic-mark labels can be set with the `set format` command.
  3200.  
  3201.  Syntax:
  3202.        set format {<axes>} {"<format-string>"}
  3203.        set format {<axes>} {'<format-string>'}
  3204.        show format
  3205.  
  3206.  where <axes> is either `x`, `y`, `z`, `xy`, `x2`, `y2` or nothing (which is
  3207.  the same as `xy`).  The length of the string representing a tic mark (after
  3208.  formatting with 'printf') is restricted to 100 characters.  If the format
  3209.  string is omitted, the format will be returned to the default "%g".  For
  3210.  LaTeX users, the format "$%g$" is often desirable.  If the empty string "" is
  3211.  used, no label will be plotted with each tic, though the tic mark will still
  3212.  be plotted.  To eliminate all tic marks, use `set noxtics` or `set noytics`.
  3213.  
  3214.  Newline (\n) is accepted in the format string.  Use double-quotes rather than
  3215.  single-quotes to enable such interpretation.  See also `syntax`.
  3216.  
  3217.  The default format for both axes is "%g", but other formats such as "%.2f" or
  3218.  "%3.0em" are often desirable.  Anything accepted by 'printf' when given a
  3219.  double precision number, and accepted by the terminal, will work.  Some other
  3220.  options have been added.  If the format string looks like a floating point
  3221.  format, then `gnuplot` tries to construct a reasonable format.
  3222.  
  3223.  Characters not preceded by "%" are printed verbatim.  Thus you can include
  3224.  spaces and labels in your format string, such as "%g m", which will put " m"
  3225.  after each number.  If you want "%" itself, double it: "%g %%".
  3226.  
  3227.  See also `set xtics` for more information about tic labels.
  3228. ?commands set format specifiers
  3229. ?set format specifiers
  3230. ?format specifiers
  3231. ?format_specifiers
  3232.  The acceptable formats (if not in time/date mode) are:
  3233.  
  3234.        Format       Explanation
  3235.        %f           floating point notation
  3236.        %e or %E     exponential notation; an "e" or "E" before the power
  3237.        %g or %G     the shorter of %e (or %E) and %f
  3238.        %x or %X     hex
  3239.        %o or %O     octal
  3240.        %t           mantissa to base 10
  3241.        %l           mantissa to base of current logscale
  3242.        %s           mantissa to base of current logscale; scientific power
  3243.        %T           power to base 10
  3244.        %L           power to base of current logscale
  3245.        %S           scientific power
  3246.        %c           character replacement for scientific power
  3247.        %P           multiple of pi
  3248.  
  3249.  A 'scientific' power is one such that the exponent is a multiple of three.
  3250.  Character replacement of scientific powers (`"%c"`) has been implemented
  3251.  for powers in the range -18 to +18.  For numbers outside of this range the
  3252.  format reverts to exponential.
  3253.  
  3254.  Other acceptable modifiers (which come after the "%" but before the format
  3255.  specifier) are "-", which left-justifies the number; "+", which forces all
  3256.  numbers to be explicitly signed; "#", which places a decimal point after
  3257.  floats that have only zeroes following the decimal point; a positive integer,
  3258.  which defines the field width; "0" (the digit, not the letter) immediately
  3259.  preceding the field width, which indicates that leading zeroes are to be used
  3260.  instead of leading blanks; and a decimal point followed by a non-negative
  3261.  integer, which defines the precision (the minimum number of digits of an
  3262.  integer, or the number of digits following the decimal point of a float).
  3263.  
  3264.  Some releases of 'printf' may not support all of these modifiers but may also
  3265.  support others; in case of doubt, check the appropriate documentation and
  3266.  then experiment.
  3267.  
  3268.  Examples:
  3269.        set format y "%t"; set ytics (5,10)          # "5.0" and "1.0"
  3270.        set format y "%s"; set ytics (500,1000)      # "500" and "1.0"
  3271.        set format y "+-12.3f"; set ytics(12345)     # "+12345.000  "
  3272.        set format y "%.2t*10^%+03T"; set ytic(12345)# "1.23*10^+04"
  3273.        set format y "%s*10^{%S}"; set ytic(12345)   # "12.345*10^{3}"
  3274.        set format y "%s %cg"; set ytic(12345)       # "12.345 kg"
  3275.        set format y "%.0P pi"; set ytic(6.283185)   # "2 pi"
  3276.        set format y "%.0P%%"; set ytic(50)          # "50%"
  3277.  
  3278.        set log y 2; set format y '%l'; set ytics (1,2,3)
  3279.        #displays "1.0", "1.0" and "1.5" (since 3 is 1.5 * 2^1)
  3280.  
  3281.  There are some problem cases that arise when numbers like 9.999 are printed
  3282.  with a format that requires both rounding and a power.
  3283.  
  3284.  If the data type for the axis is time/date, the format string must contain
  3285.  valid codes for the 'strftime' function (outside of `gnuplot`, type "man
  3286.  strftime").  See `set timefmt` for a list of the allowed input format codes.
  3287. ?commands set format time/date_specifiers
  3288. ?set format time/date_specifiers
  3289. ?set time/date_specifiers
  3290. ?time/date_specifiers
  3291.  In time/date mode, the acceptable formats are:
  3292.  
  3293.        Format       Explanation
  3294.        %a           abbreviated name of day of the week
  3295.        %A           full name of day of the week
  3296.        %b or %h     abbreviated name of the month
  3297.        %B           full name of the month
  3298.        %d           day of the month, 1--31
  3299.        %D           shorthand for "%m/%d/%y"
  3300.        %H or %k     hour, 0--24
  3301.        %I or %l     hour, 0--12
  3302.        %j           day of the year, 1--366
  3303.        %m           month, 1--12
  3304.        %M           minute, 0--60
  3305.        %p           "am" or "pm"
  3306.        %r           shorthand for "%I:%M:%S %p"
  3307.        %R           shorthand for %H:%M"
  3308.        %S           second, 0--60
  3309.        %T           shorthand for "%H:%M:%S"
  3310.        %U           week of the year (week starts on Sunday)
  3311.        %w           day of the week, 0--6 (Sunday = 0)
  3312.        %W           week of the year (week starts on Monday)
  3313.        %y           year, 0-99
  3314.        %Y           year, 4-digit
  3315.  
  3316.  Except for the non-numerical formats, these may be preceded by a "0" ("zero",
  3317.  not "oh") to pad the field length with leading zeroes, and a positive digit,
  3318.  to define the minimum field width (which will be overridden if the specified
  3319.  width is not large enough to contain the number).  There is a 24-character
  3320.  limit to the length of the printed text; longer strings will be truncated.
  3321.  
  3322.  Examples:
  3323.  
  3324.  Suppose the text is "76/12/25 23:11:11".  Then
  3325.        set format x                 # defaults to "12/25/76" \n "23:11"
  3326.        set format x "%A, %d %b %Y"  # "Saturday, 25 Dec 1976"
  3327.        set format x "%r %d"         # "11:11:11 pm 12/25/76"
  3328.  
  3329.  Suppose the text is "98/07/06 05:04:03".  Then
  3330.        set format x "%1y/%2m/%3d %01H:%02M:%03S"  # "98/ 7/  6 5:04:003"
  3331. ?commands set function style
  3332. ?commands show function style
  3333. ?set function style
  3334. ?show function style
  3335. ?function style
  3336.  The `set function style` command changes the default plotting style for
  3337.  function plots.
  3338.  
  3339.  Syntax:
  3340.        set function style <style-choice>
  3341.        show function style
  3342.  
  3343.  See `set style` for the choices.  If no choice is given, the choices are
  3344.  listed.  `show function style` shows the current default function plotting
  3345.  style.
  3346. ?commands show functions
  3347. ?show functions
  3348.  The `show functions` command lists all user-defined functions and their
  3349.  definitions.
  3350.  
  3351.  Syntax:
  3352.        show functions
  3353.  
  3354.  For information about the definition and usage of functions in `gnuplot`,
  3355.  please see `expressions`.
  3356. ?commands set grid
  3357. ?commands set nogrid
  3358. ?commands show grid
  3359. ?set grid
  3360. ?set nogrid
  3361. ?show grid
  3362. ?grid
  3363. ?nogrid
  3364.  The `set grid` command allows grid lines to be drawn on the plot.
  3365.  
  3366.  Syntax:
  3367.        set grid {{no}{m}xtics} {{no}{m}ytics} {{no}{m}ztics}
  3368.                 {{no}{m}x2tics} {{no}{m}y2tics}
  3369.                 {polar {<angle>}}
  3370.                 { {linestyle <major_linestyle>}
  3371.                   | {linetype | lt <major_linetype>}
  3372.                     {linewidth | lw <major_linewidth>}
  3373.                   { , {linestyle | ls <minor_linestyle>}
  3374.                       | {linetype | lt <minor_linetype>}
  3375.                         {linewidth | lw <minor_linewidth>} } }
  3376.        set nogrid
  3377.        show grid
  3378.  
  3379.  The grid can be enabled and disabled for the major and/or minor tic
  3380.  marks on any axis, and the linetype and linewidth can be specified
  3381.  for major and minor grid lines, also via a predefined linestyle, as
  3382.  far as the active terminal driver supports this.
  3383.  
  3384.  Additionally, a polar grid can be selected for 2-d plots---circles are drawn
  3385.  to intersect the selected tics, and radial lines are drawn at definable
  3386.  intervals.  (The interval is given in degrees or radians ,depending on the
  3387.  `set angles` setting.)  Note that a polar grid is no longer automatically
  3388.  generated in polar mode.
  3389.  
  3390.  The pertinent tics must be enabled before `set grid` can draw them; `gnuplot`
  3391.  will quietly ignore instructions to draw grid lines at non-existent tics, but
  3392.  they will appear if the tics are subsequently enabled.
  3393.  
  3394.  If no linetype is specified for the minor gridlines, the same linetype as the
  3395.  major gridlines is used.  The default polar angle is 30 degrees.
  3396.  
  3397.  By default, grid lines are drawn with half the usual linewidth. The major and
  3398.  minor linewidth specifiers scale this default value; for example, `set grid
  3399.  lw .5` will draw grid lines with one quarter the usual linewidth.
  3400.  
  3401.  Z grid lines are drawn on the back of the plot.  This looks better if a
  3402.  partial box is drawn around the plot---see `set border`.
  3403. ?commands set hidden3d
  3404. ?commands set nohidden3d
  3405. ?commands show hidden3d
  3406. ?set hidden3d
  3407. ?set nohidden3d
  3408. ?show hidden3d
  3409. ?hidden3d
  3410. ?nohidden3d
  3411.  The `set hidden3d` command enables hidden line removal for surface plotting
  3412.  (see `splot`).  Some optional features of the underlying algorithm can also
  3413.  be controlled using this command.
  3414.  
  3415.  Syntax:
  3416.        set hidden3d {defaults} |
  3417.                     { {{offset <offset>} | {nooffset}}
  3418.                       {trianglepattern <bitpattern>}
  3419.                       {{undefined <level>} | {noundefined}}
  3420.                       {{no}altdiagonal}
  3421.                       {{no}bentover} }
  3422.        set nohidden3d
  3423.        show hidden3d
  3424.  
  3425.  In contrast to the usual display in gnuplot, hidden line removal actually
  3426.  treats the given function or data grids as real surfaces that can't be seen
  3427.  through, so parts behind the surface will be hidden by it.  For this to be
  3428.  possible, the surface needs to have 'grid structure' (see `splot datafile`
  3429.  about this), and it has to be drawn `with lines` or `with linespoints`.
  3430.  
  3431.  When `hidden3d` is set, both the hidden portion of the surface and possibly
  3432.  its contours drawn on the base (see `set contour`) as well as the grid will
  3433.  be hidden.  Each surface has its hidden parts removed with respect to itself
  3434.  and to other surfaces, if more than one surface is plotted.  Contours drawn
  3435.  on the surface (`set contour surface`) don't work.  Labels and arrows are
  3436.  always visible and are unaffected.  The key is also never hidden by the
  3437.  surface.
  3438.  
  3439.  Functions are evaluated at isoline intersections.  The algorithm interpolates
  3440.  linearly between function points or data points when determining the visible
  3441.  line segments.  This means that the appearance of a function may be different
  3442.  when plotted with `hidden3d` than when plotted with `nohidden3d` because in
  3443.  the latter case functions are evaluated at each sample.  Please see `set
  3444.  samples` and `set isosamples` for discussion of the difference.
  3445.  
  3446.  The algorithm used to remove the hidden parts of the surfaces has some
  3447.  additional features controllable by this command.  Specifying `defaults` will
  3448.  set them all to their default settings, as detailed below.  If `defaults` is
  3449.  not given, only explicitly specified options will be influenced: all others
  3450.  will keep their previous values, so you can turn on/off hidden line removal
  3451.  via `set {no}hidden3d`, without modifying the set of options you chose.
  3452.  
  3453.  The first option, `offset`, influences the linestyle used for lines on the
  3454.  'back' side.  Normally, they are drawn in a linestyle one index number higher
  3455.  than the one used for the front, to make the two sides of the surface
  3456.  distinguishable.  You can specify a different line style offset to add
  3457.  instead of the default 1, by `offset <offset>`.  Option `nooffset` stands for
  3458.  `offset 0`, making the two sides of the surface use the same linestyle.
  3459.  
  3460.  Next comes the option `trianglepattern <bitpattern>`.  <bitpattern> must be
  3461.  a number between 0 and 7, interpreted as a bit pattern.  Each bit determines
  3462.  the visibility of one edge of the triangles each surface is split up into.
  3463.  Bit 0 is for the 'horizontal' edges of the grid, Bit 1 for the 'vertical'
  3464.  ones, and Bit 2 for the diagonals that split each cell of the original grid
  3465.  into two triangles.  The default pattern is 3, making all horizontal and
  3466.  vertical lines visible, but not the diagonals.  You may want to choose 7 to
  3467.  see those diagonals as well.
  3468.  
  3469.  The `undefined <level>` option lets you decide what the algorithm is to do
  3470.  with data points that are undefined (missing data, or undefined function
  3471.  values), or exceed the given x-, y- or z-ranges.  Such points can either be
  3472.  plotted nevertheless, or taken out of the input data set.  All surface
  3473.  elements touching a point that is taken out will be taken out as well, thus
  3474.  creating a hole in the surface.  If <level> = 3, equivalent to option
  3475.  `noundefined`, no points will be thrown away at all.  This may produce all
  3476.  kinds of problems elsewhere, so you should avoid this.  <level> = 2 will
  3477.  throw away undefined points, but keep the out-of-range ones.  <level> = 1,
  3478.  the default, will get rid of out-of-range points as well.
  3479.  
  3480.  By specifying `noaltdiagonal`, you can override the default handling of a
  3481.  special case can occur if `undefined` is active (i.e. <level> is not 3).
  3482.  Each cell of the grid-structured input surface will be divided in two
  3483.  triangles along one of its diagonals.  Normally, all these diagonals have
  3484.  the same orientation relative to the grid.  If exactly one of the four cell
  3485.  corners is excluded by the `undefined` handler, and this is on the usual
  3486.  diagonal, both triangles will be excluded.  However if the default setting
  3487.  of `altdiagonal` is active, the other diagonal will be chosen for this cell
  3488.  instead, minimizing the size of the hole in the surface.
  3489.  
  3490.  The `bentover` option controls what happens to another special case, this
  3491.  time in conjunction with the `trianglepattern`.  For rather crumply surfaces,
  3492.  it can happen that the two triangles a surface cell is divided into are seen
  3493.  from opposite sides (i.e. the original quadrangle is 'bent over'), as
  3494.  illustrated in the following ASCII art:
  3495.  
  3496.                                                                C----B
  3497.      original quadrangle:  A--B      displayed quadrangle:     |\   |
  3498.        ("set view 0,0")    | /|    ("set view 75,75" perhaps)  | \  |
  3499.                            |/ |                                |  \ |
  3500.                            C--D                                |   \|
  3501.                                                                A    D
  3502.  
  3503.  If the diagonal edges of the surface cells aren't generally made visible by
  3504.  bit 2 of the <bitpattern> there, the edge CB above wouldn't be drawn at all,
  3505.  normally, making the resulting display hard to understand.  Therefore, the
  3506.  default option of `bentover` will turn it visible in this case.  If you don't
  3507.  want that, you may choose `nobentover` instead.
  3508. ?commands set isosamples
  3509. ?commands show isosamples
  3510. ?set isosamples
  3511. ?show isosamples
  3512. ?isosamples
  3513.  The isoline density (grid) for plotting functions as surfaces may be changed
  3514.  by the `set isosamples` command.
  3515.  
  3516.  Syntax:
  3517.        set isosamples <iso_1> {,<iso_2>}
  3518.        show isosamples
  3519.  
  3520.  Each function surface plot will have <iso_1> iso-u lines and <iso_2> iso-v
  3521.  lines.  If you only specify <iso_1>, <iso_2> will be set to the same value
  3522.  as <iso_1>.  By default, sampling is set to 10 isolines per u or v axis.
  3523.  A higher sampling rate will produce more accurate plots, but will take longer.
  3524.  These parameters have no effect on data file plotting.
  3525.  
  3526.  An isoline is a curve parameterized by one of the surface parameters while
  3527.  the other surface parameter is fixed.  Isolines provide a simple means to
  3528.  display a surface.  By fixing the u parameter of surface s(u,v), the iso-u
  3529.  lines of the form c(v) = s(u0,v) are produced, and by fixing the v parameter,
  3530.  the iso-v lines of the form c(u) = s(u,v0) are produced.
  3531.  
  3532.  When a function surface plot is being done without the removal of hidden
  3533.  lines, `set samples`  controls the number of points sampled along each
  3534.  isoline;  see `set samples` and `set hidden3d`.  The contour algorithm
  3535.  assumes that a function sample occurs at each isoline intersection, so
  3536.  change in `samples` as well as `isosamples` may be desired when changing
  3537.  the resolution of a function surface/contour.
  3538. ?commands set key
  3539. ?commands set nokey
  3540. ?commands show key
  3541. ?set key
  3542. ?set nokey
  3543. ?show key
  3544. ?key
  3545. ?nokey
  3546. ?legend
  3547.  The `set key` enables a key (or legend) describing plots on a plot.
  3548.  
  3549.  The contents of the key, i.e., the names given to each plotted data set and
  3550.  function and samples of the lines and/or symbols used to represent them, are
  3551.  determined by the `title` and `with` options of the {`s`}`plot` command.
  3552.  Please see `plot title` and `plot with` for more information.
  3553.  
  3554.  Syntax:
  3555.        set key {  left | right | top | bottom | outside | below
  3556.                 | <position>}
  3557.                {Left | Right} {{no}reverse}
  3558.                {samplen <sample_length>} {spacing <vertical_spacing>}
  3559.                {width <width_increment>}
  3560.                {title "<text>"}
  3561.                {{no}box { {linestyle | ls <line_style>}
  3562.                           | {linetype | lt <line_type>}
  3563.                             {linewidth | lw <line_width>}}}
  3564.        set nokey
  3565.        show key
  3566.  
  3567.  By default the key is placed in the upper right corner of the graph.  The
  3568.  keywords `left`, `right`, `top`, `bottom`, `outside` and `below` may be used
  3569.  to place the key in the other corners inside the graph or to the right
  3570.  (outside) or below the graph.  They may be given alone or combined.
  3571.  
  3572.  Justification of the labels within the key is controlled by `Left` or `Right`
  3573.  (default is `Right`).  The text and sample can be reversed (`reverse`) and a
  3574.  box can be drawn around the key (`box {...}`) in a specified `linetype`
  3575.  and `linewidth`, or a user-defined `linestyle`. Note that not all
  3576.  terminal drivers support linewidth selection, though.
  3577.  
  3578.  The length of the sample line can be controlled by `samplen`.  The sample
  3579.  length is computed as the sum of the tic length and <sample_length> times the
  3580.  character width.  `samplen` also affects the positions of point samples in
  3581.  the key since these are drawn at the midpoint of the sample line, even if it
  3582.  is not drawn.  <sample_length> must be an integer.
  3583.  
  3584.  The vertical spacing between lines is controlled by `spacing`.  The spacing
  3585.  is set equal to the product of the pointsize, the vertical tic size, and
  3586.  <vertical_spacing>.  The program will guarantee that the vertical spacing is
  3587.  no smaller than the character height.
  3588.  
  3589.  The <width_increment> is a number of character widths to be added to or
  3590.  subtracted from the length of the string.  This is useful only when you are
  3591.  putting a box around the key and you are using control characters in the text.
  3592.  `gnuplot` simply counts the number of characters in the string when computing
  3593.  the box width; this allows you to correct it.
  3594.  
  3595.  A title can be put on the key (`title "<text>"`)---see also `syntax` for the
  3596.  distinction between text in single- or double-quotes.  The key title uses the
  3597.  same justification as do the plot titles.
  3598.  
  3599.  The defaults for `set key` are `right`, `top`, `Right`, `noreverse`, `samplen
  3600.  4`, `spacing 1.25`, `title ""`, and `nobox`.  The default <linetype> is the
  3601.  same as that used for the plot borders.  Entering `set key` with no options
  3602.  returns the key to its default configuration.
  3603.  
  3604.  The <position> can be a simple x,y,z as in previous versions, but these can
  3605.  be preceded by one of four keywords (`first`, `second`, `graph`, `screen`)
  3606.  which selects the coordinate system in which the position is specified.  See
  3607.  `coordinates` for more details.
  3608.  
  3609.  The key is drawn as a sequence of lines, with one plot described on each
  3610.  line.  On the right-hand side (or the left-hand side, if `reverse` is
  3611.  selected) of each line is a representation that attempts to mimic the way the
  3612.  curve is plotted.  On the other side of each line is the text description
  3613.  (the line title), obtained from the `plot` command.  The lines are vertically
  3614.  arranged so that an imaginary straight line divides the left- and right-hand
  3615.  sides of the key.  It is the coordinates of the top of this line that are
  3616.  specified with the `set key` command.  In a `plot`, only the x and y
  3617.  coordinates are used to specify the line position.  For a `splot`, x, y and
  3618.  z are all used as a 3-d location mapped using the same mapping as the graph
  3619.  itself to form the required 2-d screen position of the imaginary line.
  3620.  
  3621.  Some or all of the key may be outside of the graph boundary, although this
  3622.  may interfere with other labels and may cause an error on some devices.  If
  3623.  you use the keywords `outside` or `below`, `gnuplot` makes space for the keys
  3624.  and the graph becomes smaller.  Putting keys outside to the right, they
  3625.  occupy as few columns as possible, and putting them below, as many columns as
  3626.  possible (depending of the length of the labels), thus stealing as little
  3627.  space from the graph as possible.
  3628.  
  3629.  When using the TeX or PostScript drivers, or similar drivers where formatting
  3630.  information is embedded in the string, `gnuplot` is unable to calculate
  3631.  correctly the width of the string for key positioning.  If the key is to be
  3632.  positioned at the left, it may be convenient to use the combination  `set key
  3633.  left Left reverse`.  The box and gap in the grid will be the width of the
  3634.  literal string.
  3635.  
  3636.  If `splot` is being used to draw contours, the contour labels will be listed
  3637.  in the key.  If the alignment of these labels is poor or a different number
  3638.  of decimal places is desired, the label format can be specified.  See `set
  3639.  clabel` for details.
  3640.  
  3641.  Examples:
  3642.  
  3643.  This places the key at the default location:
  3644.        set key
  3645.  
  3646.  This disables the key:
  3647.        set nokey
  3648.  
  3649.  This places a key at coordinates 2,3.5,2 in the default (first) coordinate
  3650.  system:
  3651.        set key 2,3.5,2
  3652.  
  3653.  This places the key below the graph:
  3654.        set key below
  3655.  
  3656.  This places the key in the bottom left corner, left-justifies the text,
  3657.  gives it a title, and draws a box around it in linetype 3:
  3658.        set key left bottom Left title 'Legend' box 3
  3659. ?commands set label
  3660. ?commands set nolabel
  3661. ?commands show label
  3662. ?set label
  3663. ?set nolabel
  3664. ?show label
  3665. ?label
  3666. ?nolabel
  3667.  Arbitrary labels can be placed on the plot using the `set label` command.
  3668.  
  3669.  Syntax:
  3670.        set label {<tag>} {"<label_text>"} {at <position>}
  3671.                  {<justification>} {{no}rotate} {font "<name><,size>"}
  3672.        set nolabel {<tag>}
  3673.        show label
  3674.  
  3675.  The <position> is specified by either x,y or x,y,z, and may be preceded by
  3676.  `first`, `second`, `graph`, or `screen` to select the coordinate system.
  3677.  See `coordinates` for details.
  3678.  
  3679.  The tag is an integer that is used to identify the label. If no <tag> is
  3680.  given, the lowest unused tag value is assigned automatically.  The tag can be
  3681.  used to delete or modify a specific label.  To change any attribute of an
  3682.  existing label, use the `set label` command with the appropriate tag, and
  3683.  specify the parts of the label to be changed.
  3684.  
  3685.  By default, the text is placed flush left against the point x,y,z.  To adjust
  3686.  the way the label is positioned with respect to the point x,y,z, add the
  3687.  parameter <justification>, which may be `left`, `right` or `center`,
  3688.  indicating that the point is to be at the left, right or center of the text.
  3689.  Labels outside the plotted boundaries are permitted but may interfere with
  3690.  axis labels or other text.
  3691.  
  3692.  If `rotate` is given, the label is written vertically (if the terminal can do
  3693.  so, of course).
  3694.  
  3695.  If one (or more) axis is timeseries, the appropriate coordinate should be
  3696.  given as a quoted time string according to the `timefmt` format string.  See
  3697.  `set xdata` and `set timefmt`.
  3698.  
  3699.  The EEPIC, Imagen, LaTeX, and TPIC drivers allow \\ in a string to specify
  3700.  a newline.
  3701.  
  3702.  Examples:
  3703.  
  3704.  To set a label at (1,2) to "y=x", use:
  3705.        set label "y=x" at 1,2
  3706.  
  3707.  To set a Sigma of size 24, from the Symbol font set, at the center of
  3708.  the graph, use:
  3709.        set label "S" at graph 0.5,0.5 center font "Symbol,24"
  3710.  
  3711.  To set a label "y=x^2" with the right of the text at (2,3,4), and tag the
  3712.  label as number 3, use:
  3713.        set label 3 "y=x^2" at 2,3,4 right
  3714.  
  3715.  To change the preceding label to center justification, use:
  3716.        set label 3 center
  3717.  
  3718.  To delete label number 2, use:
  3719.        set nolabel 2
  3720.  
  3721.  To delete all labels, use:
  3722.        set nolabel
  3723.  
  3724.  To show all labels (in tag order), use:
  3725.        show label
  3726.  
  3727.  To set a label on a graph with a timeseries on the x axis, use, for example:
  3728.        set timefmt "%d/%m/%y,%H:%M"
  3729.        set label "Harvest" at "25/8/93",1
  3730. ?commands set linestyle
  3731. ?commands set nolinestyle
  3732. ?commands show linestyle
  3733. ?set linestyle
  3734. ?set nolinestyle
  3735. ?show linestyle
  3736. ?linestyle
  3737.  Each terminal has a default set of line and point types, which can be seen
  3738.  by using the command `test`.  `set linestyle` defines a set of line types
  3739.  and widths and point types and sizes so that you can refer to them later by
  3740.  an index instead of repeating all the information at each invocation.
  3741.  
  3742.  Syntax:
  3743.        set linestyle <index> {linetype | lt <line_type>}
  3744.                              {linewidth | lw <line_width>}
  3745.                              {pointtype | pt <point_type>}
  3746.                              {pointsize | ps <point_size>}
  3747.        set nolinestyle
  3748.        show linestyle
  3749.  
  3750.  The line and point types are taken from the default types for the terminal
  3751.  currently in use.  The line width and point size are multipliers for the
  3752.  default width and size (but note that <point_size> here is unaffected by
  3753.  the multiplier given on 'set pointsize').
  3754.  
  3755.  The defaults for the line and point types is the index.  The defaults for
  3756.  the width and size are both unity.
  3757.  
  3758.  Linestyles created by this mechanism do not replace the default styles;
  3759.  both may be used.
  3760.  
  3761.  Not all terminals support the `linewidth` and `pointsize` features; if
  3762.  not supported, the option will be ignored.
  3763.  
  3764.  Note that this feature is not completely implemented; linestyles defined by
  3765.  this mechanism may be used with 'plot', 'splot', 'replot', and 'set arrow',
  3766.  but not by other commands that allow the default index to be used, such as
  3767.  'set grid'.
  3768.  
  3769.  Example:
  3770.  Suppose that the default lines for indices 1, 2, and 3 are red, green, and
  3771.  blue, respectively, and the default point shapes for the same indices are a
  3772.  square, a cross, and a triangle, respectively.  Then
  3773.  
  3774.        set linestyle 1 lt 2 lw 2 pt 3 ps 0.5
  3775.  
  3776.  defines a new linestyle that is green and twice the default width and a new
  3777.  pointstyle that is a half-sized triangle.  The commands
  3778.  
  3779.        set function style lines
  3780.        plot f(x) lt 3, g(x) ls 1
  3781.  
  3782.  will create a plot of f(x) using the default blue line and a plot of g(x)
  3783.  using the user-defined wide green line.  Similarly the commands
  3784.  
  3785.        set function style linespoints
  3786.        plot p(x) lt 1 pt 3, q(x) ls 1
  3787.  
  3788.  will create a plot of f(x) using the default triangles connected by a red
  3789.  line and q(x) using small triangles connected by a green line.
  3790. ?commands set lmargin
  3791. ?set lmargin
  3792. ?lmargin
  3793.  The command `set lmargin` sets the size of the left margin.  Please see
  3794.  `set margin` for details.
  3795. ?commands set locale
  3796. ?commands show logscale
  3797. ?set locale
  3798. ?show logscale
  3799. ?locale
  3800.  The `locale` setting determines the language with which `{x,y,z}{d,m}tics`
  3801.  will write the days and months.
  3802.  
  3803.  Syntax:
  3804.        set locale {"<locale>"}
  3805.  
  3806.  <locale> may be any language designation acceptable to your installation.
  3807.  See your system documentation for the available options.  The default value
  3808.  is determined from the LANG environment variable.
  3809. ?commands set logscale
  3810. ?commands set nologscale
  3811. ?commands show logscale
  3812. ?set logscale
  3813. ?set nologscale
  3814. ?show logscale
  3815. ?logscale
  3816. ?nologscale
  3817.  Log scaling may be set on the x, y, z, x2 and/or y2 axes.
  3818.  
  3819.  Syntax:
  3820.        set logscale <axes> <base>
  3821.        set nologscale <axes>
  3822.        show logscale
  3823.  
  3824.  where <axes> may be any combinations of `x`, `y`, and `z`, in any order, or
  3825.  `x2` or `y2` and where <base> is the base of the log scaling.  If <base> is
  3826.  not given, then 10 is assumed.  If <axes> is not given, then all axes are
  3827.  assumed.  `set nologscale` turns off log scaling for the specified axes.
  3828.  
  3829.  Examples:
  3830.  
  3831.  To enable log scaling in both x and z axes:
  3832.        set logscale xz
  3833.  
  3834.  To enable scaling log base 2 of the y axis:
  3835.        set logscale y 2
  3836.  
  3837.  To disable z axis log scaling:
  3838.        set nologscale z
  3839. ?commands set mapping
  3840. ?commands show mapping
  3841. ?set mapping
  3842. ?show mapping
  3843. ?mapping
  3844.  If data are provided to `splot` in spherical or cylindrical coordinates,
  3845.  the `set mapping` command should be used to instruct `gnuplot` how to
  3846.  interpret them.
  3847.  
  3848.  Syntax:
  3849.        set mapping {cartesian | spherical | cylindrical}
  3850.  
  3851.  A cartesian coordinate system is used by default.
  3852.  
  3853.  For a spherical coordinate system, the data occupy two or three columns (or
  3854.  `using` entries).  The first two are interpreted as the polar and azimuthal
  3855.  angles theta and phi (in the units specified by `set angles`).  The radius r
  3856.  is taken from the third column if there is one, or is set to unity if there
  3857.  is no third column.  The mapping is:
  3858.  
  3859.        x = r * cos(theta) * cos(phi)
  3860.        y = r * sin(theta) * cos(phi)
  3861.        z = r * sin(phi)
  3862.  
  3863.  Note that this is a "geographic" spherical system, rather than a "polar" one.
  3864.  
  3865.  For a cylindrical coordinate system, the data again occupy two or three
  3866.  columns.  The first two are interpreted as theta (in the units specified by
  3867.  `set angles`) and z.  The radius is either taken from the third column or set
  3868.  to unity, as in the spherical case.  The mapping is:
  3869.  
  3870.        x = r * cos(theta)
  3871.        y = r * sin(theta)
  3872.        z = z
  3873.  
  3874.  The effects of `mapping` can be duplicated with the `using` filter on the
  3875.  `splot` command, but `mapping` may be more convenient if many data files are
  3876.  to be processed.  However even if `mapping` is used, `using` may still be
  3877.  necessary if the data in the file are not in the required order.
  3878.  
  3879.  `mapping` has no effect on `plot`.
  3880. ?commands set margin
  3881. ?commands show margin
  3882. ?set margin
  3883. ?show margin
  3884. ?margin
  3885.  The computed margins can be overridden by the `set margin` commands.  `show
  3886.  margin` shows the current settings.
  3887.  
  3888.  Syntax:
  3889.        set bmargin {<margin>}
  3890.        set lmargin {<margin>}
  3891.        set rmargin {<margin>}
  3892.        set tmargin {<margin>}
  3893.        show margin
  3894.  
  3895.  The units of <margin> are character heights or widths, as appropriate.  A
  3896.  positive value defines the absolute size of the margin.  A negative value
  3897.  (or none) causes `gnuplot` to revert to the computed value.
  3898.  
  3899.  Normally the margins of a plot are automatically calculated based on tics,
  3900.  tic labels, axis labels, the plot title, the timestamp and the size of the
  3901.  key if it is outside the borders.  If, however, tics are attached to the
  3902.  axes (`set xtics axis`, for example), neither the tics themselves nor their
  3903.  labels will be included in either the margin calculation or the calculation
  3904.  of the positions of other text to be written in the margin.  This can lead
  3905.  to tic labels overwriting other text if the axis is very close to the border.
  3906. ?commands set missing
  3907. ?set missing
  3908. ?missing
  3909.  The `set missing` command allows you to tell `gnuplot` what character is
  3910.  used in a data file to denote missing data.
  3911.  
  3912.  Syntax:
  3913.        set missing {"<character>"}
  3914.        show missing
  3915.  
  3916.  Example:
  3917.        set missing "?"
  3918.  
  3919.  would mean that, when plotting a file containing
  3920.  
  3921.           1 1
  3922.           2 ?
  3923.           3 2
  3924.  
  3925.  the middle line would be ignored.
  3926.  
  3927.  There is no default character for `missing`.
  3928. ?commands set multiplot
  3929. ?commands set nomultiplot
  3930. ?set multiplot
  3931. ?set nomultiplot
  3932. ?multiplot
  3933. ?nomultiplot
  3934.  The command `set multiplot` places `gnuplot` in the multiplot mode, in which
  3935.  several plots are placed on the same page, window, or screen.
  3936.  
  3937.  Syntax:
  3938.        set multiplot
  3939.        set nomultiplot
  3940.  
  3941.  For some terminals, no plot is displayed until the command `set nomultiplot`
  3942.  is given, which causes the entire page to be drawn and then returns `gnuplot`
  3943.  to its normal single-plot mode.  For other terminals, each separate `plot`
  3944.  command produces a plot, but the screen may not be cleared between plots.
  3945.  
  3946.  Any labels or arrows that have been defined will be drawn for each plot
  3947.  according to the current size and origin (unless their coordinates are
  3948.  defined in the `screen` system).  Just about everything else that can be
  3949.  `set` is applied to each plot, too.  If you want something to appear only
  3950.  once on the page, for instance a single time stamp, you'll need to put a `set
  3951.  time`/`set notime` pair around one of the `plot`, `splot` or `replot`
  3952.  commands within the `set multiplot`/`set nomultiplot` block.
  3953.  
  3954.  The commands `set origin` and `set size` must be used to correctly position
  3955.  each plot; see `set origin` and `set size` for details of their usage.
  3956.  
  3957.  Example:
  3958.        set size 0.7,0.7
  3959.        set origin 0.1,0.1
  3960.        set multiplot
  3961.        set size 0.4,0.4
  3962.        set origin 0.1,0.1
  3963.        plot sin(x)
  3964.        set size 0.2,0.2
  3965.        set origin 0.5,0.5
  3966.        plot cos(x)
  3967.        set nomultiplot
  3968.  
  3969.  displays a plot of cos(x) stacked above a plot of sin(x).  Note the initial
  3970.  `set size` and `set origin`.  While these are not always required, their
  3971.  inclusion is recommended.  Some terminal drivers require that bounding box
  3972.  information be available before any plots can be made, and the form given
  3973.  above guarantees that the bounding box will include the entire plot array
  3974.  rather than just the bounding box of the first plot.
  3975.  
  3976.  `set size` and `set origin` refer to the entire plotting area used for each
  3977.  plot.  If you want to have the axes themselves line up, you can guarantee
  3978.  that the margins are the same size with the `set margin` commands.  See
  3979.  `set margin` for their use.  Note that the margin settings are absolute,
  3980.  in character units, so the appearance of the graph in the remaining space
  3981.  will depend on the screen size of the display device, e.g., perhaps quite
  3982.  different on a video display and a printer.
  3983. ?commands set mx2tics
  3984. ?commands set nomx2tics
  3985. ?commands show mx2tics
  3986. ?set mx2tics
  3987. ?set nomx2tics
  3988. ?show mx2tics
  3989. ?mx2tics
  3990. ?nomx2tics
  3991.  Minor tic marks along the x2 (top) axis are controlled by `set mx2tics`.
  3992.  Please see `set mxtics`.
  3993. ?commands set mxtics
  3994. ?commands set nomxtics
  3995. ?commands show mxtics
  3996. ?set mxtics
  3997. ?set nomxtics
  3998. ?show mxtics
  3999. ?mxtics
  4000. ?nomxtics
  4001.  Minor tic marks along the x axis are controlled by `set mxtics`.  They can be
  4002.  turned off with `set nomxtics`.  Similar commands control minor tics along
  4003.  the other axes.
  4004.  
  4005.  Syntax:
  4006.        set mxtics {<freq> | default}
  4007.        set nomxtics
  4008.        show mxtics
  4009.  
  4010.  The same syntax applies to `mytics`, `mztics`, `mx2tics` and `my2tics`.
  4011.  
  4012.  <freq> is the number of sub-intervals (NOT the number of minor tics) between
  4013.  major tics (ten is the default for a linear axis, so there are nine minor
  4014.  tics between major tics). Selecting `default` will return the number of minor
  4015.  ticks to its default value.
  4016.  
  4017.  If the axis is logarithmic, the number of sub-intervals will be set to a
  4018.  reasonable number by default (based upon the length of a decade).  This will
  4019.  be overridden if <freq> is given.  However the usual minor tics (2, 3, ...,
  4020.  8, 9 between 1 and 10, for example) are obtained by setting <freq> to 10,
  4021.  even though there are but nine sub-intervals.
  4022.  
  4023.  Minor tics can be used only with uniformly spaced major tics.  Since major
  4024.  tics can be placed arbitrarily by `set {x|x2|y|y2|z}tics`, minor tics cannot
  4025.  be used if major tics are explicitly `set`.
  4026.  
  4027.  By default, minor tics are off for linear axes and on for logarithmic axes.
  4028.  They inherit the settings for `axis|border` and `{no}mirror` specified for
  4029.  the major tics.  Please see `set xtics` for information about these.
  4030. ?commands set my2tics
  4031. ?commands set nomy2tics
  4032. ?commands show my2tics
  4033. ?set my2tics
  4034. ?set nomy2tics
  4035. ?show my2tics
  4036. ?my2tics
  4037. ?nomy2tics
  4038.  Minor tic marks along the y2 (right-hand) axis are controlled by `set
  4039.  my2tics`.  Please see `set mxtics`.
  4040. ?commands set mytics
  4041. ?commands set nomytics
  4042. ?commands show mytics
  4043. ?set mytics
  4044. ?set nomytics
  4045. ?show mytics
  4046. ?mytics
  4047. ?nomytics
  4048.  Minor tic marks along the y axis are controlled by `set mytics`.  Please
  4049.  see `set mxtics`.
  4050. ?commands set mztics
  4051. ?commands set nomztics
  4052. ?commands show mztics
  4053. ?set mztics
  4054. ?set nomztics
  4055. ?show mztics
  4056. ?mztics
  4057. ?nomztics
  4058.  Minor tic marks along the z axis are controlled by `set mztics`.  Please
  4059.  see `set mxtics`.
  4060. ?commands set offsets
  4061. ?commands set nooffsets
  4062. ?commands show offsets
  4063. ?set offsets
  4064. ?set nooffsets
  4065. ?show offsets
  4066. ?offsets
  4067. ?nooffsets
  4068.  Offsets provide a mechanism to put a boundary around the data inside of an
  4069.  autoscaled graph.
  4070.  
  4071.  Syntax:
  4072.        set offsets <left>, <right>, <top>, <bottom>
  4073.        set nooffsets
  4074.        show offsets
  4075.  
  4076.  Each offset may be a constant or an expression.  Each defaults to 0.  Left
  4077.  and right offsets are given in units of the x axis, top and bottom offsets in
  4078.  units of the y axis.  A positive offset expands the graph in the specified
  4079.  direction, e.g., a positive bottom offset makes ymin more negative.  Negative
  4080.  offsets, while permitted, can have unexpected interactions with autoscaling
  4081.  and clipping.
  4082.  
  4083.  Offsets are ignored in `splot`s.
  4084.  
  4085.  Example:
  4086.        set offsets 0, 0, 2, 2
  4087.        plot sin(x)
  4088.  
  4089.  This graph of sin(x) will have a y range [-3:3] because the function
  4090.  will be autoscaled to [-1:1] and the vertical offsets are each two.
  4091. ?commands set origin
  4092. ?commands show origin
  4093. ?set origin
  4094. ?show origin
  4095. ?origin
  4096.  The `set origin` command is used to specify the origin of a plotting surface
  4097.  (i.e., the graph and its margins) on the screen.  The coordinates are given
  4098.  in the `screen` coordinate system (see `coordinates` for information about
  4099.  this system).
  4100.  
  4101.  Syntax:
  4102.        set origin <x-origin>,<y-origin>
  4103. ?commands set output
  4104. ?commands show output
  4105. ?set output
  4106. ?show output
  4107. ?output
  4108.  By default, screens are displayed to the standard output. The `set output`
  4109.  command redirects the display to the specified file or device.
  4110.  
  4111.  Syntax:
  4112.        set output {"<filename>"}
  4113.        show output
  4114.  
  4115.  The filename must be enclosed in quotes.  If the filename is omitted, any
  4116.  output file opened by a previous invocation of `set output` will be closed
  4117.  and new output will be sent to STDOUT.  (If you give the command `set output
  4118.  "STDOUT"`, your output may be sent to a file named "STDOUT"!  ["May be", not
  4119.  "will be", because some terminals, like `x11`, ignore `set output`.])
  4120.  
  4121.  MSDOS users should note that the \ character has special significance in
  4122.  double-quoted strings, so single-quotes should be used for filenames in
  4123.  different directories.
  4124.  
  4125.  When both `set terminal` and `set output` are used together, it is safest to
  4126.  give `set terminal` first, because some terminals set a flag which is needed
  4127.  in some operating systems.  This would be the case, for example, if the
  4128.  operating system needs to know whether or not a file is to be formatted in
  4129.  order to open it properly.
  4130.  
  4131.  On machines with popen functions (Unix), output can be piped through a shell
  4132.  command if the first non-whitespace character of the filename is '|'.
  4133.  For instance,
  4134.  
  4135.        set output "|lpr -Plaser filename"
  4136.        set output "|lp -dlaser filename"
  4137.  
  4138.  On MSDOS machines, `set output "PRN"` will direct the output to the default
  4139.  printer.  On VMS, output can be sent directly to any spooled device.  It is
  4140.  also possible to send the output to DECnet transparent tasks, which allows
  4141.  some flexibility.
  4142. ?commands set parametric
  4143. ?commands set noparametric
  4144. ?commands show parametric
  4145. ?set parametric
  4146. ?set noparametric
  4147. ?show parametric
  4148. ?parametric
  4149. ?noparametric
  4150.  The `set parametric` command changes the meaning of `plot` (`splot`) from
  4151.  normal functions to parametric functions.  The command `set noparametric`
  4152.  restores the plotting style to normal, single-valued expression plotting.
  4153.  
  4154.  Syntax:
  4155.        set parametric
  4156.        set noparametric
  4157.        show parametric
  4158.  
  4159.  For 2-d plotting, a parametric function is determined by a pair of parametric
  4160.  functions operating on a parameter.  An example of a 2-d parametric function
  4161.  would be `plot sin(t),cos(t)`, which draws a circle (if the aspect ratio is
  4162.  set correctly---see `set size`).  `gnuplot` will display an error message if
  4163.  both functions are not provided for a parametric `plot`.
  4164.  
  4165.  For 3-d plotting, the surface is described as x=f(u,v), y=g(u,v), z=h(u,v).
  4166.  Therefore a triplet of functions is required.  An example of a 3-d parametric
  4167.  function would be `cos(u)*cos(v),cos(u)*sin(v),sin(u)`, which draws a sphere.
  4168.  `gnuplot` will display an error message if all three functions are not
  4169.  provided for a parametric `splot`.
  4170.  
  4171.  The total set of possible plots is a superset of the simple f(x) style plots,
  4172.  since the two functions can describe the x and y values to be computed
  4173.  separately.  In fact, plots of the type t,f(t) are equivalent to those
  4174.  produced with f(x) because the x values are computed using the identity
  4175.  function.  Similarly, 3-d plots of the type u,v,f(u,v) are equivalent to
  4176.  f(x,y).
  4177.  
  4178.  Note that the order the parametric functions are specified is xfunction,
  4179.  yfunction (and zfunction) and that each operates over the common parametric
  4180.  domain.
  4181.  
  4182.  Also, the `set parametric` function implies a new range of values.  Whereas
  4183.  the normal f(x) and f(x,y) style plotting assume an xrange and yrange (and
  4184.  zrange), the parametric mode additionally specifies a trange, urange, and
  4185.  vrange.  These ranges may be set directly with `set trange`, `set urange`,
  4186.  and `set vrange`, or by specifying the range on the `plot` or `splot`
  4187.  commands.  Currently the default range for these parametric variables is
  4188.  [-5:5].  Setting the ranges to something more meaningful is expected.
  4189. ?commands set pointsize
  4190. ?commands show pointsize
  4191. ?set pointsize
  4192. ?show pointsize
  4193. ?pointsize
  4194.  The `set pointsize` command scales the size of the points used in plots.
  4195.  
  4196.  Syntax:
  4197.        set pointsize <multiplier>
  4198.        show pointsize
  4199.  
  4200.  The default is a multiplier of 1.0.  Larger pointsizes may be useful to
  4201.  make points more visible in bitmapped graphics.
  4202.  
  4203.  The pointsize of a single plot may be changed on the `plot` command.  See
  4204.  `plot with` for details.
  4205.  
  4206.  Please note that the pointsize setting is not supported by all terminal
  4207.  types.
  4208. ?commands set polar
  4209. ?commands set nopolar
  4210. ?commands show polar
  4211. ?set polar
  4212. ?set nopolar
  4213. ?show polar
  4214. ?polar
  4215. ?nopolar
  4216.  The `set polar` command changes the meaning of the plot from rectangular
  4217.  coordinates to polar coordinates.
  4218.  
  4219.  Syntax:
  4220.        set polar
  4221.        set nopolar
  4222.        show polar
  4223.  
  4224.  There have been changes made to polar mode in version 3.7, so that scripts
  4225.  for `gnuplot` versions 3.5 and earlier will require modification.  The main
  4226.  change is that the dummy variable t is used for the angle so that the x and
  4227.  y ranges can be controlled independently.  Other changes are:
  4228.  1) tics are no longer put along the zero axes automatically
  4229.  ---use `set xtics axis nomirror`; `set ytics axis nomirror`;
  4230.  2) the grid, if selected, is not automatically polar
  4231.  ---use `set grid polar`;
  4232.  3) the grid is not labelled with angles
  4233.  ---use `set label` as necessary.
  4234.  
  4235.  In polar coordinates, the dummy variable (t) is an angle.  The default range
  4236.  of t is [0:2*pi], or, if degree units have been selected, to [0:360] (see
  4237.  `set angles`).
  4238.  
  4239.  The command `set nopolar` changes the meaning of the plot back to the default
  4240.  rectangular coordinate system.
  4241.  
  4242.  The `set polar` command is not supported for `splot`s.  See the `set mapping`
  4243.  command for similar functionality for `splot`s.
  4244.  
  4245.  While in polar coordinates the meaning of an expression in t is really
  4246.  r = f(t), where t is an angle of rotation.  The trange controls the domain
  4247.  (the angle) of the function, and the x and y ranges control the range of the
  4248.  graph in the x and y directions.  Each of these ranges, as well as the
  4249.  rrange, may be autoscaled or set explicitly.  See `set xrange` for details
  4250.  of all the `set range` commands.
  4251.  
  4252.  Example:
  4253.        set polar
  4254.        plot t*sin(t)
  4255.        plot [-2*pi:2*pi] [-3:3] [-3:3] t*sin(t)
  4256.  
  4257.  The first `plot` uses the default polar angular domain of 0 to 2*pi.  The
  4258.  radius and the size of the graph are scaled automatically.  The second `plot`
  4259.  expands the domain, and restricts the size of the graph to [-3:3] in both
  4260.  directions.
  4261.  
  4262.  You may want to `set size square` to have `gnuplot` try to make the aspect
  4263.  ratio equal to unity, so that circles look circular.
  4264. ?commands set rmargin
  4265. ?set rmargin
  4266. ?rmargin
  4267.  The command `set rmargin` sets the size of the right margin.  Please see
  4268.  `set margin` for details.
  4269. ?commands set rrange
  4270. ?commands show rrange
  4271. ?set rrange
  4272. ?show rrange
  4273. ?rrange
  4274.  The `set rrange` command sets the range of the radial coordinate for a
  4275.  graph in polar mode.  Please see `set xrange` for details.
  4276. ?commands set samples
  4277. ?commands show samples
  4278. ?set samples
  4279. ?show samples
  4280. ?samples
  4281.  The sampling rate of functions, or for interpolating data, may be changed
  4282.  by the `set samples` command.
  4283.  
  4284.  Syntax:
  4285.        set samples <samples_1> {,<samples_2>}
  4286.        show samples
  4287.  
  4288.  By default, sampling is set to 100 points.  A higher sampling rate will
  4289.  produce more accurate plots, but will take longer.  This parameter has no
  4290.  effect on data file plotting unless one of the interpolation/approximation
  4291.  options is used.  See `plot smooth` re 2-d data and `set cntrparam` and
  4292.  `set dgrid3d` re 3-d data.
  4293.  
  4294.  When a 2-d graph is being done, only the value of <samples_1> is relevant.
  4295.  
  4296.  When a surface plot is being done without the removal of hidden lines, the
  4297.  value of samples specifies the number of samples that are to be evaluated for
  4298.  the isolines.  Each iso-v line will have <sample_1> samples and each iso-u
  4299.  line will have <sample_2> samples.  If you only specify <samples_1>,
  4300.  <samples_2> will be set to the same value as <samples_1>.  See also `set
  4301.  isosamples`.
  4302. ?commands set size
  4303. ?commands show size
  4304. ?set size
  4305. ?show size
  4306. ?size
  4307.  The `set size` command scales the displayed size of the plot.
  4308.  
  4309.  Syntax:
  4310.        set size {{no}square | ratio <r> | noratio} {<xscale>,<yscale>}
  4311.        show size
  4312.  
  4313.  The <xscale> and <yscale> values are the scaling factors for the size of the
  4314.  plot, which includes the graph and the margins.
  4315.  
  4316.  `ratio` causes `gnuplot` to try to create a graph with an aspect ratio of <r>
  4317.  (the ratio of the y-axis length to the x-axis length) within the portion of
  4318.  the plot specified by <xscale> and <yscale>.
  4319.  
  4320.  The meaning of a negative value for <r> is different.  If <r>=-1, gnuplot
  4321.  tries to set the scales so that the unit has the same length on both the x
  4322.  and y axes (suitable for geographical data, for instance).  If <r>=-2, the
  4323.  unit on y has twice the length of the unit on x, and so on.
  4324.  
  4325.  The success of `gnuplot` in producing the requested aspect ratio depends on
  4326.  the terminal selected.  The graph area will be the largest rectangle of
  4327.  aspect ratio <r> that will fit into the specified portion of the output
  4328.  (leaving adequate margins, of course).
  4329.  
  4330.  `square` is a synonym for `ratio 1`.
  4331.  
  4332.  Both `noratio` and `nosquare` return the graph to the default aspect ratio
  4333.  of the terminal, but do not return <xscale> or <yscale> to their default
  4334.  values (1.0).
  4335.  
  4336.  `ratio` and `square` have no effect on 3-d plots.
  4337.  
  4338.  `set size` is relative to the default size, which differs from terminal to
  4339.  terminal.  Since `gnuplot` fills as much of the available plotting area as
  4340.  possible by default, it is safer to use `set size` to decrease the size of
  4341.  a plot than to increase it.  See `set terminal` for the default sizes.
  4342.  
  4343.  On some terminals, changing the size of the plot will result in text being
  4344.  misplaced.
  4345.  
  4346.  Examples:
  4347.  
  4348.  To set the size to normal size use:
  4349.        set size 1,1
  4350.  
  4351.  To make the graph half size and square use:
  4352.        set size square 0.5,0.5
  4353.  
  4354.  To make the graph twice as high as wide use:
  4355.        set size ratio 2
  4356.  
  4357. ?commands set function style
  4358. ?commands show function style
  4359. ?commands set data style
  4360. ?commands show data style
  4361. ?set function style
  4362. ?show function style
  4363. ?set data style
  4364. ?show data style
  4365. ?set style
  4366. ?show style
  4367.  Default styles are chosen with the `set function style` and `set data style`
  4368.  commands.  See `plot with` for information about how to override the default
  4369.  plotting style for individual functions and data sets.
  4370.  
  4371.  Syntax:
  4372.        set function style <style>
  4373.        set data style <style>
  4374.        show function style
  4375.        show data style
  4376.  
  4377.  The types used for all line and point styles (i.e., solid, dash-dot, color,
  4378.  etc. for lines; circles, squares, crosses, etc. for points) will be either
  4379.  those specified on the `plot` or `splot` command or will be chosen
  4380.  sequentially from the types available to the terminal in use.  Use the
  4381.  command `test` to see what is available.
  4382.  
  4383.  None of the styles requiring more than two columns of information (e.g.,
  4384.  `errorbars`) can be used with `splot`s or function `plot`s.  Neither `boxes`
  4385.  nor any of the `steps` styles can be used with `splot`s.  If an inappropriate
  4386.  style is specified, it will be changed to `points`.
  4387.  
  4388.  For 2-d data with more than two columns, `gnuplot` is picky about the allowed
  4389.  `errorbar` styles.  The `using` option on the `plot` command can be used to
  4390.  set up the correct columns for the style you want.  (In this discussion,
  4391.  "column" will be used to refer both to a column in the data file and an entry
  4392.  in the `using` list.)
  4393.  
  4394.  For three columns, only `xerrorbars`, `yerrorbars` (or `errorbars`), `boxes`,
  4395.  and `boxerrorbars` are allowed.  If another plot style is used, the style
  4396.  will be changed to `yerrorbars`.  The `boxerrorbars` style will calculate the
  4397.  boxwidth automatically.
  4398.  
  4399.  For four columns, only `xerrorbars`, `yerrorbars` (or `errorbars`),
  4400.  `xyerrorbars`, `boxxyerrorbars`, and `boxerrorbars` are allowed.  An illegal
  4401.  style will be changed to `yerrorbars`.
  4402.  
  4403.  Five-column data allow only the `boxerrorbars`, `financebars`, and
  4404.  `candlesticks` styles.  (The last two of these are primarily used for plots
  4405.  of financial prices.)  An illegal style will be changed to `boxerrorbars`
  4406.  before plotting.
  4407.  
  4408.  Six- and seven-column data only allow the `xyerrorbars` and `boxxyerrorbars`
  4409.  styles.  Illegal styles will be changed to `xyerrorbars` before plotting.
  4410.  
  4411.  For more information about error bars, please see `plot errorbars`.
  4412. ?commands set style boxerrorbars
  4413. ?set style boxerrorbars
  4414. ?style boxerrorbars
  4415. ?boxerrorbars
  4416.  The `boxerrorbars` style is only relevant to 2-d data plotting.  It is a
  4417.  combination of the `boxes` and `yerrorbars` styles.  The boxwidth will come
  4418.  from the fourth column if the y errors are in the form of "ydelta" and the
  4419.  boxwidth was not previously set equal to -2.0 (`set boxwidth -2.0`) or from
  4420.  the fifth column if the y errors are in the form of "ylow yhigh".  The
  4421.  special case  `boxwidth = -2.0` is for four-column data with y errors in the
  4422.  form "ylow yhigh".  In this case the boxwidth will be calculated so that each
  4423.  box touches the adjacent boxes.  The width will also be calculated in cases
  4424.  where three-column data are used.
  4425.  
  4426.  The box height is determined from the y error in the same way as it is for
  4427.  the `yerrorbars` style---either from y-ydelta to y+ydelta or from ylow to
  4428.  yhigh, depending on how many data columns are provided.
  4429. ?commands set style boxes
  4430. ?commands set style bargraph
  4431. ?set style boxes
  4432. ?set style bargraph
  4433. ?style boxes
  4434. ?style bargraph
  4435. ?boxes
  4436. ?bargraph
  4437.  The `boxes` style is only relevant to 2-d plotting.  It draws a box centered
  4438.  about the given x coordinate from the x axis (not the graph border) to the
  4439.  given y coordinate.  The width of the box is obtained in one of three ways.
  4440.  If it is a data plot and the data file has a third column, this will be used
  4441.  to set the width of the box.  If not, if a width has been set using the `set
  4442.  boxwidth` command, this will be used.  If neither of these is available, the
  4443.  width of each box will be calculated automatically so that it touches the
  4444.  adjacent boxes.
  4445. ?commands set style boxxyerrorbars
  4446. ?set style boxxyerrorbars
  4447. ?style boxxyerrorbars
  4448. ?boxxyerrorbars
  4449.  The `boxxyerrorbars` style is only relevant to 2-d data plotting.  It is a
  4450.  combination of the `boxes` and `xyerrorbars` styles.
  4451.  
  4452.  The box width and height are determined from the x and y errors in the same
  4453.  way as they are for the `xyerrorbars` style---either from xlow to xhigh and
  4454.  from ylow to yhigh, or from x-xdelta to x+xdelta and from y-ydelta to
  4455.  y+ydelta , depending on how many data columns are provided.
  4456. ?commands set style candlesticks
  4457. ?set style candlesticks
  4458. ?style candlesticks
  4459. ?candlesticks
  4460.  The `candlesticks` style is only relevant for 2-d data plotting of financial
  4461.  data.  Five columns of data are required; in order, these should be the x
  4462.  coordinate (most likely a date) and the opening, low, high, and closing
  4463.  prices.  The symbol is an open rectangle, centered horizontally at the x
  4464.  coordinate and limited vertically by the opening and closing prices.  A
  4465.  vertical line segment at the x coordinate extends up from the top of the
  4466.  rectangle to the high price and another down to the low.  The width of the
  4467.  rectangle may be changed by `set bar`.  The symbol will be unchanged if the
  4468.  low and high prices are interchanged or if the opening and closing prices
  4469.  are interchanged.  See `set bar` and `financebars`.
  4470. ?commands set style dots
  4471. ?set style dots
  4472. ?style dots
  4473. ?dots
  4474.  The `dots` style plots a tiny dot at each point; this is useful for scatter
  4475.  plots with many points.
  4476. ?commands set style financebars
  4477. ?set style financebars
  4478. ?style financebars
  4479. ?financebars
  4480.  The `financebars` style is only relevant for 2-d data plotting of financial
  4481.  data.  Five columns of data are required; in order, these should be the x
  4482.  coordinate (most likely a date) and the opening, low, high, and closing
  4483.  prices.  The symbol is a vertical line segment, located horizontally at the x
  4484.  coordinate and limited vertically by the high and low prices.  A horizontal
  4485.  tic on the left marks the opening price and one on the right marks the
  4486.  closing price.  The length of these tics may be changed by `set bar`.  The
  4487.  symbol will be unchanged if the high and low prices are interchanged.  See
  4488.  `set bar` and `candlesticks`.
  4489. ?commands set style fsteps
  4490. ?set style fsteps
  4491. ?style fsteps
  4492. ?fsteps
  4493.  The `fsteps` style is only relevant to 2-d plotting.  It connects consecutive
  4494.  points with two line segments: the first from (x1,y1) to (x1,y2) and the
  4495.  second from (x1,y2) to (x2,y2).
  4496. ?commands set style histeps
  4497. ?set style histeps
  4498. ?style histeps
  4499. ?histeps
  4500.  The `histeps` style is only relevant to 2-d plotting.  It is intended for
  4501.  plotting histograms.  Y-values are assumed to be centered at the x-values;
  4502.  the point at x1 is represented as a horizontal line from ((x0+x1)/2,y1) to
  4503.  ((x1+x2)/2,y1).  The lines representing the end points are extended so that
  4504.  the step is centered on at x.  Adjacent points are connected by a vertical
  4505.  line at their average x, that is, from ((x1+x2)/2,y1) to ((x1+x2)/2,y2).
  4506.  
  4507.  If `autoscale` is in effect, it selects the xrange from the data rather than
  4508.  the steps, so the end points will appear only half as wide as the others.
  4509.  
  4510.  `histeps` is only a plotting style; `gnuplot` does not have the ability to
  4511.  create bins and determine their population from some data set.
  4512. ?commands set style impulses
  4513. ?set style impulses
  4514. ?style impulses
  4515. ?impulses
  4516.  The `impulses` style displays a vertical line from the x axis (not the graph
  4517.  border), or from the grid base for `splot`, to each point.
  4518. ?commands set style lines
  4519. ?set style lines
  4520. ?style lines
  4521. ?lines
  4522.  The `lines` style connects adjacent points with straight line segments.
  4523. ?commands set style linespoints
  4524. ?commands set style lp
  4525. ?set style linespoints
  4526. ?set style lp
  4527. ?style linespoints
  4528. ?style lp
  4529. ?linespoints
  4530. ?lp
  4531.  The `linespoints` style does both `lines` and `points`, that is, it draws a
  4532.  small symbol at each point and then connects adjacent points with straight
  4533.  line segments.  The command `set pointsize` may be used to change the size of
  4534.  the points.  See `set pointsize` for its usage.
  4535.  
  4536.  `linespoints` may be abbreviated `lp`.
  4537. ?commands set style points
  4538. ?set style points
  4539. ?style points
  4540. ?points
  4541.  The `points` style displays a small symbol at each point.  The command `set
  4542.  pointsize` may be used to change the size of the points.  See `set pointsize`
  4543.  for its usage.
  4544. ?commands set style steps
  4545. ?set style steps
  4546. ?style steps
  4547. ?steps
  4548.  The `steps` style is only relevant to 2-d plotting.  It connects consecutive
  4549.  points with two line segments: the first from (x1,y1) to (x2,y1) and the
  4550.  second from (x2,y1) to (x2,y2).
  4551. ?commands set style vector
  4552. ?set style vector
  4553. ?style vector
  4554. ?vector
  4555.  The `vector` style draws a vector from (x,y) to (x+xdelta,y+ydelta).  Thus
  4556.  it requires four columns of data.  It also draws a small arrowhead at the
  4557.  end of the vector.
  4558.  
  4559.  The `vector` style is still experimental: it doesn't get clipped properly
  4560.  and other things may also be wrong with it.  Use it at your own risk.
  4561. ?commands set style xerrorbars
  4562. ?set style xerrorbars
  4563. ?style xerrorbars
  4564. ?xerrorbars
  4565.  The `xerrorbars` style is only relevant to 2-d data plots.  `xerrorbars` is
  4566.  like `dots`, except that a horizontal error bar is also drawn.  At each point
  4567.  (x,y), a line is drawn from (xlow,y) to (xhigh,y) or from (x-xdelta,y) to
  4568.  (x+xdelta,y), depending on how many data columns are provided.  A tic mark
  4569.  is placed at the ends of the error bar (unless `set bar` is used---see `set
  4570.  bar` for details).
  4571. ?commands set style xyerrorbars
  4572. ?set style xyerrorbars
  4573. ?style xyerrorbars
  4574. ?xyerrorbars
  4575.  The `xyerrorbars` style is only relevant to 2-d data plots.  `xyerrorbars` is
  4576.  like `dots`, except that horizontal and vertical error bars are also drawn.
  4577.  At each point (x,y), lines are drawn from (x,y-ydelta) to (x,y+ydelta) and
  4578.  from (x-xdelta,y) to (x+xdelta,y) or from (x,ylow) to (x,yhigh) and from
  4579.  (xlow,y) to (xhigh,y), depending upon the number of data columns provided.  A
  4580.  tic mark is placed at the ends of the error bar (unless `set bar` is
  4581.  used---see `set bar` for details).
  4582.  
  4583.  If data are provided in an unsupported mixed form, the `using` filter on the
  4584.  `plot` command should be used to set up the appropriate form.  For example,
  4585.  if the data are of the form (x,y,xdelta,ylow,yhigh), then you can use
  4586.  
  4587.        plot 'data' using 1:2:($1-$3),($1+$3),4,5 with xyerrorbars
  4588. ?commands set style yerrorbars
  4589. ?commands set style errorbars
  4590. ?set style yerrorbars
  4591. ?set style errorbars
  4592. ?style yerrorbars
  4593. ?style errorbars
  4594. ?yerrorbars
  4595. ?errorbars
  4596.  The `yerrorbars` (or `errorbars`) style is only relevant to 2-d data plots.
  4597.  `yerrorbars` is like `dots`, except that a vertical error bar is also drawn.
  4598.  At each point (x,y), a line is drawn from (x,y-ydelta) to (x,y+ydelta) or
  4599.  from (x,ylow) to (x,yhigh), depending on how many data columns are provided.
  4600.  A tic mark is placed at the ends of the error bar (unless `set bar` is
  4601.  used---see `set bar` for details).
  4602. ?commands set surface
  4603. ?commands set nosurface
  4604. ?commands show surface
  4605. ?set surface
  4606. ?set nosurface
  4607. ?show surface
  4608. ?surface
  4609. ?nosurface
  4610.  The command `set surface` controls the display of surfaces by `splot`.
  4611.  
  4612.  Syntax:
  4613.        set surface
  4614.        set nosurface
  4615.        show surface
  4616.  
  4617.  The surface is drawn with the style specifed by `with`, or else the
  4618.  appropriate style, data or function.
  4619.  
  4620.  Whenever `set nosurface` is issued, `splot` will not draw points or lines
  4621.  corresponding to the function or data file points.  Contours may be still be
  4622.  drawn on the surface, depending on the `set contour` option. `set nosurface;
  4623.  set contour base` is useful for displaying contours on the grid base.  See
  4624.  also `set contour`.
  4625. ?commands set terminal
  4626. ?commands show terminal
  4627. ?set terminal
  4628. ?set term
  4629. ?show terminal
  4630. ?terminal
  4631. ?term
  4632.  `gnuplot` supports many different graphics devices.  Use `set terminal` to
  4633.  tell `gnuplot` what kind of output to generate. Use `set output` to redirect
  4634.  that output to a file or device.
  4635.  
  4636.  Syntax:
  4637.        set terminal {<terminal-type>}
  4638.        show terminal
  4639.  
  4640.  If <terminal-type> is omitted, `gnuplot` will list the available terminal
  4641.  types.  <terminal-type> may be abbreviated.
  4642.  
  4643.  If both `set terminal` and `set output` are used together, it is safest to
  4644.  give `set terminal` first, because some terminals set a flag which is needed
  4645.  in some operating systems.
  4646.  
  4647.  Several terminals have additional options.  For example, see `dumb`,
  4648.  `iris4d`, `hpljii` or `postscript`.
  4649.  
  4650.  This document may describe drivers that are not available to you because they
  4651.  were not installed, or it may not describe all the drivers that are available
  4652.  to you, depending on its output format.
  4653. ?commands set terminal aed767
  4654. ?set terminal aed767
  4655. ?set term aed767
  4656. ?terminal aed767
  4657. ?term aed767
  4658. ?aed767
  4659. ?commands set terminal aed512
  4660. ?set terminal aed512
  4661. ?set term aed512
  4662. ?terminal aed512
  4663. ?term aed512
  4664. ?aed512
  4665.  The `aed512` and `aed767` terminal drivers support AED graphics terminals.
  4666.  The two drivers differ only in their horizontal ranges, which are 512 and
  4667.  768 pixels, respectively.  Their vertical range is 575 pixels.  There are
  4668.  no options for these drivers.
  4669. ?commands set terminal aifm
  4670. ?set terminal aifm
  4671. ?set term aifm
  4672. ?terminal aifm
  4673. ?term aifm
  4674. ?aifm
  4675.  Several options may be set in `aifm`---the Adobe Illustrator 3.0+ driver.
  4676.  
  4677.  Syntax:
  4678.        set terminal aifm {<color>} {"<fontname>"} {<fontsize>}
  4679.  
  4680.  <color> is either `color` or `monochrome`; "<fontname>" is the name of a
  4681.  valid PostScript font; <fontsize> is the size of the font in PostScript
  4682.  points, before scaling by the `set size` command.  Selecting `default` sets
  4683.  all options to their default values: `monochrome`, "Helvetica", and 14pt.
  4684.  
  4685.  Since AI does not really support multiple pages, multiple graphs will be
  4686.  drawn directly on top of one another.  However, each graph will be grouped
  4687.  individually, making it easy to separate them inside AI (just pick them up
  4688.  and move them).
  4689.  
  4690.  Examples:
  4691.        set term aifm
  4692.        set term aifm 22
  4693.        set size 0.7,1.4; set term aifm color "Times-Roman" 14
  4694. ?commands set terminal amiga
  4695. ?set terminal amiga
  4696. ?set term amiga
  4697. ?terminal amiga
  4698. ?term amiga
  4699. ?amiga
  4700.  The `amiga` terminal, for Commodore Amiga computers, allows the user to
  4701.  plot either to a screen (default), or, if Kickstart 3.0 or higher is
  4702.  installed, to a window on the current public screen. The font and its size
  4703.  can also be selected.
  4704.  
  4705.  Syntax:
  4706.        set terminal amiga {screen | window} {"<fontname>"} {<fontsize>}
  4707.  
  4708.  The default font is 8-point "topaz".
  4709.  
  4710.  The screen option uses a virtual screen, so it is possible that the graph
  4711.  will be larger than the screen.
  4712. ?commands set terminal apollo
  4713. ?set terminal apollo
  4714. ?set term apollo
  4715. ?terminal apollo
  4716. ?term apollo
  4717. ?apollo
  4718.  The `apollo` terminal driver supports the Apollo Graphics Primitive Resource
  4719.  with rescaling after window resizing.  It has no options.
  4720.  
  4721.  If a fixed-size window is desired, the `gpr` terminal may be used instead.
  4722. ?commands set terminal atari
  4723. ?set terminal atari
  4724. ?set term atari
  4725. ?terminal atari
  4726. ?term atari
  4727. ?atari
  4728.  The `atari` terminal has options to set the character size and the screen
  4729.  colors.
  4730.  
  4731.  Syntax:
  4732.        set terminal atari {<fontsize>} {<col0> <col1> ... <col15.}
  4733.  
  4734.  The character size must appear if any colors are to be specified.  Each of
  4735.  the (up to 16) colors is given as a three-digit hex number, where the digits
  4736.  represent RED, GREEN and BLUE (in that order).  The range of 0--15 is scaled
  4737.  to whatever color range the screen actually has.  On a normal ST screen, odd
  4738.  and even intensities are the same.
  4739.  
  4740.  Examples:
  4741.        set terminal atari 4    # use small (6x6) font
  4742.        set terminal atari 6 0  # set monochrome screen to white on black
  4743.        set terminal atari 13 0 fff f00 f0 f ff f0f
  4744.                   # set first seven colors to black, white, green, blue,
  4745.                   # cyan, purple, and yellow and use large font (8x16).
  4746.  
  4747.  Additionally, if an environment variable GNUCOLORS exists, its contents are
  4748.  interpreted as an options string, but an explicit terminal option takes
  4749.  precedence.
  4750. ?commands set terminal vdi
  4751. ?set terminal vdi
  4752. ?set term vdi
  4753. ?terminal vdi
  4754. ?term vdi
  4755. ?vdi
  4756.  The `vdi` terminal is the same as the `atari` terminal, except that it sends
  4757.  output to the screen via the VDI and not into AES-Windows.
  4758.  
  4759.  The `vdi` terminal has options to set the character size and the screen
  4760.  colors.
  4761.  
  4762.  Syntax:
  4763.        set terminal vdi {<fontsize>} {<col0> <col1> ... <col15.}
  4764.  
  4765.  The character size must appear if any colors are to be specified.  Each of
  4766.  the (up to 16) colors is given as a three-digit hex number, where the digits
  4767.  represent RED, GREEN and BLUE (in that order).  The range of 0--15 is scaled
  4768.  to whatever color range the screen actually has.  On a normal ST screen, odd
  4769.  and even intensities are the same.
  4770.  
  4771.  Examples:
  4772.        set terminal vdi 4    # use small (6x6) font
  4773.        set terminal vdi 6 0  # set monochrome screen to white on black
  4774.        set terminal vdi 13 0 fff f00 f0 f ff f0f
  4775.                   # set first seven colors to black, white, green, blue,
  4776.                   # cyan, purple, and yellow and use large font (8x16).
  4777.  
  4778.  Additionally, if an environment variable GNUCOLORS exists, its contents are
  4779.  interpreted as an options string, but an explicit terminal option takes
  4780.  precedence.
  4781. ?commands set terminal be
  4782. ?set terminal be
  4783. ?set term be
  4784. ?terminal be
  4785. ?term be
  4786. ?be
  4787. ?BE
  4788.  `gnuplot` provides the `be` terminal type for use with X servers.  This
  4789.  terminal type is set automatically at startup if the `DISPLAY` environment
  4790.  variable is set, if the `TERM` environment variable is set to `xterm`, or
  4791.  if the `-display` command line option is used.
  4792.  
  4793.  Syntax:
  4794.            set terminal be {reset} {<n>}
  4795.  
  4796.  Multiple plot windows are supported: `set terminal be <n>` directs the
  4797.  output to plot window number n.  If n>0, the terminal number will be
  4798.  appended to the window title and the icon will be labeled `gplt <n>`.
  4799.  The active window may distinguished by a change in cursor (from default
  4800.  to crosshair.)
  4801.  
  4802.  Plot windows remain open even when the `gnuplot` driver is changed to a
  4803.  different device.  A plot window can be closed by pressing the letter q
  4804.  while that window has input focus, or by choosing `close` from a window
  4805.  manager menu.  All plot windows can be closed by specifying `reset`, which
  4806.  actually terminates the subprocess which maintains the windows (unless
  4807.  `-persist` was specified).
  4808.  
  4809.  Plot windows will automatically be closed at the end of the session
  4810.  unless the `-persist` option was given.
  4811.  
  4812.  The size or aspect ratio of a plot may be changed by resizing the `gnuplot`
  4813.  window.
  4814.  
  4815.  Linewidths and pointsizes may be changed from within `gnuplot` with
  4816.  `set linestyle`.
  4817.  
  4818.  For terminal type `be`, `gnuplot` accepts (when initialized) the standard
  4819.  X Toolkit options and resources such as geometry, font, and name from the
  4820.  command line arguments or a configuration file.  See the X(1) man page
  4821.  (or its equivalent) for a description of such options.
  4822.  
  4823.  A number of other `gnuplot` options are available for the `be` terminal.
  4824.  These may be specified either as command-line options when `gnuplot` is
  4825.  invoked or as resources in the configuration file "/.Xdefaults".  They are
  4826.  set upon initialization and cannot be altered during a `gnuplot` session.
  4827. ?commands set terminal be command-line-options
  4828. ?set terminal be command-line-options
  4829. ?set term be command-line-options
  4830. ?be command-line-options
  4831. ?command-line-options
  4832.  In addition to the X Toolkit options, the following options may be specified
  4833.  on the command line when starting `gnuplot` or as resources in your
  4834.  ".Xdefaults" file:
  4835.   `-clear`   requests that the window be cleared momentarily before a
  4836.                          new plot is displayed.
  4837.   `-gray`        requests grayscale rendering on grayscale or color displays.
  4838.                          (Grayscale displays receive monochrome rendering by default.)
  4839.   `-mono`        forces monochrome rendering on color displays.
  4840.   `-persist` plot windows survive after main gnuplot program exits
  4841.   `-raise`   raise plot window after each plot
  4842.   `-noraise` do not raise plot window after each plot
  4843.   `-tvtwm`   requests that geometry specifications for position of the
  4844.                          window be made relative to the currently displayed portion
  4845.                          of the virtual root.
  4846.  The options are shown above in their command-line syntax.  When entered as
  4847.  resources in ".Xdefaults", they require a different syntax.
  4848.  
  4849.  Example:
  4850.            gnuplot*gray: on
  4851.  
  4852.  `gnuplot` also provides a command line option (`-pointsize <v>`) and a
  4853.  resource, `gnuplot*pointsize: <v>`, to control the size of points plotted
  4854.  with the `points` plotting style.  The value `v` is a real number (greater
  4855.  than 0 and less than or equal to ten) used as a scaling factor for point
  4856.  sizes.  For example, `-pointsize 2` uses points twice the default size, and
  4857.  `-pointsize 0.5` uses points half the normal size.
  4858. ?commands set terminal be monochrome_options
  4859. ?set terminal be monochrome_options
  4860. ?set term be monochrome_options
  4861. ?be monochrome_options
  4862. ?monochrome_options
  4863.  For monochrome displays, `gnuplot` does not honor foreground or background
  4864.  colors.  The default is black-on-white.  `-rv` or `gnuplot*reverseVideo: on`
  4865.  requests white-on-black.
  4866.  
  4867. ?commands set terminal be color_resources
  4868. ?set terminal be color_resources
  4869. ?set term be color_resources
  4870. ?be color_resources
  4871. ?color_resources
  4872.  For color displays, `gnuplot` honors the following resources (shown here
  4873.  with their default values) or the greyscale resources.  The values may be
  4874.  color names as listed in the BE rgb.txt file on your system, hexadecimal
  4875.  RGB color specifications (see BE documentation), or a color name followed
  4876.  by a comma and an `intensity` value from 0 to 1.  For example, `blue, 0.5`
  4877.  means a half intensity blue.
  4878.   gnuplot*background:  white
  4879.   gnuplot*textColor:   black
  4880.   gnuplot*borderColor: black
  4881.   gnuplot*axisColor:   black
  4882.   gnuplot*line1Color:  red
  4883.   gnuplot*line2Color:  green
  4884.   gnuplot*line3Color:  blue
  4885.   gnuplot*line4Color:  magenta
  4886.   gnuplot*line5Color:  cyan
  4887.   gnuplot*line6Color:  sienna
  4888.   gnuplot*line7Color:  orange
  4889.   gnuplot*line8Color:  coral
  4890.  
  4891.  The command-line syntax for these is, for example,
  4892.  
  4893.  Example:
  4894.            gnuplot -background coral
  4895.  
  4896. ?commands set terminal be grayscale_resources
  4897. ?set terminal be grayscale_resources
  4898. ?set term be grayscale_resources
  4899. ?be grayscale_resources
  4900. ?grayscale_resources
  4901.  When `-gray` is selected, `gnuplot` honors the following resources for
  4902.  grayscale or color displays (shown here with their default values).  Note
  4903.  that the default background is black.
  4904.   gnuplot*background: black
  4905.   gnuplot*textGray:   white
  4906.   gnuplot*borderGray: gray50
  4907.   gnuplot*axisGray:   gray50
  4908.   gnuplot*line1Gray:  gray100
  4909.   gnuplot*line2Gray:  gray60
  4910.   gnuplot*line3Gray:  gray80
  4911.   gnuplot*line4Gray:  gray40
  4912.   gnuplot*line5Gray:  gray90
  4913.   gnuplot*line6Gray:  gray50
  4914.   gnuplot*line7Gray:  gray70
  4915.   gnuplot*line8Gray:  gray30
  4916.  
  4917. ?commands set terminal be line_resources
  4918. ?set terminal be line_resources
  4919. ?set term be line_resources
  4920. ?be line_resources
  4921. ?line_resources
  4922.  `gnuplot` honors the following resources for setting the width (in pixels) of
  4923.  plot lines (shown here with their default values.)  0 or 1 means a minimal
  4924.  width line of 1 pixel width.  A value of 2 or 3 may improve the appearance of
  4925.  some plots.
  4926.   gnuplot*borderWidth: 2
  4927.   gnuplot*axisWidth:   0
  4928.   gnuplot*line1Width:  0
  4929.   gnuplot*line2Width:  0
  4930.   gnuplot*line3Width:  0
  4931.   gnuplot*line4Width:  0
  4932.   gnuplot*line5Width:  0
  4933.   gnuplot*line6Width:  0
  4934.   gnuplot*line7Width:  0
  4935.   gnuplot*line8Width:  0
  4936.  
  4937.  `gnuplot` honors the following resources for setting the dash style used for
  4938.  plotting lines.  0 means a solid line.  A two-digit number `jk` (`j` and `k`
  4939.  are >= 1  and <= 9) means a dashed line with a repeated pattern of `j` pixels
  4940.  on followed by `k` pixels off.  For example, '16' is a "dotted" line with one
  4941.  pixel on followed by six pixels off.  More elaborate on/off patterns can be
  4942.  specified with a four-digit value.  For example, '4441' is four on, four off,
  4943.  four on, one off.  The default values shown below are for monochrome displays
  4944.  or monochrome rendering on color or grayscale displays.  For color displays,
  4945.  the default for each is 0 (solid line) except for `axisDashes` which defaults
  4946.  to a '16' dotted line.
  4947.   gnuplot*borderDashes:   0
  4948.   gnuplot*axisDashes:        16
  4949.   gnuplot*line1Dashes:        0
  4950.   gnuplot*line2Dashes:   42
  4951.   gnuplot*line3Dashes:   13
  4952.   gnuplot*line4Dashes:   44
  4953.   gnuplot*line5Dashes:   15
  4954.   gnuplot*line6Dashes: 4441
  4955.   gnuplot*line7Dashes:   42
  4956.   gnuplot*line8Dashes:   13
  4957. ?commands set terminal cgi
  4958. ?set terminal cgi
  4959. ?set term cgi
  4960. ?terminal cgi
  4961. ?term cgi
  4962. ?cgi
  4963. ?commands set terminal hcgi
  4964. ?set terminal hcgi
  4965. ?set term hcgi
  4966. ?terminal hcgi
  4967. ?term hcgi
  4968. ?hcgi
  4969.  The `cgi` and `hcgi` terminal drivers support SCO CGI drivers.  `hcgi` is for
  4970.  printers; the environment variable CGIPRNT must be set.  `cgi` may be used
  4971.  for either a display or hardcopy; if the environment variable CGIDISP is set,
  4972.  then that display is used.  Otherwise CGIPRNT is used.
  4973.  
  4974.  These terminals have no options.
  4975. ?commands set terminal cgm
  4976. ?set terminal cgm
  4977. ?set term cgm
  4978. ?terminal cgm
  4979. ?term cgm
  4980. ?cgm
  4981.  The `cgm` terminal generates a Computer Graphics Metafile.  This file format
  4982.  is a subset of the ANSI X3.122-1986 standard entitled "Computer Graphics -
  4983.  Metafile for the Storage and Transfer of Picture Description Information".
  4984.  Several options may be set in `cgm`.
  4985.  
  4986.  Syntax:
  4987.        set terminal cgm {<mode>} {<color>} {<rotation>} {solid | dashed}
  4988.                         {width <plot_width>} {linewidth <line_width>}
  4989.                         {"<font>"} {<fontsize>}
  4990.  
  4991.  where <mode> is `landscape`, `portrait`, or `default`;
  4992.  <color> is either `color` or `monochrome`; 
  4993.  <rotation> is either `rotate` or `norotate`;
  4994.  `solid` draws all curves with solid lines, overriding any dashed patterns;
  4995.  <plot_width> is the width of the page in points; 
  4996.  <line_width> is the line width in points; 
  4997.  <font> is the name of a font; and 
  4998.  `<fontsize>` is the size of the font in points.
  4999.  
  5000.  By default, `cgm` uses rotated text for the Y axis label.
  5001.  
  5002.  The first six options can be in any order.  Selecting `default` sets all
  5003.  options to their default values.
  5004.  
  5005.  Examples:
  5006.        set terminal cgm landscape color rotate dashed width 432 \
  5007.                       linewidth 1  'Arial Bold' 12       # defaults
  5008.        set terminal cgm 14 linewidth 2  14  # wider lines & larger font
  5009.        set terminal cgm portrait 'Times Roman Italic' 12
  5010.        set terminal cgm color solid    # no pesky dashes!
  5011. ?commands set terminal cgm font
  5012. ?set terminal cgm font
  5013. ?set term cgm font
  5014. ?cgm font
  5015.  The first part of a Computer Graphics Metafile, the metafile description,
  5016.  includes a font table.  In the picture body, a font is designated by an
  5017.  index into this table.  By default, this terminal generates a table with
  5018.  the following fonts:
  5019.        Arial
  5020.        Arial Italic
  5021.        Arial Bold
  5022.        Arial Bold Italic
  5023.        Times Roman
  5024.        Times Roman Italic
  5025.        Times Roman Bold
  5026.        Times Roman Bold Italic
  5027.        Helvetica
  5028.        Roman
  5029.  Case is not distinct, but the modifiers must appear in the above order (that
  5030.  is, not 'Arial Italic Bold').  'Arial Bold' is the default font.
  5031.  
  5032.  You may also specify a font name which does not appear in the default font
  5033.  table.  In that case, a new font table is constructed with the specified
  5034.  font as its only entry.  You must ensure that the spelling, capitalization,
  5035.  and spacing of the name are appropriate for the application that will read
  5036.  the CGM file.
  5037. ?commands set terminal cgm fontsize
  5038. ?set terminal cgm fontsize
  5039. ?set term cgm fontsize
  5040. ?cgm fontsize
  5041.  Fonts are scaled assuming the page is 6 inches wide.  If the `size` command
  5042.  is used to change the aspect ratio of the page or the CGM file is converted
  5043.  to a different width (e.g. it is imported into a document in which the
  5044.  margins are not 6 inches apart), the resulting font sizes will be different.
  5045.  To change the assumed width, use the `width` option.
  5046. ?commands set terminal cgm linewidth
  5047. ?set terminal cgm linewidth
  5048. ?set term cgm linewidth
  5049. ?cgm linewidth
  5050.  The `linewidth` option sets the width of lines in pt.  The default width is
  5051.  1 pt.  Scaling is affected by the actual width of the page, as discussed
  5052.  under the `fontsize` and `width` options
  5053. ?commands set terminal cgm rotate
  5054. ?set terminal cgm rotate
  5055. ?set term cgm rotate
  5056. ?cgm rotate
  5057.  The `norotate` option may be used to disable text rotation.  For example,
  5058.  the CGM input filter for Word for Windows 6.0c can accept rotated text, but
  5059.  the DRAW editor within Word cannot.  If you edit a graph (for example, to
  5060.  label a curve), all rotated text is restored to horizontal.  The Y axis
  5061.  label will then extend beyond the clip boundary.  With `norotate`, the Y
  5062.  axis label starts in a less attractive location, but the page can be edited
  5063.  without damage.  The `rotate` option confirms the default behavior.
  5064. ?set terminal cgm solid
  5065. ?set term cgm solid
  5066. ?cgm solid
  5067.  The `solid` option may be used to disable dashed line styles in the
  5068.  plots.  This is useful when color is enabled and the dashing of the lines
  5069.  detracts from the appearance of the plot. The `dashed` option confirms the
  5070.  default behavior, which gives a different dash pattern to each curve.
  5071. ?commands set terminal cgm size
  5072. ?set terminal cgm size
  5073. ?set term cgm size
  5074. ?scgm size
  5075.  Default size of a CGM page is 32599 units wide and 23457 units high for
  5076.  landscape, or 23457 units wide by 32599 units high for portrait.
  5077. ?commands set terminal cgm width
  5078. ?set terminal cgm width
  5079. ?set term cgm width
  5080. ?cgm width
  5081.  All distances in the CGM file are in abstract units.  The application that
  5082.  reads the file determines the size of the final page.  By default, the width
  5083.  of the final page is assumed to be 6 inches (15.24 cm).  This distance is
  5084.  used to calculate the correct font size, and may be changed with the `width`
  5085.  option.  The keyword should be followed by the width in points.  (Here, a
  5086.  point is 1/72 inch, as in PostScript.  This unit is known as a "big point"
  5087.  in TeX.)  `gnuplot` arithmetic can be used to convert from other units, as
  5088.  follows:
  5089.        set terminal cgm width 432            # default
  5090.        set terminal cgm width 6*72           # same as above
  5091.        set terminal cgm width 10/2.54*72     # 10 cm wide
  5092. ?commands set terminal cgm winword6
  5093. ?set terminal cgm winword6
  5094. ?set term cgm winword6
  5095. ?cgm winword6
  5096.  The default font table was chosen to match, where possible, the default font
  5097.  assignments made by the Computer Graphics Metafile input filter for
  5098.  Microsoft Word 6.0c, although the filter makes available only 'Arial' and
  5099.  'Times Roman' fonts and their bold and/or italic variants.  Other fonts such
  5100.  as 'Helvetica' and 'Roman' are not available.  If the CGM file includes a
  5101.  font table, the filter mostly ignores it.  However, it changes certain font
  5102.  assignments so that they disagree with the table.  As a workaround, the
  5103.  `winword6` option deletes the font table from the CGM file.  In this case,
  5104.  the filter makes predictable font assignments.  'Arial Bold' is correctly
  5105.  assigned even with the font table present, which is one reason it was chosen
  5106.  as the default.
  5107.  
  5108.  `winword6` disables the color tables for a similar reason---with the color
  5109.  table included, Microsoft Word displays black for color 7.
  5110.  
  5111.  Linewidths and pointsizes may be changed with `set linestyle`.
  5112. ?commands set terminal corel
  5113. ?set terminal corel
  5114. ?set term corel
  5115. ?terminal corel
  5116. ?term corel
  5117. ?corel
  5118.  The `corel` terminal driver supports CorelDraw.
  5119.  
  5120.  Syntax:
  5121.        set terminal corel {  default
  5122.                            | {monochrome | color
  5123.                                 {<fontname> {"<fontsize>" 
  5124.                                    {<xsize> <ysize> {<linewidth> }}}}}
  5125.  
  5126.  where the fontsize and linewidth are specified in points and the sizes in
  5127.  inches.  The defaults are monochrome, "SwitzerlandLight", 22, 8.2, 10 and 1.2.
  5128. ?commands set terminal debug
  5129. ?set terminal debug
  5130. ?set term debug
  5131. ?terminal debug
  5132. ?term debug
  5133. ?debug
  5134.  This terminal is provided to allow for the debugging of `gnuplot`.  It is
  5135.  likely to be of use only for users who are modifying the source code.
  5136. ?commands set terminal svga
  5137. ?set terminal svga
  5138. ?set term svga
  5139. ?terminal svga
  5140. ?term svga
  5141. ?svga
  5142.  The `svga` terminal driver supports PCs with SVGA graphics.  It can only be
  5143.  be used if it is compiled with DJGPP.  Its only option is the font.
  5144.  
  5145.  Syntax:
  5146.        set terminal svga {"<fontname>"}
  5147. ?commands set terminal dumb
  5148. ?set terminal dumb
  5149. ?set term dumb
  5150. ?terminal dumb
  5151. ?term dumb
  5152. ?dumb
  5153.  The `dumb` terminal driver has an optional size specification and trailing
  5154.  linefeed control.
  5155.  
  5156.  Syntax:
  5157.        set terminal dumb {[no]feed} {<xsize> <ysize>}
  5158.  
  5159.  where <xsize> and <ysize> set the size of the dumb terminals. Default is
  5160.  79 by 24. The last newline is printed only if `feed` is enabled.
  5161.  
  5162.  Examples:
  5163.        set term dumb nofeed
  5164.        set term dumb 79 49 # VGA screen---why would anyone do that?
  5165. ?commands set terminal dxf
  5166. ?set terminal dxf
  5167. ?set term dxf
  5168. ?terminal dxf
  5169. ?term dxf
  5170. ?dxf
  5171.  The `dxf` terminal driver creates pictures that can be imported into AutoCad
  5172.  (Release 10.x).  It has no options of its own, but some features of its plots
  5173.  may be modified by other means.  The default size is 120x80 AutoCad units,
  5174.  which can be changed by `set size`.  `dxf` uses seven colors (white, red,
  5175.  yellow, green, cyan, blue and magenta), which can be changed only by
  5176.  modifying the source file.  If a black-and-white plotting device is used, the
  5177.  colors are mapped to differing line thicknesses.  See the description of the
  5178.  AutoCad print/plot command.
  5179. ?commands set terminal dxy800a
  5180. ?set terminal dxy800a
  5181. ?set term dxy800a
  5182. ?terminal dxy800a
  5183. ?term dxy800a
  5184. ?dxy800a
  5185.  This terminal driver supports the Roland DXY800A plotter.  It has no options.
  5186. ?commands set terminal eepic
  5187. ?set terminal eepic
  5188. ?set term eepic
  5189. ?terminal eepic
  5190. ?term eepic
  5191. ?eepic
  5192.  The `eepic` terminal driver supports the extended LaTeX picture environment.
  5193.  It is an alternative to the `latex` driver.
  5194.  
  5195.  The output of this terminal is intended for use with the "eepic.sty" macro
  5196.  package for LaTeX.  To use it, you need "eepic.sty", "epic.sty" and a
  5197.  printer driver that supports the "tpic" \specials.  If your printer driver
  5198.  doesn't support those \specials, "eepicemu.sty" will enable you to use some
  5199.  of them.
  5200.  
  5201.  Although dotted and dashed lines are possible with `eepic` and are tempting,
  5202.  they do not work well for high-sample-rate curves, fusing the dashes all
  5203.  together into a solid line.  For now, the `eepic` driver creates only solid
  5204.  lines.  There is another gnuplot driver (`tpic`) that supports dashed lines,
  5205.  but it cannot be used if your DVI driver doesn't support "tpic" \specials.
  5206.  
  5207.  All drivers for LaTeX offer a special way of controlling text positioning:
  5208.  If any text string begins with '{', you also need to include a '}' at the
  5209.  end of the text, and the whole text will be centered both horizontally
  5210.  and vertically by LaTeX. --- If the text string begins with '[', you need
  5211.  to continue it with: a position specification (up to two out of t,b,l,r),
  5212.  ']{', the text itself, and finally, '}'. The text itself may be anything
  5213.  LaTeX can typeset as an LR-box. \rule{}{}'s may help for best positioning.
  5214.  
  5215.  The `eepic` terminal has no options.
  5216.  
  5217.  Examples:
  5218.  About label positioning:
  5219.  Use gnuplot defaults (mostly sensible, but sometimes not really best):
  5220.         set title '\LaTeX\ -- $ \gamma $'
  5221.  Force centering both horizontally and vertically:
  5222.         set label '{\LaTeX\ -- $ \gamma $}' at 0,0
  5223.  Specify own positioning (top here):
  5224.         set xlabel '[t]{\LaTeX\ -- $ \gamma $}'
  5225.  The other label -- account for long ticlabels:
  5226.         set ylabel '[r]{\LaTeX\ -- $ \gamma $\rule{7mm}{0pt}'
  5227. ?commands set terminal emxvga
  5228. ?set terminal emxvga
  5229. ?set term emxvga
  5230. ?terminal emxvga
  5231. ?term emxvga
  5232. ?emxvga
  5233. ?commands set terminal emxvesa
  5234. ?set terminal emxvesa
  5235. ?set term emxvesa
  5236. ?terminal emxvesa
  5237. ?term emxvesa
  5238. ?emxvesa
  5239. ?commands set terminal vgal
  5240. ?set terminal vgal
  5241. ?set term vgal
  5242. ?terminal vgal
  5243. ?term vgal
  5244. ?vgal
  5245.  The `emxvga`, `emxvesa` and `vgal` terminal drivers support PCs with SVGA,
  5246.  vesa SVGA and VGA graphics boards, respectively.  They are intended to be
  5247.  compiled with "emx-gcc" under either DOS or OS/2.  They also need VESA and
  5248.  SVGAKIT maintained by Johannes Martin (JMARTIN@GOOFY.ZDV.UNI-MAINZ.DE) with
  5249.  additions by David J. Liu (liu@phri.nyu.edu).
  5250.  
  5251.  Syntax:
  5252.        set terminal emxvga
  5253.        set terminal emxvesa {vesa-mode}
  5254.        set terminal vgal
  5255.  
  5256.  The only option is the vesa mode for `emxvesa`, which defaults to G640x480x256.
  5257. ?commands set terminal epson-180dpi
  5258. ?set terminal epson-180dpi
  5259. ?set term epson-180dpi
  5260. ?terminal epson-180dpi
  5261. ?term epson-180dpi
  5262. ?epson-180dpi
  5263. ?commands set terminal epson-60dpi
  5264. ?set terminal epson-60dpi
  5265. ?set term epson-60dpi
  5266. ?terminal epson-60dpi
  5267. ?term epson-60dpi
  5268. ?epson-60dpi
  5269. ?commands set terminal epson-lx800
  5270. ?set terminal epson-lx800
  5271. ?set term epson-lx800
  5272. ?terminal epson-lx800
  5273. ?term epson-lx800
  5274. ?epson-lx800
  5275. ?commands set terminal nec-cp6
  5276. ?set terminal nec-cp6
  5277. ?set term nec-cp6
  5278. ?terminal nec-cp6
  5279. ?term nec-cp6
  5280. ?nec-cp6
  5281. ?commands set terminal okidata
  5282. ?set terminal okidata
  5283. ?set term okidata
  5284. ?terminal okidata
  5285. ?term okidata
  5286. ?okidata
  5287. ?commands set terminal starc
  5288. ?set terminal starc
  5289. ?set term starc
  5290. ?terminal starc
  5291. ?term starc
  5292. ?starc
  5293. ?commands set terminal tandy-60dpi
  5294. ?set terminal tandy-60dpi
  5295. ?set term tandy-60dpi
  5296. ?terminal tandy-60dpi
  5297. ?term tandy-60dpi
  5298. ?tandy-60dpi
  5299.  This driver supports a family of Epson printers and derivatives.
  5300.  
  5301.  `epson-180dpi` and `epson-60dpi` are drivers for Epson LQ-style 24-pin
  5302.  printers with resolutions of 180 and 60 dots per inch, respectively.
  5303.  
  5304.  `epson-lx800` is a generic 9-pin driver appropriate for printers like the
  5305.  Epson LX-800, the Star NL-10 and NX-1000, the PROPRINTER, and so forth.
  5306.  
  5307.  `nec-cp6` is generix 24-pin driver that can be used for printers like the
  5308.  NEC CP6 and the Epson LQ-800.
  5309.  
  5310.  The `okidata` driver supports the 9-pin OKIDATA 320/321 Standard printers.
  5311.  
  5312.  The `starc` driver is for the Star Color Printer.
  5313.  
  5314.  The `tandy-60dpi` driver is for the Tandy DMP-130 series of 9-pin, 60-dpi
  5315.  printers.
  5316.  
  5317.  Only `nec-cp6` has any options.
  5318.  
  5319.  Syntax:
  5320.        set terminal nec-cp6 {monochrome | colour | draft}
  5321.  
  5322.  which defaults to monochrome.
  5323.  
  5324.  With each of these drivers, a binary copy is required on a PC to print.  Do
  5325.  not use `print`---use instead `copy file /b lpt1:`.
  5326. ?commands set terminal excl
  5327. ?set terminal excl
  5328. ?set term excl
  5329. ?terminal excl
  5330. ?term excl
  5331. ?excl
  5332.  The `excl` terminal driver supports Talaris printers such as the EXCL Laser
  5333.  printer and the 1590.  It has no options.
  5334. ?commands set terminal hercules
  5335. ?set terminal hercules
  5336. ?set term hercules
  5337. ?terminal hercules
  5338. ?term hercules
  5339. ?hercules
  5340. ?commands set terminal egalib
  5341. ?set terminal egalib
  5342. ?set term egalib
  5343. ?terminal egalib
  5344. ?term egalib
  5345. ?egalib
  5346. ?commands set terminal egamono
  5347. ?set terminal egamono
  5348. ?set term egamono
  5349. ?terminal egamono
  5350. ?term egamono
  5351. ?egamono
  5352. ?commands set terminal vgalib
  5353. ?set terminal vgalib
  5354. ?set term vgalib
  5355. ?terminal vgalib
  5356. ?term vgalib
  5357. ?vgalib
  5358. ?commands set terminal vgamono
  5359. ?set terminal vgamono
  5360. ?set term vgamono
  5361. ?terminal vgamono
  5362. ?term vgamono
  5363. ?vgamono
  5364. ?commands set terminal svgalib
  5365. ?set terminal svgalib
  5366. ?set term svgalib
  5367. ?terminal svgalib
  5368. ?term svgalib
  5369. ?svgalib
  5370. ?commands set terminal ssvgalib
  5371. ?set terminal ssvgalib
  5372. ?set term ssvgalib
  5373. ?terminal ssvgalib
  5374. ?term ssvgalib
  5375. ?ssvgalib
  5376.  These drivers supports PC monitors with autodetected graphics boards.  They
  5377.  can be used only when compiled with Zortech C/C++.  None have options.
  5378. ?commands set terminal fig
  5379. ?set terminal fig
  5380. ?set term fig
  5381. ?terminal fig
  5382. ?term fig
  5383. ?fig
  5384.  The `fig` terminal device generates output in the Fig graphics language.
  5385.  
  5386.  Syntax:
  5387.        set terminal fig {monochrome | color} {small | big}
  5388.                         {pointsmax <max_points>}
  5389.                         {landscape | portrait}
  5390.                         {metric | inches}
  5391.                         {fontsize <fsize>}
  5392.                         {size <xsize> <ysize>}
  5393.                         {thickness <units>}
  5394.                         {depth <layer>}
  5395.  
  5396.  `monochrome` and `color` determine whether the picture is black-and-white or
  5397.  `color`.  `small` and `big` produce a 5x3 or 8x5 inch graph in the default
  5398.  `landscape` mode and 3x5 or 5x8 inches in `portrait` mode.  <max_points>
  5399.  sets the maximum number of points per polyline.  Default units for editing
  5400.  with "xfig" may be `metric` or `inches`.  `fontsize` sets the size of the
  5401.  text font to <fsize> points.  `size` sets (overrides) the size of the drawing
  5402.  area to <xsize>*<ysize> in units of inches or centimeters depending on the
  5403.  `inches` or `metric` setting in effect.  `depth` sets the default depth layer
  5404.  for all lines and text.  The default depth is 10 to leave room for adding
  5405.  material with "xfig" on top of the plot.
  5406.  
  5407.  `thickness` sets the default line thickness, which is 1 if not specified.
  5408.  Overriding the thickness can be achieved by adding a multiple of 100 to the
  5409.  to the `linetype` value for a `plot` command.  In a similar way the `depth`
  5410.  of plot elements (with respect to the default depth) can be controlled by
  5411.  adding a multiple of 1000 to <linetype>.  The depth is then <layer> +
  5412.  <linetype>/1000 and the thickness is (<linetype>%1000)/100 or, if that is
  5413.  zero, the default line thickness.
  5414.  
  5415.  Additional point-plot symbols are also available with the `fig` driver. The
  5416.  symbols can be used through `pointtype` values % 100 above 50, with different
  5417.  fill intensities controlled by <pointtype> % 5 and outlines in black (for
  5418.  <pointtype> % 10 < 5) or in the current color.  Available symbols are
  5419.          50 - 59:  circles
  5420.          60 - 69:  squares
  5421.          70 - 79:  diamonds
  5422.          80 - 89:  upwards triangles
  5423.          90 - 99:  downwards triangles
  5424.  The size of these symbols is linked to the font size.  The depth of symbols
  5425.  is by default one less than the depth for lines to achieve nice error bars.
  5426.  If <pointtype> is above 1000, the depth is <layer> + <pointtype>/1000-1.  If
  5427.  <pointtype>%1000 is above 100, the fill color is (<pointtype>%1000)/100-1.
  5428.  
  5429.  Available fill colors are (from 1 to 9): black, blue, green, cyan, red,
  5430.  magenta, yellow, white and dark blue (in monochrome mode: black for 1 to 6
  5431.  and white for 7 to 9).
  5432.  
  5433.  See `plot with` for details of <linetype> and <pointtype>.
  5434.  
  5435.  The `big` option is a substitute for the `bfig` terminal in earlier versions,
  5436.  which is no longer supported.
  5437.  
  5438.  Examples:
  5439.        set terminal fig monochrome small pointsmax 1000  # defaults
  5440.  
  5441.        plot 'file.dat' with points linetype 102 pointtype 759
  5442.  would produce circles with a blue outline of width 1 and yellow fill color.
  5443.  
  5444.        plot 'file.dat' using 1:2:3 with err linetype 1 pointtype 554
  5445.  would produce errorbars with black lines and circles filled red.  These
  5446.  circles are one layer above the lines (at depth 9 by default).
  5447.  
  5448.  To plot the error bars on top of the circles use
  5449.        plot 'file.dat' using 1:2:3 with err linetype 1 pointtype 2554
  5450. ?commands set terminal gif
  5451. ?set terminal gif
  5452. ?set term gif
  5453. ?terminal gif
  5454. ?term gif
  5455. ?gif
  5456.  The `gif` terminal driver generates output in GIF format.  It uses Thomas
  5457.  Boutell's gd library, which is available from http://www.boutell.com/gd/
  5458.  
  5459.  By default, the `gif` terminal driver uses a shared Web-friendy palette.
  5460.  Syntax:
  5461.        set terminal gif {transparent} {interlace}
  5462.                         {tiny | small | medium | large | giant}
  5463.                         {size <x>,<y>}
  5464.                         {<color0> <color1> <color2> ...}
  5465.  
  5466.  `transparent` instructs the driver to generate transparent GIFs.  The first
  5467.  color will be the transparent one.
  5468.  
  5469.  `interlace` instructs the driver to generate interlaced GIFs.
  5470.  
  5471.  The choice of fonts is `tiny` (5x8 pixels), `small` (6x12 pixels), `medium`
  5472.  (7x13 Bold), `large` (8x16) or `giant` (9x15 pixels)
  5473.  
  5474.  The size <x,y> is given in pixels---it defaults to 640x480.  The number of
  5475.  pixels can be also modified by scaling with the `set size` command.
  5476.  
  5477.  Each color must be of the form 'xrrggbb', where x is the literal character
  5478.  'x' and 'rrggbb' are the red, green and blue components in hex.  For example,
  5479.  'x00ff00' is green.  The background color is set first, then the border
  5480.  colors, then the X & Y axis colors, then the plotting colors.  The maximum
  5481.  number of colors that can be set is 256.
  5482.  
  5483.  Examples:
  5484.        set terminal gif small size 640,480 \
  5485.                         xffffff x000000 x404040 \
  5486.                         xff0000 xffa500 x66cdaa xcdb5cd \
  5487.                         xadd8e6 x0000ff xdda0dd x9500d3    # defaults
  5488.  
  5489.  which uses white for the non-transparent background, black for borders, gray
  5490.  for the axes, and red, orange, medium aquamarine, thistle 3, light blue, blue,
  5491.  plum and dark violet for eight plotting colors.
  5492.  
  5493.        set terminal gif transparent xffffff \
  5494.                         x000000 x202020 x404040 x606060 \
  5495.                         x808080 xA0A0A0 xC0C0C0 xE0E0E0 \
  5496.  which uses white for the transparent background, black for borders, dark
  5497.  gray for axes, and a gray-scale for the six plotting colors.
  5498.  
  5499.  The page size is 640x480 pixels.  The `gif` driver can create either color
  5500.  or monochromatic output, but you have no control over which is produced.
  5501.  
  5502.  The current version of the `gif` driver does not support animated GIFs.
  5503. ?commands set terminal unixplot
  5504. ?set terminal unixplot
  5505. ?set term unixplot
  5506. ?terminal unixplot
  5507. ?term unixplot
  5508. ?unixplot
  5509.  The `unixplot` driver produces device-independent output in the GNU plot
  5510.  graphics language.  The default size of the PostScript results generated by
  5511.  "plot2ps" is 5 x 3 inches; this can be increased up to about 8.25 x 8.25 by
  5512.  `set size`.
  5513.  
  5514.  Syntax:
  5515.        set terminal unixplot {"<fontname>"} {<fontsize>}
  5516.  
  5517.  which defaults to 10-point "Courier".
  5518.  
  5519.  There is a non-GNU version of the `unixplot` driver which cannot be compiled
  5520.  unless this version is left out.
  5521. ?commands set terminal gpic
  5522. ?set terminal gpic
  5523. ?set term gpic
  5524. ?terminal gpic
  5525. ?term gpic
  5526. ?gpic
  5527.  The `gpic` terminal driver generates GPIC graphs in the Free Software
  5528.  Foundations's "groff" package.  The default size is 5 x 3 inches.  The only
  5529.  option is the origin, which defaults to (0,0).
  5530.  
  5531.  Syntax:
  5532.        set terminal gpic {<x> <y>}
  5533.  
  5534.  where `x` and `y` are in inches.
  5535.  
  5536.  A simple graph can be formatted using
  5537.  
  5538.        groff -p -mpic -Tps file.pic > file.ps.
  5539.  
  5540.  The output from pic can be pipe-lined into eqn, so it is possible to put
  5541.  complex functions in a graph with the `set label` and `set {x/y}label`
  5542.  commands.  For instance,
  5543.  
  5544.        set ylab '@space 0 int from 0 to x alpha ( t ) roman d t@'
  5545.  
  5546.  will label the y axis with a nice integral if formatted with the command:
  5547.  
  5548.        gpic filename.pic | geqn -d@@ -Tps | groff -m[macro-package] -Tps
  5549.            > filename.ps
  5550.  
  5551.  Figures made this way can be scaled to fit into a document.  The pic language
  5552.  is easy to understand, so the graphs can be edited by hand if need be.  All
  5553.  co-ordinates in the pic-file produced by `gnuplot` are given as x+gnuplotx
  5554.  and y+gnuploty.  By default x and y are given the value 0.  If this line is
  5555.  removed with an editor in a number of files, one can put several graphs in
  5556.  one figure like this (default size is 5.0x3.0 inches):
  5557.  
  5558.        .PS 8.0
  5559.        x=0;y=3
  5560.        copy "figa.pic"
  5561.        x=5;y=3
  5562.        copy "figb.pic"
  5563.        x=0;y=0
  5564.        copy "figc.pic"
  5565.        x=5;y=0
  5566.        copy "figd.pic"
  5567.        .PE
  5568.  
  5569.  This will produce an 8-inch-wide figure with four graphs in two rows on top
  5570.  of each other.
  5571.  
  5572.  One can also achieve the same thing by the command
  5573.  
  5574.        set terminal gpic x y
  5575.  
  5576.  for example, using
  5577.  
  5578.        .PS 6.0
  5579.        copy "trig.pic"
  5580.        .PE
  5581. ?commands set terminal gpr
  5582. ?set terminal gpr
  5583. ?set term gpr
  5584. ?terminal gpr
  5585. ?term gpr
  5586. ?gpr
  5587.  The `gpr` terminal driver supports the Apollo Graphics Primitive Resource
  5588.  for a fixed-size window.  It has no options.
  5589.  
  5590.  If a variable window size is desired, use the `apollo` terminal instead.
  5591. ?commands set terminal grass
  5592. ?set terminal grass
  5593. ?set term grass
  5594. ?terminal grass
  5595. ?term grass
  5596. ?grass
  5597.  The `grass` terminal driver gives `gnuplot` capabilities to users of the 
  5598.  GRASS geographic information system.  Contact grassp-list@moon.cecer.army.mil
  5599.  for more information.  Pages are written to the current frame of the GRASS
  5600.  Graphics Window.  There are no options.
  5601. ?commands set terminal hp2623a
  5602. ?set terminal hp2623a
  5603. ?set term hp2623a
  5604. ?terminal hp2623a
  5605. ?term hp2623a
  5606. ?hp2623a
  5607.  The `hp2623a` terminal driver supports the Hewlett Packard HP2623A.  It has
  5608.  no options.
  5609. ?commands set terminal hp2648
  5610. ?set terminal hp2648
  5611. ?set term hp2648
  5612. ?terminal hp2648
  5613. ?term hp2648
  5614. ?hp2648
  5615.  The `hp2648` terminal driver supports the Hewlett Packard HP2647 and HP2648.
  5616.  It has no options.
  5617. ?commands set terminal hp500c
  5618. ?set terminal hp500c
  5619. ?set term hp500c
  5620. ?terminal hp500c
  5621. ?term hp500c
  5622. ?hp500c
  5623.  The `hp500c` terminal driver supports the Hewlett Packard HP DeskJet 500c.
  5624.  It has options for resolution and compression.
  5625.  
  5626.  Syntax:
  5627.        set terminal hp500c {<res>} {<comp>}
  5628.  
  5629.  where `res` can be 75, 100, 150 or 300 dots per inch and `comp` can be "rle",
  5630.  or "tiff".  Any other inputs are replaced by the defaults, which are 75 dpi
  5631.  and no compression.  Rasterization at the higher resolutions may require a
  5632.  large amount of memory.
  5633. ?commands set terminal hpgl
  5634. ?set terminal hpgl
  5635. ?set term hpgl
  5636. ?terminal hpgl
  5637. ?term hpgl
  5638. ?hpgl
  5639. ?commands set terminal pcl5
  5640. ?set terminal pcl5
  5641. ?set term pcl5
  5642. ?terminal pcl5
  5643. ?term pcl5
  5644. ?pcl5
  5645.  The `hpgl` driver produces HPGL output for devices like the HP7475A plotter.
  5646.  There are two options which can be set---the number of pens and "eject", which
  5647.  tells the plotter to eject a page when done.  The default is to use 6 pens
  5648.  and not to eject the page when done.
  5649.  
  5650.  The international character sets ISO-8859-1 and CP850 are recognized via
  5651.  `set encoding iso_8859_1` or `set encoding cp850` (see `set encoding` for
  5652.  details).
  5653.  
  5654.  Syntax:
  5655.        set terminal hpgl {<number_of_pens>} {eject}
  5656.  
  5657.  The selection
  5658.  
  5659.        set terminal hpgl 8 eject
  5660.  
  5661.  is equivalent to the previous `hp7550` terminal, and the selection
  5662.  
  5663.        set terminal hpgl 4
  5664.  
  5665.  is equivalent to the previous `hp7580b` terminal.
  5666.  
  5667.  The `pcl5` driver supports the Hewlett-Packard Laserjet III.  It actually uses
  5668.  HPGL-2, but there is a name conflict among the terminal devices.  It has
  5669.  several options
  5670.  
  5671.  Syntax:
  5672.        set terminal pcl5 {<mode>} {<font>} {<fontsize>}
  5673.  
  5674.  where <mode> is `landscape`, or `portrait`, <font> is `stick`, `univers`, or
  5675.  `cg_times`, and <fontsize> is the size in points.
  5676.  
  5677.  With `pcl5` international characters are handled by the printer; you just put
  5678.  the appropriate 8-bit character codes into the text strings.  You don't need
  5679.  to bother with `set encoding`.
  5680.  
  5681.  HPGL graphics can be imported by many software packages.
  5682. ?commands set terminal hpljii
  5683. ?set terminal hpljii
  5684. ?set term hpljii
  5685. ?terminal hpljii
  5686. ?term hpljii
  5687. ?hpljii
  5688. ?commands set terminal hpdj
  5689. ?set terminal hpdj
  5690. ?set term hpdj
  5691. ?terminal hpdj
  5692. ?term hpdj
  5693. ?hpdj
  5694.  The `hpljii` terminal driver supports the HP Laserjet Series II printer.  The
  5695.  `hpdj` driver supports the HP DeskJet 500 printer.  These drivers allow a
  5696.  choice of resolutions.
  5697.  
  5698.  Syntax:
  5699.        set terminal hpljii | hpdj {<res>}
  5700.  
  5701.  where `res` may be 75, 100, 150 or 300 dots per inch; the default is 75.
  5702.  Rasterization at the higher resolutions may require a large amount of memory.
  5703.  
  5704.  The `hp500c` terminal is similar to `hpdj`; `hp500c` additionally supports
  5705.  color and compression.
  5706. ?commands set terminal hppj
  5707. ?set terminal hppj
  5708. ?set term hppj
  5709. ?terminal hppj
  5710. ?term hppj
  5711. ?hppj
  5712.  The `hppj` terminal driver supports the HP PaintJet and HP3630 printers.  The
  5713.  only option is the choice of font.
  5714.  
  5715.  Syntax:
  5716.        set terminal hppj {FNT5X9 | FNT9X17 | FNT13X25}
  5717.  
  5718.  with the middle-sized font (FNT9X17) being the default.
  5719. ?commands set terminal imagen
  5720. ?set terminal imagen
  5721. ?set term imagen
  5722. ?terminal imagen
  5723. ?term imagen
  5724. ?imagen
  5725.  The `imagen` terminal driver supports Imagen laser printers.  It is capable
  5726.  of placing multiple graphs on a single page.
  5727.  
  5728.  Syntax:
  5729.        set terminal imagen {<fontsize>} {portrait | landscape}
  5730.                            {[<horiz>,<vert>]}
  5731.  
  5732.  where `fontsize` defaults to 12 points and the layout defaults to `landscape`.
  5733.  `<horiz>` and `<vert>` are the number of graphs in the horizontal and
  5734.  vertical directions; these default to unity.
  5735.  
  5736.  Example:
  5737.        set terminal imagen portrait [2,3]
  5738.  
  5739.  puts six graphs on the page in three rows of two in portrait orientation.
  5740. ?commands set terminal iris4d
  5741. ?set terminal iris4d
  5742. ?set term iris4d
  5743. ?terminal iris4d
  5744. ?term iris4d
  5745. ?iris4d
  5746.  The `iris4d` terminal driver supports Silicon Graphics IRIS 4D computers.
  5747.  Its only option is 8- or 24-bit color depth.  The default is 8.
  5748.  
  5749.  Syntax:
  5750.        set terminal iris4d {8 | 24}
  5751.  
  5752.  The color depth is not really a choice -- the value appropriate for the
  5753.  hardware should be selected.
  5754.  
  5755.  When using 24-bit mode, the colors can be directly specified via the file
  5756.  .gnuplot_iris4d that is searched in the current directory and then in the
  5757.  home directory specified by the HOME environment variable.  This file holds
  5758.  RGB values for the background, border, labels and nine plotting colors, in
  5759.  that order.  For example, here is a file containing the default colors:
  5760.  
  5761.        85   85   85     Background   (dark gray)
  5762.        0    0    0      Boundary     (black)
  5763.        170  0    170    Labeling     (magenta)
  5764.        85   255  255    Plot Color 1 (light cyan)
  5765.        170  0    0      Plot Color 2 (red)
  5766.        0    170  0      Plot Color 3 (green)
  5767.        255  85   255    Plot Color 4 (light magenta)
  5768.        255  255  85     Plot Color 5 (yellow)
  5769.        255  85   85     Plot Color 6 (light red)
  5770.        85   255  85     Plot Color 7 (light green)
  5771.        0    170  170    Plot Color 8 (cyan)
  5772.        170  170  0      Plot Color 9 (brown)
  5773.  
  5774.  This file must have exactly 12 lines of RGB triples.  No empty lines are
  5775.  allowed, and anything after the third number on a line is ignored.
  5776. ?commands set terminal kyo
  5777. ?set terminal kyo
  5778. ?set term kyo
  5779. ?terminal kyo
  5780. ?term kyo
  5781. ?kyo
  5782. ?commands set terminal prescribe
  5783. ?set terminal prescribe
  5784. ?set term prescribe
  5785. ?terminal prescribe
  5786. ?term prescribe
  5787. ?prescribe
  5788.  The `kyo` and `prescribe` terminal drivers support the Kyocera laser printer.
  5789.  The only difference between the two is that `kyo` uses "Helvetica" whereas
  5790.  `prescribe` uses "Courier".  There are no options.
  5791. ?commands set terminal emtex
  5792. ?set terminal emtex
  5793. ?set term emtex
  5794. ?terminal emtex
  5795. ?term emtex
  5796. ?latex
  5797. ?commands set terminal latex
  5798. ?set terminal latex
  5799. ?set term latex
  5800. ?terminal latex
  5801. ?term latex
  5802. ?emtex
  5803.  The `latex` and `emtex` drivers allow two options.
  5804.  
  5805.  Syntax:
  5806.        set terminal latex | emtex {courier | roman | default} {<fontsize>}
  5807.  
  5808.  `fontsize` may be any size you specify.  The default is for the plot to
  5809.  inherit its font setting from the embedding document.
  5810.  
  5811.  Unless your driver is capable of building fonts at any size (e.g. dvips),
  5812.  stick to the standard 10, 11 and 12 point sizes.
  5813.  
  5814.  METAFONT users beware: METAFONT does not like odd sizes.
  5815.  
  5816.  All drivers for LaTeX offer a special way of controlling text positioning:
  5817.  If any text string begins with '{', you also need to include a '}' at the
  5818.  end of the text, and the whole text will be centered both horizontally and
  5819.  vertically.  If the text string begins with '[', you need to follow this with
  5820.  a position specification (up to two out of t,b,l,r), ']{', the text itself,
  5821.  and finally '}'.  The text itself may be anything LaTeX can typeset as an
  5822.  LR-box.  '\rule{}{}'s may help for best positioning.
  5823.  
  5824.  Points, among other things, are drawn using the LaTeX commands "\Diamond" and
  5825.  "\Box".  These commands no longer belong to the LaTeX2e core; they are included
  5826.  in the latexsym package, which is part of the base distribution and thus part
  5827.  of any LaTeX implementation.  Please do not forget to use this package.
  5828.  
  5829.  Points are drawn with the LaTex commands \Diamond and \Box.  These
  5830.  commands do no longer belong to the LaTeX2e core, but are included in the
  5831.  latexsym-package in the base distribution, and are hence part of all LaTeX
  5832.  implementations. Please do not forget to use this package.
  5833.  
  5834.  Examples:
  5835.  About label positioning:
  5836.  Use gnuplot defaults (mostly sensible, but sometimes not really best):
  5837.         set title '\LaTeX\ -- $ \gamma $'
  5838.  Force centering both horizontally and vertically:
  5839.         set label '{\LaTeX\ -- $ \gamma $}' at 0,0
  5840.  Specify own positioning (top here):
  5841.         set xlabel '[t]{\LaTeX\ -- $ \gamma $}'
  5842.  The other label -- account for long ticlabels:
  5843.         set ylabel '[r]{\LaTeX\ -- $ \gamma $\rule{7mm}{0pt}'
  5844. ?commands set terminal linux
  5845. ?set terminal linux
  5846. ?set term linux
  5847. ?terminal linux
  5848. ?term linux
  5849. ?linux
  5850.  The `linux` driver has no additional options to specify.  It looks at the
  5851.  environment variable GSVGAMODE for the default mode; if not set, it uses
  5852.  1024x768x256 as default mode or, if that is not possible, 640x480x16
  5853.  (standard VGA).
  5854. ?set terminal macintosh
  5855. ?set term macintosh
  5856. ?terminal macintosh
  5857. ?term macintosh
  5858. ?macintosh
  5859.  Several options may be set in the 'macintosh' driver.
  5860.  
  5861.  Syntax:
  5862.       set terminal macintosh {singlewin | multiwin} {vertical | novertical}
  5863.                              {size <width>, <height> | default}
  5864.  
  5865.  'singlewin' limits the output to a single window and is useful for animations.
  5866.  'multiwin' allows multiple windows.
  5867.  'vertical' is only valid under the gx option. With this option, rotated text
  5868.      be drawn vertically. novertical turns this option off.
  5869.   size <width>, <height> overrides the graph size set in the preferences
  5870.      dialog until it is cleared with either 'set term mac size default'
  5871.      or 'set term mac default'.
  5872.  
  5873.   'set term mac size default' sets the window size settings to those set in
  5874.      the preferences dialog.
  5875.  
  5876.   'set term mac default' sets all options to their default values.
  5877.      Default values: nogx, multiwin, novertical.
  5878.  
  5879.   If you generate graphs under the multiwin option and then switch to singlewin,
  5880.   the next plot command will cause one more window to be created. This new
  5881.   window will be reused as long as singlewin is in effect. If you switch back
  5882.   to multiwin, generate some graphs, and then switch to singlewin again, the
  5883.   orginal 'singlewin' window will be resused if it is still open. Otherwise
  5884.   a new 'singlewin' window will be created. The 'singlewin' window is not numbered.
  5885. ?commands set terminal mf
  5886. ?set terminal mf
  5887. ?set term mf
  5888. ?terminal mf
  5889. ?term mf
  5890. ?mf
  5891. ?metafont
  5892.  The `mf` terminal driver creates a input file to the METAFONT program.  Thus a
  5893.  figure may be used in the TeX document in the same way as is a character.
  5894.  
  5895.  To use a picture in a document, the METAFONT program must be run with the
  5896.  output file from `gnuplot` as input.  Thus, the user needs a basic knowledge
  5897.  of the font creating process and the procedure for including a new font in a
  5898.  document.  However, if the METAFONT program is set up properly at the local
  5899.  site, an unexperienced user could perform the operation without much trouble.
  5900.  
  5901.  The text support is based on a METAFONT character set.  Currently the
  5902.  Computer Modern Roman font set is input, but the user is in principal free to
  5903.  chose whatever fonts he or she needs.  The METAFONT source files for the
  5904.  chosen font must be available.  Each character is stored in a separate
  5905.  picture variable in METAFONT.  These variables may be manipulated (rotated,
  5906.  scaled etc.) when characters are needed.  The drawback is the interpretation
  5907.  time in the METAFONT program.  On some machines (i.e. PC) the limited amount
  5908.  of memory available may also cause problems if too many pictures are stored.
  5909.  
  5910.  The `mf` terminal has no options.
  5911. ?commands set terminal mf detailed
  5912. ?set terminal mf detailed
  5913. ?set term mf detailed
  5914. ?mf detailed
  5915. ?metafont detailed
  5916.  
  5917.  - Set your terminal to METAFONT:
  5918.    set terminal mf
  5919.  - Select an output-file, e.g.:
  5920.    set output "myfigures.mf"
  5921.  - Create your pictures. Each picture will generate a separate character. Its
  5922.  default size will be 5*3 inches. You can change the size by saying `set size
  5923.  0.5,0.5` or whatever fraction of the default size you want to have.
  5924.  
  5925.  - Quit `gnuplot`.
  5926.  
  5927.  - Generate a TFM and GF file by running METAFONT on the output of `gnuplot`.
  5928.  Since the picture is quite large (5*3 in), you will have to use a version of
  5929.  METAFONT that has a value of at least 150000 for memmax.  On Unix systems
  5930.  these are conventionally installed under the name bigmf.  For the following
  5931.  assume that the command virmf stands for a big version of METAFONT.  For
  5932.  example:
  5933.  
  5934.  - Invoke METAFONT:
  5935.      virmf '&plain'
  5936.  - Select the output device: At the METAFONT prompt ('*') type:
  5937.      \mode:=CanonCX;     % or whatever printer you use
  5938.  - Optionally select a magnification:
  5939.      mag:=1;             % or whatever you wish
  5940.  - Input the `gnuplot`-file:
  5941.      input myfigures.mf
  5942.  On a typical Unix machine there will usually be a script called "mf" that
  5943.  executes virmf '&plain', so you probably can substitute mf for virmf &plain.
  5944.  This will generate two files: mfput.tfm and mfput.$$$gf (where $$$ indicates
  5945.  the resolution of your device).  The above can be conveniently achieved by
  5946.  typing everything on the command line, e.g.:
  5947.  virmf '&plain' '\mode:=CanonCX; mag:=1; input myfigures.mf'
  5948.  In this case the output files will be named myfigures.tfm and
  5949.  myfigures.300gf.
  5950.  
  5951.  - Generate a PK file from the GF file using gftopk:
  5952.    gftopk myfigures.300gf myfigures.300pk
  5953.  The name of the output file for gftopk depends on the DVI driver you use.
  5954.  Ask your local TeX administrator about the naming conventions.  Next, either
  5955.  install the TFM and PK files in the appropriate directories, or set your
  5956.  environment variables properly.  Usually this involves setting TEXFONTS to
  5957.  include the current directory and doing the same thing for the environment
  5958.  variable that your DVI driver uses (no standard name here...).  This step is
  5959.  necessary so that TeX will find the font metric file and your DVI driver will
  5960.  find the PK file.
  5961.  
  5962.  - To include your pictures in your document you have to tell TeX the font:
  5963.    \font\gnufigs=myfigures
  5964.  Each picture you made is stored in a single character.  The first picture is
  5965.  character 0, the second is character 1, and so on...  After doing the above
  5966.  step, you can use the pictures just like any other characters.  Therefore, to
  5967.  place pictures 1 and 2 centered in your document, all you have to do is:
  5968.    \centerline{\gnufigs\char0}
  5969.    \centerline{\gnufigs\char1}
  5970.  in plain TeX.  For LaTeX you can, of course, use the picture environment and
  5971.  place the picture wherever you wish by using the \makebox and \put macros.
  5972.  
  5973.  This conversion saves you a lot of time once you have generated the font;
  5974.  TeX handles the pictures as characters and uses minimal time to place them,
  5975.  and the documents you make change more often than the pictures do.  It also
  5976.  saves a lot of TeX memory.  One last advantage of using the METAFONT driver
  5977.  is that the DVI file really remains device independent, because no \special
  5978.  commands are used as in the eepic and tpic drivers.
  5979. ?commands set terminal mpost
  5980. ?set terminal mp
  5981. ?set term mp
  5982. ?terminal mp
  5983. ?term mp
  5984. ?mp
  5985. ?metapost
  5986.  
  5987.  The `mp` driver produces output intended to be input to the Metapost program.
  5988.  Running Metapost on the file creates EPS files containing the plots. By
  5989.  default, Metapost passes all text through TeX.  This has the advantage of
  5990.  allowing essentially  any TeX symbols in titles and labels.
  5991.  
  5992.  The `mp` terminal is selected with a command of the form
  5993.     set term mp {color} {solid} {notex} {mag <magsize>} {"<name>"} {<size>}
  5994.  The option `color` causes lines to be drawn in color (on a printer or display
  5995.  that supports it), `monochrome` (or nothing) selects black lines.  The option
  5996.  `solid` draws solid lines, while `dashed` (or nothing) selects lines with
  5997.  different patterns of dashes.  If `solid` is selected but `color` is not,
  5998.  nearly all lines will be identical.  This may occasionally be useful, so it is
  5999.  allowed.
  6000.  
  6001.  The option `notex` bypasses TeX entirely, therefore no TeX code can be used in
  6002.  labels under this option.  This is intended for use on old plot files or files
  6003.  that make frequent use of common characters like `$` and `%` that require
  6004.  special handling in TeX.
  6005.  
  6006.  Changing font sizes in TeX has no effect on the size of mathematics, and there
  6007.  is no foolproof way to make such a change, except by globally  setting a
  6008.  magnification factor. This is the purpose of the `magnification` option. It
  6009.  must be followed by a scaling factor. All text (NOT the graphs) will be scaled
  6010.  by this factor. Use this if you have math that you want at some size other
  6011.  than the default 10pt. Unfortunately, all math will be the same size, but see
  6012.  the discussion below on editing the MP output. `mag` will also work under
  6013.  `notex` but there seems no point in using it as the font size option (below)
  6014.  works as well.
  6015.  
  6016.  A name in quotes selects the font that will be used when no explicit font is
  6017.  given in a `set label` or `set title`.  A name recognized by TeX (a TFM file
  6018.  exists) must be used.  The default is "cmr10" unless `notex` is selected,
  6019.  then it is "pcrr8r" (Courier).  Even under `notex`, a TFM file is needed by
  6020.  Metapost. The file `pcrr8r.tfm` is the name given to Courier in LaTeX's psnfss
  6021.  package.  If you change the font from the `notex` default, choose a font that
  6022.  matches the ASCII encoding at least in the range 32-126.  `cmtt10` almost
  6023.  works, but it has a nonblank character in position 32 (space).
  6024.  
  6025.  The size can be any number between 5.0 and 99.99.  If it is omitted, 10.0 is
  6026.  used.  It is advisable to use `magstep` sizes: 10 times an integer or
  6027.  half-integer power of 1.2, rounded to two decimals, because those are the most
  6028.  available sizes of fonts in TeX systems.
  6029.  
  6030.  All the options are optional.  If font information is given, it must be at the
  6031.  end, with size (if present) last.  The size is needed to select a size for the
  6032.  font, even if the font name includes size information.  For example,
  6033.  `set term mp "cmtt12"` selects cmtt12 shrunk to the default size 10.  This
  6034.  is probably not what you want or you would have used cmtt10.
  6035.  
  6036.  The following common ascii characters need special treatment in TeX:
  6037.     $, &, #, %, _;  |, <, >;  ^, ~,  \, {, and }
  6038.  The five characters $, #, &, _, and % can simply be escaped, e.g., `\$`.
  6039.  The three characters <, >, and | can be wrapped in math mode, e.g., `$<$`.
  6040.  The remainder require some TeX work-arounds.  Any good book on TeX will give
  6041.  some guidance.
  6042.  
  6043.  If you type your labels inside double quotes, backslashes in TeX code need to
  6044.  be escaped (doubled). Using single quotes will avoid having to do this, but
  6045.  then you cannot use `\n` for line breaks.  As of this writing, version 3.7 of
  6046.  gnuplot processess titles given in a `plot` command differently than in other
  6047.  places, and backslashes in TeX commands need to be doubled regardless of the
  6048.  style of quotes.
  6049.  
  6050.  Metapost pictures are typically used in TeX documents.  Metapost deals with
  6051.  fonts pretty much the same way TeX does, which is different from most other
  6052.  document preparation programs.  If the picture is included in a LaTeX document
  6053.  using the graphics package, or in a plainTeX document via epsf.tex, and then
  6054.  converted to PostScript with dvips (or other dvi-to-ps converter), the text in
  6055.  the plot will usually be handled correctly.  However, the text may not appear
  6056.  if you send the Metapost output as-is to a PostScript interpreter.
  6057.  
  6058. ?commands set terminal mp detailed
  6059. ?set terminal mp detailed
  6060. ?set term mp detailed
  6061. ?mp detailed
  6062. ?metapost detailed
  6063.  
  6064.  - Set your terminal to Metapost, e.g.:
  6065.     set terminal mp mono "cmtt12" 12
  6066.  
  6067.  - Select an output-file, e.g.:
  6068.     set output "figure.mp"
  6069.  
  6070.  - Create your pictures.  Each plot (or multiplot group) will generate a
  6071.  separate Metapost beginfig...endfig group.  Its default size will be 5 by 3
  6072.  inches.  You can change the size by saying `set size 0.5,0.5` or whatever
  6073.  fraction of the default size you want to have.
  6074.  
  6075.  - Quit gnuplot.
  6076.  
  6077.  - Generate EPS files by running Metapost on the output of gnuplot:
  6078.     mpost figure.mp  OR  mp figure.mp
  6079.  The name of the Metapost program depends on the system, typically `mpost` for
  6080.  a Unix machine and `mp` on many others.  Metapost will generate one EPS file
  6081.  for each picture.
  6082.  
  6083.  - To include your pictures in your document you can use the graphics package
  6084.  in LaTeX or epsf.tex in plainTeX:
  6085.     \usepackage{graphics} % LaTeX
  6086.     \input epsf.tex       % plainTeX
  6087.  If you use a driver other than dvips for converting TeX DVI output to PS, you
  6088.  may need to add the following line in your LaTeX document:
  6089.     \DeclareGraphicsRule{*}{eps}{*}{}
  6090.  Each picture you made is in a separate file.  The first picture is in, e.g.,
  6091.  figure.0, the second in figure.1, and so on....  To place the third picture in
  6092.  your document, for example, all you have to do is:
  6093.     \includegraphics{figure.2} % LaTeX
  6094.     \epsfbox{figure.2}         % plainTeX
  6095.  
  6096.  The advantage, if any, of the mp terminal over a postscript terminal is
  6097.  editable output.  Considerable effort went into making this output as clean as
  6098.  possible.  For those knowledgeable in the Metapost language, the default line
  6099.  types and colors can be changed by editing the arrays `lt[]` and `col[]`.
  6100.  The choice of solid vs dashed lines, and color vs black lines can be change by
  6101.  changing the values assigned to the booleans `dashedlines` and `colorlines`.
  6102.  If the default `tex` option was in effect, global changes to the text of
  6103.  labels can be achieved by editing the `vebatimtex...etex` block.  In
  6104.  particular, a LaTeX preamble can be added if desired, and then LaTeX's
  6105.  built-in size changing commands can be used for maximum flexibility. Be sure
  6106.  to set the appropriate MP configuration variable to force Metapost to run
  6107.  LaTeX instead of plainTeX.
  6108. ?commands set terminal mgr
  6109. ?set terminal mgr
  6110. ?set term mgr
  6111. ?terminal mgr
  6112. ?term mgr
  6113. ?mgr
  6114.  The `mgr` terminal driver supports the Mgr Window system.  It has no options.
  6115. ?commands set terminal mif
  6116. ?set terminal mif
  6117. ?set term mif
  6118. ?terminal mif
  6119. ?term mif
  6120. ?mif
  6121.  The `mif` terminal driver produces Frame Maker MIF format version 3.00.  It
  6122.  plots in MIF Frames with the size 15*10 cm, and plot primitives with the same
  6123.  pen will be grouped in the same MIF group.  Plot primitives in a `gnuplot`
  6124.  page will be plotted in a MIF Frame, and several MIF Frames are collected in
  6125.  one large MIF Frame.  The MIF font used for text is "Times".
  6126.  
  6127.  Several options may be set in the MIF 3.00 driver.
  6128.  
  6129.  Syntax:
  6130.        set terminal mif {colour | monochrome} {polyline | vectors}
  6131.                         {help | ?}
  6132.  
  6133.  `colour` plots lines with line types >= 0 in colour (MIF sep. 2--7) and
  6134.  `monochrome` plots all line types in black (MIF sep. 0).
  6135.  `polyline` plots curves as continuous curves and `vectors` plots curves as
  6136.  collections of vectors.
  6137.  `help` and `?` print online help on standard error output---both print a
  6138.  short description of the usage; `help` also lists the options;
  6139.  
  6140.  Examples:
  6141.        set term mif colour polylines    # defaults
  6142.        set term mif                     # defaults
  6143.        set term mif vectors
  6144.        set term mif help
  6145. ?commands set terminal mtos
  6146. ?set terminal mtos
  6147. ?set term mtos
  6148. ?terminal mtos
  6149. ?term mtos
  6150. ?mtos
  6151.  The `mtos` terminal has no options.  It sends data via a pipe to an external
  6152.  program called GPCLIENT.  It runs under MULTITOS, Magic 3.x, MagicMAC. and
  6153.  MiNT.  If you cannot find GPCLIENT, than mail to dirk@lstm.uni-erlangen.de.
  6154. ?commands set terminal next
  6155. ?set terminal next
  6156. ?set term next
  6157. ?terminal next
  6158. ?term next
  6159. ?next
  6160. ?NeXT
  6161.  Several options may be set in the next driver.
  6162.  
  6163.  Syntax:
  6164.        set terminal next {<mode>} {<type> } {<color>} {<dashed>}
  6165.                   {"<fontname>"} {<fontsize>} title {"<newtitle>"}
  6166.  
  6167.  where <mode> is  `default`, which sets all options to their defaults;
  6168.  <type> is either `new` or `old`, where `old` invokes the old single window;
  6169.  <color> is either `color` or `monochrome`;
  6170.  <dashed> is either `solid` or `dashed`;
  6171.  "<fontname>" is the name of a valid PostScript font;
  6172.  <fontsize> is the size of the font in PostScript points; and
  6173.  <title> is the title for the GnuTerm window.
  6174.  Defaults are  `new`, `monochrome`, `dashed`, "Helvetica", 14pt.
  6175.  
  6176.  Examples:
  6177.        set term next default
  6178.        set term next 22
  6179.        set term next color "Times-Roman" 14
  6180.        set term next color "Helvetica" 12 title "MyPlot"
  6181.        set term next old
  6182.  
  6183.  Pointsizes may be changed with `set linestyle`.
  6184. ?commands set terminal next
  6185. ?set terminal next
  6186. ?set term next
  6187. ?terminal next
  6188. ?term next
  6189. ?next
  6190. ?NeXT
  6191.  Several options may be set in the next driver.
  6192.  
  6193.  Syntax:
  6194.        set terminal next {<mode>} {<type> } {<color>} {<dashed>}
  6195.                   {"<fontname>"} {<fontsize>} title {"<newtitle>"}
  6196.  
  6197.  where <mode> is  `default`, which sets all options to their defaults;
  6198.  <type> is either `new` or `old`, where `old` invokes the old single window;
  6199.  <color> is either `color` or `monochrome`;
  6200.  <dashed> is either `solid` or `dashed`;
  6201.  "<fontname>" is the name of a valid PostScript font;
  6202.  <fontsize> is the size of the font in PostScript points; and
  6203.  <title> is the title for the GnuTerm window.
  6204.  Defaults are  `new`, `monochrome`, `dashed`, "Helvetica", 14pt.
  6205.  
  6206.  Examples:
  6207.        set term next default
  6208.        set term next 22
  6209.        set term next color "Times-Roman" 14
  6210.        set term next color "Helvetica" 12 title "MyPlot"
  6211.        set term next old
  6212.  
  6213.  Pointsizes may be changed with `set linestyle`.
  6214. ?commands set terminal pbm
  6215. ?set terminal pbm
  6216. ?set term pbm
  6217. ?terminal pbm
  6218. ?term pbm
  6219. ?pbm
  6220.  Several options may be set in the `pbm` terminal---the driver for PBMplus.
  6221.  
  6222.  Syntax:
  6223.        set terminal pbm {<fontsize>} {<mode>}
  6224.  
  6225.  where <fontsize> is `small`, `medium`, or `large` and <mode> is `monochrome`,
  6226.  `gray` or `color`.  The default plot size is 640 pixels wide and 480 pixels
  6227.  high; this may be changed by `set size`.
  6228.  
  6229.  The output of the `pbm` driver depends upon <mode>: `monochrome` produces a
  6230.  portable bitmap (one bit per pixel), `gray` a portable graymap (three bits
  6231.  per pixel) and `color` a portable pixmap (color, four bits per pixel).
  6232.  
  6233.  The output of this driver can be used with Jef Poskanzer's excellent PBMPLUS
  6234.  package, which provides programs to convert the above PBMPLUS formats to GIF,
  6235.  TIFF, MacPaint, Macintosh PICT, PCX, X11 bitmap and many others.  PBMPLUS may
  6236.  be obtained from ftp.x.org.  The relevant files have names that begin with
  6237.  "netpbm-1mar1994.p1"; they reside in /contrib/utilities.  The package can
  6238.  probably also be obtained from one of the many sites that mirrors ftp.x.org.
  6239.  
  6240.  Examples:
  6241.        set terminal pbm small monochrome             # defaults
  6242.        set size 2,2; set terminal pbm color medium
  6243. ?commands set terminal dospc
  6244. ?set terminal dospc
  6245. ?set term dospc
  6246. ?terminal dospc
  6247. ?term dospc
  6248. ?dospc
  6249.  The `dospc` terminal driver supports PCs with arbitrary graphics boards, which
  6250.  will be automatically detected.  It should be used only if you are not using
  6251.  the gcc or Zortec C/C++ compilers.
  6252. ?commands set terminal pm
  6253. ?set terminal pm
  6254. ?set term pm
  6255. ?terminal pm
  6256. ?term pm
  6257. ?pm
  6258.  The `pm` terminal driver provides an OS/2 Presentation Manager window in
  6259.  which the graph is plotted.  The window is opened when the first graph is
  6260.  plotted.  This window has its own online help as well as facilities for
  6261.  printing, copying to the clipboard and some line type and color adjustments.
  6262.  The `multiplot` option is supported.
  6263.  
  6264.  Syntax:
  6265.        set terminal pm {server {n}} {persist} {widelines} {enhanced} {"title"}
  6266.  
  6267.  If `persist` is specified, each graph appears in its own window and all
  6268.  windows remain open after `gnuplot` exits.  If `server` is specified, all
  6269.  graphs appear in the same window, which remains open when `gnuplot` exits.
  6270.  This option takes an optional numerical argument which specifies an instance
  6271.  of the server process.  Thus multiple server windows can be in use at the
  6272.  same time.
  6273.  
  6274.  If `widelines` is specified, all plots will be drawn with wide lines.  If
  6275.  `enhanced` is specified, sub- and superscripts and multiple fonts are
  6276.  enabled using the same syntax as the `enhanced postscript` option (see
  6277.  `set terminal postscript enhanced` for details).  Font names for the basic
  6278.  PostScript fonts may be abbreviated to single letters.
  6279.  
  6280.  If `title` is specified, it will be used as the title of the plot window.
  6281.  It will also be used as the name of the server instance, and will override
  6282.  the optional numerical argument.
  6283.  
  6284.  Linewidths may be changed with `set linestyle`.
  6285. ?commands set terminal png
  6286. ?set terminal png
  6287. ?set term png
  6288. ?terminal png
  6289. ?term png
  6290. ?png
  6291.  The `png` terminal driver supports Portable Network Graphics.  To compile it,
  6292.  you will need  the third-party libraries "libpng" and "zlib"; both are
  6293.  available at ftp://ftp.uu.net/graphics/png.  `png` has two options.
  6294.  
  6295.  Syntax:
  6296.        set terminal png {small | medium | large}
  6297.                         {monochrome | gray | color}
  6298.  
  6299.  The defaults are small (fontsize) and monochrome.  Default size of the output
  6300.  is 640*480 pixel.
  6301. ?commands set terminal postscript
  6302. ?set terminal postscript
  6303. ?set term postscript
  6304. ?terminal postscript
  6305. ?term postscript
  6306. ?postscript
  6307.  Several options may be set in the `postscript` driver.
  6308.  
  6309.  Syntax:
  6310.        set terminal postscript {<mode>} {enhanced | noenhanced}
  6311.                                {color | monochrome} {solid | dashed}
  6312.                                {<duplexing>}
  6313.                                {"<fontname>"} {<fontsize>}
  6314.  
  6315.  where <mode> is `landscape`, `portrait`, `eps` or `default`;
  6316.  `solid` draws all plots with solid lines, overriding any dashed patterns;
  6317.  <duplexing> is `defaultplex`, `simplex` or `duplex` ("duplexing" in
  6318.  PostScript is the ability of the printer to print on both sides of the same
  6319.  page---don't set this if your printer can't do it);
  6320.  `enhanced` activates the "enhanced PostScript" features (subscripts,
  6321.  superscripts and mixed fonts);
  6322.  `"<fontname>"` is the name of a valid PostScript font; and `<fontsize>` is
  6323.  the size of the font in PostScript points.
  6324.  
  6325.  `default` mode sets all options to their defaults: `landscape`, `monochrome`,
  6326.  `dashed`, `defaultplex`, `noenhanced`, "Helvetica" and 14pt.
  6327.   Default size of a PostScript plot is 10 inches wide and 7 inches high.
  6328.  
  6329.  `eps` mode generates EPS (Encapsulated PostScript) output, which is just
  6330.  regular PostScript with some additional lines that allow the file to be
  6331.  imported into a variety of other applications.  (The added lines are
  6332.  PostScript comment lines, so the file may still be printed by itself.)  To
  6333.  get EPS output, use the `eps` mode and make only one plot per file.  In `eps`
  6334.  mode the whole plot, including the fonts, is reduced to half of the default
  6335.  size.
  6336.  
  6337.  Examples:
  6338.        set terminal postscript default       # old postscript
  6339.        set terminal postscript enhanced      # old enhpost
  6340.        set terminal postscript landscape 22  # old psbig
  6341.        set terminal postscript eps 14        # old epsf1
  6342.        set terminal postscript eps 22        # old epsf2
  6343.        set size 0.7,1.4; set term post portrait color "Times-Roman" 14
  6344.  
  6345.  Linewidths and pointsizes may be changed with `set linestyle`.
  6346.  
  6347.  The `postscript` driver supports about 70 distinct pointtypes, selectable
  6348.  through the `pointtype` option on `plot` and `set linestyle`.
  6349.  
  6350.  Several possibly useful files about `gnuplot`'s PostScript are included
  6351.  in the /docs/ps subdirectory of the `gnuplot` distribution and at the
  6352.  distribution sites.  These are "ps_symbols.gpi" (a `gnuplot` command file
  6353.  that, when executed, creates the file "ps_symbols.ps" which shows all the
  6354.  symbols available through the `postscript` terminal), "ps_guide.ps" (a
  6355.  PostScript file that contains a summary of the enhanced syntax and a page
  6356.  showing what the octal codes produce with text and symbol fonts) and
  6357.  "ps_file.doc" (a text file that contains a discussion of the organization
  6358.  of a PostScript file written by `gnuplot`).
  6359.  
  6360.  A PostScript file is editable, so once `gnuplot` has created one, you are
  6361.  free to modify it to your heart's desire.  See the "editing postscript"
  6362.  section for some hints.
  6363. ?commands set terminal postscript enhanced
  6364. ?set terminal postscript enhanced
  6365. ?set term postscript enhanced
  6366. ?terminal postscript enhanced
  6367. ?term postscript enhanced
  6368. ?enhanced_postscript
  6369.   Control      Examples        Explanation
  6370.    ^           a^x             superscript
  6371.    _           a_x             subscript
  6372.    @           @x or a@^b_c    phantom box (occupies no width)
  6373.    &           &{space}        inserts space of specified length
  6374.  
  6375.  Braces can be used to place multiple-character text where a single character
  6376.  is expected (e.g., 2^{10}).  To change the font and/or size, use the full
  6377.  form:  {/[fontname][=fontsize | *fontscale] text}.  Thus {/Symbol=20 G} is a
  6378.  20-point GAMMA) and {/*0.75 K} is a K at three-quarters of whatever fontsize
  6379.  is currently in effect.  (The '/' character MUST be the first character after
  6380.  the '{'.)
  6381.  
  6382.  If the encoding vector has been changed by `set encoding`, the default
  6383.  encoding vector can be used instead by following the slash with a dash.  This
  6384.  is unnecessary if you use the Symbol font, however---since /Symbol uses its
  6385.  own encoding vector, `gnuplot` will not apply any other encoding vector to
  6386.  it.
  6387.  
  6388.  The phantom box is useful for a@^b_c to align superscripts and subscripts
  6389.  but does not work well for overwriting an accent on a letter.  (To do the
  6390.  latter, it is much better to use `set encoding iso_8859_1` to change to the
  6391.  ISO Latin-1 encoding vector, which contains a large variety of letters with
  6392.  accents or other diacritical marks.)  Since the box is non-spacing, it is
  6393.  sensible to put the shorter of the subscript or superscript in the box (that
  6394.  is, after the @).
  6395.  
  6396.  Space equal in length to a string can be inserted using the '&' character.
  6397.  Thus
  6398.          'abc&{def}ghi'
  6399.  would produce
  6400.          'abc   ghi'.
  6401.  
  6402.  You can access special symbols numerically by specifying \character-code (in
  6403.  octal), e.g., {/Symbol \245} is the symbol for infinity.
  6404.  
  6405.  You can escape control characters using \, e.g.,  \\, \{, and so on.
  6406.  
  6407.  But be aware that strings in double-quotes are parsed differently than those
  6408.  enclosed in single-quotes.  The major difference is that backslashes may need
  6409.  to be doubled when in double-quoted strings.
  6410.  
  6411.  Examples (these are hard to describe in words---try them!):
  6412.        set xlabel 'Time (10^6 {/Symbol m}s)'
  6413.        set title '{/Symbol=18 \362@_{/=9.6 0}^{/=12 x}} \
  6414.                   {/Helvetica e^{-{/Symbol m}^2/2} d}{/Symbol m}'
  6415.  
  6416.  The file "ps_guide.ps" in the /docs/ps subdirectory of the `gnuplot` source
  6417.  distribution contains more examples of the enhanced syntax.
  6418. ?commands set terminal postscript editing
  6419. ?set terminal postscript editing
  6420. ?set term postscript editing
  6421. ?terminal postscript editing
  6422. ?term postscript editing
  6423. ?editing_postscript
  6424.  The PostScript language is a very complex language---far too complex to
  6425.  describe in any detail in this document.  Nevertheless there are some things
  6426.  in a PostScript file written by `gnuplot` that can be changed without risk of
  6427.  introducing fatal errors into the file.
  6428.  
  6429.  For example, the PostScript statement "/Color true def" (written into the
  6430.  file in response to the command `set terminal postscript color`), may be
  6431.  altered in an obvious way to generate a black-and-white version of a plot.
  6432.  Similarly line colors, text colors, line weights and symbol sizes can also be
  6433.  altered in straight-forward ways.  Text (titles and labels) can be edited to
  6434.  correct misspellings or to change fonts.  Anything can be repositioned, and
  6435.  of course anything can be added or deleted, but modifications such as these
  6436.  may require deeper knowledge of the PostScript language.
  6437.  
  6438.  The organization of a PostScript file written by `gnuplot` is discussed in
  6439.  the text file "ps_file.doc" in the /docs/ps subdirectory.
  6440. ?commands set terminal pslatex
  6441. ?set terminal pslatex
  6442. ?set term pslatex
  6443. ?terminal pslatex
  6444. ?term pslatex
  6445. ?pslatex
  6446. ?commands set terminal pstex
  6447. ?set terminal pstex
  6448. ?set term pstex
  6449. ?terminal pstex
  6450. ?term pstex
  6451. ?pstex
  6452.  The `pslatex` and `pstex` drivers generate output for further processing by
  6453.  LaTeX and TeX, respectively.  Figures generated by `pstex` can be included
  6454.  in any plain-based format (including LaTeX).
  6455.  
  6456.  Syntax:
  6457.        set terminal pslatex | |pstex {<color>} {<dashed>} {<rotate>}
  6458.                                      {auxfile} {<font_size>}
  6459.  
  6460.  <color> is either `color` or `monochrome`.  <rotate> is either `rotate` or
  6461.  `norotate` and determines if the y-axis label is rotated.  <font_size> is
  6462.  used to scale the font from its usual size.
  6463.  
  6464.  If `auxfile` is specified, it directs the driver to put the PostScript
  6465.  commands into an auxiliary file instead of directly into the LaTeX file.
  6466.  This is useful if your pictures are large enough that dvips cannot handle
  6467.  them.  The name of the auxiliary PostScript file is derived from the name of
  6468.  the TeX file given on the `set output` command; it is determined by replacing
  6469.  the trailing `.tex` (actually just the final extent in the file name) with
  6470.  `.ps` in the output file name, or, if the TeX file has no extension, `.ps`
  6471.  is appended.  Remember to close the file before leaving `gnuplot`.
  6472.  
  6473.  All drivers for LaTeX offer a special way of controlling text positioning:
  6474.  If any text string begins with '{', you also need to include a '}' at the
  6475.  end of the text, and the whole text will be centered both horizontally
  6476.  and vertically by LaTeX. --- If the text string begins with '[', you need
  6477.  to continue it with: a position specification (up to two out of t,b,l,r),
  6478.  ']{', the text itself, and finally, '}'. The text itself may be anything
  6479.  LaTeX can typeset as an LR-box. \rule{}{}'s may help for best positioning.
  6480.  
  6481.  Examples:
  6482.        set term pslatex monochrome dashed rotate       # set to defaults
  6483.  To write the PostScript commands into the file "foo.ps":
  6484.        set term pslatex auxfile
  6485.        set output "foo.tex"; plot ...: set output
  6486.  About label positioning:
  6487.  Use gnuplot defaults (mostly sensible, but sometimes not really best):
  6488.         set title '\LaTeX\ -- $ \gamma $'
  6489.  Force centering both horizontally and vertically:
  6490.         set label '{\LaTeX\ -- $ \gamma $}' at 0,0
  6491.  Specify own positioning (top here):
  6492.         set xlabel '[t]{\LaTeX\ -- $ \gamma $}'
  6493.  The other label -- account for long ticlabels:
  6494.         set ylabel '[r]{\LaTeX\ -- $ \gamma $\rule{7mm}{0pt}'
  6495.  
  6496.  Linewidths and pointsizes may be changed with `set linestyle`.
  6497. ?commands set terminal pstricks
  6498. ?set terminal pstricks
  6499. ?set term pstricks
  6500. ?terminal pstricks
  6501. ?term pstricks
  6502. ?pstricks
  6503.  The `pstricks` driver is intended for use with the "pstricks.sty" macro
  6504.  package for LaTeX.  It is an alternative to the `eepic` and `latex` drivers.
  6505.  You need "pstricks.sty", and, of course, a printer that understands
  6506.  PostScript, or a converter such as Ghostscript.
  6507.  
  6508.  PSTricks is available via anonymous ftp from the /pub directory at
  6509.  Princeton.EDU.  This driver definitely does not come close to using the full
  6510.  capability of the PSTricks package.
  6511.  
  6512.  Syntax:
  6513.        set terminal pstricks {hacktext | nohacktext} {unit | nounit}
  6514.  
  6515.  The first option invokes an ugly hack that gives nicer numbers; the second
  6516.  has to do with plot scaling.  The defaults are `hacktext` and `nounit`.
  6517. ?commands set terminal qms
  6518. ?set terminal qms
  6519. ?set term qms
  6520. ?terminal qms
  6521. ?term qms
  6522. ?qms
  6523.  The `qms` terminal driver supports the QMS/QUIC Laser printer, the Talaris
  6524.  1200 and others.  It has no options.
  6525. ?commands set terminal regis
  6526. ?set terminal regis
  6527. ?set term regis
  6528. ?terminal regis
  6529. ?term regis
  6530. ?regis
  6531.  The `regis` terminal device generates output in the REGIS graphics language.
  6532.  It has the option of using 4 (the default) or 16 colors.
  6533.  
  6534.  Syntax:
  6535.        set terminal regis {4 | 16}
  6536. ?commands set terminal rgip
  6537. ?set terminal rgip
  6538. ?set term rgip
  6539. ?terminal rgip
  6540. ?term rgip
  6541. ?rgip
  6542. ?commands set terminal uniplex
  6543. ?set terminal uniplex
  6544. ?set term uniplex
  6545. ?terminal uniplex
  6546. ?term uniplex
  6547. ?uniplex
  6548.  The `rgip` and `uniplex` terminal drivers support RGIP metafiles.  They can
  6549.  combine several graphs on a single page, but only one page is allowed in a
  6550.  given output file.
  6551.  
  6552.  Syntax:
  6553.        set terminal rgip | uniplex {portrait | landscape}
  6554.                                    {[<horiz>,<vert>]} {<fontsize>}
  6555.  
  6556.  permissible values for the font size are in the range 1--8, with the default
  6557.  being 1.  The default layout is landscape.  Graphs are placed on the page in
  6558.  a `horiz`x`vert` grid, which defaults to [1,1].
  6559.  
  6560.  Example:
  6561.        set terminal uniplex portrait [2,3]
  6562.  
  6563.  puts six graphs on a page in three rows of two in portrait orientation.
  6564. ?commands set terminal sun
  6565. ?set terminal sun
  6566. ?set term sun
  6567. ?terminal sun
  6568. ?term sun
  6569. ?sun
  6570.  The `sun` terminal driver supports the SunView window system.  It has no
  6571.  options.
  6572. ?commands set terminal tek410x
  6573. ?set terminal tek410x
  6574. ?set term tek410x
  6575. ?terminal tek410x
  6576. ?term tek410x
  6577. ?tek410x
  6578.  The `tek410x` terminal driver supports the 410x and 420x family of Tektronix
  6579.  terminals.  It has no options.
  6580. ?commands set terminal table
  6581. ?set terminal table
  6582. ?set term table
  6583. ?terminal table
  6584. ?term table
  6585. ?table
  6586.  Instead of producing a graph, the `table` terminal prints out the points on
  6587.  which a graph would be based, i.e., the results of processing the `plot` or
  6588.  `splot` command, in a multicolumn ASCII table of X Y {Z} R values.  The
  6589.  character R takes on one of three values: "i" if the point is in the active
  6590.  range, "o" if it is out-of-range, or "u" if it is undefined.  The data
  6591.  format is determined by the format of the axis labels (see `set format`).
  6592.  
  6593.  For those times when you want the numbers, you can display them on the
  6594.  screen or save them to a file.  This can be useful if you want to generate
  6595.  contours and then save them for further use, perhaps for plotting with
  6596.  `plot`;  see `set contour` for an example.  The same method can be used to
  6597.  save interpolated data (see `set samples` and `set dgrid3d`).
  6598. ?commands set terminal tek40xx
  6599. ?set terminal tek40xx
  6600. ?set term tek40xx
  6601. ?terminal tek40xx
  6602. ?terminal tek40xx
  6603. ?tek40
  6604. ?commands set terminal vttek
  6605. ?set terminal vttek
  6606. ?set term vttek
  6607. ?terminal vttek
  6608. ?term vttek
  6609. ?vttek
  6610. ?commands set terminal kc-tek40xx
  6611. ?set terminal kc-tek40xx
  6612. ?set term kc-tek40xx
  6613. ?terminal kc-tek40xx
  6614. ?term kc-tek40xx
  6615. ?kc-tek40xx
  6616. ?commands set terminal km-tek40xx
  6617. ?set terminal km-tek40xx
  6618. ?set term km-tek40xx
  6619. ?terminal km-tek40xx
  6620. ?term km-tek40xx
  6621. ?km-tek40xx
  6622. ?commands set terminal selanar
  6623. ?set terminal selanar
  6624. ?set term selanar
  6625. ?terminal selanar
  6626. ?term selanar
  6627. ?selanar
  6628. ?commands set terminal bitgraph
  6629. ?set terminal bitgraph
  6630. ?set term bitgraph
  6631. ?terminal bitgraph
  6632. ?term bitgraph
  6633. ?bitgraph
  6634.  This family of terminal drivers supports a variety of VT-like terminals.
  6635.  `tek40xx` supports Tektronix 4010 and others as well as most TEK emulators;
  6636.  `vttek` supports VT-like tek40xx terminal emulators; `kc-tek40xx` supports
  6637.  MS-DOS Kermit Tek4010 terminal emulators in color: `km-tek40xx` supports them
  6638.  in monochrome; `selanar` supports Selanar graphics; and `bitgraph` supports
  6639.  BBN Bitgraph terminals.  None have any options.
  6640. ?commands set terminal texdraw
  6641. ?set terminal texdraw
  6642. ?set term texdraw
  6643. ?terminal texdraw
  6644. ?term texdraw
  6645. ?texdraw
  6646.  The `texdraw` terminal driver supports the LaTeX texdraw environment.  It is
  6647.  intended for use with "texdraw.sty" and "texdraw.tex" in the texdraw package.
  6648.  
  6649.  It has no options.
  6650. ?commands set terminal tgif
  6651. ?set terminal tgif
  6652. ?set term tgif
  6653. ?terminal tgif
  6654. ?term tgif
  6655. ?tgif
  6656.  Tgif is an X11-based drawing tool---it has nothing to do with GIF.
  6657.  
  6658.  The `tgif` driver supports different pointsizes (with `set pointsize`),
  6659.  different label fonts and font sizes (e.g. `set label "Hallo" at x,y font
  6660.  "Helvetica,34"`) and multiple graphs on the page.  The proportions of the
  6661.  axes are not changed.
  6662.  
  6663.  Syntax:
  6664.        set terminal tgif {portrait | landscape} {<[x,y]>}
  6665.                          {solid | dashed}
  6666.                          {"<fontname>"} {<fontsize>}
  6667.  
  6668.  where <[x,y]> specifies the number of graphs in the x and y directions on the
  6669.  page, "<fontname>" is the name of a valid PostScript font, and <fontsize>
  6670.  specifies the size of the PostScript font.  Defaults are `portrait`, `[1,1]`,
  6671.  `dashed`, `"Helvetica"`, and `18`.
  6672.  
  6673.  The `solid` option is usually prefered if lines are colored, as they often
  6674.  are in the editor.  Hardcopy will be black-and-white, so `dashed` should be
  6675.  chosen for that.
  6676.  
  6677.  Multiplot is implemented in two different ways.
  6678.  
  6679.  The first multiplot implementation is the standard gnuplot multiplot feature:
  6680.  
  6681.        set terminal tgif
  6682.        set output "file.obj"
  6683.        set multiplot
  6684.        set origin x01,y01
  6685.        set size  xs,ys
  6686.        plot ...
  6687.             ...
  6688.        set origin x02,y02
  6689.        plot ...
  6690.        set nomultiplot
  6691.  
  6692.  See `set multiplot` for further information.
  6693.  
  6694.  The second version is the [x,y] option for the driver itself.  The advantage
  6695.  of this implementation is that everything is scaled and placed automatically
  6696.  without the need for setting origins and sizes; the graphs keep their natural
  6697.  x/y proportions of 3/2 (or whatever is fixed by `set size`).
  6698.  
  6699.  If both multiplot methods are selected, the standard method is chosen and a
  6700.  warning message is given.
  6701.  
  6702.  Examples of single plots (or standard multiplot):
  6703.        set terminal tgif                  # defaults
  6704.        set terminal tgif "Times-Roman" 24
  6705.        set terminal tgif landscape
  6706.        set terminal tgif landscape solid
  6707.  
  6708.  Examples using the built-in multiplot mechanism:
  6709.        set terminal tgif portrait [2,4]  # portrait; 2 plots in the x-
  6710.                                          # and 4 in the y-direction
  6711.        set terminal tgif [1,2]           # portrait; 1 plot in the x-
  6712.                                          # and 2 in the y-direction
  6713.        set terminal tgif landscape [3,3] # landscape; 3 plots in both
  6714.                                          # directions
  6715. ?commands set terminal tkcanvas
  6716. ?set terminal tkcanvas
  6717. ?set term tkcanvas
  6718. ?terminal tkcanvas
  6719. ?term tkcanvas
  6720. ?tkcanvas
  6721.  This terminal driver generates Tk canvas widget commands based on Tcl/Tk
  6722.  (default) or Perl.  To use it, rebuild `gnuplot` (after uncommenting or
  6723.  inserting the appropriate line in "term.h"), then
  6724.  
  6725.   gnuplot> set term tkcanvas {perltk} {interactive}
  6726.   gnuplot> set output 'plot.file'
  6727.  
  6728.  After invoking "wish", execute the following sequence of Tcl/Tk commands:
  6729.  
  6730.   % source plot.file
  6731.   % canvas .c
  6732.   % pack .c
  6733.   % gnuplot .c
  6734.  
  6735.  Or, for Perl/Tk use a program like this:
  6736.  
  6737.   use Tk;
  6738.   my $top = MainWindow->new;
  6739.   my $c = $top->Canvas;
  6740.   $c->pack();
  6741.   do "plot.pl";
  6742.   gnuplot->($c);
  6743.   MainLoop;
  6744.  
  6745.  The code generated by `gnuplot` creates a procedure called "gnuplot"
  6746.  that takes the name of a canvas as its argument.  When the procedure is
  6747.  called, it clears the canvas, finds the size of the canvas and draws the plot
  6748.  in it, scaled to fit.
  6749.  
  6750.  For 2-dimensional plotting (`plot`) two additional procedures are defined:
  6751.  "gnuplot_plotarea" will return a list containing the borders of the plotting
  6752.  area "xleft, xright, ytop, ybot" in canvas screen coordinates, while the ranges
  6753.  of the two axes "x1min, x1max, y1min, y1max, x2min, x2max, y2min, y2max" in plot
  6754.  coordinates can be obtained calling "gnuplot_axisranges".
  6755.  If the "interactive" option is specified, mouse clicking on a line segment
  6756.  will print the coordinates of its midpoint to stdout. Advanced actions
  6757.  can happen instead if the user supplies a procedure named
  6758.  "user_gnuplot_coordinates", which takes the following arguments:
  6759.  "win id x1s y1s x2s y2s x1e y1e x2e y2e x1m y1m x2m y2m",
  6760.  the name of the canvas and the id of the line segment followed by the
  6761.  coordinates of its start and end point in the two possible axis ranges; the
  6762.  coordinates of the midpoint are only filled for logarithmic axes.
  6763.  
  6764.  The current version of `tkcanvas` supports neither `multiplot` nor `replot`.
  6765. ?commands set terminal tpic
  6766. ?set terminal tpic
  6767. ?set term tpic
  6768. ?terminal tpic
  6769. ?term tpic
  6770. ?tpic
  6771.  The `tpic` terminal driver supports the LaTeX picture environment with tpic
  6772.  \specials.  It is an alternative to the `latex` and `eepic` terminal drivers.
  6773.  Options are the point size, line width, and dot-dash interval.
  6774.  
  6775.  Syntax:
  6776.        set terminal tpic <pointsize> <linewidth> <interval>
  6777.  
  6778.  where `pointsize` and `linewidth` are integers in milli-inches and `interval`
  6779.  is a float in inches.  If a non-positive value is specified, the default is
  6780.  chosen: pointsize = 40, linewidth = 6, interval = 0.1.
  6781.  
  6782.  All drivers for LaTeX offer a special way of controlling text positioning:
  6783.  If any text string begins with '{', you also need to include a '}' at the
  6784.  end of the text, and the whole text will be centered both horizontally
  6785.  and vertically by LaTeX. --- If the text string begins with '[', you need
  6786.  to continue it with: a position specification (up to two out of t,b,l,r),
  6787.  ']{', the text itself, and finally, '}'. The text itself may be anything
  6788.  LaTeX can typeset as an LR-box. \rule{}{}'s may help for best positioning.
  6789.  
  6790.  Examples:
  6791.  About label positioning:
  6792.  Use gnuplot defaults (mostly sensible, but sometimes not really best):
  6793.         set title '\LaTeX\ -- $ \gamma $'
  6794.  Force centering both horizontally and vertically:
  6795.         set label '{\LaTeX\ -- $ \gamma $}' at 0,0
  6796.  Specify own positioning (top here):
  6797.         set xlabel '[t]{\LaTeX\ -- $ \gamma $}'
  6798.  The other label -- account for long ticlabels:
  6799.         set ylabel '[r]{\LaTeX\ -- $ \gamma $\rule{7mm}{0pt}'
  6800. ?commands set terminal unixpc
  6801. ?set terminal unixpc
  6802. ?set term unixpc
  6803. ?terminal unixpc
  6804. ?term unixpc
  6805. ?unixpc
  6806.  The `unixpc` terminal driver supports AT&T 3b1 and AT&T 7300 Unix PC.  It has
  6807.  no options.
  6808. ?comands set terminal unixplot
  6809. ?set terminal unixplot
  6810. ?set term unixplot
  6811. ?terminal unixplot
  6812. ?term unixplot
  6813. ?unixplot
  6814.  The `unixplot` terminal driver generates output in the Unix "plot" graphics
  6815.  language.  It has no options.
  6816.  
  6817.  This terminal cannot be compiled if the GNU version of plot is to be used;
  6818.  in that case, use the `gnugraph` terminal instead.
  6819. ?commands set terminal vx384
  6820. ?set terminal vx384
  6821. ?set term vx384
  6822. ?terminal vx384
  6823. ?term vx384
  6824. ?vx384
  6825.  The `vx384` terminal driver supports the Vectrix 384 and Tandy color
  6826.  printers.  It has no options.
  6827. ?commands set terminal VWS
  6828. ?set terminal VWS
  6829. ?set term VWS
  6830. ?terminal VWS
  6831. ?term VWS
  6832. ?VWS
  6833.  The `VWS` terminal driver supports the VAX Windowing System.  It has
  6834.  no options.  It will sense the display type (monochrome, gray scale,
  6835.  or color.)  All line styles are plotted as solid lines.
  6836. ?commands set terminal windows
  6837. ?set terminal windows
  6838. ?set term windows
  6839. ?terminal windows
  6840. ?term windows
  6841. ?windows
  6842.  Three options may be set in the `windows` terminal driver.
  6843.  
  6844.  Syntax:
  6845.        set terminal windows {<color>} {"<fontname>"} {<fontsize>}
  6846.  
  6847.  where `<color>` is either `color` or `monochrome`, `"<fontname>"` is the
  6848.  name of a valid Windows font, and `<fontsize>` is the size of the font in
  6849.  points.
  6850.  
  6851.  Other options may be set with the graph-menu, the initialization file,
  6852.  and `set linestyle`.
  6853.  
  6854.  The Windows version normally terminates immediately as soon as the end of
  6855.  any files given as command line arguments is reached (i.e. in non-interactive
  6856.  mode). It will also not show the text-window at all, in this mode, only
  6857.  the plot. By giving the optional argument
  6858.  `/noend` or `-noend`, you can disable this behaviour.
  6859. ?commands set terminal windows graph-menu
  6860. ?set terminal windows graph-menu
  6861. ?set term windows graph-menu
  6862. ?windows graph-menu
  6863. ?graph-menu
  6864.  The `gnuplot graph` window has the following options on a pop-up menu
  6865.  accessed by pressing the right mouse button or selecting `Options` from the
  6866.  system menu:
  6867.  
  6868.  `Bring to Top` when checked brings the graph window to the top after every
  6869.  plot.
  6870.  
  6871.  `Color` when checked enables color linestyles.  When unchecked it forces
  6872.  monochrome linestyles.
  6873.  
  6874.  `Copy to Clipboard` copies a bitmap and a Metafile picture.
  6875.  
  6876.  `Background...` sets the window background color.
  6877.  
  6878.  `Choose Font...` selects the font used in the graphics window.
  6879.  
  6880.  `Line Styles...` allows customization of the line colors and styles.
  6881.  
  6882.  `Print...` prints the graphics windows using a Windows printer driver and
  6883.  allows selection of the printer and scaling of the output.  The output
  6884.  produced by `Print` is not as good as that from `gnuplot`'s own printer
  6885.  drivers.
  6886.  
  6887.  `Update wgnuplot.ini` saves the current window locations, window sizes, text
  6888.  window font, text window font size, graph window font, graph window font
  6889.  size, background color and linestyles to the initialization file
  6890.  `WGNUPLOT.INI`.
  6891. ?commands set terminal windows printing
  6892. ?set terminal windows printing
  6893. ?set term windows printing
  6894. ?windows printing
  6895. ?printing
  6896.  In order of preference, graphs may be be printed in the following ways.
  6897.  
  6898.  `1.` Use the `gnuplot` command `set terminal` to select a printer and `set
  6899.  output` to redirect output to a file.
  6900.  
  6901.  `2.` Select the `Print...` command from the `gnuplot graph` window.  An extra
  6902.  command `screendump` does this from the text window.
  6903.  
  6904.  `3.` If `set output "PRN"` is used, output will go to a temporary file.  When
  6905.  you exit from `gnuplot` or when you change the output with another `set
  6906.  output` command, a dialog box will appear for you to select a printer port.
  6907.  If you choose OK, the output will be printed on the selected port, passing
  6908.  unmodified through the print manager.  It is possible to accidentally (or
  6909.  deliberately) send printer output meant for one printer to an incompatible
  6910.  printer.
  6911. ?commands set terminal windows text-menu
  6912. ?set terminal windows text-menu
  6913. ?set term windows text-menu
  6914. ?windows text-menu
  6915. ?text-menu
  6916.  The `gnuplot text` window has the following options on a pop-up menu accessed
  6917.  by pressing the right mouse button or selecting `Options` from the system
  6918.  menu:
  6919.  
  6920.  `Copy to Clipboard` copies marked text to the clipboard.
  6921.  
  6922.  `Paste` copies text from the clipboard as if typed by the user.
  6923.  
  6924.  `Choose Font...` selects the font used in the text window.
  6925.  
  6926.  `System Colors` when selected makes the text window honor the System Colors
  6927.  set using the Control Panel.  When unselected, text is black or blue on a
  6928.  white background.
  6929.  
  6930.  `Update wgnuplot.ini` saves the current text window location, text window
  6931.  size, text window font and text window font size to the initialisation file
  6932.  `WGNUPLOT.INI`.
  6933.  
  6934.  `MENU BAR`
  6935.  
  6936.  If the menu file `WGNUPLOT.MNU` is found in the same directory as
  6937.  WGNUPLOT.EXE, then the menu specified in `WGNUPLOT.MNU` will be loaded.
  6938.  Menu commands:
  6939.  
  6940.  [Menu] starts a new menu with the name on the following line.
  6941.  
  6942.  [EndMenu] ends the current menu.
  6943.  
  6944.  [--] inserts a horizontal menu separator.
  6945.  
  6946.  [|] inserts a vertical menu separator.
  6947.  
  6948.  [Button] puts the next macro on a push button instead of a menu.
  6949.  
  6950.  Macros take two lines with the macro name (menu entry) on the first line and
  6951.  the macro on the second line.  Leading spaces are ignored.  Macro commands:
  6952.  
  6953.  [INPUT] --- Input string with prompt terminated by [EOS] or {ENTER}
  6954.  
  6955.  [EOS] --- End Of String terminator.  Generates no output.
  6956.  
  6957.  [OPEN] --- Get name of file to open from list box, with title of list box
  6958.  terminated by [EOS], followed by default filename terminated by [EOS] or
  6959.  {ENTER}.  This uses COMMDLG.DLL from Windows 3.1.
  6960.  
  6961.  [SAVE] --- Get name of file to save.  Similar to [OPEN]
  6962.  
  6963.  Macro character substitutions:
  6964.  
  6965.  {ENTER} --- Carriage Return '\r'
  6966.  
  6967.  {TAB} --- Tab '\011'
  6968.  
  6969.  {ESC} --- Escape '\033'
  6970.  
  6971.  {^A} --- '\001'
  6972.  
  6973.  ...
  6974.  
  6975.  {^_} --- '\031'
  6976.  
  6977.  Macros are limited to 256 characters after expansion.
  6978. ?commands set terminal windows wgnuplot.ini
  6979. ?set terminal windows wgnuplot.ini
  6980. ?set term windows wgnuplot.ini
  6981. ?windows wgnuplot.ini
  6982. ?wgnuplot.ini
  6983.  Windows `gnuplot` will read some of its options from the `[WGNUPLOT]` section
  6984.  of `WGNUPLOT.INI` in the Windows directory.  A sample `WGNUPLOT.INI` file:
  6985.  
  6986.        [WGNUPLOT]
  6987.        TextOrigin=0 0
  6988.        TextSize=640 150
  6989.        TextFont=Terminal,9
  6990.        GraphOrigin=0 150
  6991.        GraphSize=640 330
  6992.        GraphFont=Arial,10
  6993.        GraphColor=1
  6994.        GraphToTop=1
  6995.        GraphBackground=255 255 255
  6996.        Border=0 0 0 0 0
  6997.        Axis=192 192 192 2 2
  6998.        Line1=0 0 255 0 0
  6999.        Line2=0 255 0 0 1
  7000.        Line3=255 0 0 0 2
  7001.        Line4=255 0 255 0 3
  7002.        Line5=0 0 128 0 4
  7003.  
  7004.  The `GraphFont` entry specifies the font name and size in points.  The five
  7005.  numbers given in the `Border`, `Axis` and `Line` entries are the `Red`
  7006.  intensity (0--255), `Green` intensity, `Blue` intensity, `Color Linestyle`
  7007.  and `Mono Linestyle`.  `Linestyles` are 0=SOLID, 1=DASH, 2=DOT, 3=DASHDOT,
  7008.  4=DASHDOTDOT.  In the sample `WGNUPLOT.INI` file above, Line 2 is a green
  7009.  solid line in color mode, or a dashed line in monochrome mode.  The default
  7010.  line width is 1 pixel.  If `Linestyle` is negative, it specifies the width of
  7011.  a SOLID line in pixels.  Line1 and any linestyle used with the `points` style
  7012.  must be SOLID with unit width.
  7013. ?commands set terminal windows windows3.0
  7014. ?set terminal windows windows3.0
  7015. ?set term windows windows3.0
  7016. ?windows windows3.0
  7017. ?windows3.0
  7018.  Windows 3.1 is preferred, but WGNUPLOT will run under Windows 3.0 with the
  7019.  following restrictions:
  7020.  `1.` COMMDLG.DLL and SHELL.DLL (available with Windows 3.1 or Borland C++
  7021.  3.1) must be in the windows directory.
  7022.  
  7023.  `2.` WGNUPLOT.HLP produced by Borland C++ 3.1 is in Windows 3.1 format.
  7024.  You need to use the WINHELP.EXE supplied with Borland C++ 3.1.
  7025.  
  7026.  `3.` It will not run in real mode due to lack of memory.
  7027.  
  7028.  `4.` TrueType fonts are not available in the graph window.
  7029.  
  7030.  `5.` Drag-drop does not work.
  7031. ?commands set terminal x11
  7032. ?set terminal x11
  7033. ?set term x11
  7034. ?terminal x11
  7035. ?term x11
  7036. ?x11
  7037. ?X11
  7038.  `gnuplot` provides the `x11` terminal type for use with X servers.  This
  7039.  terminal type is set automatically at startup if the `DISPLAY` environment
  7040.  variable is set, if the `TERM` environment variable is set to `xterm`, or
  7041.  if the `-display` command line option is used.
  7042.  
  7043.  Syntax:
  7044.        set terminal x11 {reset} {<n>}
  7045.  
  7046.  Multiple plot windows are supported: `set terminal x11 <n>` directs the
  7047.  output to plot window number n.  If n>0, the terminal number will be
  7048.  appended to the window title and the icon will be labeled `gplt <n>`.
  7049.  The active window may distinguished by a change in cursor (from default
  7050.  to crosshair.)
  7051.  
  7052.  Plot windows remain open even when the `gnuplot` driver is changed to a
  7053.  different device.  A plot window can be closed by pressing the letter q
  7054.  while that window has input focus, or by choosing `close` from a window
  7055.  manager menu.  All plot windows can be closed by specifying `reset`, which
  7056.  actually terminates the subprocess which maintains the windows (unless
  7057.  `-persist` was specified).
  7058.  
  7059.  Plot windows will automatically be closed at the end of the session
  7060.  unless the `-persist` option was given.
  7061.  
  7062.  The size or aspect ratio of a plot may be changed by resizing the `gnuplot`
  7063.  window.
  7064.  
  7065.  Linewidths and pointsizes may be changed from within `gnuplot` with
  7066.  `set linestyle`.
  7067.  
  7068.  For terminal type `x11`, `gnuplot` accepts (when initialized) the standard
  7069.  X Toolkit options and resources such as geometry, font, and name from the
  7070.  command line arguments or a configuration file.  See the X(1) man page
  7071.  (or its equivalent) for a description of such options.
  7072.  
  7073.  A number of other `gnuplot` options are available for the `x11` terminal.
  7074.  These may be specified either as command-line options when `gnuplot` is
  7075.  invoked or as resources in the configuration file "/.Xdefaults".  They are
  7076.  set upon initialization and cannot be altered during a `gnuplot` session.
  7077. ?commands set terminal x11 command-line-options
  7078. ?set terminal x11 command-line-options
  7079. ?set term x11 command-line-options
  7080. ?x11 command-line-options
  7081. ?command-line-options
  7082.  In addition to the X Toolkit options, the following options may be specified
  7083.  on the command line when starting `gnuplot` or as resources in your
  7084.  ".Xdefaults" file:
  7085.   `-clear`   requests that the window be cleared momentarily before a
  7086.              new plot is displayed.
  7087.   `-gray`    requests grayscale rendering on grayscale or color displays.
  7088.              (Grayscale displays receive monochrome rendering by default.)
  7089.   `-mono`    forces monochrome rendering on color displays.
  7090.   `-persist` plot windows survive after main gnuplot program exits
  7091.   `-raise`   raise plot window after each plot
  7092.   `-noraise` do not raise plot window after each plot
  7093.   `-tvtwm`   requests that geometry specifications for position of the
  7094.              window be made relative to the currently displayed portion
  7095.              of the virtual root.
  7096.  The options are shown above in their command-line syntax.  When entered as
  7097.  resources in ".Xdefaults", they require a different syntax.
  7098.  
  7099.  Example:
  7100.        gnuplot*gray: on
  7101.  
  7102.  `gnuplot` also provides a command line option (`-pointsize <v>`) and a
  7103.  resource, `gnuplot*pointsize: <v>`, to control the size of points plotted
  7104.  with the `points` plotting style.  The value `v` is a real number (greater
  7105.  than 0 and less than or equal to ten) used as a scaling factor for point
  7106.  sizes.  For example, `-pointsize 2` uses points twice the default size, and
  7107.  `-pointsize 0.5` uses points half the normal size.
  7108. ?commands set terminal x11 monochrome_options
  7109. ?set terminal x11 monochrome_options
  7110. ?set term x11 monochrome_options
  7111. ?x11 monochrome_options
  7112. ?monochrome_options
  7113.  For monochrome displays, `gnuplot` does not honor foreground or background
  7114.  colors.  The default is black-on-white.  `-rv` or `gnuplot*reverseVideo: on`
  7115.  requests white-on-black.
  7116.  
  7117. ?commands set terminal x11 color_resources
  7118. ?set terminal x11 color_resources
  7119. ?set term x11 color_resources
  7120. ?x11 color_resources
  7121. ?color_resources
  7122.  For color displays, `gnuplot` honors the following resources (shown here
  7123.  with their default values) or the greyscale resources.  The values may be
  7124.  color names as listed in the X11 rgb.txt file on your system, hexadecimal
  7125.  RGB color specifications (see X11 documentation), or a color name followed
  7126.  by a comma and an `intensity` value from 0 to 1.  For example, `blue, 0.5`
  7127.  means a half intensity blue.
  7128.   gnuplot*background:  white
  7129.   gnuplot*textColor:   black
  7130.   gnuplot*borderColor: black
  7131.   gnuplot*axisColor:   black
  7132.   gnuplot*line1Color:  red
  7133.   gnuplot*line2Color:  green
  7134.   gnuplot*line3Color:  blue
  7135.   gnuplot*line4Color:  magenta
  7136.   gnuplot*line5Color:  cyan
  7137.   gnuplot*line6Color:  sienna
  7138.   gnuplot*line7Color:  orange
  7139.   gnuplot*line8Color:  coral
  7140.  
  7141.  The command-line syntax for these is, for example,
  7142.  
  7143.  Example:
  7144.        gnuplot -background coral
  7145.  
  7146. ?commands set terminal x11 grayscale_resources
  7147. ?set terminal x11 grayscale_resources
  7148. ?set term x11 grayscale_resources
  7149. ?x11 grayscale_resources
  7150. ?grayscale_resources
  7151.  When `-gray` is selected, `gnuplot` honors the following resources for
  7152.  grayscale or color displays (shown here with their default values).  Note
  7153.  that the default background is black.
  7154.   gnuplot*background: black
  7155.   gnuplot*textGray:   white
  7156.   gnuplot*borderGray: gray50
  7157.   gnuplot*axisGray:   gray50
  7158.   gnuplot*line1Gray:  gray100
  7159.   gnuplot*line2Gray:  gray60
  7160.   gnuplot*line3Gray:  gray80
  7161.   gnuplot*line4Gray:  gray40
  7162.   gnuplot*line5Gray:  gray90
  7163.   gnuplot*line6Gray:  gray50
  7164.   gnuplot*line7Gray:  gray70
  7165.   gnuplot*line8Gray:  gray30
  7166.  
  7167. ?commands set terminal x11 line_resources
  7168. ?set terminal x11 line_resources
  7169. ?set term x11 line_resources
  7170. ?x11 line_resources
  7171. ?line_resources
  7172.  `gnuplot` honors the following resources for setting the width (in pixels) of
  7173.  plot lines (shown here with their default values.)  0 or 1 means a minimal
  7174.  width line of 1 pixel width.  A value of 2 or 3 may improve the appearance of
  7175.  some plots.
  7176.   gnuplot*borderWidth: 2
  7177.   gnuplot*axisWidth:   0
  7178.   gnuplot*line1Width:  0
  7179.   gnuplot*line2Width:  0
  7180.   gnuplot*line3Width:  0
  7181.   gnuplot*line4Width:  0
  7182.   gnuplot*line5Width:  0
  7183.   gnuplot*line6Width:  0
  7184.   gnuplot*line7Width:  0
  7185.   gnuplot*line8Width:  0
  7186.  
  7187.  `gnuplot` honors the following resources for setting the dash style used for
  7188.  plotting lines.  0 means a solid line.  A two-digit number `jk` (`j` and `k`
  7189.  are >= 1  and <= 9) means a dashed line with a repeated pattern of `j` pixels
  7190.  on followed by `k` pixels off.  For example, '16' is a "dotted" line with one
  7191.  pixel on followed by six pixels off.  More elaborate on/off patterns can be
  7192.  specified with a four-digit value.  For example, '4441' is four on, four off,
  7193.  four on, one off.  The default values shown below are for monochrome displays
  7194.  or monochrome rendering on color or grayscale displays.  For color displays,
  7195.  the default for each is 0 (solid line) except for `axisDashes` which defaults
  7196.  to a '16' dotted line.
  7197.   gnuplot*borderDashes:   0
  7198.   gnuplot*axisDashes:    16
  7199.   gnuplot*line1Dashes:    0
  7200.   gnuplot*line2Dashes:   42
  7201.   gnuplot*line3Dashes:   13
  7202.   gnuplot*line4Dashes:   44
  7203.   gnuplot*line5Dashes:   15
  7204.   gnuplot*line6Dashes: 4441
  7205.   gnuplot*line7Dashes:   42
  7206.   gnuplot*line8Dashes:   13
  7207. ?commands set terminal xlib
  7208. ?set terminal xlib
  7209. ?set term xlib
  7210. ?terminal xlib
  7211. ?term xlib
  7212. ?xlib
  7213.  The `xlib` terminal driver supports the X11 Windows System.  It generates
  7214.  gnulib_x11 commands.  `set term x11` behaves similarly to `set terminal xlib;
  7215.  set output "|gnuplot_x11"`.  `xlib` has no options, but see `x11`.
  7216. ?commands set tics
  7217. ?commands show tics
  7218. ?set tics
  7219. ?show tics
  7220. ?tics
  7221.  The `set tics` command can be used to change the tics to be drawn outwards.
  7222.  
  7223.  Syntax:
  7224.        set tics {<direction>}
  7225.        show tics
  7226.  
  7227.  where <direction> may be `in` (the default) or `out`.
  7228.  
  7229.  See also `set xtics` for more control of major (labelled) tic marks and `set
  7230.  mxtics` for control of minor tic marks.
  7231. ?commands set ticslevel
  7232. ?commands show ticslevel
  7233. ?set ticslevel
  7234. ?show ticslevel
  7235. ?ticslevel
  7236.  Using `splot`, one can adjust the relative height of the vertical (Z) axis
  7237.  using `set ticslevel`.  The numeric argument provided specifies the location
  7238.  of the bottom of the scale (as a fraction of the z-range) above the xy-plane.
  7239.  The default value is 0.5.  Negative values are permitted, but tic labels on
  7240.  the three axes may overlap.
  7241.  
  7242.  To place the xy-plane at a position 'pos' on the z-axis, `ticslevel` should
  7243.  be set equal to  (pos - zmin) / (zmin - zmax).
  7244.  
  7245.  Syntax:
  7246.        set ticslevel {<level>}
  7247.        show tics
  7248.  
  7249.  See also `set view`.
  7250. ?commands set ticscale
  7251. ?commands show ticscale
  7252. ?set ticscale
  7253. ?show ticscale
  7254. ?ticscale
  7255.  The size of the tic marks can be adjusted with `set ticscale`.
  7256.  
  7257.  Syntax:
  7258.        set ticscale {<major> {<minor>}}
  7259.        show tics
  7260.  
  7261.  If <minor> is not specified, it is 0.5*<major>.  The default size is 1.0 for
  7262.  major tics and 0.5 for minor tics.  Note that it is possible to have the tic
  7263.  marks pointing outward by specifying a negative size.
  7264. ?commands set timestamp
  7265. ?commands set time
  7266. ?commands set notimestamp
  7267. ?commands show timestamp
  7268. ?set timestamp
  7269. ?set time
  7270. ?set notimestamp
  7271. ?show timestamp
  7272. ?timestamp
  7273. ?notimestamp
  7274.  The command `set timestamp` places the time and date of the plot in the left
  7275.  margin.
  7276.  
  7277.  Syntax:
  7278.        set timestamp {"<format>"} {top|bottom} {{no}rotate}
  7279.                      {<xoff>}{,<yoff>} {"<font>"}
  7280.        set notimestamp
  7281.        show timestamp
  7282.  
  7283.  The format string allows you to choose the format used to write the date and
  7284.  time.  Its default value is what asctime() uses: "%a %b %d %H:%M:%S %Y"
  7285.  (weekday, month name, day of the month, hours, minutes, seconds, four-digit
  7286.  year).  With `top` or `bottom` you can place the timestamp at the top or
  7287.  bottom of the left margin (default: bottom).  `rotate` lets you write the
  7288.  timestamp vertically, if your terminal supports vertical text.  The constants
  7289.  <xoff> and <off> are offsets from the default position given in character
  7290.  screen coordinates.  <font> is used to specify the font with which the time
  7291.  is to be written.
  7292.  
  7293.  The abbreviation `time` may be used in place of `timestamp`.
  7294.  
  7295.  Example:
  7296.        set timestamp "%d/%m/%y %H:%M" 80,-2 "Helvetica"
  7297.  
  7298.  See `set timefmt` for more information about time format strings.
  7299. ?commands set timefmt
  7300. ?commands show timefmt
  7301. ?set timefmt
  7302. ?show timefmt
  7303. ?timefmt
  7304.  This command applies to timeseries where data are composed of dates/times.
  7305.  It has no meaning unless the command `set xdata time` is given also.
  7306.  
  7307.  Syntax:
  7308.        set timefmt "<format string>"
  7309.        show timefmt
  7310.  
  7311.  The string argument tells `gnuplot` how to read timedata from the datafile.
  7312.  The valid formats are:
  7313.  
  7314.        Format       Explanation
  7315.        %d           day of the month, 1--31
  7316.        %m           month of the year, 1--12
  7317.        %y           year, 0--99
  7318.        %Y           year, 4-digit
  7319.        %j           day of the year, 1--365
  7320.        %H           hour, 0--24
  7321.        %M           minute, 0--60
  7322.        %S           second, 0--60
  7323.        %b           three-character abbreviation of the name of the month
  7324.        %B           name of the month
  7325.  Any character is allowed in the string, but must match exactly.  \t (tab) is
  7326.  recognized.  Backslash-octals (\nnn) are converted to char.  If there is no
  7327.  separating character between the time/date elements, then %d, %m, %y, %H, %M
  7328.  and %S read two digits each, %Y reads four digits and %j reads three digits.
  7329.  %b requires three characters, and %B requires as many as it needs.
  7330.  
  7331.  Spaces are treated slightly differently.  A space in the string stands for
  7332.  zero or more whitespace characters in the file.  That is, "%H %M" can be used
  7333.  to read "1220" and "12     20" as well as "12 20".
  7334.  
  7335.  Each set of non-blank characters in the timedata counts as one column in the
  7336.  `using n:n` specification.  Thus `11:11  25/12/76  21.0` consists of three
  7337.  columns.  To avoid confusion, `gnuplot` requires that you provide a complete
  7338.  `using` specification if your file contains timedata.
  7339.  
  7340.  Since `gnuplot` cannot read non-numerical text, if the date format includes
  7341.  the day or month in words, the format string must exclude this text.  But
  7342.  it can still be printed with the "%a", "%A", "%b", or "%B" specifier: see
  7343.  `set format` for more details about these and other options for printing
  7344.  timedata.  (`gnuplot` will determine the proper month and weekday from the
  7345.  numerical values.)
  7346.  
  7347.  See also `set xdata` and `Time/date` for more information.
  7348.  
  7349.  Example:
  7350.        set timefmt "%d/%m/%Y\t%H:%M"
  7351.  tells `gnuplot` to read date and time separated by tab.  (But look closely at
  7352.  your data---what began as a tab may have been converted to spaces somewhere
  7353.  along the line; the format string must match what is actually in the file.)
  7354. ?commands set title
  7355. ?commands show title
  7356. ?set title
  7357. ?show title
  7358. ?title
  7359.  The `set title` command produces a plot title that is centered at the top of
  7360.  the plot.  `set title` is a special case of `set label`.
  7361.  
  7362.  Syntax:
  7363.        set title {"<title-text>"} {<xoff>}{,<yoff>} {"<font>,{<size>}"}
  7364.        show title
  7365.  
  7366.  Specifying constants <xoff> or <yoff> as optional offsets for the title will
  7367.  move the title <xoff> or <yoff> character screen coordinates (not graph
  7368.  coordinates).  For example, "`set title ,-1`" will change only the y offset
  7369.  of the title, moving the title down by roughly the height of one character.
  7370.  
  7371.  <font> is used to specify the font with which the title is to be written;
  7372.  the units of the font <size> depend upon which terminal is used.
  7373.  
  7374.  `set title` with no parameters clears the title.
  7375.  
  7376.  See `syntax` for details about the processing of backslash sequences and
  7377.  the distinction between single- and double-quotes.
  7378. ?commands set tmargin
  7379. ?set tmargin
  7380. ?tmargin
  7381.  The command `set tmargin` sets the size of the top margin.  Please see
  7382.  `set margin` for details.
  7383. ?commands set trange
  7384. ?commands show trange
  7385. ?set trange
  7386. ?show trange
  7387. ?trange
  7388.  The `set trange` command sets the parametric range used to compute x and y
  7389.  values when in parametric or polar modes.  Please see `set xrange` for
  7390.  details.
  7391. ?commands set urange
  7392. ?commands show urange
  7393. ?set urange
  7394. ?show urange
  7395. ?urange
  7396.  The `set urange` and `set vrange` commands set the parametric ranges used
  7397.  to compute x, y, and z values when in `splot` parametric mode.  Please see
  7398.  `set xrange` for details.
  7399. ?commands show variables
  7400. ?show variables
  7401.  The `show variables` command lists all user-defined variables and their
  7402.  values.
  7403.  
  7404.  Syntax:
  7405.        show variables
  7406. ?show version
  7407.  The `show version` command lists the version of gnuplot being run, its last
  7408.  modification date, the copyright holders, and email addresses for the FAQ,
  7409.  the info-gnuplot mailing list, and reporting bugs--in short, the information
  7410.  listed on the screen when the program is invoked interactively.
  7411.  
  7412.  Syntax:
  7413.        show version {long}
  7414.  
  7415.  When the `long` option is given, it also lists the operating system, the
  7416.  compilation options used when `gnuplot` was installed, the location of the
  7417.  help file, and (again) the useful email addresses.
  7418. ?commands set view
  7419. ?commands show view
  7420. ?set view
  7421. ?show view
  7422. ?view
  7423.  The `set view` command sets the viewing angle for `splot`s.  It controls how
  7424.  the 3-d coordinates of the plot are mapped into the 2-d screen space.  It
  7425.  provides controls for both rotation and scaling of the plotted data, but
  7426.  supports orthographic projections only.
  7427.  
  7428.  Syntax:
  7429.        set view <rot_x> {,{<rot_z>}{,{<scale>}{,<scale_z>}}}
  7430.        show view
  7431.  
  7432.  where <rot_x> and <rot_z> control the rotation angles (in degrees) in a
  7433.  virtual 3-d coordinate system aligned with the screen such that initially
  7434.  (that is, before the rotations are performed) the screen horizontal axis is
  7435.  x, screen vertical axis is y, and the axis perpendicular to the screen is z.
  7436.  The first rotation applied is <rot_x> around the x axis.  The second rotation
  7437.  applied is <rot_z> around the new z axis.
  7438.  
  7439.  <rot_x> is bounded to the [0:180] range with a default of 60 degrees, while
  7440.  <rot_z> is bounded to the [0:360] range with a default of 30 degrees.
  7441.  <scale> controls the scaling of the entire `splot`, while <scale_z> scales
  7442.  the z axis only.  Both scales default to 1.0.
  7443.  
  7444.  Examples:
  7445.        set view 60, 30, 1, 1
  7446.        set view ,,0.5
  7447.  
  7448.  The first sets all the four default values.  The second changes only scale,
  7449.  to 0.5.
  7450.  
  7451.  See also `set ticslevel`.
  7452. ?commands set vrange
  7453. ?commands show vrange
  7454. ?set vrange
  7455. ?show vrange
  7456. ?vrange
  7457.  The `set urange` and `set vrange` commands set the parametric ranges used
  7458.  to compute x, y, and z values when in `splot` parametric mode.  Please see
  7459.  `set xrange` for details.
  7460. ?commands set x2data
  7461. ?commands show x2data
  7462. ?set x2data
  7463. ?show x2data
  7464. ?x2data
  7465.  The `set x2data` command sets data on the x2 (top) axis to timeseries
  7466.  (dates/times).  Please see `set xdata`.
  7467. ?commands set x2dtics
  7468. ?commands set nox2dtics
  7469. ?commands show x2dtics
  7470. ?set x2dtics
  7471. ?set nox2dtics
  7472. ?show x2dtics
  7473. ?x2dtics
  7474. ?nox2dtics
  7475.  The `set x2dtics` command changes tics on the x2 (top) axis to days of the
  7476.  week.  Please see `set xdtics` for details.
  7477. ?commands set x2label
  7478. ?commands show x2label
  7479. ?set x2label
  7480. ?show x2label
  7481. ?x2label
  7482.  The `set x2label` command sets the label for the x2 (top) axis.  Please see
  7483.  `set xlabel`.
  7484. ?commands set x2mtics
  7485. ?commands set nox2mtics
  7486. ?commands show x2mtics
  7487. ?set x2mtics
  7488. ?set nox2mtics
  7489. ?show x2mtics
  7490. ?x2mtics
  7491. ?nox2mtics
  7492.  The `set x2mtics` command changes tics on the x2 (top) axis to months of the
  7493.  year.  Please see `set xmtics` for details.
  7494. ?commands set x2range
  7495. ?commands show x2range
  7496. ?set x2range
  7497. ?show x2range
  7498. ?x2range
  7499.  The `set x2range` command sets the horizontal range that will be displayed on
  7500.  the x2 (top) axis.  Please see `set xrange` for details.
  7501. ?commands set x2tics
  7502. ?commands set nox2tics
  7503. ?commands show x2tics
  7504. ?set x2tics
  7505. ?set nox2tics
  7506. ?show x2tics
  7507. ?x2tics
  7508. ?nox2tics
  7509.  The `set x2tics` command controls major (labelled) tics on the x2 (top) axis.
  7510.  Please see `set xtics` for details.
  7511. ?commands set x2zeroaxis
  7512. ?commands set nox2zeroaxis
  7513. ?commands show x2zeroaxis
  7514. ?set x2zeroaxis
  7515. ?set nox2zeroaxis
  7516. ?show x2zeroaxis
  7517. ?x2zeroaxis
  7518. ?nox2zeroaxis
  7519.  The `set x2zeroaxis` command draws a line at the origin of the x2 (top) axis
  7520.  (y2 = 0).  For details, please see
  7521.  `set zeroaxis`.
  7522. ?commands set xdata
  7523. ?commands show xdata
  7524. ?set xdata
  7525. ?show xdata
  7526. ?xdata
  7527.  This command sets the datatype on the x axis to time/date.  A similar command
  7528.  does the same thing for each of the other axes.
  7529.  
  7530.  Syntax:
  7531.        set xdata {time}
  7532.        show xdata
  7533.  
  7534.  The same syntax applies to `ydata`, `zdata`, `x2data` and `y2data`.
  7535.  
  7536.  The `time` option signals that the datatype is indeed time/date.  If the
  7537.  option is not specified, the datatype reverts to normal.
  7538.  
  7539.  See `set timefmt` to tell `gnuplot` how to read date or time data.  The
  7540.  time/date is converted to seconds from start of the century.  There is
  7541.  currently only one timefmt, which implies that all the time/date columns must
  7542.  confirm to this format.  Specification of ranges should be supplied as quoted
  7543.  strings according to this format to avoid interpretation of the time/date as
  7544.  an expression.
  7545.  
  7546.  The function 'strftime' (type "man strftime" on unix to look it up) is used
  7547.  to print tic-mark labels.  `gnuplot` tries to figure out a reasonable format
  7548.  for this  unless the `set format x "string"` has supplied something that does
  7549.  not look like a decimal format (more than one '%' or neither %f nor %g).
  7550.  
  7551.  See also `Time/date` for more information.
  7552. ?commands set xdtics
  7553. ?commands set noxdtics
  7554. ?commands show xdtics
  7555. ?set xdtics
  7556. ?set noxdtics
  7557. ?show xdtics
  7558. ?xdtics
  7559. ?noxdtics
  7560.  The `set xdtics` commands converts the x-axis tic marks to days of the week
  7561.  where 0=Sun and 6=Sat.  Overflows are converted modulo 7 to dates.  `set
  7562.  noxdtics` returns the labels to their default values.  Similar commands do
  7563.  the same things for the other axes.
  7564.  
  7565.  Syntax:
  7566.        set xdtics
  7567.        set noxdtics
  7568.        show xdtics
  7569.  
  7570.  The same syntax applies to `ydtics`, `zdtics`, `x2dtics` and `y2dtics`.
  7571.  
  7572.  See also the `set format` command.
  7573. ?commands set xlabel
  7574. ?commands show xlabel
  7575. ?set xlabel
  7576. ?show xlabel
  7577. ?xlabel
  7578.  The `set xlabel` command sets the x axis label.  Similar commands set labels
  7579.  on the other axes.
  7580.  
  7581.  Syntax:
  7582.        set xlabel {"<label>"} {<xoff>}{,<yoff>} {"<font>{,<size>}"}
  7583.        show xlabel
  7584.  
  7585.  The same syntax applies to `x2label`, `ylabel`, `y2label` and `zlabel`.
  7586.  
  7587.  Specifying the constants <xoff> or <yoff> as optional offsets for a label
  7588.  will move it <xoff> or <yoff> character widths or heights.  For example,
  7589.  "` set xlabel -1`" will change only the x offset of the xlabel, moving the
  7590.  label roughly one character width to the left.   The size of a character
  7591.  depends on both the font and the terminal.
  7592.  
  7593.  <font> is used to specify the font in which the label is written; the units
  7594.  of the font <size> depend upon which terminal is used.
  7595.  
  7596.  To clear a label, put no options on the command line, e.g., "`set y2label`".
  7597.  
  7598.  The default positions of the axis labels are as follows:
  7599.  
  7600.  xlabel:  The x-axis label is centered below the bottom axis.
  7601.  
  7602.  ylabel:  The position of the y-axis label depends on the terminal, and can be
  7603.  one of the following three positions:
  7604.  
  7605.  1. Horizontal text flushed left at the top left of the plot.  Terminals that
  7606.  cannot rotate text will probably use this method.  If `set x2tics` is also
  7607.  in use, the ylabel may overwrite the left-most x2tic label.  This may be
  7608.  remedied by adjusting the ylabel position or the left margin.
  7609.  
  7610.  2. Vertical text centered vertically at the left of the plot.  Terminals
  7611.  that can rotate text will probably use this method.
  7612.  
  7613.  3. Horizontal text centered vertically at the left of the plot.  The EEPIC,
  7614.  LaTeX and TPIC drivers use this method.  The user must insert line breaks
  7615.  using \\ to prevent the ylabel from overwriting the plot.  To produce a
  7616.  vertical row of characters, add \\ between every printing character (but this
  7617.  is ugly).
  7618.  
  7619.  zlabel: The z-axis label is centered along the z axis and placed in the space
  7620.  above the grid level.
  7621.  
  7622.  y2label: The y2-axis label is placed to the right of the y2 axis.  The
  7623.  position is terminal-dependent in the same manner as is the y-axis label.
  7624.  
  7625.  x2label: The x2-axis label is placed above the top axis but below the plot
  7626.  title.  It is also possible to create an x2-axis label by using new-line
  7627.  characters to make a multi-line plot title, e.g.,
  7628.  
  7629.        set title "This is the title\n\nThis is the x2label"
  7630.  
  7631.  Note that double quotes must be used.  The same font will be used for both
  7632.  lines, of course.
  7633.  
  7634.  If you are not satisfied with the default position of an axis label, use `set
  7635.  label` instead--that command gives you much more control over where text is
  7636.  placed.
  7637.  
  7638.  Please see `set syntax` for further information about backslash processing
  7639.  and the difference between single- and double-quoted strings.
  7640. ?commands set xmtics
  7641. ?commands set noxmtics
  7642. ?commands show xmtics
  7643. ?set xmtics
  7644. ?set noxmtics
  7645. ?show xmtics
  7646. ?xmtics
  7647. ?noxmtics
  7648.  The `set xmtics` commands converts the x-axis tic marks to months of the
  7649.  year where 1=Jan and 12=Dec.  Overflows are converted modulo 12 to months.
  7650.  The tics are returned to their default labels by `set noxmtics`.  Similar
  7651.  commands perform the same duties for the other axes.
  7652.  
  7653.  Syntax:
  7654.        set xmtics
  7655.        set noxmtics
  7656.        show xmtics
  7657.  
  7658.  The same syntax applies to `x2mtics`, `ymtics`, `y2mtics`, and `zmtics`.
  7659.  
  7660.  See also the `set format` command.
  7661. ?commands set xrange
  7662. ?commands show xrange
  7663. ?set xrange
  7664. ?show xrange
  7665. ?xrange
  7666.  The `set xrange` command sets the horizontal range that will be displayed.
  7667.  A similar command exists for each of the other axes, as well as for the
  7668.  polar radius r and the parametric variables t, u, and v.
  7669.  
  7670.  Syntax:
  7671.        set xrange [{{<min>}:{<max>}}] {{no}reverse} {{no}writeback}
  7672.        show xrange
  7673.  
  7674.  where <min> and <max> terms are constants, expressions or an asterisk to set
  7675.  autoscaling.  If the data are time/date, you must give the range as a quoted
  7676.  string according to the `set timefmt` format.  Any value omitted will not be
  7677.  changed.
  7678.  
  7679.  The same syntax applies to `yrange`, `zrange`, `x2range`, `y2range`,
  7680.  `rrange`, `trange`, `urange` and `vrange`.
  7681.  
  7682.  The `reverse` option reverses the direction of the axis, e.g., `set xrange
  7683.  [0:1] reverse` will produce an axis with 1 on the left and 0 on the right.
  7684.  This is identical to the axis produced by `set xrange [1:0]`, of course.
  7685.  `reverse` is intended primarily for use with `autoscale`.
  7686.  
  7687.  The `writeback` option essentially saves the range found by `autoscale` in
  7688.  the buffers that would be filled by `set xrange`.  This is useful if you wish
  7689.  to plot several functions together but have the range determined by only
  7690.  some of them.  The `writeback` operation is performed during the `plot`
  7691.  execution, so it must be specified before that command.  For example,
  7692.  
  7693.        set xrange [-10:10]
  7694.        set yrange [] writeback
  7695.        plot sin(x)
  7696.        set noautoscale y
  7697.        replot x/2
  7698.  
  7699.  results in a yrange of [-1:1] as found only from the range of sin(x); the
  7700.  [-5:5] range of x/2 is ignored.  Executing `show yrange` after each command
  7701.  in the above example should help you understand what is going on.
  7702.  
  7703.  In 2-d, `xrange` and `yrange` determine the extent of the axes, `trange`
  7704.  determines the range of the parametric variable in parametric mode or the
  7705.  range of the angle in polar mode.  Similarly in parametric 3-d, `xrange`,
  7706.  `yrange`, and `zrange` govern the axes and `urange` and `vrange` govern the
  7707.  parametric variables.
  7708.  
  7709.  In polar mode, `rrange` determines the radial range plotted.  <rmin> acts as
  7710.  an additive constant to the radius, whereas <rmax> acts as a clip to the
  7711.  radius---no point with radius greater than <rmax> will be plotted.  `xrange`
  7712.  and `yrange` are affected---the ranges can be set as if the graph was of
  7713.  r(t)-rmin, with rmin added to all the labels.
  7714.  
  7715.  Any range may be partially or totally autoscaled, although it may not make
  7716.  sense to autoscale a parametric variable unless it is plotted with data.
  7717.  
  7718.  Ranges may also be specified on the `plot` command line.  A range given on
  7719.  the plot line will be used for that single `plot` command; a range given by
  7720.  a `set` command will be used for all subsequent plots that do not specify
  7721.  their own ranges.  The same holds true for `splot`.
  7722.  
  7723.  Examples:
  7724.  
  7725.  To set the xrange to the default:
  7726.        set xrange [-10:10]
  7727.  
  7728.  To set the yrange to increase downwards:
  7729.        set yrange [10:-10]
  7730.  
  7731.  To change zmax to 10 without affecting zmin (which may still be autoscaled):
  7732.        set zrange [:10]
  7733.  
  7734.  To autoscale xmin while leaving xmax unchanged:
  7735.        set xrange [*:]
  7736. ?commands set xtics
  7737. ?commands set noxtics
  7738. ?commands show xtics
  7739. ?set xtics
  7740. ?set noxtics
  7741. ?show xtics
  7742. ?xtics
  7743. ?noxtics
  7744.  Fine control of the major (labelled) tics on the x axis is possible with the
  7745.  `set xtics` command.  The tics may be turned off with the `set noxtics`
  7746.  command, and may be turned on (the default state) with `set xtics`.  Similar
  7747.  commands control the major tics on the y, z, x2 and y2 axes.
  7748.  
  7749.  Syntax:
  7750.        set xtics {axis | border} {{no}mirror} {{no}rotate}
  7751.                  {  autofreq
  7752.                   | <incr>
  7753.                   | <start>, <incr> {,<end>}
  7754.                   | ({"<label>"} <pos> {,{"<label>"} <pos>}...) }
  7755.        set noxtics
  7756.        show xtics
  7757.  
  7758.  The same syntax applies to `ytics`, `ztics`, `x2tics` and `y2tics`.
  7759.  
  7760.  `axis` or `border` tells `gnuplot` to put the tics (both the tics themselves
  7761.  and the accompanying labels) along the axis or the border, respectively.  If
  7762.  the axis is very close to the border, the `axis` option can result in tic
  7763.  labels overwriting other text written in the margin.
  7764.  
  7765.  `mirror` tells `gnuplot` to put unlabelled tics at the same positions on the
  7766.  opposite border.  `nomirror` does what you think it does.
  7767.  
  7768.  `rotate` asks `gnuplot` to rotate the text through 90 degrees, which will be
  7769.  done if the terminal driver in use supports text rotation.  `norotate`
  7770.  cancels this.
  7771.  
  7772.  The defaults are `border mirror norotate` for tics on the x and y axes, and
  7773.  `border nomirror norotate` for tics on the x2 and y2 axes.  For the z axis,
  7774.  the the `{axis | border}` option is not available and the default is
  7775.  `nomirror`.  If you do want to mirror the z-axis tics, you might want to
  7776.  create a bit more room for them with `set border`.
  7777.  
  7778.  `set xtics` with no options restores the default border or axis if xtics are
  7779.  being displayed;  otherwise it has no effect.  Any previously specified tic
  7780.  frequency or position {and labels} are retained.
  7781.  
  7782.  Positions of the tics are calculated automatically by default or if the
  7783.  `autofreq` option is given; otherwise they may be specified in either of
  7784.  two forms:
  7785.  
  7786.  The implicit <start>, <incr>, <end> form specifies that a series of tics will
  7787.  be plotted on the axis between the values <start> and <end> with an increment
  7788.  of <incr>.  If <end> is not given, it is assumed to be infinity.  The
  7789.  increment may be negative.  If neither <start> nor <end> is given, <start> is
  7790.  assumed to be negative infinity, <end> is assumed to be positive infinity,
  7791.  and the tics will be drawn at integral multiples of <step>.  If the axis is
  7792.  logarithmic, the increment will be used as a multiplicative factor.
  7793.  
  7794.  Examples:
  7795.  
  7796.  Make tics at 0, 0.5, 1, 1.5, ..., 9.5, 10.
  7797.        set xtics 0,.5,10
  7798.  
  7799.  Make tics at ..., -10, -5, 0, 5, 10, ...
  7800.        set xtics 5
  7801.  
  7802.  Make tics at 1, 100, 1e4, 1e6, 1e8.
  7803.        set logscale x; set xtics 1,100,10e8
  7804.  
  7805.  The explicit ("<label>" <pos>, ...) form allows arbitrary tic positions or
  7806.  non-numeric tic labels.  A set of tics is a set of positions, each with its
  7807.  own optional label.  Note that the label is a string enclosed by quotes.  It
  7808.  may be a constant string, such as "hello", may contain formatting information
  7809.  for converting the position into its label, such as "%3f clients", or may be
  7810.  empty, "".  See `set format` for more information.  If no string is given,
  7811.  the default label (numerical) is used.  In this form, the tics do not need to
  7812.  be listed in numerical order.
  7813.  
  7814.  Examples:
  7815.        set xtics ("low" 0, "medium" 50, "high" 100)
  7816.        set xtics (1,2,4,8,16,32,64,128,256,512,1024)
  7817.        set ytics ("bottom" 0, "" 10, "top" 20)
  7818.  
  7819.  In the second example, all tics are labelled.  In the third, only the end
  7820.  tics are labelled.
  7821.  
  7822.  However they are specified, tics will only be plotted when in range.
  7823.  
  7824.  Format (or omission) of the tic labels is controlled by `set format`, unless
  7825.  the explicit text of a labels is included in the `set xtic (`<label>`)` form.
  7826.  
  7827.  Minor (unlabelled) tics can be added by the `set mxtics` command.
  7828.  
  7829.  In case of timeseries data, position values must be given as quoted dates
  7830.  or times according to the format `timefmt`.  If the <start>, <incr>, <end>
  7831.  form is used, <start> and <end> must be given according to `timefmt`, but
  7832.  <incr> must be in seconds.  Times will be written out according to the format
  7833.  given on `set format`, however.
  7834.  
  7835.  Examples:
  7836.        set xdata time
  7837.        set timefmt "%d/%m"
  7838.        set format x "%b %d"
  7839.        set xrange ["01/12":"06/12"]
  7840.        set xtics "01/12", 172800, "05/12"
  7841.  
  7842.        set xdata time
  7843.        set timefmt "%d/%m"
  7844.        set format x "%b %d"
  7845.        set xrange ["01/12":"06/12"]
  7846.        set xtics ("01/12", "" "03/12", "05/12")
  7847.  Both of these will produce tics "Dec 1", "Dec 3", and "Dec 5", but in the
  7848.  second example the tic at "Dec 3" will be unlabelled.
  7849.  
  7850. ?commands set xzeroaxis
  7851. ?commands set noxzeroaxis
  7852. ?commands show xzeroaxis
  7853. ?set xzeroaxis
  7854. ?set noxzeroaxis
  7855. ?show xzeroaxis
  7856. ?xzeroaxis
  7857. ?noxzeroaxis
  7858.  The `set xzeroaxis` command draws a line at y = 0.  For details, please see
  7859.  `set zeroaxis`.
  7860. ?commands set y2data
  7861. ?commands show y2data
  7862. ?set y2data
  7863. ?show y2data
  7864. ?y2data
  7865.  The `set y2data` command sets y2 (right-hand) axis data to timeseries
  7866.  (dates/times).  Please see `set xdata`.
  7867. ?commands set y2dtics
  7868. ?commands set noy2dtics
  7869. ?set y2dtics
  7870. ?set noy2dtics
  7871. ?show y2dtics
  7872. ?y2dtics
  7873. ?noy2dtics
  7874.  The `set y2dtics` command changes tics on the y2 (right-hand) axis to days of
  7875.  the week.  Please see `set xdtics` for details.
  7876. ?commands set y2label
  7877. ?commands show y2label
  7878. ?set y2label
  7879. ?show y2label
  7880. ?y2label
  7881.  The `set y2dtics` command sets the label for the y2 (right-hand) axis.
  7882.  Please see `set xlabel`.
  7883. ?commands set y2mtics
  7884. ?commands set noy2mtics
  7885. ?commands show y2mtics
  7886. ?set y2mtics
  7887. ?set noy2mtics
  7888. ?show y2mtics
  7889. ?y2mtics
  7890. ?noy2mtics
  7891.  The `set y2mtics` command changes tics on the y2 (right-hand) axis to months
  7892.  of the year.  Please see `set xmtics` for details.
  7893. ?commands set y2range
  7894. ?commands show y2range
  7895. ?set y2range
  7896. ?show y2range
  7897. ?y2range
  7898.  The `set y2range` command sets the vertical range that will be displayed on
  7899.  the y2 (right-hand) axis.  Please see `set xrange` for details.
  7900. ?commands set y2tics
  7901. ?commands set noy2tics
  7902. ?commands show y2tics
  7903. ?set y2tics
  7904. ?set noy2tics
  7905. ?show y2tics
  7906. ?y2tics
  7907. ?noy2tics
  7908.  The `set y2tics` command controls major (labelled) tics on the y2 (right-hand)
  7909.  axis.  Please see `set xtics` for details.
  7910. ?commands set y2zeroaxis
  7911. ?commands set noy2zeroaxis
  7912. ?commands show y2zeroaxis
  7913. ?set y2zeroaxis
  7914. ?set noy2zeroaxis
  7915. ?show y2zeroaxis
  7916. ?y2zeroaxis
  7917. ?noy2zeroaxis
  7918.  The `set y2zeroaxis` command draws a line at the origin of the y2 (right-hand)
  7919.  axis (x2 = 0).  For details, please see `set zeroaxis`.
  7920. ?commands set ydata
  7921. ?commands show ydata
  7922. ?set ydata
  7923. ?show ydata
  7924. ?ydata
  7925.  Sets y-axis data to timeseries (dates/times).  Please see `set xdata`.
  7926. ?commands set ydtics
  7927. ?commands set noydtics
  7928. ?commands show ydtics
  7929. ?set ydtics
  7930. ?set noydtics
  7931. ?show ydtics
  7932. ?ydtics
  7933. ?noydtics
  7934.  The `set ydtics` command changes tics on the y axis to days of the week.
  7935.  Please see `set xdtics` for details.
  7936. ?commands set ylabel
  7937. ?commands show ylabel
  7938. ?set ylabel
  7939. ?show ylabel
  7940. ?ylabel
  7941.  This command sets the label for the y axis.  Please see `set xlabel`.
  7942. ?commands set ymtics
  7943. ?commands set noymtics
  7944. ?commands show ymtics
  7945. ?set ymtics
  7946. ?set noymtics
  7947. ?show ymtics
  7948. ?ymtics
  7949. ?noymtics
  7950.  The `set ymtics` command changes tics on the y axis to months of the year.
  7951.  Please see `set xmtics` for details.
  7952. ?commands set yrange
  7953. ?commands show yrange
  7954. ?set yrange
  7955. ?show yrange
  7956. ?yrange
  7957.  The `set yrange` command sets the vertical range that will be displayed on
  7958.  the y axis.  Please see `set xrange` for details.
  7959. ?commands set ytics
  7960. ?commands set noytics
  7961. ?commands show ytics
  7962. ?set ytics
  7963. ?set noytics
  7964. ?show ytics
  7965. ?ytics
  7966. ?noytics
  7967.  The `set ytics` command controls major (labelled) tics on the y axis.
  7968.  Please see `set xtics` for details.
  7969. ?commands set yzeroaxis
  7970. ?commands set noyzeroaxis
  7971. ?commands show yzeroaxis
  7972. ?set yzeroaxis
  7973. ?set noyzeroaxis
  7974. ?show yzeroaxis
  7975. ?yzeroaxis
  7976. ?noyzeroaxis
  7977.  The `set yzeroaxis` command draws a line at x = 0.  For details, please see
  7978.  `set zeroaxis`.
  7979. ?commands set zdata
  7980. ?commands show zdata
  7981. ?set zdata
  7982. ?show zdata
  7983. ?zdata
  7984.  Set zaxis date to timeseries (dates/times).  Please see `set xdata`.
  7985. ?commands set zdtics
  7986. ?commands set nozdtics
  7987. ?commands show zdtics
  7988. ?set zdtics
  7989. ?set nozdtics
  7990. ?show zdtics
  7991. ?zdtics
  7992. ?nozdtics
  7993.  The `set zdtics` command changes tics on the z axis to days of the week.
  7994.  Please see `set xdtics` for details.
  7995. ?commands set zero
  7996. ?commands show zero
  7997. ?set zero
  7998. ?show zero
  7999. ?zero
  8000.  The `zero` value is the default threshold for values approaching 0.0.
  8001.  
  8002.  Syntax:
  8003.        set zero <expression>
  8004.        show zero
  8005.  
  8006.  `gnuplot` will not plot a point if its imaginary part is greater in magnitude
  8007.  than the `zero` threshold.  This threshold is also used in various other
  8008.  parts of `gnuplot` as a (crude) numerical-error threshold.  The default
  8009.  `zero` value is 1e-8.  `zero` values larger than 1e-3 (the reciprocal of the
  8010.  number of pixels in a typical bitmap display) should probably be avoided, but
  8011.  it is not unreasonable to set `zero` to 0.0.
  8012. ?commands set zeroaxis
  8013. ?commands set nozeroaxis
  8014. ?commands show zeroaxis
  8015. ?set zeroaxis
  8016. ?set nozeroaxis
  8017. ?show zeroaxis
  8018. ?zeroaxis
  8019. ?nozeroaxis
  8020.  The x axis may be drawn by `set xzeroaxis` and removed by `set noxzeroaxis`.
  8021.  Similar commands behave similarly for the y, x2, and y2 axes.
  8022.  
  8023.  Syntax:
  8024.        set {x|x2|y|y2|}zeroaxis { {linestyle | ls <line_style>}
  8025.                                   | { linetype | lt <line_type>}
  8026.                                     { linewidth | lw <line_width>}}
  8027.        set no{x|x2|y|y2|}zeroaxis
  8028.        show {x|y|}zeroaxis
  8029.  
  8030.  
  8031.  By default, these options are off.  The selected zero axis is drawn
  8032.  with a line of type <line_type> and width <line_width> (if supported
  8033.  by the terminal driver currently in use), or a user-defined style
  8034.  <line_style>.
  8035.  
  8036.  If no linetype is specified, any zero axes selected will be drawn
  8037.  using the axis linetype (linetype 0).
  8038.  
  8039.  `set zeroaxis l` is equivalent to `set xzeroaxis l; set yzeroaxis l`. `set
  8040.  nozeroaxis` is equivalent to `set noxzeroaxis; set noyzeroaxis`.
  8041. ?commands set zlabel
  8042. ?commands show zlabel
  8043. ?set zlabel
  8044. ?show zlabel
  8045. ?zlabel
  8046.  This command sets the label for the z axis.  Please see `set xlabel`.
  8047. ?commands set zmtics
  8048. ?commands set nozmtics
  8049. ?commands show zmtics
  8050. ?set zmtics
  8051. ?set nozmtics
  8052. ?show zmtics
  8053. ?zmtics
  8054. ?nozmtics
  8055.  The `set zmtics` command changes tics on the z axis to months of the year.
  8056.  Please see `set xmtics` for details.
  8057. ?commands set zrange
  8058. ?commands show zrange
  8059. ?set zrange
  8060. ?show zrange
  8061. ?zrange
  8062.  The `set zrange` command sets the range that will be displayed on the z axis.
  8063.  The zrange is used only by `splot` and is ignored by `plot`.  Please see `set
  8064.  xrange` for details.
  8065. ?commands set ztics
  8066. ?commands set noztics
  8067. ?commands show ztics
  8068. ?set ztics
  8069. ?set noztics
  8070. ?show ztics
  8071. ?ztics
  8072. ?noztics
  8073.  The `set ztics` command controls major (labelled) tics on the z axis.
  8074.  Please see `set xtics` for details.
  8075. ?commands shell
  8076. ?shell
  8077.  The `shell` command spawns an interactive shell.  To return to `gnuplot`,
  8078.  type `logout` if using VMS, `exit` or the END-OF-FILE character if using
  8079.  Unix, `endcli` if using AmigaOS, or `exit` if using MS-DOS or OS/2.
  8080.  
  8081.  A single shell command may be spawned by preceding it with the ! character
  8082.  ($ if using VMS) at the beginning of a command line.  Control will return
  8083.  immediately to `gnuplot` after this command is executed.  For example, in
  8084.  Unix, AmigaOS, MS-DOS or OS/2,
  8085.  
  8086.        ! dir
  8087.  
  8088.  prints a directory listing and then returns to `gnuplot`.
  8089.  
  8090.  On an Atari, the `!` command first checks whether a shell is already loaded
  8091.  and uses it, if available.  This is practical if `gnuplot` is run from
  8092.  `gulam`, for example.
  8093. ?commands splot
  8094. ?splot
  8095.  `splot` is the command for drawing 3-d plots (well, actually projections on
  8096.  a 2-d surface, but you knew that).  It can create a plot from functions or
  8097.  a data file in a manner very similar to the `plot` command.
  8098.  
  8099.  See `plot` for features common to the `plot` command; only differences are
  8100.  discussed in detail here.  Note specifically that the `binary` and `matrix`
  8101.  options (discussed under "datafile-modifiers") are not available for `plot`.
  8102.  
  8103.  Syntax:
  8104.        splot {<ranges>}
  8105.              <function> | "<datafile>" {datafile-modifiers}}
  8106.              {<title-spec>} {with <style>}
  8107.              {, {definitions,} <function> ...}
  8108.  
  8109.  where either a <function> or the name of a data file enclosed in quotes is
  8110.  supplied.  The function can be a mathematical expression, or a triple of
  8111.  mathematical expressions in parametric mode.
  8112.  
  8113.  By default `splot` draws the xy plane completely below the plotted data.
  8114.  The offset between the lowest ztic and the xy plane can be changed by `set
  8115.  ticslevel`.  The orientation of a `splot` projection is controlled by
  8116.  `set view`.  See `set view` and `set ticslevel` for more information.
  8117.  
  8118.  The syntax for setting ranges on the `splot` command is the same as for
  8119.  `plot`.  In non-parametric mode, the order in which ranges must be given is
  8120.  `xrange`, `yrange`, and `zrange`.  In parametric mode, the order is `urange`,
  8121.  `vrange`, `xrange`, `yrange`, and `zrange`.
  8122.  
  8123.  The `title` option is the same as in `plot`.  The operation of `with` is also
  8124.  the same as in `plot`, except that the plotting styles available to `splot`
  8125.  are limited to `lines`, `points`, `linespoints`, `dots`, and `impulses`;  the
  8126.  error-bar capabilities of `plot` are not available for `splot`.
  8127.  
  8128.  The datafile options have more differences.
  8129. ?commands splot datafile
  8130. ?splot datafile
  8131. ?splot data-file
  8132.  As for `plot`, discrete data contained in a file can be displayed by
  8133.  specifying the name of the data file, enclosed in quotes,  on the `splot`
  8134.  command line.
  8135.  
  8136.  Syntax:
  8137.        splot '<file_name>' {binary | matrix}
  8138.                            {index <index list>}
  8139.                            {every <every list>}
  8140.                            {using <using list>}
  8141.  
  8142.  The special filenames `""` and `"-"` are permitted, as in `plot`.
  8143.  
  8144.  In brief, `binary` and `matrix` indicate that the the data are in a special
  8145.  form, `index` selects which data sets in a multi-data-set file are to be
  8146.  plotted, `every` specifies which datalines (subsets) within a single data
  8147.  set are to be plotted, and `using` determines how the columns within a single
  8148.  record are to be interpreted.
  8149.  
  8150.  The options `index` and `every` behave the same way as with `plot`;  `using`
  8151.  does so also, except that the `using` list must provide three entries
  8152.  instead of two.
  8153.  
  8154.  The `plot` options `thru` and `smooth` are not available for `splot`, but
  8155.  `cntrparams` and `dgrid3d` provide limited smoothing cabilities.
  8156.  
  8157.  Data file organization is essentially the same as for `plot`, except that
  8158.  each point is an (x,y,z) triple.  If only a single value is provided, it
  8159.  will be used for z, the datablock number will be used for y, and the index
  8160.  of the data point in the datablock will be used for x.  If two values are
  8161.  provided, `gnuplot` gives you an error message.  Three values are interpreted
  8162.  as an (x,y,z) triple.  Additional values are generally used as errors, which
  8163.  can be used by `fit`.
  8164.  
  8165.  Single blank records separate datablocks in a `splot` datafile; `splot`
  8166.  treats datablocks as the equivalent of function y-isolines.  No line will
  8167.  join points separated by a blank record.  If all datablocks contain the same
  8168.  number of points, `gnuplot` will draw cross-isolines between datablocks,
  8169.  connecting corresponding points.  This is termed "grid data", and is required
  8170.  for drawing a surface, for contouring (`set contour`) and hidden-line removal
  8171.  (`set hidden3d`). See also `splot grid data`
  8172.  
  8173.  It is no longer necessary to specify `parametric` mode for three-column
  8174.  `splot`s.
  8175. ?commands splot datafile binary
  8176. ?splot datafile binary
  8177. ?splot binary
  8178. ?data-file binary
  8179. ?datafile binary
  8180. ?binary
  8181. ?binary data
  8182. ?binary files
  8183.  `splot` can read binary files written with a specific format (and on a
  8184.  system with a compatible binary file representation.)
  8185.  
  8186.  In previous versions, `gnuplot` dynamically detected binary data files.  It
  8187.  is now necessary to specify the keyword `binary` directly after the filename.
  8188.  
  8189.  Single precision floats are stored in a binary file as follows:
  8190.  
  8191.        <N+1>  <y0>   <y1>   <y2>  ...  <yN>
  8192.         <x0> <z0,0> <z0,1> <z0,2> ... <z0,N>
  8193.         <x1> <z1,0> <z1,1> <z1,2> ... <z1,N>
  8194.          :      :      :      :   ...    :
  8195.  
  8196.  which are converted into triplets:
  8197.        <x0> <y0> <z0,0>
  8198.        <x0> <y1> <z0,1>
  8199.        <x0> <y2> <z0,2>
  8200.         :    :     :
  8201.        <x0> <yN> <z0,N>
  8202.  
  8203.        <x1> <y0> <z1,0>
  8204.        <x1> <y1> <z1,1>
  8205.         :    :     :
  8206.  
  8207.  These triplets are then converted into `gnuplot` iso-curves and then
  8208.  `gnuplot` proceeds in the usual manner to do the rest of the plotting.
  8209.  
  8210.  A collection of matrix and vector manipulation routines (in C) is provided
  8211.  in `binary.c`.  The routine to write binary data is
  8212.  
  8213.        int fwrite_matrix(file,m,nrl,nrl,ncl,nch,row_title,column_title)
  8214.  
  8215.  An example of using these routines is provided in the file `bf_test.c`, which
  8216.  generates binary files for the demo file `demo/binary.dem`.
  8217.  
  8218.  The `index` keyword is not supported, since the file format allows only one
  8219.  surface per file.  The `every` and `using` filters are supported.  `using`
  8220.  operates as if the data were read in the above triplet form.
  8221. ?commands splot datafile example
  8222. ?splot datafile example
  8223. ?splot example
  8224.  A simple example of plotting a 3-d data file is
  8225.  
  8226.        splot 'datafile.dat'
  8227.  
  8228.  where the file "datafile.dat" might contain:
  8229.  
  8230.        # The valley of the Gnu.
  8231.           0 0 10
  8232.           0 1 10
  8233.           0 2 10
  8234.  
  8235.           1 0 10
  8236.           1 1 5
  8237.           1 2 10
  8238.  
  8239.           2 0 10
  8240.           2 1 1
  8241.           2 2 10
  8242.  
  8243.           3 0 10
  8244.           3 1 0
  8245.           3 2 10
  8246.  
  8247.  Note that "datafile.dat" defines a 4 by 3 grid ( 4 rows of 3 points each ).
  8248.  Rows (datablocks) are separated by blank records.
  8249.  
  8250.  Note also that the x value is held constant within each dataline.  If you
  8251.  instead keep y constant, and plot with hidden-line removal enabled, you will
  8252.  find that the surface is drawn 'inside-out'.
  8253.  
  8254.  Actually for grid data it is not necessary to keep the x values constant
  8255.  within a datablock, nor is it necessary to keep the same sequence of y
  8256.  values.  `gnuplot` requires only that the number of points be the same for
  8257.  each datablock.  However since the surface mesh, from which contours are
  8258.  derived, connects sequentially corresponding points, the effect of an
  8259.  irregular grid on a surface plot is unpredictable and should be examined
  8260.  on a case-by-case basis.
  8261. ?commands splot datafile matrix
  8262. ?splot datafile matrix
  8263. ?splot matrix
  8264. ?data-file matrix
  8265. ?datafile matrix
  8266. ?matrix
  8267.  The `matrix` flag indicates that the ASCII data are stored in matrix format.
  8268.  The z-values are read in a row at a time, i. e.,
  8269.        z11 z12 z13 z14 ...
  8270.        z21 z22 z23 z24 ...
  8271.        z31 z32 z33 z34 ...
  8272.  and so forth.  The row and column indices are used for the x- and y-values.
  8273. ?commands splot grid_data
  8274. ?splot grid_data
  8275. ?grid_data
  8276.  The 3D routines are designed for points in a grid format, with one sample,
  8277.  datapoint, at each mesh intersection; the datapoints may originate from
  8278.  either evaluating a function, see `set isosamples`, or reading a datafile,
  8279.  see `splot datafile`.  The term "isoline" is applied to the mesh lines for
  8280.  both functions and data.  Note that the mesh need not be rectangular in x
  8281.  and y, as it may be parameterized in u and v, see `set isosamples`.
  8282.  
  8283.  However, `gnuplot` does not require that format.  In the case of functions,
  8284.  'samples' need not be equal to 'isosamples', i.e., not every x-isoline
  8285.  sample need intersect a y-isoline. In the case of data files, if there
  8286.  are an equal number of scattered data points in each datablock, then
  8287.  "isolines" will connect the points in a datablock, and "cross-isolines"
  8288.  will connect the corresponding points in each datablock to generate a
  8289.  "surface".  In either case, contour and hidden3d modes may give different
  8290.  plots than if the points were in the intended format.  Scattered data can be
  8291.  converted to a {different} grid format with `set dgrid3d`.
  8292.  
  8293.  The contour code tests for z intensity along a line between a point on a
  8294.  y-isoline and the corresponding point in the next y-isoline.  Thus a `splot`
  8295.  contour of a surface with samples on the x-isolines that do not coincide with
  8296.  a y-isoline intersection will ignore such samples. Try:
  8297.         set xrange [-pi/2:pi/2]; set yrange [-pi/2:pi/2]
  8298.         set function style lp
  8299.         set contour
  8300.         set isosamples 10,10; set samples 10,10;
  8301.         splot cos(x)*cos(y)
  8302.         set samples 4,10; replot
  8303.         set samples 10,4; replot
  8304.  
  8305. ?commands splot_overview
  8306. ? splot_overview
  8307.  `splot` can display a surface as a collection of points, or by connecting
  8308.  those points.  As with `plot`, the points may be read from a data file or
  8309.  result from evaluation of a function at specified intervals, see `set
  8310.  isosamples`.  The surface may be approximated by connecting the points
  8311.  with straight line segments, see `set surface`, in which case the surface
  8312.  can be made opaque with `set hidden3d.`  The orientation from which the 3d
  8313.  surface is viewed can be changed with `set view`.
  8314.  
  8315.  Additionally, for points in a grid format, `splot` can interpolate points
  8316.  having a common amplitude (see `set contour`) and can then connect those
  8317.  new points to display contour lines, either directly with straight-line
  8318.  segments or smoothed lines (see `set cntrparams`).  Functions are already
  8319.  evaluated in a grid format, determined by `set isosamples` and `set samples`,
  8320.  while file data must either be in a grid format, as described in `data-file`,
  8321.  or be used to generate a grid (see `set dgrid3d`).
  8322.  
  8323.  Contour lines may be displayed either on the surface or projected onto the
  8324.  base.  The base projections of the contour lines may be written to a
  8325.  file, and then read with `plot`, to take advantage of `plot`'s additional
  8326.  formatting capabilities.
  8327. ?commands test
  8328. ?test
  8329.  `test` creates a display of line and point styles and other useful things
  8330.  appropriate for the terminal you are using.
  8331.  
  8332.  Syntax:
  8333.        test
  8334. ?commands update
  8335. ?update
  8336.  This command writes the current values of the fit parameters into the given
  8337.  file, formatted as an initial-value file (as described in the `fit`section).
  8338.  This is useful for saving the current values for later use or for restarting
  8339.  a converged or stopped fit.
  8340.  
  8341.  Syntax:
  8342.        update <filename> {<filename>}
  8343.  
  8344.  If a second filename is supplied, the updated values are written to this
  8345.  file, and the original parameter file is left unmodified.
  8346.  
  8347.  Otherwise, if the file already exists, `gnuplot` first renames it by
  8348.  appending `.old` and then opens a new file.  That is, "`update 'fred'`"
  8349.  behaves the same as "`!rename fred fred.old; update 'fred.old' 'fred'`".
  8350.  [On DOS and other systems that use the twelve-character "filename.ext"
  8351.  naming convention, "ext" will be "`old`" and "filename" will be related
  8352.  (hopefully recognizably) to the initial name.  Renaming is not done at all
  8353.  on VMS systems, since they use file-versioning.]
  8354.  
  8355.  Please see `fit` for more information.
  8356. ?graphical user interfaces
  8357. ?gui's
  8358.  Several graphical user interfaces have been written for `gnuplot` and one for
  8359.  win32 is included in this distribution.  In addition, there is a Macintosh
  8360.  interface at
  8361.         ftp://ftp.ee.gatech.edu/pub/mac/gnuplot
  8362.  and several X11 interfaces include three Tcl/Tk located at the usual Tcl/Tk
  8363.  repositories.
  8364. ?bugs
  8365.  Floating point exceptions (floating point number too large/small, divide by
  8366.  zero, etc.) may occasionally be generated by user defined functions.  Some of
  8367.  the demos in particular may cause numbers to exceed the floating point range.
  8368.  Whether the system ignores such exceptions (in which case `gnuplot` labels
  8369.  the corresponding point as undefined) or aborts `gnuplot` depends on the
  8370.  compiler/runtime environment.
  8371.  
  8372.  The bessel functions do not work for complex arguments.
  8373.  
  8374.  The gamma function does not work for complex arguments.
  8375.  
  8376.  As of `gnuplot` version 3.7, all development has been done using ANSI C.
  8377.  With current operating system, compiler, and library releases, the OS
  8378.  specific bugs documented in release 3.5, now relegated to `old_bugs`, may
  8379.  no longer be relevant.
  8380.  
  8381.  Bugs reported since the current release may be located via the official
  8382.  distribution site:
  8383.         ftp://ftp.dartmouth.edu/pub/gnuplot
  8384.        http://www.cs.dartmouth.edu/gnuplot_info.html
  8385.  
  8386.  Please e-mail any bugs to bug-gnuplot@dartmouth.edu.
  8387. ?old_bugs
  8388. ?os_bugs
  8389.  There is a bug in the stdio library for old Sun operating systems (SunOS
  8390.  Sys4-3.2).  The "%g" format for 'printf' sometimes incorrectly prints numbers
  8391.  (e.g., 200000.0 as "2").  Thus, tic mark labels may be incorrect on a Sun4
  8392.  version of `gnuplot`.  A work-around is to rescale the data or use the `set
  8393.  format` command to change the tic mark format to "%7.0f" or some other
  8394.  appropriate format.  This appears to have been fixed in SunOS 4.0.
  8395.  
  8396.  Another bug: On a Sun3 under SunOS 4.0, and on Sun4's under Sys4-3.2 and
  8397.  SunOS 4.0, the 'sscanf' routine incorrectly parses "00 12" with the format
  8398.  "%f %f" and reads 0 and 0 instead of 0 and 12.  This affects data input.  If
  8399.  the data file contains x coordinates that are zero but are specified like
  8400.  '00', '000', etc, then you will read the wrong y values.  Check any data
  8401.  files or upgrade the SunOS.  It appears to have been fixed in SunOS 4.1.1.
  8402.  
  8403.  Suns appear to overflow when calculating exp(-x) for large x, so `gnuplot`
  8404.  gets an undefined result.  One work-around is to make a user-defined function
  8405.  like e(x) = x<-500 ? 0 : exp(x).  This affects plots of Gaussians (exp(-x*x))
  8406.  in particular, since x*x grows quite rapidly.
  8407.  
  8408.  Microsoft C 5.1 has a nasty bug associated with the %g format for 'printf'.
  8409.  When any of the formats "%.2g", "%.1g", "%.0g", "%.g" are used, 'printf' will
  8410.  incorrectly print numbers in the range 1e-4 to 1e-1.  Numbers that should be
  8411.  printed in the %e format are incorrectly printed in the %f format, with the
  8412.  wrong number of zeros after the decimal point.  To work around this problem,
  8413.  use the %e or %f formats explicitly.
  8414.  
  8415.  `gnuplot`, when compiled with Microsoft C, did not work correctly on two VGA
  8416.  displays that were tested.  The CGA, EGA and VGA drivers should probably be
  8417.  rewritten to use the Microsoft C graphics library.  `gnuplot` compiled with
  8418.  Borland C++ uses the Turbo C graphics drivers and does work correctly with
  8419.  VGA displays.
  8420.  
  8421.  VAX/VMS 4.7 C compiler release 2.4 also has a poorly implemented %g format
  8422.  for 'printf'.  The numbers are printed numerically correct, but may not be in
  8423.  the requested format.  The K&R second edition says that for the %g format, %e
  8424.  is used if the exponent is less than -4 or greater than or equal to the
  8425.  precision.  The VAX uses %e format if the exponent is less than -1.  The VAX
  8426.  appears to take no notice of the precision when deciding whether to use %e or
  8427.  %f for numbers less than 1.  To work around this problem, use the %e or %f
  8428.  formats explicitly.  From the VAX C 2.4 release notes: e,E,f,F,g,G  Result
  8429.  will always contain a decimal  point.  For g and G, trailing zeros will not
  8430.  be removed from the result.
  8431.  
  8432.  VAX/VMS 5.2 C compiler release 3.0 has a slightly better implemented %g
  8433.  format than release 2.4, but not much.  Trailing decimal points are now
  8434.  removed, but trailing zeros are still not removed from %g numbers in
  8435.  exponential format.
  8436.  
  8437.  The two preceding problems are actually in the libraries rather than in the
  8438.  compilers.  Thus the problems will occur whether `gnuplot` is built using
  8439.  either the DEC compiler or some other one (e.g. the latest gcc).
  8440.  
  8441.  ULTRIX X11R3 has a bug that causes the X11 driver to display "every other"
  8442.  graph.  The bug seems to be fixed in DEC's release of X11R4 so newer releases
  8443.  of ULTRIX don't seem to have the problem.  Solutions for older sites include
  8444.  upgrading the X11 libraries (from DEC or direct from MIT) or defining
  8445.  ULTRIX_KLUDGE when compiling the x11.trm file.  Note that the kludge is not
  8446.  an ideal fix, however.
  8447.  
  8448.  The constant HUGE was incorrectly defined in the NeXT OS 2.0 operating
  8449.  system.  HUGE should be set to 1e38 in plot.h. This error has been corrected
  8450.  in the 2.1 version of NeXT OS.
  8451.  
  8452.  Some older models of HP plotters do not have a page eject command 'PG'.  The
  8453.  current HPGL driver uses this command in HPGL_reset.  This may need to be
  8454.  removed for these plotters.  The current PCL5 driver uses HPGL/2 for text as
  8455.  well as graphics.  This should be modified to use scalable PCL fonts.
  8456.  
  8457.  On the Atari version, it is not possible to send output directly to the
  8458.  printer (using `/dev/lp` as output file), since CRs are added to LFs in
  8459.  binary output.  As a work-around, write the output to a file and copy it to
  8460.  the printer afterwards using a shell command.
  8461.  
  8462.  On AIX 4, the literal 'NaNq' in a datafile causes the special internal value
  8463.  'not-a-number' to be stored, rather than setting an internal 'undefined'
  8464.  flag.  A workaround is to use `set missing 'NaNq'`.
  8465.  
  8466.  There may be an up-to-date list of bugs since the release on the WWW page:
  8467.        http://www.cs.dartmouth.edu/gnuplot_info.html
  8468.  
  8469.  Please report any bugs to bug-gnuplot@dartmouth.edu.
  8470.