home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_300 / 334_01 / gnuplot.doc < prev    next >
Text File  |  1991-02-05  |  60KB  |  1,643 lines

  1. 1 gnuplot
  2. ?
  3.  GNUPLOT is a command-driven interactive function plotting program.  It
  4.  is case sensitive (commands and function names written in lowercase
  5.  are not the same as those written in CAPS).  All command names may be
  6.  abbreviated, as long as the abbreviation is not ambiguous.  Any number
  7.  of commands may appear on a line, separated by semicolons (;). 
  8.  
  9.  Any command-line arguments are assumed to be names of files containing 
  10.  gnuplot commands, with the exception of standard X11 arguments, which
  11.  are processed first. Each file is loaded with the `load` command, in the
  12.  order specified. Gnuplot exits after the last file is processed.
  13.  
  14.  Commands may extend over several input lines, by ending each line but
  15.  the last with a backslash (\). The backslash must be the LAST
  16.  character on each line. The effect is as if the backslash and newline
  17.  were not there. That is, no white space is implied, nor is a comment
  18.  terminated. Therefore, commenting out a continued line comments out
  19.  the entire command (see `comment`).
  20.  
  21.  In this documentation, curly braces ({}) denote optional arguments to
  22.  many commands.
  23.  
  24.  For help on any topic, type 'help' followed by the name of the topic.
  25. 2 cd
  26. ?cd
  27.  The `cd` command changes working directory.
  28.  
  29.  Syntax:
  30.          cd <directory-name>
  31.  
  32.  The directory name must be enclosed in quotes.
  33.  
  34.  Examples:
  35.  
  36.          cd 'subdir'
  37.          cd ".."
  38. 2 clear
  39. ?clear
  40.  The `clear` command erases the current screen or output device as
  41.  specified by `set output`.  This usually generates a formfeed on
  42.  hardcopy devices.  Use `set terminal` to set the device type. 
  43. 2 comment
  44. ?comments
  45.  Comments are supported as follows: a # may appear in most places in a line
  46.  and GNUPLOT will ignore the rest of the line. It will not have this
  47.  effect inside quotes, inside numbers (including complex numbers), inside
  48.  command substitutions, etc. In short, it works anywhere it makes sense
  49.  to work.
  50. 2 environment
  51. ?environment
  52.  A number of shell environment variables are understood by GNUPLOT.
  53.  None of these are required, but may be useful.
  54.  
  55.  If GNUTERM is defined, it is used as the name of the terminal type to
  56.  be used. This overrides any terminal type sensed by GNUPLOT on start
  57.  up, but is itself overridden by the .gnuplot (or equivalent) start-up
  58.  file (see help start-up), and of course by later explicit changes.
  59.  
  60.  On Unix and MS-DOS, GNUHELP may be defined to be the pathname of the 
  61.  HELP file (gnuplot.gih).
  62.  
  63.  On VMS, the symbol GNUPLOT$HELP should be defined as the name of 
  64.  the help library for gnuplot.
  65.  
  66.  On Unix, HOME is used as the name of a directory to search for 
  67.  a .gnuplot file if none is found in the current directory. 
  68.  On MS-DOS, GNUPLOT is used.  On VMS, SYS$LOGIN: is used.  
  69.  See help start-up.  
  70.  
  71.  On Unix, PAGER is used as an output filter for help messages. SHELL
  72.  is used for the `shell` command.
  73.  
  74.  On MS-DOS, COMSPEC is used for the `shell` command. 
  75. 2 exit
  76. ?exit
  77. ?quit
  78.  The commands `exit` and `quit` and your computer's END-OF-FILE character
  79.  will exit GNUPLOT.  All these commands will clear the output device
  80.  (as the `clear` command does) before exiting. 
  81. 2 expressions
  82. ?expressions
  83.  In general, any mathematical expression accepted by C, FORTRAN,
  84.  Pascal, or BASIC is valid.  The precedence of these operators is
  85.  determined by the specifications of the C programming language.
  86.  White space (spaces and tabs) is ignored inside expressions. 
  87.  
  88.  Complex constants may be expressed as the {<real>,<imag>}, where <real>
  89.  and <imag> must be numerical constants.  For example {3,2}
  90.  represents 3 + 2i; {0,1} represents `i` itself. The curly braces 
  91.  are explicitly required here. 
  92. 3 functions
  93. ?expressions functions
  94. ?functions
  95.  The functions in GNUPLOT are the same as the corresponding functions
  96.  in the UNIX math library, except that all functions accept integer,
  97.  real, and complex arguments, unless otherwise noted.  The `sgn`
  98.  function is also supported, as in BASIC. 
  99. @start table
  100. #Function & Arguments & Returns \\ \hline
  101. %Function@Arguments@Returns
  102. %_
  103. 4 abs
  104. ?expressions functions abs
  105. ?functions abs
  106. ?abs
  107. #abs(x) & any  &  absolute value of {\tt x}, $|x|$; same type \\
  108. #abs(x) & complex &  length of {\tt x}, $\sqrt{{\mbox{real}(x)^{2} +
  109. #\mbox{imag}(x)^{2}}}$ \\
  110. %abs(x)@any@absolute value of x, $|x|$; same type 
  111. %abs(x)@complex@length of x, $sqrt{real (x) sup 2 + imag (x) sup 2}$ 
  112.  The `abs` function returns the absolute value of its argument.  The
  113.  returned value is of the same type as the argument. 
  114.  
  115.  For complex arguments, abs(x) is defined as the length of x in the
  116.  complex plane [i.e.,  sqrt(real(x)**2 + imag(x)**2) ].
  117. 4 acos
  118. ?expressions functions acos
  119. ?functions acos
  120. ?acos
  121. #acos(x) & any  & $\cos^{-1} x$ (inverse cosine) in radians \\
  122. %acos(x)@any@$cos sup -1 x$ (inverse cosine) in radians 
  123.  The `acos` function returns the arc cosine (inverse cosine) of its
  124.  argument.  `acos` returns its argument in radians. 
  125. 4 arg
  126. ?expressions functions arg
  127. ?functions arg
  128. ?arg
  129. #arg(x) & complex & the phase of $x$ in radians\\
  130. %arg(x)@complex@the phase of $x$ in radians
  131.  The `arg` function returns the phase of a complex number, in radians.  
  132. 4 asin
  133. ?expressions functions asin
  134. ?functions asin
  135. ?asin
  136. #asin(x) & any  & $\sin^{-1} x$ (inverse sin) in radians \\
  137. %asin(x)@any@$sin sup -1 x$ (inverse sin) in radians 
  138.  The `asin` function returns the arc sin (inverse sin) of its argument.
  139.  `asin` returns its argument in radians. 
  140. 4 atan
  141. ?expressions functions atan
  142. ?functions atan
  143. ?atan
  144. #atan(x) & any  & $\tan^{-1} x$ (inverse tangent) in radians \\
  145. %atan(x)@any@$tan sup -1 x$ (inverse tangent) in radians 
  146.  The `atan` function returns the arc tangent (inverse tangent) of its
  147.  argument.  `atan` returns its argument in radians. 
  148. 4 besj0
  149. ?expressions functions besj0
  150. ?functions besj0
  151. ?besj0
  152. #besj0(x) & radians &  $j_{0}$ Bessel function of $x$ \\
  153. %besj0(x)@radians@$j sub 0$ Bessel function of $x$ 
  154.  The `besj0` function returns the j0th Bessel function of its argument.
  155.  `besj0` expects its argument to be in radians.
  156. 4 besj1
  157. ?expressions functions besj1
  158. ?functions besj1
  159. ?besj1
  160. #besj1(x) & radians & $j_{1}$ Bessel function of $x$ \\
  161. %besj1(x)@radians@$j sub 1$ Bessel function of $x$ 
  162.  The `besj1` function returns the j1st Bessel function of its argument.
  163.  `besj1` expects its argument to be in radians.
  164. 4 besy0
  165. ?expressions functions besy0
  166. ?functions besy0
  167. ?besy0
  168. #besy0(x) & radians & $y_{0}$ Bessel function of $x$ \\
  169. %besy0(x)@radians@$y sub 0$ Bessel function of $x$ 
  170.  The `besy0` function returns the y0th Bessel function of its argument.
  171.  `besy0` expects its argument to be in radians.
  172. 4 besy1
  173. ?expressions functions besy1
  174. ?functions besy1
  175. ?besy1
  176. #besy1(x) & radians & $y_{1}$ Bessel function of $x$ \\
  177. %besy1(x)@radians@$y sub 1$ Bessel function of $x$ 
  178.  The `besy1` function returns the y1st Bessel function of its argument.
  179.  `besy1` expects its argument to be in radians.
  180. 4 ceil
  181. ?expressions functions ceil
  182. ?functions ceil
  183. ?ceil
  184. #ceil(x) & any & $\lceil x \rceil$, smallest integer not less than $x$
  185. #(real part) \\
  186. %ceil(x)@any@$left ceiling x right ceiling$, smallest integer not less than $x$ (real part) 
  187.  The `ceil` function returns the smallest integer that is not less than its
  188.  argument.  For complex numbers, `ceil` returns the smallest integer
  189.  not less than the real part of its argument. 
  190. 4 cos
  191. ?expressions functions cos
  192. ?functions cos
  193. ?cos
  194. #cos(x) & radians & $\cos x$, cosine of $x$ \\
  195. %cos(x)@radians@$cos~x,$ cosine of $x$ 
  196.  The `cos` function returns the cosine of its argument.  `cos` expects its
  197.  argument to be in radians. 
  198. 4 cosh
  199. ?expressions functions cosh
  200. ?functions cosh
  201. ?cosh
  202. #cosh(x) & radians & $\cosh x$, hyperbolic cosine of $x$ \\
  203. %cosh(x)@radians@$cosh~x,$ hyperbolic cosine of $x$ 
  204.  The `cosh` function returns the hyperbolic cosine of its argument.
  205.  `cosh` expects its argument to be in radians. 
  206. 4 exp
  207. ?expressions functions exp
  208. ?functions exp
  209. ?exp
  210. #exp(x) & any & $e^{x}$,  exponential function of $x$ \\
  211. %exp(x)@any@$e sup x$, exponential function of $x$ 
  212.  The `exp` function returns the exponential function of its argument
  213.  (`e` raised to the power of its argument). 
  214. 4 floor
  215. ?expressions functions floor
  216. ?functions floor
  217. ?floor
  218. #floor(x) & any & $\lfloor x \rfloor$,  largest integer not greater
  219. #than $x$ (real part) \\
  220. %floor(x)@any@$left floor x right floor$, largest integer not greater than $x$ (real part) 
  221.  The `floor` function returns the largest integer not greater than its
  222.  argument.  For complex numbers, `floor` returns the largest
  223.  integer not greater than the real part of its argument. 
  224. 4 imag
  225. ?expressions functions imag
  226. ?functions imag
  227. ?imag
  228. #imag(x) & complex &  imaginary part of $x$ as a real number \\
  229. %imag(x)@complex@imaginary part of $x$ as a real number 
  230.  The `imag` function returns the imaginary part of its argument as a
  231.  real number. 
  232. 4 int
  233. ?expressions functions int
  234. ?functions int
  235. ?int
  236. #int(x) & real &  integer part of $x$, truncated toward zero \\
  237. %int(x)@real@integer part of $x,$ truncated toward zero 
  238.  The `int` function returns the integer part of its argument, truncated
  239.  toward zero. 
  240. 4 log
  241. ?expressions functions log
  242. ?functions log
  243. ?log
  244. #log(x) & any & $\log_{e} x$,  natural logarithm (base $e$) of $x$ \\
  245. %log(x)@any@$ln~x,$ natural logarithm (base $e$) of $x$ 
  246.  The `log` function returns the natural logarithm (base `e`) of its
  247.  argument. 
  248. 4 log10
  249. ?expressions functions log10
  250. ?functions log10
  251. ?log10
  252. #log10(x) & any & $\log_{10} x$,  logarithm (base $10$) of $x$ \\
  253. %log10(x)@any@${log sub 10}~x,$ logarithm (base $10$) of $x$ 
  254.  The `log10` function returns the logarithm (base 10) of its argument.
  255. 4 real
  256. ?expressions functions real
  257. ?functions real
  258. ?real
  259. #real(x) & any &  real part of $x$ \\
  260. %real(x)@any@real part of $x$ 
  261.  The `real` function returns the real part of its argument.
  262. 4 sgn
  263. ?expressions functions sgn
  264. ?functions sgn
  265. ?sgn
  266. #sgn(x) & any & 1 if $x>0$, -1 if $x<0$, 0 if $x=0$. imag($x$) ignored \\
  267. %sgn(x)@any@1 if $x > 0$, -1 if $x < 0$, 0 if $x = 0$. $imag (x)$ ignored 
  268.  The `sgn` function returns 1 if its argument is positive, -1 if its
  269.  argument is negative, and 0 if its argument is 0.  If the argument
  270.  is a complex value, the imaginary component is ignored. 
  271. 4 sin
  272. ?expressions functions sin
  273. ?functions sin
  274. ?sin
  275. #sin(x) & radians & $\sin x$, sine of $x$ \\
  276. %sin(x)@radians@$sin~x,$ sine of $x$ 
  277.  The `sin` function returns the sine of its argument.  `sin` expects its
  278.  argument to be in radians. 
  279. 4 sinh
  280. ?expressions functions sinh
  281. ?functions sinh
  282. ?sinh
  283. #sinh(x) & radians & $\sinh x$, hyperbolic sine $x$ \\
  284. %sinh(x)@radians@$sinh~x,$ hyperbolic sine $x$ 
  285.  The `sinh` function returns the hyperbolic sine of its argument.  `sinh`
  286.  expects its argument to be in radians. 
  287. 4 sqrt
  288. ?expressions functions sqrt
  289. ?functions sqrt
  290. ?sqrt
  291. #sqrt(x) & any & $\sqrt{x}$,  square root of $x$ \\
  292. %sqrt(x)@any@$sqrt x $, square root of $x$ 
  293.  The `sqrt` function returns the square root of its argument.
  294. 4 tan
  295. ?expressions functions tan
  296. ?functions tan
  297. ?tan
  298. #tan(x) & radians & $\tan x$,  tangent of $x$ \\
  299. %tan(x)@radians@$tan~x,$ tangent of $x$ 
  300.  The `tan` function returns the tangent of its argument.  `tan` expects
  301.  its argument to be in radians. 
  302. 4 tanh
  303. ?expressions functions tanh
  304. ?functions tanh
  305. ?tanh
  306. #tanh(x) & radians & $\tanh x$, hyperbolic tangent of $x$\\
  307. %tanh(x)@radians@$tanh~x,$ hyperbolic tangent of $x$
  308.  The `tanh` function returns the hyperbolic tangent of its argument.
  309.  `tanh` expects its argument to be in radians. 
  310. @end table
  311. 3 operators
  312. ?expressions operators
  313. ?operators
  314.  The operators in GNUPLOT are the same as the corresponding operators
  315.  in the C programming language, except that all operators accept
  316.  integer, real, and complex arguments, unless otherwise noted.
  317.  The ** operator (exponentiation) is supported, as in FORTRAN.
  318.  
  319.  Parentheses may be used to change order of evaluation.
  320. 4 binary
  321. ?expressions operators binary
  322. ?operators binary
  323. ?binary
  324.  The following is a list of all the binary operators and their
  325.  usages:
  326.  
  327. @start table - first is interactive cleartext form
  328.   Symbol      Example      Explanation
  329.    **          a**b          exponentiation
  330.    *           a*b           multiplication
  331.    /           a/b           division
  332.    %           a%b         * modulo
  333.    +           a+b           addition
  334.    -           a-b           subtraction
  335.    ==          a==b          equality
  336.    !=          a!=b          inequality
  337.    &           a&b         * bitwise AND
  338.    ^           a^b         * bitwise exclusive OR
  339.    |           a|b         * bitwise inclusive OR
  340.    &&          a&&b        * logical AND
  341.    ||          a||b        * logical OR
  342.    ?:          a?b:c       * ternary operation
  343. #\multicolumn{3}{|c|}{Binary Operators} \\
  344. #Symbol & Example & Explanation \\ \hline
  345. #\verb~**~ & \verb~a**b~ & exponentiation\\
  346. #\verb~*~ & \verb~a*b~ & multiplication\\
  347. #\verb~/~ & \verb~a/b~ & division\\
  348. #\verb~%~ & \verb~a%b~ & * modulo\\
  349. #\verb~+~ & \verb~a+b~ & addition\\
  350. #\verb~-~ & \verb~a-b~ & subtraction\\
  351. #\verb~==~ & \verb~a==b~ & equality\\
  352. #\verb~!=~ & \verb~a!=b~ & inequality\\
  353. #\verb~&~ & \verb~a&b~ & * bitwise AND\\
  354. #\verb~^~ & \verb~a^b~ & * bitwise exclusive OR\\
  355. #\verb~|~ & \verb~a|b~ & * bitwise inclusive OR\\
  356. #\verb~&&~ & \verb~a&&b~ & * logical AND\\
  357. #\verb~||~ & \verb~a||b~ & * logical OR\\
  358. #\verb~?:~ & \verb~a?b:c~ & * ternary operation\\
  359. %Symbol@Example@Explanation
  360. %_
  361. %**@a**b@exponentiation
  362. %*@a*b@multiplication
  363. %/@a/b@division
  364. %%@a%b@* modulo
  365. %+@a+b@addition
  366. %-@a-b@subtraction
  367. %==@a==b@equality
  368. %!=@a!=b@inequality
  369. %&@a&b@* bitwise AND
  370. %^@a^b@* bitwise exclusive OR
  371. %|@a|b@* bitwise inclusive OR
  372. %&&@a&&b@* logical AND
  373. %||@a||b@* logical OR
  374. %?:@a?b:c@* ternary operation
  375.  
  376. @end table 
  377.  (*) Starred explanations indicate that the operator requires
  378.  integer arguments.
  379.  
  380.  Logical AND (&&) and OR (||) short-circuit the way they do in C.
  381.  That is, the second && operand is not evaluated if the first is
  382.  false; the second || operand is not evaluated if the first is true.
  383.  
  384.  The ternary operator evaluates its first argument (a).  If it is
  385.  true (non-zero) the second argument (b) is evaluated and returned,
  386.  otherwise the third argument (c) is evaluated and returned. 
  387. 4 unary
  388. ?expressions operators unary
  389. ?operators unary
  390. ?unary
  391.  The following is a list of all the unary operators and their
  392.  usages:
  393.  
  394. @start table - first is interactive cleartext form
  395.   Symbol     Example      Explanation
  396.    -           -a          unary minus
  397.    ~           ~a        * one's complement
  398.    !           !a        * logical negation
  399.    !           a!        * factorial
  400. #\multicolumn{3}{|c|}{Unary Operators}\\
  401. #Symbol & Example & Explanation \\ \hline
  402. #\verb@-@ & \verb@-a@ & unary minus \\
  403. #\verb@~@ & \verb@~a@ & * one's complement \\
  404. #\verb@!@ & \verb@!a@ & * logical negation \\
  405. #\verb@!@ & \verb@a!@ & * factorial \\
  406. %-@-a@unary minus
  407. %~@~a@* one's complement
  408. %!@!a@* logical negation
  409. %!@a!@*factorial
  410.  
  411. @end table 
  412.  (*) Starred explanations indicate that the operator requires an
  413.  integer argument.
  414.  
  415.  The factorial operator returns a real number to allow a greater range.
  416. 2 help
  417. ?help
  418.  The `help` command displays on-line help.  To specify information on a
  419.  particular topic use the syntax:
  420.  
  421.      help <topic> 
  422.  
  423.  If <topic> is not specified, a short message is printed about
  424.  GNUPLOT. After help for the requested topic is given, help for
  425.  a subtopic may be requested by typing its name, extending the help
  426.  request. After that subtopic has been printed, you may extend the
  427.  request again, as before, or go back one level to the previous topic,
  428.  by simply pressing return without typing anything. Eventually, you
  429.  will return to the GNUPLOT command line.
  430. 2 load
  431. ?load
  432.  The `load` command executes each line of the specified input file as
  433.  if it had been typed in interactively.  Files created by the `save`
  434.  command can later be `load`ed.  Any text file containing valid
  435.  commands can be created and then executed by the `load` command.
  436.  Files being `load`ed may themselves contain `load` commands. See
  437.  `comment` for information about comments in commands. 
  438.  
  439.  The `load` command must be the last command on the line. 
  440.  
  441.  Syntax:
  442.          load <input-file>
  443.  
  444.  The name of the input file must be enclosed in quotes.
  445.  
  446.  Examples:
  447.  
  448.          load 'work.gnu'
  449.          load "func.dat"
  450.  
  451.  The `load` command is performed implicitly on any file names given as
  452.  arguments to gnuplot. These are loaded in the order specified, and
  453.  then gnuplot exits. 
  454. 2 pause
  455. ?pause
  456.  Pause is useful in conjunction with `load` files.  The command `pause`
  457.  displays any text associated with the command and then waits the
  458.  specified amount of time.  This allows one to build a `load` file
  459.  and control the amount of time a finished graph is displayed.  The
  460.  first argument is an expression that can be -1, 0, or a positive
  461.  integer. Choosing -1 will wait until a carriage return is hit. Zero (0)
  462.  won't pause at all, and a positive integer (such as 1 or 15) will
  463.  wait the specified number of seconds. 
  464.  
  465.  Note: Since pause is not part of the plot it may interact with
  466.  different device drivers differently (depending upon how text and
  467.  graphics are mixed).
  468.  
  469.  Examples:
  470.          pause -1    ! Wait until a carriage return is hit
  471.          pause 3     ! Wait three seconds
  472.          pause -1  "Hit return to continue"
  473.          pause 10  "Isn't this pretty?  It's a cubic-spline."
  474.  
  475.  Syntax:
  476.          pause <expression> {"string"}
  477.  Note the string is optional, and if present must be enclosed in quotes.
  478. 2 plot
  479. ?plot
  480.  `plot` is the primary command of the program.  It plots functions and
  481.  data in many, many ways.  The full syntax of this command is:
  482.  
  483.    plot {ranges}  <function> {title} {style} {, <function> {title} {style}...}
  484.  
  485.  Where <function> is either a mathematical expression, the name of a
  486.  data file enclosed in quotes, or a pair of mathematical expressions in
  487.  the case of parametric functions.  User-defined functions and variables
  488.  may also be defined here. 
  489.  
  490.  Curly braces {,} denote optional items.
  491.  
  492.  A `plot` command can be as simple as
  493.  
  494.   plot sin(x)
  495.  
  496.  or as complex as (!)
  497.  
  498.   plot [t=1:10] [-pi:pi*2] tan(t),"data.1" with lines,t**2 with points
  499. 3 data-file
  500. ?plot datafile
  501. ?plot data-file
  502. ?datafile
  503. ?data-file
  504. ?data
  505.  Discrete data contained in a file can displayed by specifying the
  506.  name of the data file (enclosed in quotes) on the `plot` command
  507.  line. 
  508.  
  509.  Data files should contain one data point per line.  A data point may
  510.  be specified either as an X and Y value separated by blank space, or
  511.  as just the Y value, in which case the program will use the number
  512.  of the coordinate as the X value.  Coordinate numbers start at 0
  513.  and are incremented for each data point read.  To specify other 
  514.  formats, see `plot datafile using`.  Lines beginning with #
  515.  (or ! on VMS) will be treated as comments and ignored. 
  516.  
  517.  NOTE that blank lines cause a break in the input, and if the plot
  518.  style is `lines` or `linespoints` (see `plot style`) there will be no
  519.  line drawn between the preceding and following points. This does not
  520.  change the plot style, as would plotting the data as separate curves.
  521.  
  522.  This example compares the data in the file population.dat to a
  523.  theoretical curve:
  524.  
  525.          pop(x) = 103*exp((1965-x)/10)
  526.          plot [1960:1990] 'population.dat', pop(x)
  527.  
  528.  The file population.dat might contain:
  529.  
  530.   # Gnu population in Antarctica since 1965
  531.   1965   103
  532.   1970   55
  533.   1975   34
  534.   1980   24
  535.   1985   10
  536. 4 using
  537. ?plot datafile using
  538. ?plot data-file using
  539. ?using
  540.  The format of data within a file can be selected with the `using` 
  541.  option.  The `xy` and `yx` specify the order of the `x` and `y` 
  542.  variables in the data file. To reverse the variables specify `yx`.
  543.  To specify that the datafile should contain one variable specify `y`.
  544.  
  545.  Syntax:
  546.  
  547.          plot "datafile" { using { xy | yx | y } {"scanf string"} } ...
  548.  
  549.  If the `xy`, `yx` or `y` option is omitted, `xy` is used.
  550.  If the scanf string is omitted, the default of `"%f%f"` is used.
  551.  
  552.  Examples:
  553.  
  554.          plot "MyData" using yx "%*f%f%*20[^\n]%f" with lines
  555.  This causes data to be read from the file "MyData" using the format 
  556.  `yx "%*f%f%*20[^\n]%f"`.  The meaning of this format is: `%*f` 
  557.  ignore the first number, `%f` then read in the second and assign to y 
  558.  (the `yx` option of using), `%*20[^\n]` then ignore 20 non-newline 
  559.  characters, `%f` then read in the x value.
  560.  
  561.          plot "MyData" using "%f%f", "MyData" using "%f%*f%f"
  562.  Causes gnuplot to plot the second and third columns of MyData versus
  563.  the first column.
  564.  
  565.  Note: gnuplot first reads a line of the data file into a buffer and 
  566.  then does a 
  567.          sscanf(input_buffer, scanf_string, &x, &y);
  568.  where `x` and `y` are of type `float`.  Any scanf string that specifies
  569.  two `float` numbers may be used.
  570. 3 parametric
  571. ?plot parametric
  572. ?parametric
  573.  When in parametric mode (`set parametric`) mathematical expressions must
  574.  be given in pairs:
  575.   plot sin(t),t**2
  576.  
  577.  Data files are plotted as before, except the parametric function
  578.  must be fully specified before a data file is given as a plot.  In
  579.  other words, the x parametric function (sin(t) above) and the y 
  580.  parametric function (t**2 above) must not be interrupted with any 
  581.  modifiers or data functions; doing so will generate a syntax error
  582.  stating that the parametric function is not fully specified.
  583.  
  584.  Ranges take on a different meaning when in parametric mode.  The
  585.  first specifiable range on the plot command is the trange, the
  586.  next the xrange, and the last is the yrange.  The following plot
  587.  shows setting the trange to [-pi:pi], the xrange to [-1.3:1.3]
  588.  and the yrange to [-1:1] for the duration of the plot:
  589.   plot [-pi:pi] [-1.3:1.3] [-1:1] sin(t),t**2
  590.  
  591.  Other modifiers, such as `with` and `title` are required after
  592.  the function has been fully specified:
  593.   plot sin(t),t**2 with linespoints title 'Parametric example'
  594. 3 ranges
  595. ?plot ranges
  596. ?ranges
  597.  The optional range specifies the region of the plot which will be displayed. 
  598.  
  599.  Ranges may be provided on the `plot` command line and affect only
  600.  that plot, or in the `set xrange` and `set yrange` commands, to
  601.  change the default ranges for future plots.
  602.  
  603.  Syntax:
  604.          [{dummy-var =} {xmin : xmax}] { [{ymin : ymax}] }
  605.  
  606.  Where dummy-var is the independent variable (the default is `x`,
  607.  but this may be changed with the `set dummy` command) and the min
  608.  and max terms can be expressions or constants. 
  609.  
  610.  Both the min and max terms are optional.  The ':' is also optional
  611.  if neither a min nor a max term is specified.  This allows '[]' to
  612.  be used as a null range specification. 
  613.  
  614.  Specifying a range in the `plot` command line turns autoscaling for
  615.  that axis OFF for that plot. Using one of the `set` range commands
  616.  turns autoscaling off for that axis for future plots, unless changed
  617.  later. (See `set autoscale`).
  618.  
  619.  
  620.  Examples:
  621.  
  622.  This uses current ranges:
  623.          plot cos(x)
  624.  
  625.  This sets the xrange only:
  626.          plot [-10:30] sin(pi*x)/(pi*x)
  627.  
  628.  This is the same, but uses t as the dummy-variable:
  629.          plot [t = -10 :30]  sin(pi*t)/(pi*t)
  630.  
  631.  This sets both the x and yranges:
  632.          plot [-pi:pi] [-3:3]  tan(x), 1/x
  633.  
  634.  This sets only the yrange:
  635.          plot [] [-2:sin(5)*-8] sin(x)**besj0(x)
  636.  
  637.  This sets xmax and ymin only:
  638.          plot [:200] [-pi:]  exp(sin(x))
  639. 3 style
  640. ?plot style
  641. ?style
  642.  Plots may be displayed in one of four styles: `lines`, `points`,
  643.  `linespoints`, `impulses`, or `dots`.  The `lines` style connects
  644.  adjacent points with lines. The `points` style displays a small
  645.  symbol at each point.  The `linespoints` style does both `lines` and
  646.  `points`. The `impulses` style displays a vertical line from the X
  647.  axis to each point. The `dots` style plots a tiny dot at each point;
  648.  this is useful for scatter plots with many points.
  649.  
  650.  Default styles are chosen with the `set function style` and
  651.  `set data style` commands. 
  652.  
  653.  By default, each function and data file will use a different 
  654.  line type and point type, up to the maximum number of available 
  655.  types. All terminal drivers support at least six different point
  656.  types, and re-use them, in order, if more than six are required. 
  657.  The LaTeX driver supplies an additional six point types (all variants
  658.  of a circle), and thus will only repeat after twelve curves are
  659.  plotted with points.
  660.  
  661.  If desired, the actual line type and point type used for a plot can
  662.  be specified. Syntax:
  663.  
  664.          with <style> {<linetype> {<pointtype>}}
  665.  
  666.  Where <style> is either `lines`, `points`, `linespoints`, `impulses`,
  667.  or `dots`. These keywords may be abbreviated. 
  668.  Curly braces denote optional items.  The <linetype> and <pointtype> 
  669.  are positive integers, and specify the line type and point type to
  670.  be used for the plot.  Line type 1 is the first line type used by
  671.  default, line type 2 is the second line type used by default etc.
  672.  
  673.  Examples:
  674.  
  675.  This plots sin(x) with impulses:
  676.          plot sin(x) with impulses
  677.  
  678.  This plots sin(x) with points, cos(x) default:
  679.          plot [-9:30]  sin(x) w points, cos(x)
  680.  
  681.  This plots tan(x) with the default function style, "data.1" with lines:
  682.          plot [] [-2:5] tan(x), "data.1" with l
  683.  
  684.  This plots "leastsq.dat" with impulses:
  685.          plot 'leastsq.dat' w i
  686.  
  687.  This plots sin(x) and cos(x) with the same line type:
  688.          plot sin(x) with line 1, cos(x) with line 1
  689.  
  690.  This plots sin(x) and cos(x) with linespoints, using the
  691.  same line type but different point types:
  692.          plot sin(x) with linesp 1 3, cos(x) with linesp 1 4
  693.  
  694.  This plots file "data" with points style 3:
  695.          plot "data" with points 1 3 
  696.  Note that the line style must be specified in order to specify the
  697.  point style, even when it is irrelevant. Here the line style is 1 and
  698.  the point style is 3, and the line style is irrelevant.
  699. 3 title
  700. ?plot title
  701.  A title of each plot appears in the key.  By default the title is
  702.  the function or file name as it appears on the plot command line.
  703.  The title can be changed by using the `title` option. This option 
  704.  should precede any `with` option.
  705.  
  706.  Syntax:
  707.          title <title>
  708.  
  709.  Where <title> is the new title of the plot and must be enclosed in
  710.  quotes.
  711.  
  712.  Examples:
  713.  
  714.  This plots y=x with the title 'x':
  715.          plot x
  716.  
  717.  This plots y=x with the title 'y=x':
  718.          plot x title 'y=x'
  719.  
  720.  This plots x squared with title 'x^2' and "data.1" with title 'measured data':
  721.          plot x**2 title "x^2", "data.1" t 'measured data'
  722. 2 print
  723. ?print
  724.  The `print` command prints the value of <expression> to the screen.
  725.  
  726.  Syntax:
  727.          print <expression>
  728.  
  729.  See `expressions`.
  730. 2 pwd
  731. ?pwd
  732.  The `pwd` command prints the name of the working directory to the screen.
  733.  
  734.  Syntax:
  735.          pwd
  736. 2 quit
  737. ?quit
  738.  The `exit` and `quit` commands and your computer's END-OF-FILE
  739.  character will exit GNUPLOT.  All these commands will clear the
  740.  output device (as the `clear` command does) before exiting. 
  741. 2 replot
  742. ?replot
  743.  The `replot` command without arguments repeats the last `plot` command.  
  744.  This can be useful for viewing a plot with different `set` options, 
  745.  or when generating the same plot for several devices.
  746.  
  747.  Arguments specified after a `replot` command will be added onto the last
  748.  `plot` command (with an implied ',' separator) before it is repeated.
  749.  `replot` accepts the same arguments as the `plot` command except that
  750.  ranges cannot be specified. 
  751. 2 save
  752. ?save
  753.  The `save` command saves user-defined functions, variables, set
  754.  options or all three plus the last plot command to the specified file. 
  755.  
  756.  Syntax:
  757.          save  {<option>} <filename>
  758.  
  759.  Where <option> is `functions`, `variables` or `set`.  If no option is
  760.  used GNUPLOT saves functions, variables, set options and the last plot
  761.  command. 
  762.  
  763.  `save`d files are written in text format and may be read by the `load`
  764.  command.
  765.  
  766.  The filename must be enclosed in quotes.
  767.  
  768.  Examples:
  769.  
  770.          save "work.gnu"
  771.          save functions 'func.dat'
  772.          save var 'var.dat'
  773.          save set "options.dat"
  774. 2 set-show
  775. ?set
  776. ?show
  777.  The `set` command sets LOTS of options.
  778.  
  779.  The `show` command shows their settings.  `show all` shows all the
  780.  settings. 
  781. 3 arrow
  782. ?set arrow
  783. ?set noarrow
  784. ?show arrow
  785. ?arrow
  786. ?noarrow
  787.  Arbitrary arrows can be placed on the plot using the `set arrow`
  788.  command.
  789.  
  790.  Syntax:
  791.  
  792.           set arrow {tag} {from sx,sy} {to ex,ey}
  793.           set noarrow {tag}
  794.           show arrow
  795.  
  796.  
  797.  Curly braces {} denote optional items.
  798.  All positions x,y default to 0,0.
  799.  The x and y values are in the graph's coordinate system.  
  800.  The tag is an integer that is used to identify the arrow. 
  801.  If no tag is given, the lowest unused tag value is assigned
  802.  automatically. The tag can be used to delete or change a specific
  803.  arrow. To change any attribute of an existing arrow, use the `set
  804.  arrow` command with the appropriate tag, and specify the parts of the
  805.  arrow to be changed. 
  806.  
  807.  Arrows outside the plotted boundaries are permitted but may cause
  808.  device errors; use at your own risk.
  809.  
  810.  Examples: 
  811.  
  812.  To set an arrow pointing from the origin to (1,2) use
  813.           set arrow to 1,2
  814.  To set an arrow from (-10,4) to (-5,5), and tag the arrow number 3, use:
  815.           set arrow 3 from -10,4 to -5,5
  816.  To change the preceding arrow begin at 1,1, use
  817.           set arrow 3 from 1,1
  818.  To delete arrow number 2 use:
  819.           set noarrow 2
  820.  To delete all arrows use:
  821.           set noarrow
  822.  To show all arrows (in tag order) use:
  823.           show arrow
  824. 3 autoscale
  825. ?set autoscale
  826. ?show autoscale
  827. ?autoscale
  828.  Auto scaling may be set on the X and/or Y axis. The default is to
  829.  autoscale both axes.
  830.  
  831.  If autoscaling of the Y axis is set, the Y axis is automatically scaled 
  832.  to fit the range of the function or data being plotted.  If autoscaling 
  833.  of the Y axis is not set, the current Y range is used.  See `set yrange`. 
  834.  
  835.  If autoscaling of the X axis is set, the X axis is automatically scaled
  836.  to fit the range of the data being plotted.  Autoscaling of the X axis 
  837.  will operate only on data.  Functions do not affect the X range and the
  838.  range used for functions is determined by the data plots.
  839.  See `set xrange`.
  840.  
  841.  Syntax:
  842.          set autoscale <axes>
  843.          set noautoscale <axes>
  844.          show autoscale
  845.  
  846.  where <axes> is either `x`, `y`, or `xy`.
  847.  If <axes> is not given then both axes are assumed.
  848.  
  849.  Examples:
  850.  
  851.  These set autoscaling of the Y axis.  X axis autoscaling not affected.
  852.          set autoscale y
  853.  
  854.  This sets autoscaling of the X and Y axes.
  855.          set autoscale xy
  856.          set autoscale
  857.  
  858.  This disables autoscaling of the X and Y axes.
  859.          set noautoscale
  860.  
  861.  This disables autoscaling of the X axis only.
  862.          set noautoscale x
  863. 4 parametric mode
  864. ?autoscale parametric
  865. ?set autoscale t
  866.  When in parametric mode (`set parametric`) the xrange is as
  867.  fully scalable as the yrange.  In other words, in parametric
  868.  mode the X axis can be automatically scaled to fit the range
  869.  of the parametric function that is being plotted.  Of course,
  870.  the Y axis can also be automatically scaled just as in the
  871.  non-parametric case.  If autoscaling on the X axis is not set,
  872.  the current X range is used.
  873.  
  874.  When there is a mix of data files and functions, the xrange of
  875.  the functions is selected as that of the data files if autoscale
  876.  is true for X.  While this keeps the behavior compatible with
  877.  non-parametric plotting, it may not be retained in the future.
  878.  The problem is that, in parametric mode, the x and y ranges are
  879.  not as distinguishable as in the non-parametric mode and this
  880.  behavior may not be the most useful.
  881.  
  882.  For completeness sake a last command `set autoscale t` is accepted.  
  883.  However, the effect of this "scaling" is very minor.  When
  884.  gnuplot determines that the t range would be empty it makes a
  885.  small adjustment if autoscaling is true.  Otherwise, gnuplot
  886.  gives an error.  Such behavior may, in fact, not be very useful
  887.  and the command `set autoscale t` is certainly questionable.  
  888. 3 clip
  889. ?set clip
  890. ?set noclip
  891. ?show clip
  892. ?clip
  893. ?noclip
  894.  GNUPLOT can clip (actually, not plot at all) data points that fall
  895.  within but too close to the boundaries (this is so the large symbols
  896.  used for points will not extend outside the boundary lines).  To turn
  897.  on clipping, use `set clip points`.  To turn it back off, use `set
  898.  noclip points`. The default is `noclip`.  Without clipping you may have
  899.  points near the boundaries that look bad; try adjusting the x and y ranges.
  900.  
  901.  Syntax:
  902.          set clip points
  903.          set noclip points
  904.  
  905.  GNUPLOT can also clip lines that connect a point that is in range
  906.  with a point that is out of range. The default is to draw the 
  907.  in-range portion of such lines (i.e., to "clip" them). With the 
  908.  following syntax, the default is `set clip one`. The alternative 
  909.  (`set noclip one`) is to not draw any portion of the line segment. In
  910.  no case is a line drawn outside the plotting area.
  911.  
  912.  Syntax:
  913.          set clip one
  914.          set noclip one
  915.  
  916.  GNUPLOT does not show lines that are wholly out of range. Some lines
  917.  may have both endpoints out of range, but pass through the plotting
  918.  area. By default, GNUPLOT does not draw these lines (`set noclip
  919.  two`). They may be drawn (and clipped) with `set clip two`.
  920.  
  921.  Syntax:
  922.          set clip two
  923.          set noclip two
  924.  
  925.  To check the state of all forms of clipping, use
  926.          show clip
  927.  
  928.  The following forms are also permitted. These allow backward
  929.  compatibility with older versions. 
  930.         set clip
  931.         set noclip
  932.  `set clip` is synonymous with `set clip points`. `set noclip` turns
  933.  off all three types of clipping (`points`, `one`, and `two`).
  934. 3 dummy
  935. ?set dummy
  936. ?show dummy
  937. ?dummy
  938.  By default, GNUPLOT assumes that the independent variable for 
  939.  the `plot` command line is `x`.  `x` is called the dummy variable because
  940.  it is just a notation to indicate the independent variable.  The
  941.  `set dummy` command changes this default dummy variable name.  For
  942.  example, you may find it more convenient to call the dummy variable
  943.  `t` when plotting time functions:
  944.  
  945.          set dummy t
  946.          plot sin(t), cos(t)
  947.  
  948.  Syntax:
  949.          set dummy <dummy-var>
  950.          show dummy
  951. 3 format
  952. ?set format
  953. ?show format
  954. ?format
  955.  The format of the tic-mark labels can be set with the `set format`
  956.  command.  The default format for both axes is "%g", but other formats
  957.  such as "%.2f" or "%3.0fm" are often desirable.  Anything accepted by
  958.  printf when given a double precision number, and then accepted by the
  959.  terminal, will work.  In particular, the formats f, e, and g will work,
  960.  and the d, o, x, c, s, and u formats will not work.
  961.  
  962.  Syntax:
  963.          set format {<axes>} {"format-string"}
  964.          show format
  965.  
  966.  where <axes> is either `x`, `y`, `xy`, or nothing (which is the same
  967.  as `xy`).  The length of the string representing a ticmark (after 
  968.  formatting with printf) is restricted to 100 characters.
  969.  If the format string is omitted, the format will be returned to 
  970.  the default "%g". For LaTeX users, the format "$%g$" is often desirable.
  971.  If the empty string "" is used, no label will be plotted with each
  972.  tic, though the tic mark will still be plotted. To eliminate all tic
  973.  marks, use `set noxtics` or `set noytics`. 
  974.  
  975.  See also `set xtics` and `set ytics` for more control over tic labels.
  976. 3 functions
  977. ?show functions
  978.  The `show functions` command lists all user-defined functions and
  979.  their definitions. 
  980.  
  981.  Syntax:
  982.          show functions
  983. 3 grid
  984. ?set grid
  985. ?show grid
  986. ?grid
  987.  The optional `set grid` draws a grid at the tic marks with the axis
  988.  linetype.
  989.  
  990.  Syntax:
  991.          set grid
  992.          set nogrid
  993.          show grid
  994. 3 key
  995. ?set key
  996. ?show key
  997. ?key
  998.  The `set key` enables a key describing curves on a plot.  
  999.  By default the key is placed in the upper right corner of
  1000.  the plot.  
  1001.  
  1002.  Syntax:
  1003.          set key
  1004.          set key x,y
  1005.          set nokey
  1006.          show key
  1007.  
  1008.  The coordinates x,y specify the location of the key on the plot.
  1009.  The key is drawn as a sequence of lines, with one plot described
  1010.  on each line.  On the right hand side of each line is a 
  1011.  representation that attempts to mimic the way the curve is plotted.
  1012.  On the left side of each line is the text description,
  1013.  obtained from the `plot` command.  The lines are vertically
  1014.  arranged so an imaginary straight line divides the left- and 
  1015.  right-hand sides of the key.  It is the x-coordinate of this
  1016.  line that you specify with the optional x in the `set key`
  1017.  command; the y in the `set key` command is top of the key.
  1018.  Some or all of the key may be outside of the plot boundary, if you
  1019.  wish, although this may interfere with other labels and may cause an
  1020.  error on some devices. 
  1021.  
  1022.  Examples:
  1023.  
  1024.  This places the key at the default location:
  1025.          set key
  1026.  This disables the key.
  1027.          set nokey
  1028.  This places a key at coordinates 2,3.5
  1029.          set key 2,3.5
  1030. 3 label
  1031. ?set label
  1032. ?set nolabel
  1033. ?show label
  1034. ?label
  1035. ?nolabel
  1036.  Arbitrary labels can be placed on the plot using the `set label`
  1037.  command.
  1038.  
  1039.  Syntax:
  1040.  
  1041.           set label {tag} {"label_text"} {at x,y} {<justification>}
  1042.           set nolabel {tag}
  1043.           show label
  1044.  
  1045.  
  1046.  Curly braces {} denote optional items.
  1047.  The text defaults to "", and the position x,y to 0,0.
  1048.  The x and y values are in the graph's coordinate system.  
  1049.  The tag is an integer that is used to identify the label. 
  1050.  If no tag is given, the lowest unused tag value is assigned
  1051.  automatically. The tag can be used to delete or change a specific
  1052.  label. To change any attribute of an existing label, use the `set
  1053.  label` command with the appropriate tag, and specify the parts of the
  1054.  label to be changed. 
  1055.  
  1056.  By default, the text is placed flush left against point x,y. If you
  1057.  want to adjust the way the label is positioned with respect to the
  1058.  point x,y, add the parameter <justification>, which may be `left`,
  1059.  `right` or `center`, indicating that the point is to be at the left,
  1060.  right or center of the text.  The <justification> may be abbreviated.
  1061.  Labels outside the plotted boundaries are permitted but may interfere
  1062.  with axes labels or other text; use at your own risk.
  1063.  
  1064.  Examples: 
  1065.  
  1066.  To set a label at (1,2) to "y=x" use:
  1067.           set label "y=x" at 1,2
  1068.  To set a label "y=x^2" with the right of the text at (2,3), and tag
  1069.  the label number 3, use:
  1070.           set label 3 "y=x^2" at 2,3 right
  1071.  To change the preceding label to center justification, use:
  1072.           set label 3 center
  1073.  To delete label number 2 use:
  1074.           set nolabel 2
  1075.  To delete all labels use:
  1076.           set nolabel
  1077.  To show all labels (in tag order) use:
  1078.           show label
  1079.  
  1080.  The Imagen driver allows \\ in a string to specify a newline.
  1081. 3 logscale
  1082. ?set logscale
  1083. ?set nologscale
  1084. ?show logscale
  1085. ?logscale
  1086. ?nologscale
  1087.  Log scaling may be set on the X and/or Y axis.
  1088.  
  1089.  Syntax:
  1090.          set logscale <axes>
  1091.          set nologscale <axes>
  1092.          show logscale
  1093.  
  1094.  Where <axes> is either `x`, `y`, or `xy`.
  1095.  If <axes> is not given then both axes are assumed.
  1096.  The command `set logscale` turns on log scaling on the specified
  1097.  axes, while `set nologscale` turns off log scaling.
  1098. 3 offsets
  1099. ?set offsets
  1100. ?show offsets
  1101. ?offsets
  1102.  The amount of the graph that the plot takes up may be controlled
  1103.  to some extent with the `set offsets` command.  This command takes
  1104.  four offset arguments -- <left>, <right>, <top> and <bottom>.  
  1105.  By default, each offset is 0.  Each offest may be a constant or
  1106.  an expression.  Left and right offsets are given in units of 
  1107.  the x axis, while top and bottom offsets are given in units of 
  1108.  the y axis.  The plot of sin(x), displayed with offsets of 
  1109.  0, 0, 2, 2 will take up  1/3 of the displayed y axis.  
  1110.  Offsets are particularly useful with polar coordinates as a means
  1111.  of compensating for aspect ratio distortion.
  1112.  
  1113.  Syntax:
  1114.          set offsets <left>, <right>, <top>, <bottom>
  1115.          show offsets
  1116. 3 output
  1117. ?set output
  1118. ?show output
  1119. ?output
  1120.  By default, plots are displayed to the standard output.  The
  1121.  `set output` command redirects the display to the specified file or
  1122.  device. 
  1123.  
  1124.  Syntax:
  1125.          set output {<filename>}
  1126.          show output
  1127.  
  1128.  The filename must be enclosed in quotes.  If the filename is
  1129.  omitted, output will be sent to the standard output. 
  1130. 3 parametric
  1131. ?set parametric
  1132. ?show parametric
  1133. ?parametric
  1134.  The `set parametric` command changes the meaning of the plot from
  1135.  normal functions to parametric functions.  The command 
  1136.  `set noparametric` changes the plotting style back to normal, 
  1137.  single-valued expression plotting.
  1138.  
  1139.  Parametric functions are determined by a pair of functions 
  1140.  operating on a `parameter`, such as sin(t),cos(t) (which describes 
  1141.  a circle if `t` ranges over [-pi:pi]).  Hence it takes two 
  1142.  parametric function specifications in terms of the parametric 
  1143.  dummy argument to describe a single graph.  
  1144.  
  1145.  The total set of possible plots is a superset of the simple f(x) 
  1146.  style plots, since the two functions can describe both the 
  1147.  x and y values to be computed separately.  In fact, plots of 
  1148.  the type t,f(t) are equivalent to those produced with f(x) since 
  1149.  the x values are computed with just the identity function.  Note 
  1150.  that the order the parametric function is specified is xfunction,
  1151.  yfunction and that each operates over the common parametric domain.
  1152.  
  1153.  Also, the `set parametric` function implies a new range of values.  
  1154.  Whereas the normal f(x) style plotting assumes an xrange and yrange,
  1155.  the parametric mode additionally specifies a trange.  The trange 
  1156.  may be specified directly with `set trange`, by specifying the 
  1157.  range on the plot command, or indirectly with `set autoscale t`.
  1158. 3 polar
  1159. ?set polar
  1160. ?show polar
  1161. ?polar
  1162.  The `set polar` command changes the meaning of the plot from
  1163.  rectangular coordinates to polar coordinates.  In polar
  1164.  coordinates, the dummy variable (x) is an angle.  The range
  1165.  of this angle is changed from whatever it was to [0:2*pi].
  1166.  
  1167.  The command `set nopolar` changes the meaning of the plot back
  1168.  to the default rectangular coordinate system.  The range of
  1169.  x is changed from whatever it was to [-10:10].
  1170.  
  1171.  While in polar coordinates the meaning of an expression in x
  1172.  is really r = f(x), where x is an angle of rotation. The xrange
  1173.  controls the domain (the angle) of the function, and the yrange
  1174.  controls the range (the radius). The plot is plotted on a rectangular
  1175.  grid, and the `x` and `y` axes are both in units of the radius. Thus,
  1176.  the yrange controls both dimensions of the plot output. There is no
  1177.  way to specify the output dimensions separately.
  1178.  
  1179.  Syntax:
  1180.          set polar
  1181.          set nopolar
  1182.          show polar
  1183.  Example:
  1184.          set polar
  1185.          plot x*sin(x)
  1186.          plot [-2*pi:2*pi] [-3:3] x*sin(x)
  1187.  The first plot uses the default polar angular domain of 0 to 2*pi.
  1188.  The radius (and the size of the plot) is scaled automatically. The
  1189.  second plot expands the domain, and restricts the range of the radius
  1190.  (and the size of the plot) to [-3:3].
  1191. 3 samples
  1192. ?set samples
  1193. ?show samples
  1194. ?samples
  1195.  The sampling rate of functions may be changed by the `set samples`
  1196.  command.  By default, sampling is set to 160 points.  A higher
  1197.  sampling rate will produce more accurate plots, but will take
  1198.  longer.  When plotting datafiles, the sampling rate must be set 
  1199.  higher than the number of data points.
  1200.  
  1201.  Syntax:
  1202.          set samples <expression>
  1203.          show samples
  1204. 3 size
  1205. ?set size
  1206. ?show size
  1207. ?size
  1208.  The `set size` command scales the displayed size of the plot.
  1209.  On some terminals, changing the size of the plot will result in
  1210.  text being misplaced.  Increasing the size of the plot may 
  1211.  produce strange results.  Decreasing is safer.
  1212.  
  1213.  Syntax:
  1214.  
  1215.          set size {x,y}
  1216.          show size
  1217.  
  1218.  The x and y values are the scaling factors for the size.
  1219.  The defaults (1,1) are selected if the scaling factors are omitted.
  1220.  
  1221.  Examples: 
  1222.  
  1223.  To set the size to normal size use:
  1224.          set size
  1225.  To make the plot half size use:
  1226.          set size 0.5,0.5
  1227.  To show the size use:
  1228.          show size
  1229.  
  1230.  For the LaTeX and Fig terminals the default size (scale factor 1,1)
  1231.  is 5 inches wide by 3 inches high. Note that the size of the plot
  1232.  includes the space used by the labels; the plotting area itself is
  1233.  smaller. 
  1234. 3 style
  1235. ?set style
  1236. ?show style
  1237. ?style
  1238.  Plots may be displayed in one of five styles: `lines`, `points`,
  1239.  `linespoints`, `impulses`, or `dots`.  The `lines` style connects
  1240.  adjacent points with lines. The `points` style displays a small
  1241.  symbol at each point.  The `linespoints` style does both `lines` and
  1242.  `points`. The `impulses` style displays a vertical line from the X
  1243.  axis to each point. The `dots` style plots a tiny dot at each data
  1244.  point; this is useful for scatter plots with many points.
  1245.  
  1246.  Default styles are chosen with the `set function style` and `set
  1247.  data style` commands.  See `plot style` for information about how 
  1248.  to override the default plotting style for individual functions. 
  1249.  
  1250.  Syntax:
  1251.          set function style <style>
  1252.          set data style <style>
  1253.          show function style
  1254.          show data style
  1255.  
  1256.  Where <style> is either `lines`, `points`, `linespoints`, `impulses`,
  1257.  or `dots`.
  1258. 3 terminal
  1259. ?set terminal
  1260. ?show terminal
  1261. ?terminal
  1262.  GNUPLOT supports many different graphics devices.  Use the `set
  1263.  terminal` command to select the type of device for which GNUPLOT
  1264.  will produce output. 
  1265.  
  1266.  Syntax:
  1267.          set terminal {<terminal-type>}
  1268.          show terminal
  1269.  
  1270.  If <terminal-type> is omitted, GNUPLOT will list the available
  1271.  terminal types.  <terminal-type> may be abbreviated. 
  1272.  
  1273.  Use `set output` to redirect this output to a file or device.
  1274. 3 tics
  1275. ?set tics
  1276. ?show tics
  1277. ?tics
  1278.  By default, tics are drawn inwards from the border on all four sides.
  1279.  The `set tics` command can be used to change the tics to be 
  1280.  drawn outwards on the left and bottom borders only.  
  1281.  This is useful when doing impulse plots.
  1282.  
  1283.  Syntax:
  1284.          set tics {<direction>}
  1285.          show tics
  1286.  
  1287.  Where <direction> may be `in`, `out` or nothing (which is the same as in).
  1288.  
  1289.  See also the `set xtics` and `set ytics` command for more control of
  1290.  tic marks. 
  1291. 3 title
  1292. ?set title
  1293. ?show title
  1294. ?title
  1295.  The `set title` command sets the title which will be centered
  1296.  at the top of the plot.
  1297.  
  1298.  Syntax: 
  1299.           set title 
  1300.           set title "title-text"
  1301.           show title
  1302.  
  1303.  The first clears the title (default).
  1304.  The second form sets the title to "title-text" (without the quotes).
  1305.  
  1306.  The Imagen driver allows \\ in a string to specify a newline.
  1307. 3 trange
  1308. ?set trange
  1309. ?show trange
  1310. ?trange
  1311.  The `set trange` command sets the parametric range used to compute
  1312.  x and y values when in parametric mode.  If not in parametric mode
  1313.  (see `set parametric`) then this range is not used.  This command 
  1314.  does not affect XY autoscaling or XY ranges.
  1315.  
  1316.  This range may also be specified on the `plot` command line when
  1317.  in parametric mode.
  1318.  
  1319.  Syntax:
  1320.          set trange [{<tmin> : <tmax>}]
  1321.  
  1322.  Where <tmin> and <tmax> terms are expressions or constants.
  1323.  
  1324.  Both the <tmin> and <tmax> terms are optional. Anything omitted will
  1325.  not be changed, so 
  1326.          set trange [:10]
  1327.  changes tmax to 10 without affecting tmin. 
  1328. 3 xtics
  1329. 3 variables
  1330. ?show variables
  1331.  The `show variables` command lists all user-defined variables and
  1332.  their values. 
  1333.  
  1334.  Syntax:
  1335.          show variables
  1336. 3 xlabel
  1337. ?set xlabel
  1338. ?show xlabel
  1339. ?xlabel
  1340.  The `set xlabel` command sets the x-axis label which will be centered
  1341.  at the bottom of the plot.
  1342.  
  1343.  Syntax: 
  1344.           set xlabel 
  1345.           set xlabel "label"
  1346.           show xlabel
  1347.  
  1348.  The first clears the x-axis label (default).
  1349.  The second form sets the x-axis label to "label" (without the quotes).
  1350.  
  1351.  The Imagen driver allows \\ in a string to specify a newline.
  1352. 3 xrange
  1353. ?set xrange
  1354. ?show xrange
  1355. ?xrange
  1356.  The `set xrange` command sets the horizontal range which will be
  1357.  displayed.  This command turns X axis autoscaling OFF.
  1358.  
  1359.  This range may also be specified on the `plot` command line.
  1360.  
  1361.  Syntax:
  1362.          set xrange [{<xmin> : <xmax>}]
  1363.  
  1364.  Where <xmin> and <xmax> terms are expressions or constants.
  1365.  
  1366.  Both the <xmin> and <xmax> terms are optional. Anything omitted will
  1367.  not be changed, so 
  1368.          set xrange [:10]
  1369.  changes xmax to 10 without affecting xmin. 
  1370. 3 xtics
  1371. ?set xtics
  1372. ?set noxtics
  1373. ?show xtics
  1374. ?xtics
  1375. ?noxtics
  1376.  Very fine control of the `x` axes tic marks is possible with the `set
  1377.  xtics` and `set noxtics` command. The x-axis tic marks may be turned
  1378.  off with the `set noxtics` command. They may be turned on (the
  1379.  default state) with `set xtics`.
  1380.  
  1381.  If you prefer your own series of tic marks, you may use the form
  1382.           set xtics <start>, <incr>{, <end>}
  1383.  The curly braces indicate that the <end> parameter is optional. 
  1384.  This command specifies that a series of tics will be plotted on the
  1385.  `x` axis between the `x` values <start> and <end> with an increment
  1386.  of <incr>. If <end> is not given it is assumed to be infinity. The
  1387.  increment may be negative. Example:
  1388.            set xtics 0,.5,10
  1389.  makes tics 0, 0.5, 1, 1.5, ..., 9.5, 10.
  1390.  
  1391.  If you need arbitrary tic positions, or non-numeric tic labels, 
  1392.  any non-empty set of tic positions and labels may be given with this
  1393.  format:
  1394.           set xtics ({"label"} pos {, {"label"} pos}...)
  1395.  Again curly braces contain optional components. Thus, a set of tics
  1396.  are a set of positions, each with its own optional label. Note that
  1397.  the label is a string enclosed by quotes, and may be a constant
  1398.  string, such as "hello", or contain formatting information for the tic
  1399.  number (which is the same as the position), such as "%3f clients".
  1400.  See `set format` for more information about this case. The label may 
  1401.  even be empty. Examples:
  1402.           set xtics ("low" 0, "medium" 50, "high" 100)
  1403.           set xtics (1,2,4,8,16,32,64,128,256,512,1024)
  1404.           set xtics ("bottom" 0, "" 10, "top" 20)
  1405.  
  1406.  Tics will only be plotted when in range.
  1407.  
  1408.  The `set ytics` and `set noytics` commands work identically.
  1409.  See also `set format` command.
  1410. 3 xzeroaxis
  1411. ?set xzeroaxis
  1412. ?show xzeroaxis
  1413. ?xzeroaxis
  1414.  `set xzeroaxis` draws the x-axis.  By default, this option is on.
  1415.  `set noxzeroaxis` causes gnuplot to omit the x-axis.
  1416.  
  1417.  Syntax:
  1418.          set xzeroaxis
  1419.          set noxzeroaxis
  1420.          show xzeroaxis
  1421. 3 yzeroaxis
  1422. ?set yzeroaxis
  1423. ?show yzeroaxis
  1424. ?yzeroaxis
  1425.  `set yzeroaxis` draws the y-axis.  By default, this option is on.
  1426.  `set noyzeroaxis` causes gnuplot to omit the y-axis.
  1427.  
  1428.  Syntax:
  1429.          set yzeroaxis
  1430.          set noyzeroaxis
  1431.          show yzeroaxis
  1432. 3 ylabel
  1433. ?set ylabel
  1434. ?show ylabel
  1435. ?ylabel
  1436.  The `set ylabel` command sets the y-axis label.
  1437.  The position of this label depends on the terminal, and can be
  1438.  one of the following three positions.
  1439.  
  1440.  1. Horizontal text flushed left at the top left of the plot.  
  1441.  Terminals that cannot rotate text will probably use this method.
  1442.  
  1443.  2. Vertical text centered vertically at the left of the plot.
  1444.  Terminals that can rotate text will probably use this method.
  1445.  
  1446.  3. Horizontal text centered vertically at the left of the plot.
  1447.  The Latex and EEPIC drivers use this method.  The user must insert 
  1448.  line breaks using \\ to prevent the ylabel from overwriting
  1449.  the plot.  To produce a vertical row of characters, add \\
  1450.  between every printing character.
  1451.  
  1452.  Syntax:  
  1453.           set ylabel 
  1454.           set ylabel "label"
  1455.           show ylabel
  1456.  
  1457.  The first clears the y-axis label (default).
  1458.  The second form sets the y-axis label to "label" (without the quotes).
  1459.  
  1460.  The Latex, EEPIC, and Imagen drivers allow \\ in a string to specify
  1461.  a newline. 
  1462. 3 yrange
  1463. ?set yrange
  1464. ?show yrange
  1465. ?yrange
  1466.  The `set yrange` command sets the vertical range which will be
  1467.  displayed.  This command turns Y axis autoscaling OFF. 
  1468.  
  1469.  This range may also be specified on the `plot` command line.
  1470.  
  1471.  Syntax:
  1472.          set yrange [{<ymin> : <ymax>}]
  1473.  
  1474.  Where <ymin> and <ymax> terms are expressions or constants.
  1475.  
  1476.  Both the <ymin> and <ymax> terms are optional. Anything omitted will
  1477.  not be changed, so 
  1478.          set yrange [:10]
  1479.  changes ymax to 10 without affecting ymin. 
  1480. 3 ytics
  1481. ?set ytics
  1482. ?set noytics
  1483. ?show ytics
  1484. ?ytics
  1485. ?noytics
  1486.  The `set ytics` and `set noytics` commands are similar to the `set xtics`
  1487.  and `set noxtics` commands. Please see `set xtics`.
  1488. 3 zero
  1489. ?set zero
  1490. ?show zero
  1491. ?zero
  1492.  GNUPLOT will not plot a point if its imaginary part is greater in
  1493.  magnitude than the `zero` threshold.  The default `zero` value is
  1494.  1e-8. This can be changed with the `set zero` command.
  1495.  
  1496.  Syntax:
  1497.          set zero <expression>
  1498.          show zero
  1499. 3 zeroaxis
  1500. ?set zeroaxis
  1501. ?show zeroaxis
  1502. ?zeroaxis
  1503.  `set zeroaxis` draws the x-axis and y-axis.  By default, this option is on.
  1504.  `set noxzeroaxis` causes gnuplot to omit the axes.
  1505.  
  1506.  Syntax:
  1507.          set zeroaxis
  1508.          set nozeroaxis
  1509.          show zeroaxis
  1510.  See `set xzeroaxis` and `set yzeroaxis`.
  1511. 2 shell
  1512. ?shell
  1513.  The `shell` command spawns an interactive shell.  To return to
  1514.  GNUPLOT, type `logout` if using VMS, `exit` or your END-OF-FILE
  1515.  character if using Unix, or `exit` if using MS-DOS. 
  1516.  
  1517.  A single shell command may be spawned by preceding it with the !
  1518.  character ($ if using VMS) at the beginning of a command line.
  1519.  Control will return immediately to GNUPLOT after this command is
  1520.  executed.  For example,
  1521.  
  1522.       ! dir
  1523.  
  1524.  prints a directory listing and then returns to GNUPLOT.
  1525. 2 start-up
  1526. ?startup
  1527. ?start
  1528. ?.gnuplot
  1529.  When GNUPLOT is run, it looks for an initialization file to load. 
  1530.  This file is called `.gnuplot` on Unix systems, and `GNUPLOT.INI` on
  1531.  other systems.  If this file is not found in the current directory,
  1532.  the program will look for it in your home directory (under MS-DOS, the
  1533.  environment variable GNUPLOT should contain the name of this
  1534.  directory). 
  1535.  
  1536.  If this file is found, GNUPLOT executes the commands in this file.
  1537.  This is most useful for setting your terminal type and defining any
  1538.  functions or variables which you use often.  The variable `pi` is
  1539.  already defined for you. 
  1540. 2 substitution
  1541. ?substitution
  1542.  Command-line substitution is specified by a system command enclosed in
  1543.  backquotes.  This command is spawned and the output it produces
  1544.  replaces the name of the command (and backquotes) on the command line.
  1545.  
  1546.  Newlines in the output produced by the spawned command are replaced with
  1547.  blanks.
  1548.  
  1549.  Command-line substitution can be used anywhere on the GNUPLOT command
  1550.  line. 
  1551.  
  1552.  
  1553.  Example:
  1554.  
  1555.  This will run the program `leastsq` and substitute `leastsq`
  1556.  (including quotes) on the command line with its output:
  1557.  
  1558.   f(x) = `leastsq`
  1559.  
  1560.  or, in VMS
  1561.  
  1562.   f(x) = `run leastsq`
  1563. 2 user-defined
  1564. ?userdefined
  1565. ?variables
  1566.  You may define your own functions and variables.  User-defined
  1567.  functions and variables may be used anywhere. 
  1568.  
  1569.  User-defined function syntax:
  1570.      <function-name> ( <dummy-var> ) =  <expression>
  1571.  
  1572.  Where <expression> is defined in terms of <dummy-var>.
  1573.  
  1574.  User-defined variable syntax:
  1575.      <variable-name> = <constant-expression>
  1576.  
  1577.  Examples:
  1578.      w = 2
  1579.      q = floor(tan(pi/2 - 0.1))
  1580.      f(x) = sin(w*x)
  1581.      sinc(x) = sin(pi*x)/(pi*x)
  1582.      delta(t) = (t == 0)
  1583.      ramp(t) = (t > 0) ? t : 0
  1584.  
  1585.  The variable `pi` is already defined for you.
  1586.  
  1587.  See `show functions` and `show variables`.
  1588. 2 bugs
  1589. ?bugs
  1590.  The atan() function does not work correctly for complex arguments.
  1591.  
  1592.  The bessel functions do not work for complex arguments.
  1593.  
  1594.  The most important known bug is actually in the stdio library for the
  1595.  Sun4 operating system (SunOS Sys4-3.2). The "%g" format for `printf`
  1596.  sometimes incorrectly prints numbers (e.g., 200000.0 as "2").  Thus,
  1597.  tic mark labels may be incorrect on a Sun4 version of gnuplot.  You
  1598.  may work around it by rescaling your data or by using the `set format`
  1599.  command to change the tic mark format to "%7.0f" or some other
  1600.  appropriate format. This appears to have been fixed in SunOS 4.0.
  1601.  
  1602.  Another bug: On a Sun3 under SunOS 4.0, and on Sun4's under Sys4-3.2
  1603.  and SunOS 4.0, the `sscanf` routine incorrectly parses "00 12" with
  1604.  the format "%f %f" and reads 0 and 0 instead of 0 and 12.  This
  1605.  affects data input. If your data file contains X coordinates that are
  1606.  zero but are specified like '00', '000', etc, then you will read the
  1607.  wrong Y values. Check your data files or do not use a Sun4 until they
  1608.  fix the bug. It does NOT appear that this has been fixed in SunOS 4.0.
  1609.  
  1610.  Microsoft C 5.1 has a nasty bug associated with the %g format for
  1611.  printf.  When any of the formats "%.2g", "%.1g", "%.0g", "%.g" are
  1612.  used, printf will incorrectly print numbers in the range 1e-4 to 1e-1.  
  1613.  Numbers that should be printed in the %e format are incorrectly 
  1614.  printed in the %f format, with the wrong number of zeros after the 
  1615.  decimal point.
  1616.  To work around this problem, use the %e or %f formats explicitly.
  1617.  
  1618.  Gnuplot when compiled with Microsoft C did not work correctly on two
  1619.  VGA displays that were tested.  The CGA, EGA and VGA drivers should 
  1620.  probably be rewritten to use the Microsoft C graphics library.
  1621.  Gnuplot compiled with Turbo C uses the Turbo C graphics drivers and 
  1622.  does work correctly with VGA displays. 
  1623.  
  1624.  VAX/VMS 4.7 C compiler release 2.4 also has a poorly implemented %g 
  1625.  format for printf.  The numbers are printed numerically correct, but 
  1626.  may not be in the requested format.  The K&R second edition says that 
  1627.  for the %g format, %e is used if the exponent is less than -4 or greater 
  1628.  than or equal to the precision.  The VAX uses %e format if the exponent 
  1629.  is less than -1.  The VAX appears to take no notice of the precision 
  1630.  when deciding whether to use %e or %f for numbers less than 1.
  1631.  To work around this problem, use the %e or %f formats explicitly.
  1632.  From the VAX C 2.4 release notes:
  1633.  e,E,f,F,g,G  Result will always contain  a  decimal  point.
  1634.  For g and G, trailing zeros will not be removed from the result.
  1635.  
  1636.  VAX/VMS 5.2 C compiler release 3.0 has a slightly better implemented
  1637.  %g format than release 2.4, but not much.  Trailing decimal points are 
  1638.  now removed, but trailing zeros are still not removed from %g numbers 
  1639.  in exponential format.
  1640.  
  1641.  Please report any bugs you find to pixar!bug-gnuplot@sun.com or
  1642.  pixar!bug-gnuplot@ucbvax.berkeley.edu.
  1643.