





















                                 [1mGNUPLOT[0m
                     [1mAn Interactive Plotting Program[0m



                      [4mThomas[24m [4mWilliams[24m [4m&[24m [4mColin[24m [4mKelley[0m
          [4mVersion[24m [4m5.4[24m [4morganized[24m [4mby:[24m [4mEthan[24m [4mA[24m [4mMerritt[24m [4mand[24m [4mmany[24m [4mothers[0m
                   [4mMajor[24m [4mcontributors[24m [4m(alphabetic[24m [4morder):[0m
                 [4mChristoph[24m [4mBersch,[24m  [4mHans-Bernhard[24m [4mBröker,[0m
                     [4mJohn[24m [4mCampbell,[24m  [4mRobert[24m [4mCunningham,[0m
                       [4mDavid[24m [4mDenholm,[24m  [4mGershon[24m [4mElber,[0m
                      [4mRoger[24m [4mFearick,[24m  [4mCarsten[24m [4mGrammes,[0m
                         [4mLucas[24m [4mHart,[24m  [4mLars[24m [4mHecking,[0m
                      [4mPéter[24m [4mJuhász,[24m  [4mThomas[24m [4mKoenig,[0m
                         [4mDavid[24m [4mKotz,[24m  [4mEd[24m [4mKubaitis,[0m
                     [4mRussell[24m [4mLang,[24m  [4mTimothée[24m [4mLecomte,[0m
                   [4mAlexander[24m [4mLehmann,[24m  [4mJérôme[24m [4mLodewyck,[0m
                     [4mAlexander[24m [4mMai,[24m  [4mBastian[24m [4mMärkisch,[0m
                      [4mEthan[24m [4mA[24m [4mMerritt,[24m  [4mPetr[24m [4mMikulk,[0m
                     [4mCarsten[24m [4mSteger,[24m  [4mShigeharu[24m [4mTakeno,[0m
                      [4mTom[24m [4mTkacik,[24m  [4mJos[24m [4mVan[24m [4mder[24m [4mWoude,[0m
              [4mAlex[24m [4mWoo,[24m  [4mJames[24m [4mR.[24m [4mVan[24m [4mZandt,[24m  [4mJohannes[24m [4mZellner[0m
     [4mCopyright[24m [4m(C)[24m [4m1986[24m [4m-[24m [4m1993,[24m [4m1998,[24m [4m2004[24m   [4mThomas[24m [4mWilliams,[24m [4mColin[24m [4mKelley[0m
                 [4mCopyright[24m [4m(C)[24m [4m2004[24m [4m-[24m [4m2020[24m  [4mvarious[24m [4mauthors[0m
        Mailing list for comments: gnuplot-info@lists.sourceforge.net
      Mailing list for bug reports: gnuplot-bugs@lists.sourceforge.net
      Web access (preferred): http://sourceforge.net/projects/gnuplot
                             22 December 2022






          This manual was originally prepared by Dick Crawford.
                             3 December 1998


















                                    -2-

















   [1m1.  Gnuplot[0m





   [1m2.  Copyright[0m


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

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

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













   Permission to distribute the released version of the source code
   along with corresponding source modifications in the form of a patch
   file is granted with same provisions 2 through 4 for binary distri-
   butions.

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

         AUTHORS
                 Original Software:
                    Thomas Williams,  Colin Kelley.
                 Gnuplot 2.0 additions:
                    Russell Lang, Dave Kotz, John Campbell.
                 Gnuplot 3.0 additions:
                    Gershon Elber and many others.
                 Gnuplot 4.0 and 5.0 additions:
                    See list of contributors at head of this document.



   [1m3.  Introduction[0m


   [1mGnuplot [22mis a portable command-line driven graphing utility for
   Linux, OS/2, MS Windows, OSX, VMS, and many other platforms. The
   source code is copyrighted but freely distributed (i.e., you don't
   have to pay for it). It was originally created to allow scientists
   and students to visualize mathematical functions and data interac-
   tively, but has grown to support many non-interactive uses such as
   web scripting. It is also used as a plotting engine by third-party
   applications like Octave. Gnuplot has been supported and under ac-
   tive development since 1986.

   Gnuplot supports many types of plots in either 2D and 3D. It can
   draw using lines, points, boxes, contours, vector fields, surfaces,
   and various associated text. It also supports various specialized
   plot types.

   Gnuplot supports many different types of output: interactive screen
   terminals (with mouse and hotkey input), direct output to pen plot-
   ters or modern printers, and output to many file formats (eps, emf,
   fig, jpeg, LaTeX, pdf, png, postscript, ...). Gnuplot is easily ex-
   tensible to include new output modes.  Recent additions include in-
   teractive terminals based on wxWidgets (usable on multiple plat-
   forms), and Qt.  Mouseable plots embedded in web pages can be gener-
   ated using the svg or HTML5 canvas terminal drivers.

   The command language of [1mgnuplot [22mis case sensitive, i.e. commands and
   function names written in lowercase are not the same as those writ-
   ten in capitals. All command names may be abbreviated as long as the
   abbreviation is not ambiguous. Any number of commands may appear on
   a line, separated by semicolons (;). Strings may be set off by ei-
   ther single or double quotes, although there are some subtle










   GNUPLOT 5.4                                                        2


   differences.  See [1msyntax [22mand [1mquotes [22mfor more details. Example:

         set title "My First Plot";  plot 'data';  print "all done!"

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

   In this document, curly braces ({}) denote optional arguments and a
   vertical bar (|) separates mutually exclusive choices.  [1mGnuplot [22mkey-
   words or [1mhelp [22mtopics are indicated by backquotes or [1mboldface [22m(where
   available).  Angle brackets (<>) are used to mark replaceable to-
   kens.  In many cases, a default value of the token will be taken for
   optional arguments if the token is omitted, but these cases are not
   always denoted with braces around the angle brackets.

   For built-in help on any topic, type [1mhelp [22mfollowed by the name of
   the topic or [1mhelp ? [22mto get a menu of available topics.

   A large set of demo plots is available on the web page
             http://www.gnuplot.info/demo/
   When run from command line, gnuplot is invoked using the syntax
         gnuplot {OPTIONS} file1 file2 ...
   where file1, file2, etc. are input file as in the [1mload [22mcommand.  On
   X11-based systems, you can use
         gnuplot {X11OPTIONS} {OPTIONS} file1 file2 ...
   see your X11 documentation and [1mx11 [22min this document.

   Options interpreted by gnuplot may come anywhere on the line.  Files
   are executed in the order specified, as are commands supplied by the
   -e option, for example
         gnuplot   file1.in   -e "reset"   file2.in

   The special filename "-" is used to force reading from stdin.  [1mGnu-[0m
   [1mplot [22mexits after the last file is processed.  If no load files are
   named, [1mGnuplot [22mtakes interactive input from stdin.  See help
   [1mbatch/interactive [22mfor more details.  The options specific to gnuplot
   can be listed by typing
         gnuplot --help
   See [1mcommand-line-options [22mfor more details.

   In sessions with an interactive plot window you can hit 'h' anywhere
   on the plot for help about [1mhotkeys [22mand [1mmousing [22mfeatures.  Section
   [1mseeking-assistance [22mwill help you to find further information, help
   and FAQ.












   GNUPLOT 5.4                                                        3


   [1m4.  Seeking-assistance[0m


   The canonical gnuplot home page can be found at
             http://www.gnuplot.info

   Before seeking help, please check file FAQ.pdf or the above website
   for a
             FAQ (Frequently Asked Questions) list.

   Another resource for help with specific plotting problems (not bugs)
   is
             https://stackoverflow.com/questions/tagged/gnuplot

   Bug reports and feature requests should be uploaded to the trackers
   at
             http://sourceforge.net/projects/gnuplot/support
   Please check previous reports to see if the bug you want to report
   has already been fixed in a newer version.

   When reporting a bug or posting a question, please include full de-
   tails of the gnuplot version, the terminal type, and the operating
   system.  A short self-contained script demonstrating the problem is
   very helpful.

   Instructions for subscribing to gnuplot mailing lists may be found
   via the gnuplot development website on SourceForge
             http://sourceforge.net/projects/gnuplot

   Please note that before you write to any of the gnuplot mailing
   lists you must first subscribe to the list.  This helps reduce the
   amount of spam.

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

   A mailing list for those interested in the development version of
   gnuplot is:
             gnuplot-beta@lists.sourceforge.net




   [1m5.  New features[0m



















   GNUPLOT 5.4                                                        4


        [1m5.1.  Features introduced in version 5.4[0m






             [1m5.1.1.  Support for 64-bit integer arithmetic[0m






             [1m5.1.2.  Voxel grids[0m


             Gnuplot now supports operations based on 3D grids of voxel
             data.





             [1m5.1.3.  New plot styles and style options[0m






             [1m5.1.4.  New data pre-processing filters[0m






             [1m5.1.5.  New commands and command options[0m






             [1m5.1.6.  New terminals and terminal options[0m

















   GNUPLOT 5.4                                                        5


             [1m5.1.7.  Pixmaps as objects[0m






             [1m5.1.8.  Other new features[0m






             [1m5.1.9.  Changes[0m





        [1m5.2.  Features introduced in version 5.2[0m






             [1m5.2.1.  New plot styles and style options[0m


               zerror demo.
               beeswarm plot demo



             [1m5.2.2.  New data pre-processing filters[0m





             [1m5.2.3.  Polar mode improvements and extensions[0m





             [1m5.2.4.  Nonlinear coordinates systems[0m


               Nonlinear x/y axis demo












   GNUPLOT 5.4                                                        6


             [1m5.2.5.  New commands and command options[0m





             [1m5.2.6.  New data type "array"[0m






             [1m5.2.7.  New terminals and terminal options[0m






             [1m5.2.8.  Other new features[0m






        [1m5.3.  Features introduced in version 5.0[0m






   [1m6.  Differences between versions 4 and 5[0m


   Some changes introduced in version 5 may cause certain scripts writ-
   ten for earlier versions of gnuplot to behave differently.

   * Revised handling of input data containing NaN, inconsistent number
   of data columns, or other unexpected content.  See Note under [1mmiss-[0m
   [1ming [22mfor examples and figures.

   * Time coordinates are stored internally as the number of seconds
   relative to the standard unix epoch 1-Jan-1970.  Earlier versions of
   gnuplot used a different epoch internally (1-Jan-2000). This change
   resolves inconsistencies introduced whenever time in seconds was
   generated externally.  The epoch convention used by a particular
   gnuplot installation can be determined using the command [1mprint strf-[0m
   [1mtime("%F",0)[22m.  Time is now stored to at least millisecond precision.

   * The function [1mtimecolumn(N,"timeformat") [22mnow has 2 parameters.










   GNUPLOT 5.4                                                        7


   Because the new second parameter is not associated with any particu-
   lar data axis, this allows using the [1mtimecolumn [22mfunction to read
   time data for reasons other than specifying the x or y coordinate.
   This functionality replaces the command sequence [1mset xdata time; set[0m
   [1mtimefmt "timeformat"[22m.  It allows combining time data read from mul-
   tiple files with different formats within a single plot.

   * The [1mreverse [22mkeyword of the [1mset [axis]range [22mcommand affects only
   autoscaling. It does not invert or otherwise alter the meaning of a
   command such as [1mset xrange [0:1][22m.  If you want to reverse the direc-
   tion of the x axis in such a case, say instead [1mset xrange [1:0][22m.

   * The [1mcall [22mcommand is provides a set of variables ARGC, ARG0, ...,
   ARG9.  ARG0 holds the name of the script file being executed.  ARG1
   to ARG9 are string variables and thus may either be referenced di-
   rectly or expanded as macros, e.g. @ARG1.  The contents of ARG0 ...
   ARG9 may alternatively be accessed as array elements ARGV[0] ...
   ARGV[ARGC].  An older gnuplot convention of referencing call parame-
   ters as tokens $0 ... $9 is deprecated.

   * The optional bandwidth for the kernel density smoothing option is
   taken from a keyword rather than a data column.  See [1msmooth kden-[0m
   [1msity[22m.




   [1m7.  Deprecated syntax[0m


   Gnuplot version 4 deprecated certain syntax used in earlier versions
   but provided a configuration option that allowed backward compati-
   bility.  Support for the old syntax has now been removed.

   Deprecated in version 4 and removed in version 5:
         set title "Old" 0,-1
         set data linespoints
         plot 'file' thru f(x)
         plot 1 2 4               # horizontal line at y=1
         update
   Current equivalent:
         TITLE = "New"
         set title TITLE offset char 0, char -1
         set style data linespoints
         plot 'file' using 1:(f(column(2)))
         plot 1 linetype 2 pointtype 4
         save fit "filename"
   Deprecated in version 5
         if (defined(VARNAME)) ...
         set style increment user
         call 'script' 1.23 ABC
            (in script:  print $0, "$1", "number of args = $#")
         set fontpath










   GNUPLOT 5.4                                                        8


         set clabel
         fit control variables FIT_*
   Current equivalent:
         if (exists("VARNAME")) ...
         set linetype
         call 'script' 1.23 "ABC"
            (in script:  print ARG1, ARG2, "number of args = ", ARGC
         set cntrlabel
         set fit <option> <value>

   Deprecated in version 5.4
         # use of a file containing `reread` to perform iteration
         N = 0;  load "file-containing-reread";
         file content:
             N = N+1
             plot func(N,x)
             pause -1
             if (N<5) reread
   Current equivalent
         do for [N=1:5] {
             plot func(N, x)
             pause -1
         }




   [1m8.  Demos and Online Examples[0m


   The [1mgnuplot [22mdistribution contains a collection of examples in the
   [1mdemo [22mdirectory. You can browse on-line versions of these examples
   produced by the png, svg, and canvas terminals at
     http://gnuplot.info/demos
   The commands that produced each demo plot are shown next to the
   plot, and the corresponding gnuplot script can be downloaded to
   serve as a model for generating similar plots.




   [1m9.  Batch/Interactive Operation[0m


   [1mGnuplot [22mmay be executed in either batch or interactive modes, and
   the two may even be mixed together on many systems.

   Any command-line arguments are assumed to be either program options
   (see command-line-options) or names of files containing [1mgnuplot [22mcom-
   mands.  Each file or command string will be executed in the order
   specified.  The special filename "-" is indicates that commands are
   to be read from stdin.  [1mGnuplot [22mexits after the last file is pro-
   cessed.  If no load files and no command strings are specified,










   GNUPLOT 5.4                                                        9


   [1mgnuplot [22maccepts interactive input from stdin.




        [1m9.1.  Command line options[0m


        Gnuplot accepts the following options on the command line
             -V, --version
             -h, --help
             -p  --persist
             -d  --default-settings
             -s  --slow
             -e  "command1; command2; ..."
             -c  scriptfile ARG1 ARG2 ...

        -p tells the program not to close any remaining interactive
        plot windows when the program exits.

        -d tells the program not to execute any private or system ini-
        tialization (see [1minitialization[22m).

        -s tells the program to wait for slow font initialization on
        startup.  Otherwise it prints an error and continues with bad
        font metrics.

        -e "command" tells gnuplot to execute that single command be-
        fore continuing.

        -c is equivalent to -e "call scriptfile ARG1 ARG2 ...". See
        [1mcall[22m.



        [1m9.2.  Examples[0m


        To launch an interactive session:
              gnuplot

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

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

        To give [1mgnuplot [22mcommands directly in the command line, using
        the "-persist" option so that the plot remains on the screen
        afterwards:
              gnuplot -persist -e "set title 'Sine curve'; plot sin(x)"










   GNUPLOT 5.4                                                       10


        To set user-defined variables a and s prior to executing com-
        mands from a file:
              gnuplot -e "a=2; s='file.png'" input.gpl



   [1m10.  Canvas size[0m



   This documentation uses the term "canvas" to mean the full drawing
   area available for positioning the plot and associated elements like
   labels, titles, key, etc.  NB: For information about the HTML5 can-
   vas terminal see [1mset term canvas[22m.

   In earlier versions of gnuplot, some terminal types used the values
   from [1mset size [22mto control also the size of the output canvas; others
   did not.  The use of 'set size' for this purpose was deprecated in
   version 4.  Almost all terminals now behave as follows:

   [1mset term <terminal_type> size <XX>, <YY> [22mcontrols the size of the
   output file, or "canvas". By default, the plot will fill this can-
   vas.

   [1mset size <XX>, <YY> [22mscales the plot itself relative to the size of
   the canvas.  Scale values less than 1 will cause the plot to not
   fill the entire canvas.  Scale values larger than 1 will cause only
   a portion of the plot to fit on the canvas.  Please be aware that
   setting scale values larger than 1 may cause problems.

   Example:

         set size 0.5, 0.5
         set term png size 600, 400
         set output "figure.png"
         plot "data" with lines

   These commands produce an output file "figure.png" that is 600 pix-
   els wide and 400 pixels tall. The plot will fill the lower left
   quarter of this canvas.  This is consistent with the way multiplot
   mode has always worked.




   [1m11.  Command-line-editing[0m


   Command-line editing and command history are supported using either
   an external gnu readline library, an external BSD libedit library,
   or a built-in equivalent.  This choice is a configuration option at
   the time gnuplot is built.











   GNUPLOT 5.4                                                       11


   The editing commands of the built-in version are given below. Please
   note that the action of the DEL key is system-dependent. The gnu
   readline and BSD libedit libraries have their own documentation.



   +---------------------------------------------------------------------------------+
   |Character   Function                                                             |
   +---------------------------------------------------------------------------------+
   |            Line Editing                                                         |
   |   ^B       move back a single character.                                        |
   |   ^F       move forward a single character.                                     |
   |   ^A       move to the beginning of the line.                                   |
   |   ^E       move to the end of the line.                                         |
   |   ^H       delete the previous character.                                       |
   |   DEL      delete the current character.                                        |
   |   ^D       delete current character. EOF if line is empty.                      |
   |   ^K       delete from current position to the end of line.                     |
   |   ^L       redraw line in case it gets trashed.                                 |
   |   ^U       delete the entire line.                                              |
   |   ^W       delete previous word.                                                |
   +---------------------------------------------------------------------------------+
   |   ^V       inhibits the interpretation of the following key as editing command. |
   |   TAB      performs filename-completion.                                        |
   +---------------------------------------------------------------------------------+
   |            History                                                              |
   |   ^P       move back through history.                                           |
   |   ^N       move forward through history.                                        |
   |   ^R       starts a backward-search.                                            |
   +---------------------------------------------------------------------------------+





   [1m12.  Comments[0m


   The comment character [1m# [22mmay appear almost anywhere in a command
   line, and [1mgnuplot [22mwill ignore the rest of that line. A [1m# [22mdoes not
   have this effect inside a quoted string. Note that if a commented
   line ends in '\' then the subsequent line is also treated as part of
   the comment.

   See also [1mset datafile commentschars [22mfor specifying a comment charac-
   ter for data files.



   [1m13.  Coordinates[0m













   GNUPLOT 5.4                                                       12


   The commands [1mset arrow[22m, [1mset key[22m, [1mset label [22mand [1mset object [22mallow you
   to draw something at an arbitrary position on the graph.  This posi-
   tion is specified by the syntax:

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

   Each <system> can either be [1mfirst[22m, [1msecond[22m, [1mpolar[22m, [1mgraph[22m, [1mscreen[22m, or
   [1mcharacter[22m.

   [1mfirst [22mplaces the x, y, or z coordinate in the system defined by the
   left and bottom axes; [1msecond [22mplaces it in the system defined by the
   x2,y2 axes (top and right); [1mgraph [22mspecifies the area within the
   axes---0,0 is bottom left and 1,1 is top right (for splot, 0,0,0 is
   bottom left of plotting area; use negative z to get to the
   base---see [1mset xyplane[22m); [1mscreen [22mspecifies the screen area (the en-
   tire area---not just the portion selected by [1mset size[22m), with 0,0 at
   bottom left and 1,1 at top right. [1mcharacter [22mcoordinates are used
   primarily for offsets, not absolute positions.  The [1mcharacter [22mverti-
   cal and horizontal size depend on the current font.

   [1mpolar [22mcauses the first two values to be interpreted as angle theta
   and radius r rather than as x and y.  This could be used, for exam-
   ple, to place labels on a 2D plot in polar coordinates or a 3D plot
   in cylindrical coordinates.

   If the coordinate system for x is not specified, [1mfirst [22mis used.  If
   the system for y is not specified, the one used for x is adopted.

   In some cases, the given coordinate is not an absolute position but
   a relative value (e.g., the second position in [1mset arrow [22m... [1mrto[22m).
   In most cases, the given value serves as difference to the first po-
   sition.  If the given coordinate belongs to a log-scaled axis, a
   relative value is interpreted as multiplier. For example,

         set logscale x
         set arrow 100,5 rto 10,2

   plots an arrow from position 100,5 to position 1000,7 since the x
   axis is logarithmic while the y axis is linear.

   If one (or more) axis is timeseries, the appropriate coordinate
   should be given as a quoted time string according to the [1mtimefmt[0m
   format string.  See [1mset xdata [22mand [1mset timefmt[22m.  [1mGnuplot [22mwill also
   accept an integer expression, which will be interpreted as seconds
   relative to 1 January 1970.



   [1m14.  Datastrings[0m


   Data files may contain string data consisting of either an arbitrary
   string of printable characters containing no whitespace or an










   GNUPLOT 5.4                                                       13


   arbitrary string of characters, possibly including whitespace, de-
   limited by double quotes.  The following line from a datafile is in-
   terpreted to contain four columns, with a text field in column 3:

     1.000 2.000 "Third column is all of this text" 4.00

   Text fields can be positioned within a 2-D or 3-D plot using the
   commands:

     plot 'datafile' using 1:2:4 with labels
     splot 'datafile' using 1:2:3:4 with labels

   A column of text data can also be used to label the ticmarks along
   one or more of the plot axes. The example below plots a line through
   a series of points with (X,Y) coordinates taken from columns 3 and 4
   of the input datafile.  However, rather than generating regularly
   spaced tics along the x axis labeled numerically, gnuplot will posi-
   tion a tic mark along the x axis at the X coordinate of each point
   and label the tic mark with text taken from column 1 of the input
   datafile.

     set xtics
     plot 'datafile' using 3:4:xticlabels(1) with linespoints

   There is also an option that will interpret the first entry in a
   column of input data (i.e. the column heading) as a text field, and
   use it as the key title for data plotted from that column. The exam-
   ple given below will use the first entry in column 2 to generate a
   title in the key box, while processing the remainder of columns 2
   and 4 to draw the required line:

     plot 'datafile' using 1:(f($2)/$4) with lines title columnhead(2)

   Another example:

     plot for [i=2:6] 'datafile' using i title "Results for ".column-
   head(i)

   This use of column headings is automated by [1mset datafile columnhead-[0m
   [1mers [22mor [1mset key autotitle columnhead[22m.  See [1mlabels[22m, [1musing xticlabels[22m,
   [1mplot title[22m, [1musing[22m, [1mkey autotitle[22m.



   [1m15.  Enhanced text mode[0m


   Many terminal types support an enhanced text mode in which addi-
   tional formatting information is embedded in the text string.  For
   example, "x^2" will write x-squared as we are used to seeing it,
   with a superscript 2.  This mode is selected by default when you set
   the terminal, but may be toggled afterward using "set termoption
   [no]enhanced", or by marking individual strings as in "set label










   GNUPLOT 5.4                                                       14


   'x_2' noenhanced".





    +-----------------------------------------------------------------+
    |Control       Examples       Explanation                         |
    +-----------------------------------------------------------------+
    |   ^            a^x          superscript                         |
    |   _            a_x          subscript                           |
    |   @       @x or a@^b_{cd}   phantom box (occupies no width)     |
    |   &          &{space}       inserts space of specified length   |
    |   ~           ~a{.8-}       overprints '-' on 'a', raised by .8 |
    |                             times the current fontsize          |
    +-----------------------------------------------------------------+



   The markup control characters act on the following single character
   or bracketed clause. The bracketed clause may contain a string of
   characters with no additional markup, e.g. 2^{10}, or it may contain
   additional markup that changes font properties.  Font specifiers
   MUST be preceded by a '/' character that immediately follows the
   opening '{'.  If a font name contains spaces it must be enclosed in
   single or double quotes.

   Examples: The first example illustrates nesting one bracketed clause
   inside another to produce a boldface A with an italic subscript i,
   all in the current font.  If the clause introduced by :Normal were
   omitted the subscript would be both italic and boldface.  The second
   example illustrates the same markup applied to font "Times New Ro-
   man" at 20 point size.
        {/:Bold A_{/:Normal{/:Italic i}}}
        {/"Times New Roman":Bold=20 A_{/:Normal{/:Italic i}}}

   The phantom box is useful for a@^b_c to align superscripts and sub-
   scripts but does not work well for overwriting an accent on a let-
   ter.  For the latter, it is much better to use an encoding  (e.g.
   iso_8859_1 or utf8) that contains a large variety of letters with
   accents or other diacritical marks.  See [1mset encoding[22m. Since the box
   is non-spacing, it is sensible to put the shorter of the subscript
   or superscript in the box (that is, after the @).

   Space equal in length to a string can be inserted using the '&'
   character.  Thus
           'abc&{def}ghi'
   would produce
           'abc   ghi'.

   The '~' character causes the next character or bracketed text to be
   overprinted by the following character or bracketed text.  The sec-
   ond text will be horizontally centered on the first.  Thus '~a/'










   GNUPLOT 5.4                                                       15


   will result in an 'a' with a slash through it.  You can also shift
   the second text vertically by preceding the second text with a num-
   ber, which will define the fraction of the current fontsize by which
   the text will be raised or lowered.  In this case the number and
   text must be enclosed in brackets because more than one character is
   necessary.  If the overprinted text begins with a number, put a
   space between the vertical offset and the text ('~{abc}{.5 000}');
   otherwise no space is needed ('~{abc}{.5---}').  You can change the
   font for one or both strings ('~a{.5 /*.2 o}'---an 'a' with a one-
   fifth-size 'o' on top---and the space between the number and the
   slash is necessary), but you can't change it after the beginning of
   the string.  Neither can you use any other special syntax within ei-
   ther string.  You can, of course, use control characters by escaping
   them (see below), such as '~a{\^}'

   You can escape control characters using \, e.g.,  \\, \{, and so on.
   See [1mescape sequences [22mbelow.

   Note that strings in double-quotes are parsed differently than those
   enclosed in single-quotes.  The major difference is that backslashes
   may need to be doubled when in double-quoted strings.

   The file "ps_guide.ps" in the /docs/psdoc subdirectory of the gnu-
   plot source distribution contains more examples of the enhanced syn-
   tax, as does the demo [1menhanced_utf8.dem[0m





        [1m15.1.  Escape sequences[0m


        The backslash character \ is used to escape single byte charac-
        ter codes or Unicode entry points.

        The form \ooo (where ooo is a 3 character octal value) can be
        used to index a known character code in a specific font encod-
        ing.  For example the Adobe Symbol font uses a custom encoding
        in which octal 245 represents the infinity symbol.  You could
        embed this in an enhanced text string by giving the font name
        and the character code "{/Symbol \245}".  This is mostly useful
        for the PostScript terminal, which cannot easily handle UTF-8
        encoding.

        You can specify a character by its Unicode code point as
        \U+hhhh, where hhhh is the 4 or 5 character hexadecimal code
        point. For example the code point for the infinity symbol is
        \U+221E.  This will be converted to a UTF-8 byte sequence on
        output if appropriate.  In a UTF-8 environment this mechanism
        is not needed for printable special characters since they are
        handled in a text string like any other character. However it
        is useful for combining forms or supplemental diacritical marks










   GNUPLOT 5.4                                                       16


        (e.g. an arrow over a letter to represent a vector).  See [1mset[0m
        [1mencoding[22m, [1mutf8[22m, and the online unicode demo.




   [1m16.  Environment[0m


   A number of shell environment variables are understood by [1mgnuplot[22m.
   None of these are required, but may be useful.

   GNUTERM, if defined, is used to set the terminal type on start-up.
   Starting with version 5.2 the entire string in GNUTERM is passed to
   "set term" so that terminal options may be included.  E.g.
        GNUTERM="postscript eps color size 5in, 3in"
   This can be overridden by the ~/.gnuplot (or equivalent) start-up
   file (see [1mstartup[22m) and of course by later explicit [1mset term [22mcom-
   mands.

   GNUHELP may be defined to be the pathname of the HELP file (gnu-
   plot.gih).

   On VMS, the logical name GNUPLOT$HELP should be defined as the name
   of the help library for [1mgnuplot[22m.  The [1mgnuplot [22mhelp can be put inside
   any VMS system help library.

   On Unix, HOME is used as the name of a directory to search for a
   .gnuplot file if none is found in the current directory.  On MS-DOS,
   Windows and OS/2, GNUPLOT is used.  On Windows, the NT-specific
   variable USERPROFILE is also tried. VMS, SYS$LOGIN: is used. Type
   [1mhelp startup[22m.

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

   On Unix, SHELL is used for the [1mshell [22mcommand.  On MS-DOS and OS/2,
   COMSPEC is used for the [1mshell [22mcommand.

   [1mFIT_SCRIPT [22mmay be used to specify a [1mgnuplot [22mcommand to be executed
   when a fit is interrupted---see [1mfit[22m.  [1mFIT_LOG [22mspecifies the default
   filename of the logfile maintained by fit.

   GNUPLOT_LIB may be used to define additional search directories for
   data and command files. The variable may contain a single directory
   name, or a list of directories separated by a platform-specific path
   separator, eg. ':' on Unix, or ';' on DOS/Windows/OS/2 platforms.
   The contents of GNUPLOT_LIB are appended to the [1mloadpath [22mvariable,
   but not saved with the [1msave [22mand [1msave set [22mcommands.

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










   GNUPLOT 5.4                                                       17


   GNUPLOT_DEFAULT_GDFONT.

   The postscript terminal uses its own font search path. It is con-
   trolled by the environmental variable GNUPLOT_FONTPATH.

   GNUPLOT_PS_DIR is used by the postscript driver to search for exter-
   nal prologue files. Depending on the build process, gnuplot contains
   either a built-in copy of those files or a default hardcoded path.
   You can use this variable have the postscript terminal use custom
   prologue files rather than the default files. See [1mpostscript pro-[0m
   [1mlogue[22m.



   [1m17.  Expressions[0m


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

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

   The integer expression "1/0" may be used to generate an "undefined"
   flag, which causes a point to be ignored.  Or you can use the pre-
   defined variable NaN to achieve the same result.  See [1musing [22mfor an
   example.

   Gnuplot can also perform simple operations on strings and string
   variables.  For example, the expression ("A" . "B" eq "AB") evalu-
   ates as true, illustrating the string concatenation operator and the
   string equality operator.

   A string which contains a numerical value is promoted to the corre-
   sponding integer or real value if used in a numerical expression.
   Thus ("3" + "4" == 7) and (6.78 == "6.78") both evaluate to true.
   An integer, but not a real or complex value, is promoted to a string
   if used in string concatenation.  A typical case is the use of inte-
   gers to construct file names or other strings; e.g. ("file" . 4 eq
   "file4") is true.

   Substrings can be specified using a postfixed range descriptor
   [beg:end].  For example, "ABCDEF"[3:4] == "CD"   and   "ABCDEF"[4:*]










   GNUPLOT 5.4                                                       18


   == "DEF" The syntax "string"[beg:end] is exactly equivalent to call-
   ing the built-in string-valued function substr("string",beg,end),
   except that you cannot omit either beg or end from the function
   call.




        [1m17.1.  Complex arithmetic[0m


        Arithmetic operations and most built-in functions support the
        use of complex arguments.  Complex constants are expressed as
        {<real>,<imag>}, where <real> and <imag> must be numerical con-
        stants.  Thus {0,1} represents 'i'.  The real and imaginary
        components of complex value x can be extracted as real(x) and
        imag(x). The modulus is given by abs(x).

        Gnuplot's standard 2D and 3D plot styles can plot only real
        values; if you need to plot a complex-valued function f(x) with
        non-zero imaginary components you must choose between plotting
        real(f(x)) or abs(f(x)).  For examples of representing complex
        values using color, see the complex trigonometric function
        demos (complex_trig.dem)




        [1m17.2.  Constants[0m


        Integer constants are interpreted via the C library routine
        strtoll().  This means that constants beginning with "0" are
        interpreted as octal, and constants beginning with "0x" or "0X"
        are interpreted as hexadecimal.

        Floating point constants are interpreted via the C library rou-
        tine atof().

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

        String constants consist of any sequence of characters enclosed
        either in single quotes or double quotes. The distinction be-
        tween single and double quotes is important.  See [1mquotes[22m.

        Examples:
             1 -10 0xffaabb        # integer constants
             1.0 -10. 1e1 3.5e-1   # floating point constants
             {1.2, -3.4}           # complex constant
             "Line 1\nLine 2"      # string constant (\n is expanded to










   GNUPLOT 5.4                                                       19


        newline)
             '123\n456'            # string constant (\ and n are ordi-
        nary characters)




        [1m17.3.  Functions[0m


        Arguments to math functions in [1mgnuplot [22mcan be integer, real, or
        complex unless otherwise noted.  Functions that accept or re-
        turn angles (e.g. sin(x)) treat angle values as radians, but
        this may be changed to degrees using the command [1mset angles[22m.

















































   GNUPLOT 5.4                                                       20


   ------------------------------------------------------------------------------------------------------
       Function                Arguments            Returns
   ------------------------------------------------------------------------------------------------------
        abs(x)                    any               absolute value of [4mx[24m, |[4mx[24m|; same type
        abs(x)                  complex             length of [4mx[24m, real([4mx[24m)2+imag([4mx[24m)2
        acos(x)                   any               cos-1[4mx[24m (inverse cosine)
       acosh(x)                   any               cosh-1[4mx[24m (inverse hyperbolic cosine) in radians
        airy(x)                   any               Airy function Ai(x)
        arg(x)                  complex             the phase of [4mx[0m
        asin(x)                   any               sin-1[4mx[24m (inverse sin)
       asinh(x)                   any               sinh-1[4mx[24m (inverse hyperbolic sin) in radians
        atan(x)                   any               tan-1[4mx[24m (inverse tangent)
      atan2(y,x)              int or real           tan-1([4my[24m/[4mx[24m) (inverse tangent)
       atanh(x)                   any               tanh-1[4mx[24m (inverse hyperbolic tangent) in radians
     EllipticK(k)          real k in (-1:1)         [4mK[24m([4mk[24m) complete elliptic integral of the first kind
     EllipticE(k)          real k in [-1:1]          [4mE[24m([4mk[24m) complete elliptic integral of the second kind
    EllipticPi(n,k)    real n<1, real k in (-1:1)    ([4mn[24m,[4mk[24m) complete elliptic integral of the third kind
       besj0(x)               int or real           [4mJ[24m0 Bessel function of [4mx[24m in radians
       besj1(x)               int or real           [4mJ[24m1 Bessel function of [4mx[24m in radians
      besjn(n,x)               int,real             [4mJn[24m Bessel function of [4mx[24m in radians
       besy0(x)               int or real           [4mY[24m0 Bessel function of [4mx[24m in radians
       besy1(x)               int or real           [4mY[24m1 Bessel function of [4mx[24m in radians
      besyn(n,x)               int,real             [4mYn[24m Bessel function of [4mx[24m in radians
       besi0(x)                  real                Modified Bessel function of order 0, [4mx[24m in radians
       besi1(x)                  real                Modified Bessel function of order 1, [4mx[24m in radians
       besin(x)                int,real              Modified Bessel function of order n, [4mx[24m in radians
        ceil(x)                   any               [4mx[24m, smallest integer not less than [4mx[24m (real part)
        cos(x)                  radians             cos[4mx[24m, cosine of [4mx[0m
        cosh(x)                   any               cosh[4mx[24m, hyperbolic cosine of [4mx[24m in radians
        erf(x)                    any               [4merf[24m(real([4mx[24m)), error function of real ([4mx[24m)
        erfc(x)                   any               [4merfc[24m(real([4mx[24m)), 1.0 - error function of real ([4mx[24m)
        exp(x)                    any               [4mex[24m, exponential function of [4mx[0m
      expint(n,x)                 any               [4mEn[24m([4mx[24m), exponential integral function of [4mx[0m
       floor(x)                   any               [4mx[24m, largest integer not greater than [4mx[24m (real part)
       gamma(x)                   any               (real([4mx[24m)), gamma function of real ([4mx[24m)
     ibeta(p,q,x)                 any               [4mibeta[24m(real([4mp[24m,[4mq[24m,[4mx[24m)), ibeta function of real ([4mp[24m,[4mq[24m,[4mx[24m)
       inverf(x)                  any               inverse error function real([4mx[24m)
      igamma(a,x)                 any               [4migamma[24m(real([4ma[24m,[4mx[24m)), igamma function of real ([4ma[24m,[4mx[24m)
        imag(x)                 complex             imaginary part of [4mx[24m as a real number
      invnorm(x)                  any               inverse normal distribution function real([4mx[24m)
        int(x)                   real               integer part of [4mx[24m, truncated toward zero
      lambertw(x)                real               Lambert W function
       lgamma(x)                  any               [4mlgamma[24m(real([4mx[24m)), lgamma function of real ([4mx[24m)
        log(x)                    any               ln[4mx[24m, natural logarithm (base [4me[24m) of [4mx[0m
       log10(x)                   any               log10[4mx[24m, logarithm (base 10) of [4mx[0m
        norm(x)                   any               [4mnorm[24m([4mx[24m), normal distribution function of real([4mx[24m)
        rand(x)                   int               pseudo random number in the open interval (0:1)
        real(x)                   any               real part of [4mx[0m
        sgn(x)                    any               1 if [4mx[24m>0, -1 if [4mx[24m<0, 0 if [4mx[24m=0. imag([4mx[24m) ignored
        sin(x)                    any               sin[4mx[24m, sine of [4mx[0m
        sinh(x)                   any               sinh[4mx[24m, hyperbolic sine of [4mx[24m in radians
        sqrt(x)                   any               [4mx[24m, square root of [4mx[0m
        tan(x)                    any               tan[4mx[24m, tangent of [4mx[0m






   |                                                                                                    |
   |                                                                                                    |
   |                                                                                                    |
   |                                                                                                    |
   |GNUPLOT 5.4                                                       21                                 |
   |                                                                                                    |
   |                                                                                                    |
   |    tanh(x)                   any               tanh[4mx[24m, hyperbolic tangent of [4mx[24m in radians           |
   |  voigt(x,y)                 real               convolution of Gaussian and Lorentzian              |
   +----------------------------------------------------------------------------------------------------+




   +----------------------------------------------------------------------------------------------+
   |    Function        Arguments   Returns                                                       |
   +----------------------------------------------------------------------------------------------+
   |     cerf(z)         complex    complex error function                                        |
   |   cdawson(z)        complex    complex Dawson's integral                                     |
   |   faddeeva(z)       complex    rescaled complex error function w(z) = exp(-z^2) * erfc(-i*z) |
   |     erfi(x)          real      imaginary error function erfi(x) = -i * erf(ix)               |
   |VP(x,sigma,gamma)     real      Voigt profile                                                 |
   +----------------------------------------------------------------------------------------------+




   +---------------------------------------------------------------------------------------------+
   |        Function            Arguments    Returns                                             |
   +---------------------------------------------------------------------------------------------+
   |gprintf("format",x,...)        any       string result from applying gnuplot's format parser |
   |sprintf("format",x,...)     multiple     string result from C-language sprintf               |
   |    strlen("string")         string      number of characters in string                      |
   |strstrt("string","key")      strings     int index of first character of substring "key"     |
   |substr("string",beg,end)    multiple     string "string"[beg:end]                            |
   |strftime("timeformat",t)       any       string result from applying gnuplot's time parser   |
   |strptime("timeformat",s)     string      seconds since year 1970 as given in string s        |
   |   system("command")         string      string containing output stream of shell command    |
   |    trim(" string ")         string      string without leading or trailing whitespace       |
   |    word("string",n)       string, int   returns the nth word in "string"                    |
   |    words("string")          string      returns the number of words in "string"             |
   +---------------------------------------------------------------------------------------------+




























   GNUPLOT 5.4                                                       22


   +-------------------------------------------------------------------------------------------------------+
   |         Function              Arguments      Returns                                                  |
   +-------------------------------------------------------------------------------------------------------+
   |        column(x)            int or string    column [4mx[24m during datafile manipulation.                   |
   |      columnhead(x)               int         string containing first entry of column [4mx[24m in datafile.   |
   |       exists("X")               string       returns 1 if a variable named X is defined, 0 otherwise. |
   |      hsv2rgb(h,s,v)         h,s,v in [0:1]   24bit RGB color value.                                   |
   |        palette(z)               double       RGB palette color mapped to z.                           |
   |     stringcolumn(x)         int or string    content column [4mx[24m as a string.                            |
   |timecolumn(N,"timeformat")    int, string     time data from column [4mN[24m during data input.               |
   |        tm_hour(x)                int         the hour                                                 |
   |        tm_mday(x)                int         the day of the month                                     |
   |        tm_min(x)                 int         the minute                                               |
   |        tm_mon(x)                 int         the month                                                |
   |        tm_sec(x)                 int         the second                                               |
   |        tm_wday(x)                int         the day of the week                                      |
   |        tm_yday(x)                int         the day of the year                                      |
   |        tm_year(x)                int         the year                                                 |
   |         time(x)                  any         the current system time                                  |
   |         valid(x)                 int         test validity of column([4mx[24m) during datafile manip.        |
   |      value("name")              string       returns the current value of the named variable.         |
   |       voxel(x,y,z)               real        value of the active grid voxel containing point (x,y,z)  |
   +-------------------------------------------------------------------------------------------------------+





             [1m17.3.1.  Elliptic integrals[0m


             The [1mEllipticK(k) [22mfunction returns the complete elliptic
             integral of the first kind, i.e. the definite integral be-
             tween 0 and pi/2 of the function
             [1m(1-(k*sin(p))**2)**(-0.5)[22m.  The domain of [1mk [22mis -1 to 1
             (exclusive).

             The [1mEllipticE(k) [22mfunction returns the complete elliptic
             integral of the second kind, i.e. the definite integral
             between 0 and pi/2 of the function [1m(1-(k*sin(p))**2)**0.5[22m.
             The domain of [1mk [22mis -1 to 1 (inclusive).

             The [1mEllipticPi(n,k) [22mfunction returns the complete elliptic
             integral of the third kind, i.e. the definite integral be-
             tween 0 and pi/2 of the function
             [1m(1-(k*sin(p))**2)**(-0.5)/(1-n*sin(p)**2)[22m.  The parameter
             [1mn [22mmust be less than 1, while [1mk [22mmust lie between -1 and 1
             (exclusive).  Note that by definition EllipticPi(0,k) ==
             EllipticK(k) for all possible values of [1mk[22m.














   GNUPLOT 5.4                                                       23


             [1m17.3.2.  Random number generator[0m


             The function [1mrand() [22mproduces a sequence of pseudo-random
             numbers between 0 and 1 using an algorithm from P.
             L'Ecuyer and S. Cote, "Implementing a random number pack-
             age with splitting facilities", ACM Transactions on Mathe-
             matical Software, 17:98-111 (1991).

                   rand(0)     returns a pseudo random number in the
             open interval (0:1)
                               generated from the current value of two
             internal
                               32-bit seeds.
                   rand(-1)    resets both seeds to a standard value.
                   rand(x)     for integer 0 < x < 2^31-1 sets both in-
             ternal seeds
                               to x.
                   rand({x,y}) for integer 0 < x,y < 2^31-1 sets seed1
             to x and
                               seed2 to y.



             [1m17.3.3.  Value[0m


             B = value("A") is effectively the same as B = A, where A
             is the name of a user-defined variable.  This is useful
             when the name of the variable is itself held in a string
             variable. See [1muser-defined variables[22m.  It also allows you
             to read the name of a variable from a data file.  If the
             argument is a numerical expression, value() returns the
             value of that expression.  If the argument is a string
             that does not correspond to a currently defined variable,
             value() returns NaN.




             [1m17.3.4.  Counting and extracting words[0m


             [1mword("string",n) [22mreturns the nth word in string. For exam-
             ple, [1mword("one two three",2) [22mreturns the string "two".

             [1mwords("string") [22mreturns the number of words in string. For
             example, [1mwords(" a b c d") [22mreturns 4.

             The [1mword [22mand [1mwords [22mfunctions provide limited support for
             quoted strings, both single and double quotes can be used:
                   print words("\"double quotes\" or 'single quotes'")
             # 3










   GNUPLOT 5.4                                                       24


             A starting quote must either be preceded by a white space,
             or start the string. This means that apostrophes in the
             middle or at the end of words are considered as parts of
             the respective word:
                   print words("Alexis' phone doesn't work") # 4
             Escaping quote characters is not supported. If you want to
             keep certain quotes, the respective section must be sur-
             rounded by the other kind of quotes:
                   s = "Keep \"'single quotes'\" or '\"double
             quotes\"'"
                   print word(s, 2) # 'single quotes'
                   print word(s, 4) # "double quotes"
             Note, that in this last example the escaped quotes are
             necessary only for the string definition.

             [1mtrim("  padded string ") [22mreturns the original string
             stripped of leading and trailing whitespace.  This is use-
             ful for string comparisons of input data fields that may
             contain extra whitespace. For example
                  plot FOO using 1:( trim(strcol(3)) eq "A" ? $2 : NaN
             )




        [1m17.4.  Operators[0m


        The operators in [1mgnuplot [22mare the same as the corresponding op-
        erators in the C programming language, except that all opera-
        tors accept integer, real, and complex arguments, unless other-
        wise noted.  The ** operator (exponentiation) is supported, as
        in FORTRAN.

        Parentheses may be used to change order of evaluation.




             [1m17.4.1.  Unary[0m


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



















   GNUPLOT 5.4                                                       25


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



   (*) Starred explanations indicate that the operator requires an in-
   teger argument.

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

   The factorial operator returns an integer when N! is sufficiently
   small (N <= 20 for 64-bit integers). It returns a floating point ap-
   proximation for larger values of N.

   This operator returns the number of elements |A| when applied to ar-
   ray A.  It returns the number of data lines |$DATA| when applied to
   datablock $DATA.



             [1m17.4.2.  Binary[0m


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



























   GNUPLOT 5.4                                                       26


              +--------------------------------------------+
              |Symbol   Example   Explanation              |
              +--------------------------------------------+
              |  **      a**b     exponentiation           |
              |  *        a*b     multiplication           |
              |  /        a/b     division                 |
              |  %        a%b     * modulo                 |
              |  +        a+b     addition                 |
              |  -        a-b     subtraction              |
              |  ==      a==b     equality                 |
              |  !=      a!=b     inequality               |
              |  <        a<b     less than                |
              |  <=      a<=b     less than or equal to    |
              |  >        a>b     greater than             |
              |  >=      a>=b     greater than or equal to |
              |  <<     0xff<<1   left shift unsigned      |
              |  >>     0xff>>1   right shift unsigned     |
              |  &        a&b     * bitwise AND            |
              |  ^        a^b     * bitwise exclusive OR   |
              |  |        a|b     * bitwise inclusive OR   |
              |  &&      a&&b     * logical AND            |
              |  ||      a||b     * logical OR             |
              |  =       a = b    assignment               |
              |  ,       (a,b)    serial evaluation        |
              |  eq     A eq B    string equality          |
              |  ne     A ne B    string inequality        |
              +--------------------------------------------+



   (*) Starred explanations indicate that the operator requires integer
   arguments.  Capital letters A and B indicate that the operator re-
   quires string arguments.

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

   Serial evaluation occurs only in parentheses and is guaranteed to
   proceed in left to right order.  The value of the rightmost subex-
   pression is returned.



             [1m17.4.3.  Ternary[0m


             There is a single ternary operator:















   GNUPLOT 5.4                                                       27


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



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

   The ternary operator is very useful both in constructing piecewise
   functions and in plotting points only when certain conditions are
   met.

   Examples:

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

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

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

   For an explanation of the [1musing [22msyntax, please see [1mplot datafile us-[0m
   [1ming[22m.



        [1m17.5.  Summation[0m


        A summation expression has the form
              sum [<var> = <start> : <end>] <expression>
        <var> is treated as an integer variable that takes on succes-
        sive integral values from <start> to <end>.  For each of these,
        the current value of <expression> is added to a running total
        whose final value becomes the value of the summation expres-
        sion.  Examples:
              print sum [i=1:10] i
                  55.










   GNUPLOT 5.4                                                       28


              # Equivalent to plot 'data' using 1:($2+$3+$4+$5+$6+...)
              plot 'data' using 1 : (sum [col=2:MAXCOL] column(col))
        It is not necessary that <expression> contain the variable
        <var>.  Although <start> and <end> can be specified as vari-
        ables or expressions, their value cannot be changed dynamically
        as a side-effect of carrying out the summation. If <end> is
        less than <start> then the value of the summation is zero.



        [1m17.6.  Gnuplot-defined variables[0m


        Gnuplot maintains a number of read-only variables that reflect
        the current internal state of the program and the most recent
        plot. These variables begin with the prefix "GPVAL_".  Examples
        include GPVAL_TERM, GPVAL_X_MIN, GPVAL_X_MAX, GPVAL_Y_MIN.
        Type [1mshow variables all [22mto display the complete list and cur-
        rent values.  Values related to axes parameters (ranges, log
        base) are values used during the last plot, not those currently
        [1mset[22m.

        Example:  To calculate the fractional screen coordinates of the
        point [X,Y]
             GRAPH_X = (X - GPVAL_X_MIN) / (GPVAL_X_MAX - GPVAL_X_MIN)
             GRAPH_Y = (Y - GPVAL_Y_MIN) / (GPVAL_Y_MAX - GPVAL_Y_MIN)
             SCREEN_X = GPVAL_TERM_XMIN + GRAPH_X * (GPVAL_TERM_XMAX -
        GPVAL_TERM_XMIN)
             SCREEN_Y = GPVAL_TERM_YMIN + GRAPH_Y * (GPVAL_TERM_YMAX -
        GPVAL_TERM_YMIN)
             FRAC_X = SCREEN_X * GPVAL_TERM_SCALE / GPVAL_TERM_XSIZE
             FRAC_Y = SCREEN_Y * GPVAL_TERM_SCALE / GPVAL_TERM_YSIZE

        The read-only variable GPVAL_ERRNO is set to a non-zero value
        if any gnuplot command terminates early due to an error.  The
        most recent error message is stored in the string variable GP-
        VAL_ERRMSG.  Both GPVAL_ERRNO and GPVAL_ERRMSG can be cleared
        using the command [1mreset errors[22m.

        Interactive terminals with [1mmouse [22mfunctionality maintain read-
        only variables with the prefix "MOUSE_".  See [1mmouse variables[0m
        for details.

        The [1mfit [22mmechanism uses several variables with names that begin
        "FIT_".  It is safest to avoid using such names.  When using
        [1mset fit errorvariables[22m, the error for each fitted parameter
        will be stored in a variable named like the parameter, but with
        "_err" appended.  See the documentation on [1mfit [22mand [1mset fit [22mfor
        details.

        See [1muser-defined variables[22m, [1mreset errors[22m, [1mmouse variables[22m, and
        [1mfit[22m.











   GNUPLOT 5.4                                                       29


        [1m17.7.  User-defined variables and functions[0m


        New user-defined variables and functions of one through twelve
        variables may be declared and used anywhere, including on the
        [1mplot [22mcommand itself.

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

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

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

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

              file = "mydata.inp"
              file(n) = sprintf("run_%d.dat",n)

        The final two examples illustrate a user-defined string vari-
        able and a user-defined string function.

        Note that the variables [1mpi [22m(3.14159...) and [1mNaN [22m(IEEE "Not a
        Number") are already defined.  You can redefine these to some-
        thing else if you really need to. The original values can be
        recovered by setting:

              NaN = GPVAL_NaN
              pi  = GPVAL_pi

        Other variables may be defined under various gnuplot operations
        like mousing in interactive terminals or fitting; see [1mgnuplot-[0m
        [1mdefined variables [22mfor details.

        You can check for existence of a given variable V by the ex-
        ists("V") expression. For example
              a = 10
              if (exists("a")) print "a is defined"
              if (!exists("b")) print "b is not defined"











   GNUPLOT 5.4                                                       30


        Valid names are the same as in most programming languages: they
        must begin with a letter, but subsequent characters may be let-
        ters, digits, or "_".

        Each function definition is made available as a special string-
        valued variable with the prefix 'GPFUN_'.

        Example:
              set label GPFUN_sinc at graph .05,.95

        See [1mshow functions[22m, [1mfunctions[22m, [1mgnuplot-defined variables[22m,
        [1mmacros[22m, [1mvalue[22m.



        [1m17.8.  Arrays[0m


        Arrays are implemented as indexed lists of user variables.  The
        elements in an array are not limited to a single type of vari-
        able.  Arrays must be created explicitly before being refer-
        enced. The size of an array cannot be changed after creation.
        All elements are initially undefined.  In most places an array
        element can be used instead of a named user variable.

        The cardinality (number of elements) of array A is given by the
        expression |A|.

        Example:
             array A[6]
             A[1] = 1
             A[2] = 2.0
             A[3] = {3.0, 3.0}
             A[4] = "four"
             A[6] = A[2]**3
             array B[6] = [ 1, 2.0, A[3], "four", , B[2]**3 ]

             do for [i=1:6] { print A[i], B[i] }
                 1 1
                 2.0 2.0
                 {3.0, 3.0} {3.0, 3.0}
                 four four
                 <undefined> <undefined>
                 8.0 8.0

        Note: Arrays and variables share the same namespace.  For exam-
        ple, assignment of a string variable named FOO will destroy any
        previously created array with name FOO.

        The name of an array can be used in a [1mplot[22m, [1msplot[22m, [1mfit[22m, or
        [1mstats [22mcommand.  This is equivalent to providing a file in which
        column 1 holds the array index (from 1 to size), column 2 holds
        the value of real(A[i]) and column 3 holds the value of










   GNUPLOT 5.4                                                       31


        imag(A[i]).

        Example:
             array A[200]
             do for [i=1:200] { A[i] = sin(i * pi/100.) }
             plot A title "sin(x) in centiradians"

        When plotting the imaginary component of complex array values,
        it may be referenced either as imag(A[$1]) or as $3.  These two
        commands are equivalent

             plot A using (real(A[$1])) : (imag(A[$1]))
             plot A using 2:3




   [1m18.  Fonts[0m


   Gnuplot does not provide any fonts of its own. It relies on external
   font handling, the details of which unfortunately vary from one ter-
   minal type to another. Brief documentation of font mechanisms that
   apply to more than one terminal type is given here. For information
   on font use by other individual terminals, see the documentation for
   that terminal.

   Although it is possible to include non-alphabetic symbols by tempo-
   rarily switching to a special font, e.g. the Adobe Symbol font, the
   preferred method is now to choose UTF-8 encoding and treat the sym-
   bol like any other character.  Alternatively you can specify the
   unicode entry point for the desired symbol as an escape sequence in
   enhanced text mode.  See [1mencoding[22m, [1municode[22m, [1mlocale[22m, and [1mescape se-[0m
   [1mquences[22m.





        [1m18.1.  Cairo (pdfcairo, pngcairo, epscairo, wxt terminals)[0m


        These terminals find and access fonts using the external font-
        config tool set.  Please see the It is usually sufficient in
        gnuplot to request a font by a generic name and size, letting
        fontconfig substitute a similar font if necessary. The follow-
        ing will probably all work:
             set term pdfcairo font "sans,12"
             set term pdfcairo font "Times,12"
             set term pdfcairo font "Times-New-Roman,12"













   GNUPLOT 5.4                                                       32


        [1m18.2.  Gd (png, gif, jpeg, sixel terminals)[0m


        Font handling for the png, gif, jpeg, and sixelgd terminals is
        done by the library libgd.  Five basic fonts are provided di-
        rectly by libgd. These are [1mtiny [22m(5x8 pixels), [1msmall [22m(6x12 pix-
        els), [1mmedium[22m, (7x13 Bold), [1mlarge [22m(8x16) or [1mgiant [22m(9x15 pixels).
        These fonts cannot be scaled or rotated.  Use one of these key-
        words instead of the [1mfont [22mkeyword. E.g.
             set term png tiny

        On most systems libgd also provides access to Adobe Type 1
        fonts (*.pfa) and TrueType fonts (*.ttf). You must give the
        name of the font file, not the name of the font inside it, in
        the form "<face> {,<pointsize>}".  <face> is either the full
        pathname to the font file, or the first part of a filename in
        one of the directories listed in the GDFONTPATH environmental
        variable. That is, 'set term png font "Face"' will look for a
        font file named either <somedirectory>/Face.ttf or <somedirec-
        tory>/Face.pfa.  For example, if GDFONTPATH contains [1m/usr/lo-[0m
        [1mcal/fonts/ttf:/usr/local/fonts/pfa [22mthen the following pairs of
        commands are equivalent
             set term png font "arial"
             set term png font "/usr/local/fonts/ttf/arial.ttf"
             set term png font "Helvetica"
             set term png font "/usr/local/fonts/pfa/Helvetica.pfa"
        To request a default font size at the same time:
             set term png font "arial,11"

        Both TrueType and Adobe Type 1 fonts are fully scalable and ro-
        tatable.  If no specific font is requested in the "set term"
        command, gnuplot checks the environmental variable GNUPLOT_DE-
        FAULT_GDFONT to see if there is a preferred default font.



        [1m18.3.  Postscript  (also encapsulated postscript *.eps)[0m


        PostScript font handling is done by the printer or viewing pro-
        gram.  Gnuplot can create valid PostScript or encapsulated
        PostScript (*.eps) even if no fonts at all are installed on
        your computer.  Gnuplot simply refers to the font by name in
        the output file, and assumes that the printer or viewing pro-
        gram will know how to find or approximate a font by that name.

        All PostScript printers or viewers should know about the stan-
        dard set of Adobe fonts [1mTimes-Roman[22m, [1mHelvetica[22m, [1mCourier[22m, and
        [1mSymbol[22m.  It is likely that many additional fonts are also
        available, but the specific set depends on your system or
        printer configuration. Gnuplot does not know or care about
        this; the output *.ps or *.eps files that it creates will sim-
        ply refer to whatever font names you request.










   GNUPLOT 5.4                                                       33


        Thus
             set term postscript eps font "Times-Roman,12"
        will produce output that is suitable for all printers and view-
        ers.

        On the other hand
             set term postscript eps font "Garamond-Premier-Pro-Italic"
        will produce an output file that contains valid PostScript, but
        since it refers to a specialized font, only some printers or
        viewers will be able to display the specific font that was re-
        quested.  Most will substitute a different font.

        However, it is possible to embed a specific font in the output
        file so that all printers will be able to use it. This requires
        that the a suitable font description file is available on your
        system. Note that some font files require specific licensing if
        they are to be embedded in this way.  See [1mpostscript fontfile[0m
        for more detailed description and examples.



   [1m19.  Glossary[0m


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

   A "page" or "screen" or "canvas" is the entire area addressable by
   [1mgnuplot[22m.  On a desktop it is a full window; on a plotter, it is a
   single sheet of paper; in svga mode it is the full monitor screen.

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

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

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

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

   The word "title" occurs with multiple meanings in [1mgnuplot[22m.  In this
   document, it will always be preceded by the adjective "plot",
   "line", or "key" to differentiate among them.  A 2D graph may have










   GNUPLOT 5.4                                                       34


   up to four labeled [1maxes[22m.  The names of the four axes are "x" for the
   axis along the bottom border of the plot, "y" for the axis along the
   left border, "x2" for the top border, and "y2" for the right border.
   See [1maxes[22m.

   A 3D graph may have up to three labeled [1maxes [22m-- "x", "y" and "z".
   It is not possible to say where on the graph any particular axis
   will fall because you can change the direction from which the graph
   is seen with [1mset view[22m.

   When discussing data files, the term "record" will be resurrected
   and used to denote a single line of text in the file, that is, the
   characters between newline or end-of-record characters.  A "point"
   is the datum extracted from a single record.  A "block" of data is a
   set of consecutive records delimited by blank records.  A line, when
   referred to in the context of a data file, is a subset of a block.
   Note that the term "data block" may also be used to refer to a named
   block inline data (see [1mdatablocks[22m).



   [1m20.  Inline data and datablocks[0m


   There are two mechanisms for embedding data into a stream of gnuplot
   commands.  If the special filename '-' appears in a plot command,
   then the lines immediately following the plot command are inter-
   preted as inline data.  See [1mspecial-filenames[22m.  Data provided in
   this way can only be used once, by the plot command it follows.

   The second mechanism defines a named data block as a here-document.
   The named data is persistent and may be referred to by more than one
   plot command.  Example:
        $Mydata << EOD
        11 22 33 first line of data
        44 55 66 second line of data
        # comments work just as in a data file
        77 88 99
        EOD
        stats $Mydata using 1:3
        plot $Mydata using 1:3 with points, $Mydata using 1:2 with im-
   pulses

   Data block names must begin with a $ character, which distinguishes
   them from other types of persistent variables.  The end-of-data de-
   limiter (EOD in the example) may be any sequence of alphanumeric
   characters.

   The storage associated with named data blocks can be released using
   [1mundefine [22mcommand. [1mundefine $* [22mfrees all named data blocks at once.













   GNUPLOT 5.4                                                       35


   [1m21.  Iteration[0m


   gnuplot supports command iteration and block-structured
   if/else/while/do constructs.  See [1mif[22m, [1mwhile[22m, and [1mdo[22m.  Simple itera-
   tion is possible inside [1mplot [22mor [1mset [22mcommands.  See [1mplot for[22m.  Gen-
   eral iteration spanning multiple commands is possible using a block
   construct as shown below.  For a related new feature, see the [1msumma-[0m
   [1mtion [22mexpression type.  Here is an example using several of these new
   syntax features:
         set multiplot layout 2,2
         fourier(k, x) = sin(3./2*k)/k * 2./3*cos(k*x)
         do for [power = 0:3] {
             TERMS = 10**power
             set title sprintf("%g term Fourier series",TERMS)
             plot 0.5 + sum [k=1:TERMS] fourier(k,x) notitle
         }
         unset multiplot

   Iteration is controlled by an iteration specifier with syntax

        for [<var> in "string of N elements"]

   or

        for [<var> = <start> : <end> { : <increment> }]

   In the first case <var> is a string variable that successively eval-
   uates to single-word substrings 1 to N of the string in the itera-
   tion specifier.  In the second case <start>, <end>, and <increment>
   are integers or integer expressions.

   With one exception, gnuplot variables are global.  There is a sin-
   gle, persistent, list of active variables indexed by name.  Assign-
   ment to a variable creates or replaces an entry in that list.  The
   only way to remove a variable from that list is the [1mundefine [22mcom-
   mand.

   The single exception to this is the variable used in an iteration
   specifier.  The scope of the iteration variable is private to that
   iteration.  You cannot permanently change the value of the iteration
   variable inside the iterated clause.  If the iteration variable has
   a value prior to iteration, that value will be retained or restored
   at the end of the iteration.  For example, the following commands
   will print 1 2 3 4 5 6 7 8 9 10 A.

        i = "A"
        do for [i=1:10] { print i; i=10; }
        print i














   GNUPLOT 5.4                                                       36


   [1m22.  Linetypes, colors, and styles[0m


   In older gnuplot versions, each terminal type provided a set of dis-
   tinct "linetypes" that could differ in color, in thickness, in
   dot/dash pattern, or in some combination of color and dot/dash.
   These colors and patterns were not guaranteed to be consistent
   across different terminal types although most used the color se-
   quence red/green/blue/magenta/cyan/yellow.  You can select this old
   behaviour via the command [1mset colorsequence classic[22m, but by default
   gnuplot version 5 uses a terminal-independent sequence of 8 colors.

   You can further customize the sequence of linetype properties inter-
   actively or in an initialization file.  See [1mset linetype[22m.  Several
   sample initialization files are provided in the distribution pack-
   age.

   The current linetype properties for a particular terminal can be
   previewed by issuing the [1mtest [22mcommand after setting the terminal
   type.

   Successive functions or datafiles plotted by a single command will
   be assigned successive linetypes in the current default sequence.
   You can override this for any individual function, datafile, or plot
   element by giving explicit line properties in the plot command.

   Examples:

        plot "foo", "bar"                 # plot two files using line-
   types 1, 2
        plot sin(x) linetype 4            # use linetype color 4

   In general, colors can be specified using named colors, rgb (red,
   green, blue) components, hsv (hue, saturation, value) components, or
   a coordinate along the current pm3d palette.

   Examples:

        plot sin(x) lt rgb "violet"       # one of gnuplot's named col-
   ors
        plot sin(x) lt rgb "#FF00FF"      # explicit RGB triple in
   hexadecimal
        plot sin(x) lt palette cb -45     # whatever color corresponds
   to -45
                                          # in the current cbrange of
   the palette
        plot sin(x) lt palette frac 0.3   # fractional value along the
   palette

   See [1mcolorspec[22m, [1mshow colornames[22m, [1mhsv[22m, [1mset palette[22m, [1mcbrange[22m.  See also
   [1mset monochrome[22m.

   Linetypes also have an associated dot-dash pattern although not all










   GNUPLOT 5.4                                                       37


   terminal types are capable of using it. Gnuplot version 5 allows you
   to specify the dot-dash pattern independent of the line color. See
   [1mdashtype[22m.





        [1m22.1.  Colorspec[0m


        Many commands allow you to specify a linetype with an explicit
        color.

        Syntax:

              ... {linecolor | lc} {"colorname" | <colorspec> | <n>}
              ... {textcolor | tc} {<colorspec> | {linetype | lt} <n>}
              ... {fillcolor | fc} {<colorspec> | linetype <n> |
        linestyle <n>}

        where <colorspec> has one of the following forms:

              rgbcolor "colorname"    # e.g. "blue"
              rgbcolor "0xRRGGBB"     # string containing hexadecimal
        constant
              rgbcolor "0xAARRGGBB"   # string containing hexadecimal
        constant
              rgbcolor "#RRGGBB"      # string containing hexadecimal
        in x11 format
              rgbcolor "#AARRGGBB"    # string containing hexadecimal
        in x11 format
              rgbcolor <integer val>  # integer value representing AAR-
        RGGBB
              rgbcolor variable       # integer value is read from in-
        put file
              palette frac <val>      # <val> runs from 0 to 1
              palette cb <value>      # <val> lies within cbrange
              palette z
              variable                # color index is read from input
        file
              bgnd                    # background color
              black

        The "<n>" is the linetype number the color of which is used,
        see [1mtest[22m.

        "colorname" refers to one of the color names built in to gnu-
        plot. For a list of the available names, see [1mshow colornames[22m.

        Hexadecimal constants can be given in quotes as "#RRGGBB" or
        "0xRRGGBB", where RRGGBB represents the red, green, and blue
        components of the color and must be between 00 and FF.  For










   GNUPLOT 5.4                                                       38


        example, magenta = full-scale red + full-scale blue could be
        represented by "0xFF00FF", which is the hexadecimal representa-
        tion of (255 << 16) + (0 << 8) + (255).

        "#AARRGGBB" represents an RGB color with an alpha channel
        (transparency) value in the high bits. An alpha value of 0 rep-
        resents a fully opaque color; i.e., "#00RRGGBB" is the same as
        "#RRGGBB".  An alpha value of 255 (FF) represents full trans-
        parency.

        The color palette is a linear gradient of colors that smoothly
        maps a single numerical value onto a particular color.  Two
        such mappings are always in effect. [1mpalette frac  [22mmaps a frac-
        tional value between 0 and 1 onto the full range of the color
        palette.  [1mpalette cb [22mmaps the range of the color axis onto the
        same palette.  See [1mset cbrange[22m.  See also [1mset colorbox[22m.  You
        can use either of these to select a constant color from the
        current palette.

        "palette z" maps the z value of each plot segment or plot ele-
        ment into the cbrange mapping of the palette. This allows
        smoothly-varying color along a 3d line or surface. It also al-
        lows coloring 2D plots by palette values read from an extra
        column of data (not all 2D plot styles allow an extra column).
        There are two special color specifiers: [1mbgnd [22mfor background
        color and [1mblack[22m.




             [1m22.1.1.  Background color[0m


             Most terminals allow you to set an explicit background
             color for the plot.  The special linetype [1mbgnd [22mwill draw
             in this color, and [1mbgnd [22mis also recognized as a color.
             Examples:
                  # This will erase a section of the canvas by writing
             over it in the
                  # background color
                  set term wxt background rgb "gray75"
                  set object 1 rectangle from x0,y0 to x1,y1 fillstyle
             solid fillcolor bgnd
                  # This will draw an "invisible" line along the x axis
                  plot 0 lt bgnd



             [1m22.1.2.  Linecolor variable[0m


             [1mlc variable [22mtells the program to use the value read from
             one column of the input data as a linetype index, and use










   GNUPLOT 5.4                                                       39


             the color belonging to that linetype.  This requires a
             corresponding additional column in the [1musing [22mspecifier.
             Text colors can be set similarly using [1mtc variable[22m.

             Examples:
                   # Use the third column of data to assign colors to
             individual points
                   plot 'data' using 1:2:3 with points lc variable

                   # A single data file may contain multiple sets of
             data, separated by two
                   # blank lines.  Each data set is assigned as index
             value (see `index`)
                   # that can be retrieved via the `using` specifier
             `column(-2)`.
                   # See `pseudocolumns`.  This example uses to value
             in column -2 to
                   # draw each data set in a different line color.
                   plot 'data' using 1:2:(column(-2)) with lines lc
             variable




             [1m22.1.3.  Rgbcolor variable[0m


             You can assign a separate color for each data point, line
             segment, or label in your plot.  [1mlc rgbcolor variable[0m
             tells the program to read RGB color information for each
             line in the data file. This requires a corresponding addi-
             tional column in the [1musing [22mspecifier.  The extra column is
             interpreted as a 24-bit packed RGB triple. If the value is
             provided directly in the data file it is easiest to give
             it as a hexadecimal value (see [1mrgbcolor[22m).  Alternatively,
             the [1musing [22mspecifier can contain an expression that evalu-
             ates to a 24-bit RGB color as in the example below.  Text
             colors are similarly set using [1mtc rgbcolor variable[22m.

             Example:
                   # Place colored points in 3D at the x,y,z coordi-
             nates corresponding to
                   # their red, green, and blue components
                   rgb(r,g,b) = 65536 * int(r) + 256 * int(g) + int(b)
                   splot "data" using 1:2:3:(rgb($1,$2,$3)) with points
             lc rgb variable

















   GNUPLOT 5.4                                                       40


        [1m22.2.  Dashtype[0m


        In gnuplot version 5 the dash pattern ([1mdashtype[22m) is a separate
        property associated with each line, analogous to [1mlinecolor [22mor
        [1mlinewidth[22m.  It is not necessary to place the current terminal
        in a special mode just to draw dashed lines.  I.e. the command
        [1mset term <termname> {solid|dashed} [22mis now ignored.  If back-
        wards compatibility with old scripts written for version 4 is
        required, the following lines can be used instead:

             if (GPVAL_VERSION >= 5.0) set for [i=1:9] linetype i
        dashtype i
             if (GPVAL_VERSION < 5.0) set termoption dashed

        All lines have the property [1mdashtype solid [22munless you specify
        otherwise.  You can change the default for a particular line-
        type using the command [1mset linetype [22mso that it affects all sub-
        sequent commands, or you can include the desired dashtype as
        part of the [1mplot [22mor other command.

        Syntax:
              dashtype N          # predefined dashtype invoked by num-
        ber
              dashtype "pattern"  # string containing a combination of
        the characters
                                  # dot (.) hyphen (-) underscore(_)
        and space.
              dashtype (s1,e1,s2,e2,s3,e3,s4,e4)  # dash pattern speci-
        fied by 1 to 4
                                  # numerical pairs <solid length>,
        <emptyspace length>

        Example:
              # Two functions using linetype 1 but distinguished by
        dashtype
              plot f1(x) with lines lt 1 dt solid, f2(x) with lines lt
        1 dt 3

        Some terminals support user-defined dash patterns in addition
        to whatever set of predefined dash patterns they offer.

        Examples:
             plot f(x) dt 3            # use terminal-specific dash
        pattern 3
             plot f(x) dt ".. "        # construct a dash pattern on
        the spot
             plot f(x) dt (2,5,2,15)   # numerical representation of
        the same pattern
             set dashtype 11 (2,4,4,7) # define new dashtype to be
        called by index
             plot f(x) dt 11           # plot using our new dashtype











   GNUPLOT 5.4                                                       41


        If you specify a dash pattern using a string the program will
        convert this to a sequence of <solid>,<empty> pairs. Dot "."
        becomes (2,5), dash "-" becomes (10,10), underscore "_" becomes
        (20,10), and each space character " " adds 10 to the previous
        <empty> value.  The command [1mshow dashtype [22mwill show both the
        original string and the converted numerical sequence.




        [1m22.3.  Linestyles vs linetypes[0m


        A [1mlinestyle [22mis a temporary association of properties linecolor,
        linewidth, dashtype, and pointtype.  It is defined using the
        command [1mset style line[22m.  Once you have defined a linestyle, you
        can use it in a plot command to control the appearance of one
        or more plot elements.  In other words, it is just like a line-
        type except for its lifetime.  Whereas [1mlinetypes [22mare permanent
        (they last until you explicitly redefine them), [1mlinestyles [22mlast
        until the next reset of the graphics state.

        Examples:

             # define a new line style with terminal-independent color
        cyan,
             # linewidth 3, and associated point type 6 (a circle with
        a dot in it).
             set style line 5 lt rgb "cyan" lw 3 pt 6
             plot sin(x) with linespoints ls 5          # user-defined
        line style 5




   [1m23.  Layers[0m


   A gnuplot plot is built up by drawing its various components in a
   fixed order.  This order can be modified by assigning some compo-
   nents to a specific layer using the keywords [1mbehind[22m, [1mback[22m, or [1mfront[22m.
   For example, to replace the background color of the plot area you
   could define a colored rectangle with the attribute [1mbehind[22m.
        set object 1 rectangle from graph 0,0 to graph 1,1 fc rgb
   "gray" behind
   The order of drawing is
        behind
        back
        the plot itself
        the plot legend (`key`)
        front
   Within each layer elements are drawn in the order
        grid, axis, and border elements










   GNUPLOT 5.4                                                       42


        pixmaps in numerical order
        objects (rectangles, circles, ellipses, polygons) in numerical
   order
        labels in numerical order
        arrows in numerical order
   In the case of multiple plots on a single page (multiplot mode) this
   order applies separately to each component plot, not to the multi-
   plot as a whole.



   [1m24.  Mouse input[0m


   Many terminals allow interaction with the current plot using the
   mouse. Some also support the definition of hotkeys to activate pre-
   defined functions by hitting a single key while the mouse focus is
   in the active plot window.  It is even possible to combine mouse in-
   put with [1mbatch [22mcommand scripts, by invoking the command [1mpause mouse[0m
   and then using the mouse variables returned by mouse clicking as pa-
   rameters for subsequent scripted actions.  See [1mbind [22mand [1mmouse vari-[0m
   [1mables[22m.  See also the command [1mset mouse[22m.




        [1m24.1.  Bind[0m


        Syntax:
              bind {allwindows} [<key-sequence>] ["<gnuplot commands>"]
              bind <key-sequence> ""
              reset bind

        The [1mbind [22mallows defining or redefining a hotkey, i.e. a se-
        quence of gnuplot commands which will be executed when a cer-
        tain key or key sequence is pressed while the driver's window
        has the input focus. Note that [1mbind [22mis only available if gnu-
        plot was compiled with [1mmouse [22msupport and it is used by all
        mouse-capable terminals. A user-specified binding supersedes
        any builtin bindings, except that <space> and 'q' cannot nor-
        mally be rebound. For an exception, see [1mbind space[22m.

        Only mouse button 1 can be bound, and only for 2D plots.

        You get the list of all hotkeys by typing [1mshow bind [22mor [1mbind [22mor
        by typing the hotkey 'h' in the graph window.

        Key bindings are restored to their default state by [1mreset bind[22m.

        Note that multikey-bindings with modifiers must be given in
        quotes.











   GNUPLOT 5.4                                                       43


        Normally hotkeys are only recognized when the currently active
        plot window has focus. [1mbind allwindows <key> ... [22m(short form:
        [1mbind all <key> ...[22m)  causes the binding for <key> to apply to
        all gnuplot plot windows, active or not.  In this case gnuplot
        variable MOUSE_KEY_WINDOW is set to the ID of the originating
        window, and may be used by the bound command.

        Examples:

        - set bindings:

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

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

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

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

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

        List of modifiers (alt == meta):
            ctrl, alt, shift (only valid for Button1 Button2 Button3)

        List of supported special keys:

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

           "KP_Space", "KP_Tab", "KP_Enter", "KP_F1", "KP_F2", "KP_F3",
        "KP_F4",
           "KP_Home", "KP_Left", "KP_Up", "KP_Right", "KP_Down",
        "KP_PageUp",










   GNUPLOT 5.4                                                       44


           "KP_PageDown", "KP_End", "KP_Begin", "KP_Insert",
        "KP_Delete", "KP_Equal",
           "KP_Multiply", "KP_Add", "KP_Separator", "KP_Subtract",
        "KP_Decimal",
           "KP_Divide",

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

        The following are window events rather than actual keys

           "Button1" "Button2" "Button3" "Close"

        See also help for [1mmouse[22m.




             [1m24.1.1.  Bind space[0m


             If gnuplot was built with configuration option --enable-
             raise-console, then typing <space> in the plot window
             raises gnuplot's command window. This hotkey can be
             changed to ctrl-space by starting gnuplot as 'gnuplot
             -ctrlq', or by setting the XResource 'gnuplot*ctrlq'.  See
             [1mx11 command-line-options[22m.



        [1m24.2.  Mouse variables[0m


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

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

        It is also possible to track keystrokes in the plot window us-
        ing the mousing code.











   GNUPLOT 5.4                                                       45


              plot 'something'
              pause mouse keypress
              print "Keystroke ", MOUSE_KEY, " at ", MOUSE_X, " ",
        MOUSE_Y

        When [1mpause mouse keypress [22mis terminated by a keypress, then
        MOUSE_KEY will contain the ascii character value of the key
        that was pressed. MOUSE_CHAR will contain the character itself
        as a string variable.  If the pause command is terminated ab-
        normally (e.g. by ctrl-C or by externally closing the plot win-
        dow) then MOUSE_KEY will equal -1.

        Note that after a zoom by mouse, you can read the new ranges as
        GPVAL_X_MIN, GPVAL_X_MAX, GPVAL_Y_MIN, and GPVAL_Y_MAX, see
        [1mgnuplot-defined variables[22m.



   [1m25.  Persist[0m


   Many gnuplot terminals (aqua, pm, qt, x11, windows, wxt, ...) open
   separate display windows on the screen into which plots are drawn.
   The [1mpersist [22moption tells gnuplot to leave these windows open when
   the main program exits.  It has no effect on non-interactive termi-
   nal output.  For example if you issue the command

        gnuplot -persist -e 'plot [-5:5] sinh(x)'

   gnuplot will open a display window, draw the plot into it, and then
   exit, leaving the display window containing the plot on the screen.
   You can also specify [1mpersist [22mor [1mnopersist [22mwhen you set a new termi-
   nal.

        set term qt persist size 700,500

   Depending on the terminal type, some mousing operations may still be
   possible in the persistent window.  However operations like zoom/un-
   zoom that require redrawing the plot are not possible because the
   main program has exited.  If you want to leave a plot window open
   and fully mouseable after creating the plot, for example when run-
   ning gnuplot from a script file rather than interactively, see [1mpause[0m
   [1mmouse close[22m.




   [1m26.  Plotting[0m


   There are four [1mgnuplot [22mcommands which actually create a plot: [1mplot[22m,
   [1msplot[22m, [1mreplot[22m, and [1mrefresh[22m.  Other commands control the layout,
   style, and content of the plot that will eventually be created.










   GNUPLOT 5.4                                                       46


   [1mplot [22mgenerates 2D plots. [1msplot [22mgenerates 3D plots (actually 2D pro-
   jections, of course). [1mreplot [22mreexecutes the previous [1mplot [22mor [1msplot[0m
   command.  [1mrefresh [22mis similar to [1mreplot [22mbut it reuses any previously
   stored data rather than rereading data from a file or input stream.

   Each time you issue one of these four commands it will redraw the
   screen or generate a new page of output containing all of the cur-
   rently defined axes, labels, titles, and all of the various func-
   tions or data sources listed in the original plot command. If in-
   stead you need to place several complete plots next to each other on
   the same page, e.g. to make a panel of sub-figures or to inset a
   small plot inside a larger plot, use the command [1mset multiplot [22mto
   suppress generation of a new page for each plot command.

   Much of the general information about plotting can be found in the
   discussion of [1mplot[22m; information specific to 3D can be found in the
   [1msplot [22msection.

   [1mplot [22moperates in either rectangular or polar coordinates -- see [1mset[0m
   [1mpolar[22m.  [1msplot [22moperates in Cartesian coordinates, but will accept az-
   imuthal or cylindrical coordinates on input. See [1mset mapping[22m.  [1mplot[0m
   also lets you use each of the four borders -- x (bottom), x2 (top),
   y (left) and y2 (right) -- as an independent axis.  The [1maxes [22moption
   lets you choose which pair of axes a given function or data set is
   plotted against.  A full complement of [1mset [22mcommands exists to give
   you complete control over the scales and labeling of each axis.
   Some commands have the name of an axis built into their names, such
   as [1mset xlabel[22m.  Other commands have one or more axis names as op-
   tions, such as [1mset logscale xy[22m.  Commands and options controlling
   the z axis have no effect on 2D graphs.

   [1msplot [22mcan plot surfaces and contours in addition to points and/or
   lines.  See [1mset isosamples [22mfor information about defining the grid
   for a 3D function.  See [1msplot datafile [22mfor information about the
   requisite file structure for 3D data. For contours see [1mset contour[22m,
   [1mset cntrlabel[22m, and [1mset cntrparam[22m.

   In [1msplot[22m, control over the scales and labels of the axes are the
   same as with [1mplot [22mexcept that there is also a z axis and labeling
   the x2 and y2 axes is possible only for pseudo-2D plots created us-
   ing [1mset view map[22m.



   [1m27.  Start-up (initialization)[0m


   When gnuplot is run, it first looks for a system-wide initialization
   file [1mgnuplotrc[22m.  The location of this file is determined when the
   program is built and is reported by [1mshow loadpath[22m.  The program then
   looks in the user's HOME directory for a file called [1m.gnuplot [22mon
   Unix-like systems or [1mGNUPLOT.INI [22mon other systems.  (OS/2 will look
   for it in the directory named in the environment variable [1mGNUPLOT[22m;










   GNUPLOT 5.4                                                       47


   Windows will use [1mAPPDATA[22m).  Note: The program can be configured to
   look first in the current directory, but this is not recommended be-
   cause it is bad security practice.



   [1m28.  String constants, string variables, and string functions[0m


   In addition to string constants, most gnuplot commands also accept a
   string variable, a string expression, or a function that returns a
   string.  For example, the following four methods of creating a plot
   all result in the same plot title:

         four = "4"
         graph4 = "Title for plot #4"
         graph(n) = sprintf("Title for plot #%d",n)

         plot 'data.4' title "Title for plot #4"
         plot 'data.4' title graph4
         plot 'data.4' title "Title for plot #".four
         plot 'data.4' title graph(4)

   Since integers are promoted to strings when operated on by the
   string concatenation operator ('.' character), the following method
   also works:

         N = 4
         plot 'data.'.N title "Title for plot #".N

   In general, elements on the command line will only be evaluated as
   possible string variables if they are not otherwise recognizable as
   part of the normal gnuplot syntax. So the following sequence of com-
   mands is legal, although probably should be avoided so as not to
   cause confusion:

         plot = "my_datafile.dat"
         title = "My Title"
         plot plot title title




        [1m28.1.  Substrings[0m


        Substrings can be specified by appending a range specifier to
        any string, string variable, or string-valued function.  The
        range specifier has the form [begin:end], where begin is the
        index of the first character of the substring and end is the
        index of the last character of the substring.  The first char-
        acter has index 1.  The begin or end fields may be empty, or
        contain '*', to indicate the true start or end of the original










   GNUPLOT 5.4                                                       48


        string.  E.g.  str[:] and str[*:*] both describe the full
        string str.



        [1m28.2.  String operators[0m


        Three binary operators require string operands: the string con-
        catenation operator ".", the string equality operator "eq" and
        the string inequality operator "ne".  The following example
        will print TRUE.

             if ("A"."B" eq "AB") print "TRUE"



        [1m28.3.  String functions[0m


        Gnuplot provides several built-in functions that operate on
        strings.  General formatting functions: see [1mgprintf sprintf[22m.
        Time formatting functions: see [1mstrftime strptime[22m.  String ma-
        nipulation: see [1msubstr strstrt trim word words[22m.



        [1m28.4.  String encoding[0m


        Gnuplot's built-in string manipulation functions are sensitive
        to utf-8 encoding (see [1mset encoding[22m). For example

         utf8string = "αβγ"
         strlen(utf8string) returns 3 (number of characters, not number
        of bytes)
         utf8string[2:2] evaluates to "β"
         strstrt(utf8string,"β") evaluates to 2




   [1m29.  Substitution and Command line macros[0m


   When a command line to gnuplot is first read, i.e. before it is in-
   terpreted or executed, two forms of lexical substitution are per-
   formed. These are triggered by the presence of text in backquotes
   (ascii character 96) or preceded by @ (ascii character 64).














   GNUPLOT 5.4                                                       49


        [1m29.1.  Substitution of system commands in backquotes[0m


        Command-line substitution is specified by a system command en-
        closed in backquotes.  This command is spawned and the output
        it produces replaces the backquoted text on the command line.
        Exit status of the system command is returned in variables GP-
        VAL_SYSTEM_ERRNO and GPVAL_SYSTEM_ERRMSG.

        CHANGE (differs from versions 4 through 5.2): Internal car-
        riage-return ('\r') and newline ('\n') characters are not
        stripped from the input stream during substitution.  This
        change brings backquote substitution in line with the system()
        function.

        Command-line substitution can be used anywhere on the [1mgnuplot[0m
        command line except inside strings delimited by single quotes.

        Example:

        This will run the program [1mleastsq [22mand replace [1mleastsq [22m(includ-
        ing backquotes) on the command line with its output:
              f(x) = `leastsq`

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

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



        [1m29.2.  Substitution of string variables as macros[0m


        The character @ is used to trigger substitution of the current
        value of a string variable into the command line. The text in
        the string variable may contain any number of lexical elements.
        This allows string variables to be used as command line macros.
        Only string constants may be expanded using this mechanism, not
        string-valued expressions.  For example:

              style1 = "lines lt 4 lw 2"
              style2 = "points lt 3 pt 5 ps 2"
              range1 = "using 1:3"
              range2 = "using 1:5"
              plot "foo" @range1 with @style1, "bar" @range2 with
        @style2

        The line containing @ symbols is expanded on input, so that by
        the time it is executed the effect is identical to having typed










   GNUPLOT 5.4                                                       50


        in full

              plot "foo" using 1:3 with lines lt 4 lw 2, \
                   "bar" using 1:5 with points lt 3 pt 5 ps 2

        The function exists() may be useful in connection with macro
        evaluation.  The following example checks that C can safely be
        expanded as the name of a user-defined variable:

              C = "pi"
              if (exists(C)) print C," = ", @C

        Macro expansion does not occur inside either single or double
        quotes.  However macro expansion does occur inside backquotes.

        Macro expansion is handled as the very first thing the inter-
        preter does when looking at a new line of commands and is only
        done once. Therefore, code like the following will execute cor-
        rectly:

             A = "c=1"
             @A

        but this line will not, since the macro is defined on the same
        line and will not be expanded in time

             A = "c=1"; @A   # will not expand to c=1

        Macro expansion inside a bracketed iteration occurs before the
        loop is executed; i.e. @A will always act as the original value
        of A even if A itself is reassigned inside the loop.

        For execution of complete commands the [1mevaluate [22mcommand may
        also be handy.



        [1m29.3.  String variables, macros, and command line substitution[0m


        The interaction of string variables, backquotes and macro sub-
        stitution is somewhat complicated.  Backquotes do not block
        macro substitution, so

              filename = "mydata.inp"
              lines = ` wc --lines @filename | sed "s/ .*//" `

        results in the number of lines in mydata.inp being stored in
        the integer variable lines. And double quotes do not block
        backquote substitution, so

              mycomputer = "`uname -n`"











   GNUPLOT 5.4                                                       51


        results in the string returned by the system command [1muname -n[0m
        being stored in the string variable mycomputer.

        However, macro substitution is not performed inside double
        quotes, so you cannot define a system command as a macro and
        then use both macro and backquote substitution at the same
        time.

               machine_id = "uname -n"
               mycomputer = "`@machine_id`"  # doesn't work!!

        This fails because the double quotes prevent @machine_id from
        being interpreted as a macro. To store a system command as a
        macro and execute it later you must instead include the back-
        quotes as part of the macro itself.  This is accomplished by
        defining the macro as shown below.  Notice that the sprintf
        format nests all three types of quotes.

              machine_id = sprintf('"`uname -n`"')
              mycomputer = @machine_id



   [1m30.  Syntax[0m


   Options and any accompanying parameters are separated by spaces
   whereas lists and coordinates are separated by commas.  Ranges are
   separated by colons and enclosed in brackets [], text and file names
   are enclosed in quotes, and a few miscellaneous things are enclosed
   in parentheses.

   Commas are used to separate coordinates on the [1mset [22mcommands [1marrow[22m,
   [1mkey[22m, and [1mlabel[22m; the list of variables being fitted (the list after
   the [1mvia [22mkeyword on the [1mfit [22mcommand); lists of discrete contours or
   the loop parameters which specify them on the [1mset cntrparam [22mcommand;
   the arguments of the [1mset [22mcommands [1mdgrid3d[22m, [1mdummy[22m, [1misosamples[22m, [1moff-[0m
   [1msets[22m, [1morigin[22m, [1msamples[22m, [1msize[22m, [1mtime[22m, and [1mview[22m; lists of tics or the
   loop parameters which specify them; the offsets for titles and axis
   labels; parametric functions to be used to calculate the x, y, and z
   coordinates on the [1mplot[22m, [1mreplot [22mand [1msplot [22mcommands; and the complete
   sets of keywords specifying individual plots (data sets or func-
   tions) on the [1mplot[22m, [1mreplot [22mand [1msplot [22mcommands.

   Parentheses are used to delimit sets of explicit tics (as opposed to
   loop parameters) and to indicate computations in the [1musing [22mfilter of
   the [1mfit[22m, [1mplot[22m, [1mreplot [22mand [1msplot [22mcommands.

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

   Square brackets are used to delimit ranges given in [1mset[22m, [1mplot [22mor
   [1msplot [22mcommands.










   GNUPLOT 5.4                                                       52


   Colons are used to separate extrema in [1mrange [22mspecifications (whether
   they are given on [1mset[22m, [1mplot [22mor [1msplot [22mcommands) and to separate en-
   tries in the [1musing [22mfilter of the [1mplot[22m, [1mreplot[22m, [1msplot [22mand [1mfit [22mcom-
   mands.

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

   Curly braces are used in the syntax for enhanced text mode and to
   delimit blocks in if/then/else statements.  They are also used to
   denote complex numbers: {3,2} = 3 + 2i.




        [1m30.1.  Quote Marks[0m


        Gnuplot uses three forms of quote marks for delimiting text
        strings, double-quote (ascii 34), single-quote (ascii 39), and
        backquote (ascii 96).

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

        String constants and text strings used for labels, titles, or
        other plot elements may be enclosed in either single quotes or
        double quotes. Further processing of the quoted text depends on
        the choice of quote marks.

        Backslash processing of special characters like \n (newline)
        and \345 (octal character code) is performed only for double-
        quoted strings.  In single-quoted strings, backslashes are just
        ordinary characters.  To get a single-quote (ascii 39) in a
        single-quoted string, it must be doubled.  Thus the strings
        "d\" s' b\\" and 'd" s'' b\' are completely equivalent.

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

        Enhanced text processing is performed for both double-quoted










   GNUPLOT 5.4                                                       53


        text and single-quoted text, but only by terminals supporting
        this mode.  See [1menhanced text[22m.

        Back-quotes are used to enclose system commands for substitu-
        tion into the command line.  See [1msubstitution[22m.



   [1m31.  Time/Date data[0m


   [1mgnuplot [22msupports the use of time and/or date information as input
   data.  This feature is activated by the commands [1mset xdata time[22m, [1mset[0m
   [1mydata time[22m, etc.

   Internally all times and dates are converted to the number of sec-
   onds from the year 1970.  The command [1mset timefmt [22mdefines the de-
   fault format for all inputs: data files, ranges, tics, label posi-
   tions -- anything that accepts a time data value defaults to receiv-
   ing it in this format.  Only one default format can be in effect at
   a given time. Thus if both x and y data in a file are time/date, by
   default they are interpreted in the same format. However this de-
   fault can be replaced when reading any particular file or column of
   input using the [1mtimecolumn [22mfunction in the corresponding [1musing [22mspec-
   ifier.

   The conversion to and from seconds assumes Universal Time (which is
   the same as Greenwich Standard Time).  There is no provision for
   changing the time zone or for daylight savings.  If all your data
   refer to the same time zone (and are all either daylight or stan-
   dard) you don't need to worry about these things.  But if the abso-
   lute time is crucial for your application, you'll need to convert to
   UT yourself.

   Commands like [1mshow xrange [22mwill re-interpret the integer according to
   [1mtimefmt[22m.  If you change [1mtimefmt[22m, and then [1mshow [22mthe quantity again,
   it will be displayed in the new [1mtimefmt[22m.  For that matter, if you
   reset the data type flag for that axis (e.g. [1mset xdata[22m), the quan-
   tity will be shown in its numerical form.

   The commands [1mset format [22mor [1mset tics format [22mdefine the format that
   will be used for tic labels, whether or not input for the specified
   axis is time/date.

   If time/date information is to be plotted from a file, the [1musing [22mop-
   tion _must_ be used on the [1mplot [22mor [1msplot [22mcommand.  These commands
   simply use white space to separate columns, but white space may be
   embedded within the time/date string.  If you use tabs as a separa-
   tor, some trial-and-error may be necessary to discover how your sys-
   tem treats them.

   The [1mtime [22mfunction can be used to get the current system time. This
   value can be converted to a date string with the [1mstrftime [22mfunction,










   GNUPLOT 5.4                                                       54


   or it can be used in conjunction with [1mtimecolumn [22mto generate rela-
   tive time/date plots.  The type of the argument determines what is
   returned. If the argument is an integer, [1mtime [22mreturns the current
   time as an integer, in seconds from 1 Jan 1970. If the argument is
   real (or complex), the result is real as well.  The precision of the
   fractional (sub-second) part depends on your operating system. If
   the argument is a string, it is assumed to be a format string, and
   it is passed to [1mstrftime [22mto provide a formatted time/date string.

   The following example demonstrates time/date plotting.

   Suppose the file "data" contains records like

         03/21/95 10:00  6.02e23

   This file can be plotted by

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

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

   Gnuplot tracks time to millisecond precision. Time formats have been
   modified to match this.  Example: print the current time to msec
   precision
        print strftime("%H:%M:%.3S %d-%b-%Y",time(0.0))
        18:15:04.253 16-Apr-2011

   See [1mtime_specifiers[22m.




   [1m32.  Plotting styles[0m



   Many plotting styles are available in gnuplot.  They are listed al-
   phabetically below.  The commands [1mset style data [22mand [1mset style func-[0m
   [1mtion [22mchange the default plotting style for subsequent [1mplot [22mand [1msplot[0m
   commands.

   You can also specify the plot style explicitly as part of the [1mplot[0m
   or [1msplot [22mcommand.  If you want to mix plot styles within a single
   plot, you must specify the plot style for each component.

   Example:

        plot 'data' with boxes, sin(x) with lines










   GNUPLOT 5.4                                                       55


   Each plot style has its own expected set of data entries in a data
   file.  For example, by default the [1mlines [22mstyle expects either a sin-
   gle column of y values (with implicit x ordering) or a pair of col-
   umns with x in the first and y in the second.  For more information
   on how to fine-tune how columns in a file are interpreted as plot
   data, see [1musing[22m.




   [1m33.  Arrows[0m


   The 2D [1marrows [22mstyle draws an arrow with specified length and orien-
   tation angle at each point (x,y).  Additional input columns may be
   used to provide variable (per-datapoint) color information or arrow
   style.  It is identical to the 2D style [1mwith vectors [22mexcept that
   each the arrow head is positioned using length + angle rather than
   delta_x + delta_y.  See [1mwith vectors[22m.

        4 columns:  x  y  length  angle

   The keywords [1mwith arrows [22mmay be followed by inline arrow style prop-
   erties, a reference to a predefined arrow style, or [1marrowstyle vari-[0m
   [1mable [22mto load the index of the desired arrow style for each arrow
   from a separate column.

   [1mlength [22m> 0 is interpreted in x-axis coordinates.  -1 < [1mlength [22m< 0 is
   interpreted in horizontal graph coordinates; i.e. |length| is a
   fraction of the total graph width.  The program will adjust for dif-
   ferences in x and y scaling or plot aspect ratio so that the visual
   length is independent of the orientation angle.

   [1mangle [22mis always specified in degrees.



   [1m34.  Bee swarm plots[0m


   "Bee swarm" plots result from applying jitter to separate overlap-
   ping points.  A typical use is to compare the distribution of y val-
   ues exhibited by two or more categories of points, where the cate-
   gory determines the x coordinate.  See the [1mset jitter [22mcommand for
   how to control the overlap criteria and the displacement pattern
   used for jittering.  The plots in the figure were created by the
   same plot command but different jitter settings.

        set jitter
        plot $data using 1:2:1 with points lc variable













   GNUPLOT 5.4                                                       56


   [1m35.  Boxerrorbars[0m


   The [1mboxerrorbars [22mstyle is only relevant to 2D data plotting.  It is
   a combination of the [1mboxes [22mand [1myerrorbars [22mstyles.  It requires 3, 4,
   or 5 columns of data.  An additional (4th, 5th or 6th) input column
   may be used to provide variable (per-datapoint) color information
   (see [1mlinecolor [22mand [1mrgbcolor variable[22m).  The error bar will be drawn
   in the same color as the border of the box.

        3 columns:  x  y  ydelta
        4 columns:  x  y  ydelta xdelta        # boxwidth != -2
        4 columns:  x  y  ylow  yhigh          # boxwidth == -2
        5 columns:  x  y  ylow  yhigh  xdelta

   The boxwidth will come from the fourth column if the y errors are
   given as "ydelta" and the boxwidth was not previously set to -2.0
   ([1mset boxwidth -2.0[22m) or from the fifth column if the y errors are in
   the form of "ylow yhigh".  The special case  [1mboxwidth = -2.0 [22mis for
   four-column data with y errors in the form "ylow yhigh".  In this
   case the boxwidth will be calculated so that each box touches the
   adjacent boxes.  The width will also be calculated in cases where
   three-column data are used.

   The box height is determined from the y error in the same way as it
   is for the [1myerrorbars [22mstyle---either from y-ydelta to y+ydelta or
   from ylow to yhigh, depending on how many data columns are provided.



   [1m36.  Boxes[0m


   In 2D plots the [1mboxes [22mstyle draws a rectangle centered about the
   given x coordinate that extends from the x axis, i.e. from y=0 not
   from the graph border, to the given y coordinate.  The width of the
   box can be provided in an additional input column or controlled by
   [1mset boxwidth[22m.  Otherwise each box extends to touch the adjacent
   boxes.

   In 3D plots the [1mboxes [22mstyle draws a box centered at the given [x,y]
   coordinate that extends from the plane at z=0 to the given z coordi-
   nate.  The width of the box on x can be provided in a separate input
   column or via [1mset boxwidth[22m.  The depth of the box on y is controlled
   by [1mset boxdepth[22m.  Boxes do not automatically expand to touch each
   other as in 2D plots.

















   GNUPLOT 5.4                                                       57


        [1m36.1.  2D boxes[0m



        [1mplot with boxes [22muses 2 or 3 columns of basic data.  Additional
        input columns may be used to provide information such as vari-
        able line or fill color.  See [1mrgbcolor variable[22m.

             2 columns:  x  y
             3 columns:  x  y  x_width

        The width of the box is obtained in one of three ways.  If the
        input data has a third column, this will be used to set the box
        width.  Otherwise if a width has been set using the [1mset[0m
        [1mboxwidth [22mcommand, this will be used.  If neither of these is
        available, the width of each box will be calculated so that it
        touches the adjacent boxes.

        The box interiors are drawn using the current fillstyle.  Al-
        ternatively a fillstyle may be specified in the plot command.
        See [1mset style fill[22m.  If no fillcolor is given in the plot com-
        mand, the current line color is used.

        Examples:

        To plot a data file with solid filled boxes with a small verti-
        cal space separating them (bargraph):

              set boxwidth 0.9 relative
              set style fill solid 1.0
              plot 'file.dat' with boxes

        To plot a sine and a cosine curve in pattern-filled boxes
        style:

              set style fill pattern
              plot sin(x) with boxes, cos(x) with boxes

        The sin plot will use pattern 0; the cos plot will use pattern
        1.  Any additional plots would cycle through the patterns sup-
        ported by the terminal driver.

        To specify explicit fillstyles and fillcolors for each dataset:

             plot 'file1' with boxes fs solid 0.25 fc 'cyan', \
                  'file2' with boxes fs solid 0.50 fc 'blue', \
                  'file3' with boxes fs solid 0.75 fc 'magenta', \
                  'file4' with boxes fill pattern 1, \
                  'file5' with boxes fill empty














   GNUPLOT 5.4                                                       58


        [1m36.2.  3D boxes[0m



        [1msplot with boxes [22mrequires at least 3 columns of input data.
        Additional input columns may be used to provide information
        such as box width or fill color.

             3 columns:  x  y  z
             4 columns:  x  y  z  [x_width or color]
             5 columns:  x  y  z  x_width  color

        The last column is used as a color only if the splot command
        specifies a variable color mode.  Examples

             splot 'blue_boxes.dat' using 1:2:3 fc "blue"
             splot 'rgb_boxes.dat' using 1:2:3:4 fc rgb variable
             splot 'category_boxes.dat' using 1:2:3:4:5 lc variable

        In the first example all boxes are blue and have the width pre-
        viously set by [1mset boxwidth[22m.  In the second example the box
        width is still taken from [1mset boxwidth [22mbecause the 4th column
        is interpreted as a 24-bit RGB color.  The third example com-
        mand reads box width from column 4 and interprets the value in
        column 5 as an integer linetype from which the color is de-
        rived.

        By default boxes have no thickness; they consist of a single
        rectangle parallel to the xz plane at the specified y coordi-
        nate.  You can change this to a true box with four sides and a
        top by setting a non-zero extent on y.  See [1mset boxdepth[22m.

        3D boxes are processed as pm3d quadrangles rather than as sur-
        faces. Because of this the front/back order of drawing is not
        affected by [1mset hidden3d[22m.  Similarly if you want each box face
        to have a border you must use [1mset pm3d border [22mrather than [1mset[0m
        [1mstyle fill border[22m.  See [1mset pm3d[22m.  For best results use a com-
        bination of [1mset pm3d depthorder base [22mand [1mset pm3d lighting[22m.




   [1m37.  Boxplot[0m


   Boxplots are a common way to represent a statistical distribution of
   values.  Quartile boundaries are determined such that 1/4 of the
   points have a value equal or less than the first quartile boundary,
   1/2 of the points have a value equal or less than the second quar-
   tile (median) value, etc.  A box is drawn around the region between
   the first and third quartiles, with a horizontal line at the median
   value.  Whiskers extend from the box to user-specified limits.
   Points that lie outside these limits are drawn individually.










   GNUPLOT 5.4                                                       59


   Examples

       # Place a boxplot at x coordinate 1.0 representing the y values
   in column 5
       plot 'data' using (1.0):5

       # Same plot but suppress outliers and force the width of the
   boxplot to 0.3
       set style boxplot nooutliers
       plot 'data' using (1.0):5:(0.3)

   By default only one boxplot is produced that represents all y values
   from the second column of the using specification. However, an addi-
   tional (fourth) column can be added to the specification. If
   present, the values of that column will be interpreted as the dis-
   crete levels of a factor variable.  As many boxplots will be drawn
   as there are levels in the factor variable.  The separation between
   these boxplots is 1.0 by default, but it can be changed by [1mset style[0m
   [1mboxplot separation[22m. By default, the value of the factor variable is
   shown as a tic label below (or above) each boxplot.

   Example

       # Suppose that column 2 of 'data' contains either "control" or
   "treatment"
       # The following example produces two boxplots, one for each
   level of the
       # factor
       plot 'data' using (1.0):5:(0):2

   The default width of the box can be set via [1mset boxwidth <width> [22mor
   may be specified as an optional 3rd column in the [1musing [22mclause of
   the plot command.  The first and third columns (x coordinate and
   width) are normally provided as constants rather than as data col-
   umns.

   By default the whiskers extend from the ends of the box to the most
   distant point whose y value lies within 1.5 times the interquartile
   range. By default outliers are drawn as circles (point type 7).  The
   width of the bars at the end of the whiskers may be controlled using
   [1mset bars [22mor [1mset errorbars[22m.

   These default properties may be changed using the [1mset style boxplot[0m
   command.  See [1mset style boxplot[22m, [1mbars[22m, [1mboxwidth[22m, [1mfillstyle[22m, [1mcandle-[0m
   [1msticks[22m.




   [1m38.  Boxxyerror[0m













   GNUPLOT 5.4                                                       60


   The [1mboxxyerror [22mplot style is only relevant to 2D data plotting.  It
   is similar to the [1mxyerrorbars [22mstyle except that it draws rectangular
   areas rather than crosses.  It uses either 4 or 6 basic columns of
   input data.  Additional input columns may be used to provide infor-
   mation such as variable line or fill color (see [1mrgbcolor variable[22m).

        4 columns:  x  y  xdelta  ydelta
        6 columns:  x  y  xlow  xhigh  ylow  yhigh

   The box width and height are determined from the x and y errors in
   the same way as they are for the [1mxyerrorbars [22mstyle---either from
   xlow to xhigh and from ylow to yhigh, or from x-xdelta to x+xdelta
   and from y-ydelta to y+ydelta, depending on how many data columns
   are provided.

   The 6 column form of the command provides a convenient way to plot
   rectangles with arbitrary x and y bounds.

   An additional (5th or 7th) input column may be used to provide vari-
   able (per-datapoint) color information (see [1mlinecolor [22mand [1mrgbcolor[0m
   [1mvariable[22m).

   The interior of the boxes is drawn according to the current fill-
   style.  See [1mset style fill [22mand [1mboxes [22mfor details.  Alternatively a
   new fillstyle may be specified in the plot command.



   [1m39.  Candlesticks[0m


   The [1mcandlesticks [22mstyle can be used for 2D data plotting of financial
   data or for generating box-and-whisker plots of statistical data.
   The symbol is a rectangular box, centered horizontally at the x co-
   ordinate and limited vertically by the opening and closing prices.
   A vertical line segment at the x coordinate extends up from the top
   of the rectangle to the high price and another down to the low.  The
   vertical line will be unchanged if the low and high prices are in-
   terchanged.

   Five columns of basic data are required:

         financial data:   date  open  low  high  close
         whisker plot:     x  box_min  whisker_min  whisker_high
   box_high

   The width of the rectangle can be controlled by the [1mset boxwidth[0m
   command.  For backwards compatibility with earlier gnuplot versions,
   when the boxwidth parameter has not been set then the width of the
   candlestick rectangle is taken from [1mset errorbars <width>[22m.

   Alternatively, an explicit width for each box-and-whiskers grouping
   may be specified in an optional 6th column of data.  The width must










   GNUPLOT 5.4                                                       61


   be given in the same units as the x coordinate.

   An additional (6th, or 7th if the 6th column is used for width data)
   input column may be used to provide variable (per-datapoint) color
   information (see [1mlinecolor [22mand [1mrgbcolor variable[22m).

   By default the vertical line segments have no crossbars at the top
   and bottom. If you want crossbars, which are typically used for box-
   and-whisker plots, then add the keyword [1mwhiskerbars [22mto the plot com-
   mand.  By default these whiskerbars extend the full horizontal width
   of the candlestick, but you can modify this by specifying a fraction
   of the full width.

   The usual convention for financial data is that the rectangle is
   empty if (open < close) and solid fill if (close < open). This is
   the behavior you will get if the current fillstyle is set to
   "empty". See [1mfillstyle[22m.  If you set the fillstyle to solid or pat-
   tern, then this will be used for all boxes independent of open and
   close values.  See also [1mset errorbars [22mand [1mfinancebars[22m.  See also the
   candlestick and finance demos.

   Note: To place additional symbols, such as the median value, on a
   box-and-whisker plot requires additional plot commands as in this
   example:

     # Data columns:X Min 1stQuartile Median 3rdQuartile Max
     set errorbars 4.0
     set style fill empty
     plot 'stat.dat' using 1:3:2:6:5 with candlesticks title 'Quar-
   tiles', \
          ''         using 1:4:4:4:4 with candlesticks lt -1 notitle

     # Plot with crossbars on the whiskers, crossbars are 50% of full
   width
     plot 'stat.dat' using 1:3:2:6:5 with candlesticks whiskerbars 0.5

   See [1mset boxwidth[22m, [1mset errorbars[22m, [1mset style fill[22m, and [1mboxplot[22m.



   [1m40.  Circles[0m


   The [1mcircles [22mstyle plots a circle with an explicit radius at each
   data point.  The radius is always interpreted in the units of the
   plot's horizontal axis (x or x2).  The scale on y and the aspect ra-
   tio of the plot are both ignored.  If the radius is not given in a
   separate column for each point it is taken from [1mset style circle[22m.
   In this case the radius may use graph or screen coordinates.

   Many combinations of per-point and previously set properties are
   possible.  For 2D plots these include











   GNUPLOT 5.4                                                       62


       using x:y
       using x:y:radius
       using x:y:color
       using x:y:radius:color
       using x:y:radius:arc_begin:arc_end
       using x:y:radius:arc_begin:arc_end:color

   By default a full circle will be drawn.  It is possible to instead
   plot arc segments by specifying a start and end angle (in degrees)
   in columns 4 and 5.

   A per-circle color may be provided in the last column of the using
   specifier.  In this case the plot command must include a correspond-
   ing variable color term such as [1mlc variable [22mor [1mfillcolor rgb vari-[0m
   [1mable[22m.

   For 3D plots the using specifier must contain

       splot DATA using x:y:z:radius:color

   where the variable color column is options.  See [1mset style circle[0m
   and [1mset style fill[22m.

   Examples:

       # draws circles whose area is proportional to the value in col-
   umn 3
       set style fill transparent solid 0.2 noborder
       plot 'data' using 1:2:(sqrt($3)) with circles, \
            'data' using 1:2 with linespoints

       # draws Pac-men instead of circles
       plot 'data' using 1:2:(10):(40):(320) with circles

       # draw a pie chart with inline data
       set xrange [-15:15]
       set style fill transparent solid 0.9 noborder
       plot '-' using 1:2:3:4:5:6 with circles lc var
       0    0    5    0    30    1
       0    0    5   30    70    2
       0    0    5   70   120    3
       0    0    5  120   230    4
       0    0    5  230   360    5
       e

   The result is similar to using a [1mpoints [22mplot with variable size
   points and pointstyle 7, except that the circles will scale with the
   x axis range.  See also [1mset object circle [22mand [1mfillstyle[22m.















   GNUPLOT 5.4                                                       63


   [1m41.  Ellipses[0m


   The [1mellipses [22mstyle plots an ellipse at each data point.  This style
   is only relevant for 2D plotting.  Each ellipse is described in
   terms of its center, major and minor diameters, and the angle be-
   tween its major diameter and the x axis.

        2 columns: x y
        3 columns: x y major_diam
        4 columns: x y major_diam minor_diam
        5 columns: x y major_diam minor_diam angle

   If only two input columns are present, they are taken as the coordi-
   nates of the centers, and the ellipses will be drawn with the de-
   fault extent (see [1mset style ellipse[22m).  The orientation of the el-
   lipse, which is defined as the angle between the major diameter and
   the plot's x axis, is taken from the default ellipse style (see [1mset[0m
   [1mstyle ellipse[22m).  If three input columns are provided, the third col-
   umn is used for both diameters.  The orientation angle defaults to
   zero.  If four columns are present, they are interpreted as x, y,
   major diameter, minor diameter.  Note that these are diameters, not
   radii.  An optional 5th column may specify the orientation angle in
   degrees.  The ellipses will also be drawn with their default extent
   if either of the supplied diameters in the 3-4-5 column form is neg-
   ative.

   In all of the above cases, optional variable color data may be given
   in an additional last (3th, 4th, 5th or 6th) column. See [1mcolorspec[22m.

   By default, the major diameter is interpreted in the units of the
   plot's horizontal axis (x or x2) while the minor diameter in that of
   the vertical (y or y2).  If the x and y axis scales are not equal,
   the major/minor diameter ratio will no longer be correct after rota-
   tion.  This can be changed with the [1munits [22mkeyword, however.

   There are three alternatives: if [1munits xy [22mis included in the plot
   specification, the axes will be scaled as described above. [1munits xx[0m
   ensures that both diameters are interpreted in units of the x axis,
   while [1munits yy [22mmeans that both diameters are interpreted in units of
   the y axis. In the latter two cases the ellipses will have the cor-
   rect aspect ratio, even if the plot is resized.  If [1munits [22mis omitted
   from the plot command, the setting from [1mset style ellipse [22mwill be
   used.

   Example (draws ellipses, cycling through the available line types):

       plot 'data' using 1:2:3:4:(0):0 with ellipses

   See also [1mset object ellipse[22m, [1mset style ellipse [22mand [1mfillstyle[22m.













   GNUPLOT 5.4                                                       64


   [1m42.  Dots[0m


   The [1mdots [22mstyle plots a tiny dot at each point; this is useful for
   scatter plots with many points.  Either 1 or 2 columns of input data
   are required in 2D.  Three columns are required in 3D.

   For some terminals (post, pdf) the size of the dot can be controlled
   by changing the linewidth.

        1 column    y         # x is row number
        2 columns:  x  y
        3 columns:  x  y  z   # 3D only (splot)




   [1m43.  Filledcurves[0m


   The [1mfilledcurves [22mstyle is only used for 2D plotting. It has three
   variants.  The first two variants require either a single function
   or two columns (x,y) of input data, and may be further modified by
   the options listed below.

   Syntax:

       plot ... with filledcurves [option]

   where the option can be one of the following

       [closed | {above | below}
       {x1 | x2 | y | r}[=<a>] | xy=<x>,<y>]

   The first variant, [1mclosed[22m, treats the curve itself as a closed poly-
   gon.  This is the default if there are two columns of input data.

   The second variant is to fill the area between the curve and a given
   axis, a horizontal or vertical line, or a point.

       filledcurves closed   ... just filled closed curve,
       filledcurves x1       ... x1 axis,
       filledcurves x2       ... x2 axis, etc for y1 and y2 axes,
       filledcurves y=42     ... line at y=42, i.e. parallel to x axis,
       filledcurves xy=10,20 ... point 10,20 of x1,y1 axes (arc-like
   shape).
       filledcurves above r=1.5  the area of a polar plot outside ra-
   dius 1.5

   The third variant fills the area between two curves sampled at the
   same set of x coordinates.  It requires three columns of input data
   (x, y1, y2).  This is the default if there are three or more columns
   of input data.  If you have a y value in column 2 and an associated










   GNUPLOT 5.4                                                       65


   error value in column 3 the area of uncertainty can be represented
   by shading.  See also the similar 3D plot style [1mzerrorfill[22m.

       3 columns:  x  y  yerror

       plot $DAT using 1:($2-$3):($2+$3) with filledcurves, \
            $DAT using 1:2 smooth mcs with lines

   The [1mabove [22mand [1mbelow [22moptions apply both to commands of the form
       ... filledcurves above {x1|x2|y|r}=<val>
   and to commands of the form
       ... using 1:2:3 with filledcurves below
   In either case the option limits the filled area to one side of the
   bounding line or curve.

   Notes: Not all terminal types support this plotting mode.
          The x= and y= keywords are ignored for 3 columns data plots

   Zooming a filled curve drawn from a datafile may produce empty or
   incorrect areas because gnuplot is clipping points and lines, and
   not areas.

   If the values <x>, <y>, or <a> are outside the drawing boundary they
   are moved to the graph boundary. Then the actual fill area in the
   case of option xy=<x>,<y> will depend on xrange and yrange.




        [1m43.1.  Fill properties[0m


        Plotting [1mwith filledcurves [22mcan be further customized by giving
        a fillstyle (solid/transparent/pattern) or a fillcolor.  If no
        fillstyle ([1mfs[22m) is given in the plot command then the current
        default fill style is used.  See [1mset style fill[22m.  If no fill-
        color ([1mfc[22m) is given in the plot command, the usual linetype
        color sequence is followed.

        The {{no}border} property of the fillstyle is honored by
        filledcurves mode [1mclosed[22m, the default.  It is ignored by all
        other filledcurves modes.  Example:
             plot 'data' with filledcurves fc "cyan" fs solid 0.5 bor-
        der lc "blue"



   [1m44.  Financebars[0m


   The [1mfinancebars [22mstyle is only relevant for 2D data plotting of fi-
   nancial data.  It requires 1 x coordinate (usually a date) and 4 y
   values (prices).










   GNUPLOT 5.4                                                       66


        5 columns:   date  open  low  high  close

   An additional (6th) input column may be used to provide variable
   (per-record) color information (see [1mlinecolor [22mand [1mrgbcolor vari-[0m
   [1mable[22m).

   The symbol is a vertical line segment, located horizontally at the x
   coordinate and limited vertically by the high and low prices.  A
   horizontal tic on the left marks the opening price and one on the
   right marks the closing price.  The length of these tics may be
   changed by [1mset errorbars[22m.  The symbol will be unchanged if the high
   and low prices are interchanged.  See [1mset errorbars [22mand [1mcandle-[0m
   [1msticks[22m, and also the finance demo.



   [1m45.  Fsteps[0m


   The [1mfsteps [22mstyle is only relevant to 2D plotting.  It connects con-
   secutive points with two line segments: the first from (x1,y1) to
   (x1,y2) and the second from (x1,y2) to (x2,y2).  The input column
   requires are the same as for plot styles [1mlines [22mand [1mpoints[22m.  The dif-
   ference between [1mfsteps [22mand [1msteps [22mis that [1mfsteps [22mtraces first the
   change in y and then the change in x.  [1msteps [22mtraces first the change
   in x and then the change in y.

   See also steps demo.



   [1m46.  Fillsteps[0m


   The [1mfillsteps [22mstyle is exactly like [1msteps [22mexcept that the area be-
   tween the curve and y=0 is filled in the current fill style.  See
   [1msteps[22m.



   [1m47.  Histeps[0m


   The [1mhisteps [22mstyle is only relevant to 2D plotting.  It is intended
   for plotting histograms.  Y-values are assumed to be centered at the
   x-values; the point at x1 is represented as a horizontal line from
   ((x0+x1)/2,y1) to ((x1+x2)/2,y1).  The lines representing the end
   points are extended so that the step is centered on at x.  Adjacent
   points are connected by a vertical line at their average x, that is,
   from ((x1+x2)/2,y1) to ((x1+x2)/2,y2).  The input column requires
   are the same as for plot styles [1mlines [22mand [1mpoints[22m.

   If [1mautoscale [22mis in effect, it selects the xrange from the data










   GNUPLOT 5.4                                                       67


   rather than the steps, so the end points will appear only half as
   wide as the others.  See also steps demo.




   [1m48.  Histograms[0m


   The [1mhistograms [22mstyle is only relevant to 2D plotting.  It produces a
   bar chart from a sequence of parallel data columns. Each element of
   the [1mplot [22mcommand must specify a single input data source (e.g. one
   column of the input file), possibly with associated tic values or
   key titles.  Four styles of histogram layout are currently sup-
   ported.

         set style histogram clustered {gap <gapsize>}
         set style histogram errorbars {gap <gapsize>} {<linewidth>}
         set style histogram rowstacked
         set style histogram columnstacked
         set style histogram {title font "name,size" tc <colorspec>}

   The default style corresponds to [1mset style histogram clustered gap[0m
   [1m2[22m.  In this style, each set of parallel data values is collected
   into a group of boxes clustered at the x-axis coordinate correspond-
   ing to their sequential position (row #) in the selected datafile
   columns.  Thus if <n> datacolumns are selected, the first cluster is
   centered about x=1, and contains <n> boxes whose heights are taken
   from the first entry in the corresponding <n> data columns.  This is
   followed by a gap and then a second cluster of boxes centered about
   x=2 corresponding to the second entry in the respective data col-
   umns, and so on.  The default gap width of 2 indicates that the
   empty space between clusters is equivalent to the width of 2 boxes.
   All boxes derived from any one column are given the same fill color
   and/or pattern (see [1mset style fill[22m).

   Each cluster of boxes is derived from a single row of the input data
   file.  It is common in such input files that the first element of
   each row is a label. Labels from this column may be placed along the
   x-axis underneath the appropriate cluster of boxes with the [1mxticla-[0m
   [1mbels [22moption to [1musing[22m.

   The [1merrorbars [22mstyle is very similar to the [1mclustered [22mstyle, except
   that it requires additional columns of input for each entry. The
   first column holds the height (y value) of that box, exactly as for
   the [1mclustered [22mstyle.
        2 columns:        y yerr          bar extends from y-yerr to
   y+err
        3 columns:        y ymin ymax     bar extends from ymin to ymax
   The appearance of the error bars is controlled by the current value
   of [1mset errorbars [22mand by the optional <linewidth> specification.

   Two styles of stacked histogram are supported, chosen by the command










   GNUPLOT 5.4                                                       68


   [1mset style histogram {rowstacked|columnstacked}[22m.  In these styles the
   data values from the selected columns are collected into stacks of
   boxes.  Positive values stack upwards from y=0; negative values
   stack downwards.  Mixed positive and negative values will produce
   both an upward stack and a downward stack.  The default stacking
   mode is [1mrowstacked[22m.

   The [1mrowstacked [22mstyle places a box resting on the x-axis for each
   data value in the first selected column; the first data value re-
   sults in a box a x=1, the second at x=2, and so on.  Boxes corre-
   sponding to the second and subsequent data columns are layered on
   top of these, resulting in a stack of boxes at x=1 representing the
   first data value from each column, a stack of boxes at x=2 repre-
   senting the second data value from each column, and so on.  All
   boxes derived from any one column are given the same fill color
   and/or pattern (see [1mset style fill[22m).

   The [1mcolumnstacked [22mstyle is similar, except that each stack of boxes
   is built up from a single data column. Each data value from the
   first specified column yields a box in the stack at x=1, each data
   value from the second specified column yields a box in the stack at
   x=2, and so on.  In this style the color of each box is taken from
   the row number, rather than the column number, of the corresponding
   data field.

   Box widths may be modified using the [1mset boxwidth [22mcommand.  Box fill
   styles may be set using the [1mset style fill [22mcommand.

   Histograms always use the x1 axis, but may use either y1 or y2.  If
   a plot contains both histograms and other plot styles, the non-his-
   togram plot elements may use either the x1 or the x2 axis.

   Examples: Suppose that the input file contains data values in col-
   umns 2, 4, 6, ...  and error estimates in columns 3, 5, 7, ...  This
   example plots the values in columns 2 and 4 as a histogram of clus-
   tered boxes (the default style).  Because we use iteration in the
   plot command, any number of data columns can be handled in a single
   command. See [1mplot for[22m.

         set boxwidth 0.9 relative
         set style data histograms
         set style histogram cluster
         set style fill solid 1.0 border lt -1
         plot for [COL=2:4:2] 'file.dat' using COL

   This will produce a plot with clusters of two boxes (vertical bars)
   centered at each integral value on the x axis.  If the first column
   of the input file contains labels, they may be placed along the x-
   axis using the variant command

         plot for [COL=2:4:2] 'file.dat' using COL:xticlabels(1)

   If the file contains both magnitude and range information for each










   GNUPLOT 5.4                                                       69


   value, then error bars can be added to the plot.  The following com-
   mands will add error bars extending from (y-<error>) to (y+<error>),
   capped by horizontal bar ends drawn the same width as the box it-
   self. The error bars and bar ends are drawn with linewidth 2, using
   the border linetype from the current fill style.

         set errorbars fullwidth
         set style fill solid 1 border lt -1
         set style histogram errorbars gap 2 lw 2
         plot for [COL=2:4:2] 'file.dat' using COL:COL+1

   This shows how to plot the same data as a rowstacked histogram.
   Just to be different, this example lists the separate columns ex-
   plicitly rather than using iteration.

         set style histogram rowstacked
         plot 'file.dat' using 2, '' using 4:xtic(1)

   This will produce a plot in which each vertical bar corresponds to
   one row of data.  Each vertical bar contains a stack of two seg-
   ments, corresponding in height to the values found in columns 2 and
   4 of the datafile.  Finally, the commands

         set style histogram columnstacked
         plot 'file.dat' using 2, '' using 4

   will produce two vertical stacks, one for each column of data.  The
   stack at x=1 will contain a box for each entry in column 2 of the
   datafile.  The stack at x=2 will contain a box for each parallel en-
   try in column 4 of the datafile.

   Because this interchanges gnuplot's usual interpretation of input
   rows and columns, the specification of key titles and x-axis tic la-
   bels must also be modified accordingly. See the comments given be-
   low.

         set style histogram columnstacked
         plot '' u 5:key(1)            # uses first column to generate
   key titles
         plot '' u 5 title columnhead  # uses first row to generate
   xtic labels

   Note that the two examples just given present exactly the same data
   values, but in different formats.




        [1m48.1.  Newhistogram[0m


        Syntax:











   GNUPLOT 5.4                                                       70


             newhistogram {"<title>" {font "name,size"} {tc <color-
        spec>}}
                          {lt <linetype>} {fs <fillstyle>} {at <x-co-
        ord>}

        More than one set of histograms can appear in a single plot. In
        this case you can force a gap between them, and a separate la-
        bel for each set, by using the [1mnewhistogram [22mcommand.  For exam-
        ple

              set style histogram  cluster
              plot newhistogram "Set A", 'a' using 1, '' using 2, ''
        using 3, \
                   newhistogram "Set B", 'b' using 1, '' using 2, ''
        using 3

        The labels "Set A" and "Set B" will appear beneath the respec-
        tive sets of histograms, under the overall x axis label.

        The newhistogram command can also be used to force histogram
        coloring to begin with a specific color (linetype). By default
        colors will continue to increment successively even across his-
        togram boundaries. Here is an example using the same coloring
        for multiple histograms
              plot newhistogram "Set A" lt 4, 'a' using 1, '' using 2,
        '' using 3, \
                   newhistogram "Set B" lt 4, 'b' using 1, '' using 2,
        '' using 3

        Similarly you can force the next histogram to begin with a
        specified fillstyle.  If the fillstyle is set to [1mpattern[22m, then
        the pattern used for filling will be incremented automatically.

        The [1mat <x-coord> [22moption sets the x coordinate position of the
        following histogram to <x-coord>. For example

               set style histogram cluster
               set style data histogram
               set style fill solid 1.0 border -1
               set xtic 1 offset character 0,0.3
               plot newhistogram "Set A", \
                    'file.dat' u 1 t 1, '' u 2 t 2, \
                    newhistogram "Set B" at 8, \
                    'file.dat' u 2 t 2, '' u 2 t 2

        will position the second histogram to start at x=8.



        [1m48.2.  Automated iteration over multiple columns[0m













   GNUPLOT 5.4                                                       71


        If you want to create a histogram from many columns of data in
        a single file, it is very convenient to use the plot iteration
        feature.  See [1mplot for[22m.  For example, to create stacked his-
        tograms of the data in columns 3 through 8

              set style histogram columnstacked
              plot for [i=3:8] "datafile" using i title columnhead



   [1m49.  Image[0m


   The [1mimage[22m, [1mrgbimage[22m, and [1mrgbalpha [22mplotting styles all project a uni-
   formly sampled grid of data values onto a plane  in either 2D or 3D.
   The input data may be an actual bitmapped image, perhaps converted
   from a standard format such as PNG, or a simple array of numerical
   values.

   This figure illustrates generation of a heat map from an array of
   scalar values.  The current palette is used to map each value onto
   the color assigned to the corresponding pixel.
         plot '-' matrix with image
         5 4 3 1 0
         2 2 0 0 1
         0 0 0 1 0
         0 1 2 4 3
         e
         e

   Each pixel (data point) of the input 2D image will become a rectan-
   gle or parallelipiped in the plot. The coordinates of each data
   point will determine the center of the parallelipiped.  That is, an
   M x N set of data will form an image with M x N pixels.  This is
   different from the pm3d plotting style, where an M x N set of data
   will form a surface of (M-1) x (N-1) elements.  The scan directions
   for a binary image data grid can be further controlled by additional
   keywords. See [1mbinary keywords flipx[22m, [1mkeywords center[22m, and [1mkeywords[0m
   [1mrotate[22m.

   Image data can be scaled to fill a particular rectangle within a 2D
   plot coordinate system by specifying the x and y extent of each
   pixel.  See [1mbinary keywords dx [22mand [1mdy[22m. To generate the figure at the
   right, the same input image was placed multiple times, each with a
   specified dx, dy, and origin. The input PNG image of a building is
   50x128 pixels.  The tall building was drawn by mapping this using
   [1mdx=0.5 dy=1.5[22m.  The short building used a mapping [1mdx=0.5 dy=0.35[22m.

   The [1mimage [22mstyle handles input pixels containing a grayscale or color
   palette value. Thus 2D plots ([1mplot [22mcommand) require 3 columns of
   data (x,y,value), while 3D plots ([1msplot [22mcommand) require 4 columns
   of data (x,y,z,value).











   GNUPLOT 5.4                                                       72


   The [1mrgbimage [22mstyle handles input pixels that are described by three
   separate values for the red, green, and blue components.  Thus 5D
   data (x,y,r,g,b) is needed for [1mplot [22mand 6D data (x,y,z,r,g,b) for
   [1msplot[22m.  The individual red, green, and blue components are assumed
   to lie in the range [0:255].  This matches the convention used in
   PNG and JPEG files (see [1mbinary filetype[22m).  However some data files
   use an alternative convention in which RGB components are floating
   point values in the range [0:1]. To use the [1mrgbimage [22mstyle with such
   data, first use the command [1mset rgbmax 1.0[22m.

   The [1mrgbalpha [22mstyle handles input pixels that contain alpha channel
   (transparency) information in addition to the red, green, and blue
   components.  Thus 6D data (x,y,r,g,b,a) is needed for [1mplot [22mand 7D
   data (x,y,z,r,g,b,a) for [1msplot[22m.  The r, g, b, and alpha components
   are assumed to lie in the range [0:255].  To plot data for which
   RGBA components are floating point values in the range [0:1], first
   use the command [1mset rgbmax 1.0[22m.

   If only a single data column is provided for the color components of
   either rgbimage or rgbalpha plots, it is interpreted as containing
   32 bit packed ARGB data using the convention that alpha=0 means
   opaque and alpha=255 means fully transparent. Note that this is
   backwards from the alpha convention if alpha is supplied in a sepa-
   rate column, but matches the ARGB packing convention for individual
   commands to set color. See [1mcolorspec[22m.




        [1m49.1.  Transparency[0m


        The [1mrgbalpha [22mplotting style assumes that each pixel of input
        data contains an alpha value in the range [0:255].  A pixel
        with alpha = 0 is purely transparent and does not alter the un-
        derlying contents of the plot. A pixel with alpha = 255 is
        purely opaque.  All terminal types can handle these two extreme
        cases.  A pixel with 0 < alpha < 255 is partially transparent.
        Terminal types that do not support partial transparency will
        round this value to 0 or 255.



        [1m49.2.  Image pixels[0m


        Some terminals use device- or library-specific optimizations to
        render image data within a rectangular 2D area.  This sometimes
        produces undesirable output, e.g. bad clipping or scaling,
        missing edges.  The [1mpixels [22mkeyword tells gnuplot to use generic
        code that renders the image pixel-by-pixel instead.  This ren-
        dering mode is slower and may result in much larger output
        files, but should produce a consistent rendered view on all










   GNUPLOT 5.4                                                       73


        terminals.  Example:
              plot 'data' with image pixels




   [1m50.  Impulses[0m


   The [1mimpulses [22mstyle displays a vertical line from y=0 to the y value
   of each point (2D) or from z=0 to the z value of each point (3D).
   Note that the y or z values may be negative.  Data from additional
   columns can be used to control the color of each impulse.  To use
   this style effectively in 3D plots, it is useful to choose thick
   lines (linewidth > 1). This approximates a 3D bar chart.

        1 column:   y
        2 columns:  x  y     # line from [x,0] to [x,y]  (2D)
        3 columns:  x  y  z  # line from [x,y,0] to [x,y,z] (3D)




   [1m51.  Labels[0m


   The [1mlabels [22mstyle reads coordinates and text from a data file and
   places the text string at the corresponding 2D or 3D position.  3 or
   4 input columns of basic data are required.  Additional input col-
   umns may be used to provide properties that vary point by point such
   as text rotation angle (keywords [1mrotate variable[22m) or color (see
   [1mtextcolor variable[22m).

        3 columns:  x  y  string    # 2D version
        4 columns:  x  y  z  string # 3D version

   The font, color, rotation angle and other properties of the printed
   text may be specified as additional command options (see [1mset label[22m).
   The example below generates a 2D plot with text labels constructed
   from the city whose name is taken from column 1 of the input file,
   and whose geographic coordinates are in columns 4 and 5. The font
   size is calculated from the value in column 3, in this case the pop-
   ulation.

     CityName(String,Size) = sprintf("{/=%d %s}", Scale(Size), String)
     plot 'cities.dat' using 5:4:(CityName(stringcolumn(1),$3)) with
   labels

   If we did not want to adjust the font size to a different size for
   each city name, the command would be much simpler:

     plot 'cities.dat' using 5:4:1 with labels font "Times,8"











   GNUPLOT 5.4                                                       74


   If the labels are marked as [1mhypertext [22mthen the text only appears if
   the mouse is hovering over the corresponding anchor point.  See [1mhy-[0m
   [1mpertext[22m.  In this case you must enable the label's [1mpoint [22mattribute
   so that there is a point to act as the hypertext anchor:

     plot 'cities.dat' using 5:4:1 with labels hypertext point pt 7

   The [1mlabels [22mstyle can also be used in place of the [1mpoints [22mstyle when
   the set of predefined point symbols is not suitable or not suffi-
   ciently flexible.  For example, here we define a set of chosen sin-
   gle-character symbols and assign one of them to each point in a plot
   based on the value in data column 3:

     set encoding utf8
     symbol(z) = "+ "[int(z):int(z)]
     splot 'file' using 1:2:(symbol($3)) with labels

   This example shows use of labels with variable rotation angle in
   column 4 and textcolor ("tc") in column 5.  Note that variable color
   is always taken from the last column in the [1musing [22mspecifier.

     plot $Data using 1:2:3:4:5 with labels tc variable rotate variable



   [1m52.  Lines[0m


   The [1mlines [22mstyle connects adjacent points with straight line seg-
   ments.  It may be used in either 2D or 3D plots. The basic form re-
   quires 1, 2, or 3 columns of input data.  Additional input columns
   may be used to provide information such as variable line color (see
   [1mrgbcolor variable[22m).

   2D form (no "using" spec)
        1 column:   y       # implicit x from row number
        2 columns:  x  y
   3D form (no "using" spec)
        1 column:   z       # implicit x from row, y from index
        3 columns:  x  y  z

   See also [1mlinetype[22m, [1mlinewidth[22m, and [1mlinestyle[22m.



   [1m53.  Linespoints[0m


   The [1mlinespoints [22mstyle (short form [1mlp[22m) connects adjacent points with
   straight line segments and then goes back to draw a small symbol at
   each point.  Points are drawn with the default size determined by
   [1mset pointsize [22munless a specific point size is given in the plot com-
   mand or a variable point size is provided in an additional column of










   GNUPLOT 5.4                                                       75


   input data.  Additional input columns may also be used to provide
   information such as variable line color.  See [1mlines [22mand [1mpoints[22m.

   Two keywords control whether or not every point in the plot is
   marked with a symbol, [1mpointinterval [22m(short form [1mpi[22m) and [1mpointnumber[0m
   (short form [1mpn[22m).

   [1mpi N [22mor [1mpi -N [22mtells gnuplot to only place a symbol on every Nth
   point.  A negative value for N will erase the portion of line seg-
   ment that passes underneath the symbol. The size of the erased por-
   tion is controlled by [1mset pointintervalbox[22m.

   [1mpn N [22mor [1mpn -N [22mtells gnuplot to label only N of the data points,
   evenly spaced over the data set.  As with [1mpi[22m, a negative value for N
   will erase the portion of line segment that passes underneath the
   symbol.




   [1m54.  Parallelaxes[0m


   Parallel axis plots can highlight correlation in a multidimensional
   data set.  Individual columns of input data are each associated with
   a separately scaled vertical axis.  If all columns are drawn from a
   single file then each line on the plot represents values from a sin-
   gle row of data in that file.  It is common to use some discrete
   categorization to assign line colors, allowing visual exploration of
   the correlation between this categorization and the axis dimensions.

   Syntax:

       set style data parallelaxes
       plot $DATA using col1{:varcol1} {at <xpos>} {<line properties},
   \
            $DATA using col2, ...

   CHANGE: Version 5.4 of gnuplot introduces a change in the syntax for
   plot style parallelaxes.  The revised syntax allows an unlimited
   number of parallel axes.

        gnuplot 5.2:   plot $DATA using 1:2:3:4:5 with parallelaxes
        gnuplot 5.4:   plot for [col=1:5] $DATA using col with paralle-
   laxes

   The new syntax also allows explicit placement of the parallel verti-
   cal axes along the x axis as in the example below.  If no explicit x
   coordinate is provide axis N will be placed at x=N.

        array xpos[5] = [1, 5, 6, 7, 11, 12]
        plot for [col=1:5] $DATA using col with parallelaxes at
   xpos[col]










   GNUPLOT 5.4                                                       76


   By default gnuplot will automatically determine the range and scale
   of the individual axes from the input data, but the usual [1mset axis[0m
   [1mrange [22mcommands can be used to customize this.  See [1mset paxis[22m.



   [1m55.  Polar plots[0m


   Polar plots are generated by changing the current coordinate system
   to polar before issuing a plot command.  The option [1mset polar [22mtells
   gnuplot to interpret input 2D coordinates as <angle>,<radius> rather
   than <x>,<y>.  Many, but not all, of the 2D plotting styles work in
   polar mode.  The figure shows a combination of plot styles [1mlines [22mand
   [1mfilledcurves[22m.  See [1mset polar[22m, [1mset rrange[22m, [1mset size square[22m, [1mset[0m
   [1mtheta[22m, [1mset ttics[22m.



   [1m56.  Points[0m


   The [1mpoints [22mstyle displays a small symbol at each point. The command
   [1mset pointsize [22mmay be used to change the default size of all points.
   The point type defaults to that of the linetype. See [1mlinetype[22m.  If
   no [1musing [22mspec is found in the plot command, input data columns are
   interpreted implicitly in the order
        x y pointsize pointtype color
   Any columns beyond the first two (x and y) are optional; they corre-
   spond to additional plot properties [1mpointsize variable[22m, [1mpointtype[0m
   [1mvariable[22m, etc.

   The first 8 point types are shared by all terminals. Individual ter-
   minals may provide a much larger number of distinct point types. Use
   the [1mtest [22mcommand to show what is provided by the current terminal
   settings.

   Alternatively any single printable character may be given instead of
   a numerical point type, as in the example below.  You may use any
   unicode character as the pointtype (assumes utf8 support). See [1mes-[0m
   [1mcape sequences[22m.  Longer strings may be plotted using plot style [1mla-[0m
   [1mbels [22mrather than [1mpoints[22m.

        plot f(x) with points pt "#"
        plot d(x) with points pt "\U+2299"

   When using the keywords [1mpointtype[22m, [1mpointsize[22m, or [1mlinecolor [22min a plot
   command, the additional keyword [1mvariable [22mmay be given instead of a
   number.  In this case the corresponding properties of each point are
   assigned by additional columns of input data. Variable pointsize is
   always taken from the first additional column provided in a [1musing[0m
   spec.  Variable color is always taken from the last additional col-
   umn. See [1mcolorspec[22m. If all three properties are specified for each










   GNUPLOT 5.4                                                       77


   point, the order of input data columns is thus

        plot DATA using x:y:pointsize:pointtype:color \
             with points lc variable pt variable ps variable

   Note: for information on user-defined program variables, see [1mvari-[0m
   [1mables[22m.



   [1m57.  Polygons[0m


        splot DATA {using x:y:z} with polygons
              {fillstyle <fillstyle spec>}
              {fillcolor <colorspec>}
   [1msplot with polygons [22muses pm3d to render individual triangles, quad-
   rangles, and larger polygons in 3D.  These may be facets of a 3D
   surface or isolated shapes. The code assumes that the vertices lie
   in a plane.  Vertices defining individual polygons are read from
   successive records of the input file.  A blank line separates one
   polygon from the next.

   The fill style and color may be specified in the splot command, oth-
   erwise the global fillstyle from [1mset style fill [22mis used.  Due to
   limitations in the pm3d code, a single border line style from [1mset[0m
   [1mpm3d border [22mis applied to all polygons.  This restriction may be re-
   moved in a later gnuplot version.

   pm3d sort order and lighting are applied to the faces. It is proba-
   bly always desirable to use [1mset pm3d depthsort[22m.

        set xyplane at 0
        set view equal xyz
        unset border
        unset tics
        set pm3d depth
        set pm3d border lc "black" lw 1.5
        splot 'icosahedron.dat' with polygons \
              fs transparent solid 0.8 fc bgnd



   [1m58.  Spiderplot[0m


   Spider plots are essentially parallel axis plots in which the axes
   are arranged radially rather than vertically. Such plots are some-
   times called [1mrader charts[22m.  In gnuplot this requires working within
   a coordinate system established by the command [1mset spiderplot[22m, anal-
   ogous to [1mset polar [22mexcept that the angular coordinate is determined
   implicitly by the parallel axis number. The appearance, labelling,
   and tic placement of the axes is controlled by [1mset paxis[22m.  Further










   GNUPLOT 5.4                                                       78


   style choices are controlled using [1mset style spiderplot[22m, [1mset grid[22m,
   and the individual components of the plot command.

   Because each spider plot corresponds to a row of data rather than a
   column, it would make no sense to generate key entry titles in the
   normal way.  Instead, if a plot component contains a title the text
   is used to label the corresponding axis. This overrides any previous
   [1mset paxis n label "Foo"[22m.  To place a title in the key, you can ei-
   ther use a separate [1mkeyentry [22mcommand or extract text from a column
   in the input file with the [1mkey(column) [22musing specifier.  See [1mkeyen-[0m
   [1mtry[22m, [1musing key[22m.

   In this figure a spiderplot with 5 axes is used to compare multiple
   entities that are each characterized by five scores.  Each line
   (row) in $DATA generates a new polygon on the plot.

        set spiderplot
        set style spiderplot fs transparent solid 0.2 border
        set for [p=1:5] paxis p range [0:100]
        set for [p=2:5] paxis p tics format ""
        set             paxis 1 tics font ",9"
        set for [p=1:5] paxis p label sprintf("Score %d",p)
        set grid spiderplot
        plot for [i=1:5] $DATA using i:key(1)





        [1m58.1.  Newspiderplot[0m


        Normally the sequential elements of a plot command [1mwith spider-[0m
        [1mplot [22meach correspond to one vertex of a single polygon.  In or-
        der to describe multiple polygons in the same plot command,
        they must be separated by [1mnewspiderplot[22m.  Example:
             # One polygon with 10 vertices
             plot for [i=1:5] 'A' using i, for [j=1:5] 'B' using j
             # Two polygons with 5 vertices
             plot for [i=1:5] 'A' using i, newspiderplot, for [j=1:5]
        'B' using j




   [1m59.  Steps[0m


   The [1msteps [22mstyle is only relevant to 2D plotting.  It connects con-
   secutive points with two line segments: the first from (x1,y1) to
   (x2,y1) and the second from (x2,y1) to (x2,y2).  The input column
   requires are the same as for plot styles [1mlines [22mand [1mpoints[22m.  The dif-
   ference between [1mfsteps [22mand [1msteps [22mis that [1mfsteps [22mtraces first the










   GNUPLOT 5.4                                                       79


   change in y and then the change in x.  [1msteps [22mtraces first the change
   in x and then the change in y.  To fill the area between the curve
   and the baseline at y=0, use [1mfillsteps[22m.  See also steps demo.




   [1m60.  Rgbalpha[0m


   See [1mimage[22m.



   [1m61.  Rgbimage[0m


   See [1mimage[22m.



   [1m62.  Vectors[0m


   The 2D [1mvectors [22mstyle draws a vector from (x,y) to
   (x+xdelta,y+ydelta).  The 3D [1mvectors [22mstyle is similar, but requires
   six columns of basic data.  In both cases, an additional input col-
   umn (5th in 2D, 7th in 3D) may be used to provide variable (per-dat-
   apoint) color information.  (see [1mlinecolor [22mand [1mrgbcolor variable[22m).
   A small arrowhead is drawn at the end of each vector.

        4 columns:  x  y  xdelta  ydelta
        6 columns:  x  y  z  xdelta  ydelta  zdelta

   The keywords "with vectors" may be followed by an inline arrow style
   specifications, a reference to a predefined arrow style, or a re-
   quest to read the index of the desired arrow style for each vector
   from a separate column.  Note: If you choose "arrowstyle variable"
   it will fill in all arrow properties at the time the corresponding
   vector is drawn; you cannot mix this keyword with other line or ar-
   row style qualifiers in the plot command.

        plot ... with vectors filled heads
        plot ... with vectors arrowstyle 3
        plot ... using 1:2:3:4:5 with vectors arrowstyle variable

   Example:
         plot 'file.dat' using 1:2:3:4 with vectors head filled lt 2
         splot 'file.dat' using 1:2:3:(1):(1):(1) with vectors filled
   head lw 2

   splot with vectors is supported only for [1mset mapping cartesian[22m.  [1mset[0m
   [1mclip one [22mand [1mset clip two [22maffect vectors drawn in 2D.  See [1mset clip[0m










   GNUPLOT 5.4                                                       80


   and [1marrowstyle[22m.

   See also the 2D plot style [1mwith arrows [22mthat is identical to [1mwith[0m
   [1mvectors [22mexcept that each arrow is specified using x:y:length:angle.



   [1m63.  Xerrorbars[0m


   The [1mxerrorbars [22mstyle is only relevant to 2D data plots.  [1mxerrorbars[0m
   is like [1mpoints[22m, except that a horizontal error bar is also drawn.
   At each point (x,y), a line is drawn from (xlow,y) to (xhigh,y) or
   from (x-xdelta,y) to (x+xdelta,y), depending on how many data col-
   umns are provided.  The appearance of the tic mark at the ends of
   the bar is controlled by [1mset errorbars[22m.  The basic style requires
   either 3 or 4 columns:

        3 columns:  x  y  xdelta
        4 columns:  x  y  xlow  xhigh

   An additional input column (4th or 5th) may be used to provide in-
   formation such as variable point color.




   [1m64.  Xyerrorbars[0m


   The [1mxyerrorbars [22mstyle is only relevant to 2D data plots.  [1mxyerror-[0m
   [1mbars [22mis like [1mpoints[22m, except that horizontal and vertical error bars
   are also drawn.  At each point (x,y), lines are drawn from (x,y-
   ydelta) to (x,y+ydelta) and from (x-xdelta,y) to (x+xdelta,y) or
   from (x,ylow) to (x,yhigh) and from (xlow,y) to (xhigh,y), depending
   upon the number of data columns provided.  The appearance of the tic
   mark at the ends of the bar is controlled by [1mset errorbars[22m.  Either
   4 or 6 input columns are required.

        4 columns:  x  y  xdelta  ydelta
        6 columns:  x  y  xlow  xhigh  ylow  yhigh

   If data are provided in an unsupported mixed form, the [1musing [22mfilter
   on the [1mplot [22mcommand should be used to set up the appropriate form.
   For example, if the data are of the form (x,y,xdelta,ylow,yhigh),
   then you can use

         plot 'data' using 1:2:($1-$3):($1+$3):4:5 with xyerrorbars

   An additional input column (5th or 7th) may be used to provide vari-
   able (per-datapoint) color information.












   GNUPLOT 5.4                                                       81


   [1m65.  Yerrorbars[0m


   The [1myerrorbars [22m(or [1merrorbars[22m) style is only relevant to 2D data
   plots.  [1myerrorbars [22mis like [1mpoints[22m, except that a vertical error bar
   is also drawn.  At each point (x,y), a line is drawn from (x,y-
   ydelta) to (x,y+ydelta) or from (x,ylow) to (x,yhigh), depending on
   how many data columns are provided.  The appearance of the tic mark
   at the ends of the bar is controlled by [1mset errorbars[22m.

        2 columns:  [implicit x] y ydelta
        3 columns:  x  y  ydelta
        4 columns:  x  y  ylow  yhigh

   An additional input column (4th or 5th) may be used to provide in-
   formation such as variable point color.

   See also errorbar demo.



   [1m66.  Xerrorlines[0m


   The [1mxerrorlines [22mstyle is only relevant to 2D data plots.  [1mxerror-[0m
   [1mlines [22mis like [1mlinespoints[22m, except that a horizontal error line is
   also drawn. At each point (x,y), a line is drawn from (xlow,y) to
   (xhigh,y) or from (x-xdelta,y) to (x+xdelta,y), depending on how
   many data columns are provided.  The appearance of the tic mark at
   the ends of the bar is controlled by [1mset errorbars[22m.  The basic style
   requires either 3 or 4 columns:

        3 columns:  x  y  xdelta
        4 columns:  x  y  xlow  xhigh

   An additional input column (4th or 5th) may be used to provide in-
   formation such as variable point color.




   [1m67.  Xyerrorlines[0m


   The [1mxyerrorlines [22mstyle is only relevant to 2D data plots.  [1mxyerror-[0m
   [1mlines [22mis like [1mlinespoints[22m, except that horizontal and vertical error
   bars are also drawn. At each point (x,y), lines are drawn from (x,y-
   ydelta) to (x,y+ydelta) and from (x-xdelta,y) to (x+xdelta,y) or
   from (x,ylow) to (x,yhigh) and from (xlow,y) to (xhigh,y), depending
   upon the number of data columns provided.  The appearance of the tic
   mark at the ends of the bar is controlled by [1mset errorbars[22m.  Either
   4 or 6 input columns are required.











   GNUPLOT 5.4                                                       82


        4 columns:  x  y  xdelta  ydelta
        6 columns:  x  y  xlow  xhigh  ylow  yhigh

   If data are provided in an unsupported mixed form, the [1musing [22mfilter
   on the [1mplot [22mcommand should be used to set up the appropriate form.
   For example, if the data are of the form (x,y,xdelta,ylow,yhigh),
   then you can use

         plot 'data' using 1:2:($1-$3):($1+$3):4:5 with xyerrorlines

   An additional input column (5th or 7th) may be used to provide vari-
   able (per-datapoint) color information.




   [1m68.  Yerrorlines[0m


   The [1myerrorlines [22m(or [1merrorlines[22m) style is only relevant to 2D data
   plots. [1myerrorlines [22mis like [1mlinespoints[22m, except that a vertical error
   line is also drawn. At each point (x,y), a line is drawn from (x,y-
   ydelta) to (x,y+ydelta) or from (x,ylow) to (x,yhigh), depending on
   how many data columns are provided.  The appearance of the tic mark
   at the ends of the bar is controlled by [1mset errorbars[22m.  Either 3 or
   4 input columns are required.

        3 columns:  x  y  ydelta
        4 columns:  x  y  ylow  yhigh

   An additional input column (4th or 5th) may be used to provide in-
   formation such as variable point color.

   See also errorbar demo.



   [1m69.  3D plots[0m


   3D plots are generated using the command [1msplot [22mrather than [1mplot[22m.
   Many of the 2D plot styles (points, images, impulse, labels, vec-
   tors) can also be used in 3D by providing an extra column of data
   containing z coordinate.  Some plot types (pm3d coloring, surfaces,
   contours) must be generated using the [1msplot [22mcommand even if only a
   2D projection is wanted.

















   GNUPLOT 5.4                                                       83


        [1m69.1.  Surface plots[0m


        The styles [1msplot with lines [22mand [1msplot with surface [22mboth gener-
        ate a surface made from a grid of lines.  Solid surfaces can be
        generated using the style [1msplot with pm3d[22m.  Usually the surface
        is displayed at some convenient viewing angle, such that it
        clearly represents a 3D surface.  See [1mset view[22m.  In this case
        the X, Y, and Z axes are all visible in the plot.  The illusion
        of 3D is enhanced by choosing hidden line removal. See [1mhid-[0m
        [1mden3d[22m.  The [1msplot [22mcommand can also calculate and draw contour
        lines corresponding to constant Z values. These contour lines
        may be drawn onto the surface itself, or projected onto the XY
        plane. See [1mset contour[22m.



        [1m69.2.  2D projection (set view map)[0m


        An important special case of the [1msplot [22mcommand is to map the Z
        coordinate onto a 2D surface by projecting the plot along the Z
        axis onto the xy plane.  See [1mset view map[22m.  This plot mode is
        useful for contour plots and heat maps.  This figure shows con-
        tours plotted once with plot style [1mlines [22mand once with style
        [1mlabels[22m.



        [1m69.3.  PM3D plots[0m


        3D surfaces can also be drawn using solid pm3d quadrangles
        rather than lines. In this case there is no hidden surface re-
        moval, but if the component facets are drawn back-to-front then
        a similar effect is achieved.  See [1mset pm3d depthorder[22m. While
        pm3d surfaces are by default colored using a smooth color pal-
        ette (see [1mset palette[22m), it is also possible to specify a solid
        color surface or to specify distinct solid colors for the top
        and bottom surfaces as in the figure shown here.  See [1mpm3d[0m
        [1mfillcolor[22m.  Unlike the line-trimming in hidden3d mode, pm3d
        surfaces can be smoothly clipped to the current zrange.  See
        [1mset pm3d clipping[22m.




   [1m70.  Fence plots[0m


   Fence plots combine several 2D plots by aligning their Y coordinates
   and separating them from each other by a displacement along X. Fill-
   ing the area between a base value and each plot's series of Z values










   GNUPLOT 5.4                                                       84


   enhances the visual impact of the alignment on Y and comparison on
   Z. There are several ways such plots can be created in gnuplot. The
   simplest is to use the 5 column variant of the [1mzerrorfill [22mstyle.
   Suppose there are separate curves z = Fi(y) indexed by i. A fence
   plot is generated by [1msplot with zerrorfill [22musing input columns
        i y z_base z_base Fi(y)




   [1m71.  Isosurface[0m


   This 3D plot style requires a populated voxel grid (see [1mset vgrid[22m,
   [1mvfill[22m).  Linear interpolation of voxel grid values is used to esti-
   mate fractional grid coordinates corresponding to the requested
   isolevel.  These points are then used to generate a tessellated sur-
   face.  The facets making up the surface are rendered as pm3d poly-
   gons, so the surface coloring, transparency, and border properties
   are controlled by [1mset pm3d[22m.  In general the surface is easier to in-
   terpret visually if facets are given a thin border that is darker
   than the fill color.  By default the tessellation uses a mixture of
   quadrangles and triangles.  To use triangle only, see [1mset isosur-[0m
   [1mface[22m.  Example:
        set style fill solid 0.3
        set pm3d depthorder border lc "blue" lw 0.2
        splot $helix with isosurface level 10 fc "cyan"




   [1m72.  Zerrorfill[0m


   Syntax:

        splot DATA using 1:2:3:4[:5] with zerrorfill {fc|fillcolor
   <colorspec>}
                   {lt|linetype <n>} {<line properties>}

   The [1mzerrorfill [22mplot style is similar to one variant of the 2D plot
   style [1mfilledcurves[22m.  It fills the area between two functions or data
   lines that are sampled at the same x and y points.  It requires 4 or
   5 input columns:

        4 columns:  x  y  z  zdelta
        5 columns:  x  y  z  zlow  zhigh

   The area between zlow and zhigh is filled and then a line is drawn
   through the z values. By default both the line and the fill area use
   the same color, but you can change this in the splot command.  The
   fill area properties are also affected by the global fill style; see
   [1mset style fill[22m.










   GNUPLOT 5.4                                                       85


   If there are multiple curves in the splot command each new curve may
   occlude all previous curves.  To get proper depth sorting so that
   curves can only be occluded by curves closer to the viewer, use [1mset[0m
   [1mpm3d depthorder base[22m.  Unfortunately this causes all the filled ar-
   eas to be drawn after all of the corresponding lines of z values.
   In order to see both the lines and the depth-sorted fill areas you
   probably will need to make the fill areas partially transparent or
   use pattern fill rather than solid fill.

   The fill area in the first two examples below is the same.

        splot 'data' using 1:2:3:4 with zerrorfill fillcolor "grey" lt
   black
        splot 'data' using 1:2:3:($3-$4):($3+$4) with zerrorfill
        splot '+' using 1:(const):(func1($1)):(func2($1)) with zerror-
   fill
        splot for [k=1:5] datafile[k] with zerrorfill lt black fc lt
   (k+1)

   This plot style can also be used to create fence plots. See [1mfence-[0m
   [1mplots[22m.





   [1m73.  Commands[0m


   This section lists the commands acceptable to [1mgnuplot [22min alphabeti-
   cal order.  Printed versions of this document contain all commands;
   the text available interactively may not be complete.  Indeed, on
   some systems there may be no commands at all listed under this head-
   ing.

   Note that in most cases unambiguous abbreviations for command names
   and their options are permissible, i.e., "[1mp f(x) w li[22m" instead of
   "[1mplot f(x) with lines[22m".

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



   [1m74.  Break[0m


   The [1mbreak [22mcommand is only meaningful inside the bracketed iteration
   clause of a [1mdo [22mor [1mwhile [22mstatement.  It causes the remaining state-
   ments inside the bracketed clause to be skipped and iteration is
   terminated.  Execution resumes at the statement following the clos-
   ing bracket.  See also [1mcontinue[22m.











   GNUPLOT 5.4                                                       86


   [1m75.  Cd[0m


   The [1mcd [22mcommand changes the working directory.

   Syntax:
         cd '<directory-name>'

   The directory name must be enclosed in quotes.

   Examples:
         cd 'subdir'
         cd ".."

   It is recommended that Windows users use single-quotes, because
   backslash [\] has special significance inside double-quotes and has
   to be escaped.  For example,
         cd "c:\newdata"
   fails, but
         cd 'c:\newdata'
         cd "c:\\newdata"
   work as expected.



   [1m76.  Call[0m


   The [1mcall [22mcommand is identical to the [1mload [22mcommand with one excep-
   tion: the name of the file being loaded may be followed by up to
   nine parameters.

        call "inputfile" <param-1> <param-2> <param-3> ... <param-9>

   Previous versions of gnuplot performed macro-like substitution of
   the special tokens $0, $1, ... $9 with the literal contents of these
   parameters.  This mechanism is now deprecated (see [1mcall old-style[22m).

   Gnuplot now provides a set of string variables ARG0, ARG1, ..., ARG9
   and an integer variable ARGC. When a [1mcall [22mcommand is executed ARG0
   is set to the name of the input file, ARGC is set to the number of
   parameters present, and ARG1 to ARG9 are loaded from the parameters
   that follow it on the command line.  Any existing contents of the
   ARG variables are saved and restored across a [1mcall [22mcommand.

   Because the parameters ARG1 ... ARG9 are stored in ordinary string
   variables they may be dereferenced by macro expansion (analogous to
   the older deprecated syntax).  However in many cases it is more nat-
   ural to use them as you would any other variable.

   In parallel to the string parameters ARG1 ... ARG9, the passed pa-
   rameters are stored in an array ARGV[9].  See [1margv[22m.











   GNUPLOT 5.4                                                       87


        [1m76.1.  Argv[ ][0m


        When a gnuplot script is entered via the [1mcall [22mcommand any pa-
        rameters passed by the caller are available via two mechanisms.
        Each parameter is stored as a string in variables ARG1, ARG2,
        ... ARG9.  Each parameter is also stored as one element of the
        array ARGV[9]. Numerical values are stored as complex vari-
        ables.  All other values are stored as strings.  Thus after a
        call

             call 'routine_1.gp'  1 pi "title"

        The three arguments are available inside routine_1.gp as fol-
        lows

             ARG1 = "1"         ARGV[1] = 1.0
             ARG2 = "3.14159"   ARGV[2] = 3.14159265358979...
             ARG3 = "title"     ARGV[3] = "title"

        In this example ARGV[1] and ARGV[2] have the full precision of
        a floating point variable.  ARG2 lost precision in being stored
        as a string using format "%g".



        [1m76.2.  Example[0m


             Call site
                 MYFILE = "script1.gp"
                 FUNC = "sin(x)"
                 call MYFILE FUNC 1.23 "This is a plot title"
             Upon entry to the called script
                 ARG0 holds "script1.gp"
                 ARG1 holds the string "sin(x)"
                 ARG2 holds the string "1.23"
                 ARG3 holds the string "This is a plot title"
                 ARGC is 3
             The script itself can now execute
                 plot @ARG1 with lines title ARG3
                 print ARG2 * 4.56, @ARG2 * 4.56
                 print "This plot produced by script ", ARG0

        Notice that because ARG1 is a string it must be dereferenced as
        a macro, but ARG2 may be dereferenced either as a macro (yield-
        ing a numerical constant) or a variable (yielding that same nu-
        merical value after auto-promotion of the string "1.23" to a
        real).

        The same result could be obtained directly from a shell script
        by invoking gnuplot with the [1m-c [22mcommand line option:











   GNUPLOT 5.4                                                       88


             gnuplot -persist -c "script1.gp" "sin(x)" 1.23 "This is a
        plot title"




        [1m76.3.  Old-style[0m


        This describes the deprecated call mechanism used by old ver-
        sions of gnuplot.

              call "<input-file>" <param-0> <param-1> ... <param-9>

        The name of the input file must be enclosed in quotes.  As each
        line is read from the input file, it is scanned for the follow-
        ing special character sequences: $0 $1 $2 $3 $4 $5 $6 $7 $8 $9
        $#.  If found, the sequence [1m$[22m+digit is replaced by the corre-
        sponding parameter from the [1mcall [22mcommand line. Quote characters
        are not copied and string variable substitution is not per-
        formed. The character sequence [1m$# [22mis replaced by the number of
        passed parameters. [1m$ [22mfollowed by any other character is treated
        as an escape sequence; use [1m$$ [22mto get a single [1m$[22m.

        Example:

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

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

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

        NOTES: This use of the [1m$ [22mcharacter conflicts both with gnu-
        plot's own syntax for datafile columns and with the use of [1m$ [22mto
        indicate environmental variables in a unix-like shell. The spe-
        cial sequence [1m$# [22mwas mis-interpreted as a comment delimiter in
        gnuplot versions 4.5 through 4.6.3.  Quote characters are ig-
        nored during substitution, so string constants are easily cor-
        rupted.



   [1m77.  Clear[0m


   The [1mclear [22mcommand erases the current screen or output device as
   specified by [1mset terminal [22mand [1mset output[22m.  This usually generates a
   formfeed on hardcopy devices.










   GNUPLOT 5.4                                                       89


   For some terminals [1mclear [22merases only the portion of the plotting
   surface defined by [1mset size[22m, so for these it can be used in conjunc-
   tion with [1mset multiplot [22mto create an inset.

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

   Please see [1mset multiplot[22m, [1mset size[22m, and [1mset origin [22mfor details.



   [1m78.  Continue[0m


   The [1mcontinue [22mcommand is only meaningful inside the bracketed itera-
   tion clause of a [1mdo [22mor [1mwhile [22mstatement.  It causes the remaining
   statements inside the bracketed clause to be skipped.  Execution re-
   sumes at the start of the next iteration (if any remain in the loop
   condition).  See also [1mbreak[22m.



   [1m79.  Do[0m


   Syntax:
         do for <iteration-spec> {
              <commands>
              <commands>
         }
   Execute a sequence of commands multiple times.  The commands must be
   enclosed in curly brackets, and the opening "{" must be on the same
   line as the [1mdo [22mkeyword.  This command cannot be used with old-style
   (un-bracketed) if/else statements.  See [1mif[22m.  For examples of itera-
   tion specifiers, see [1miteration[22m.  Example:
         set multiplot layout 2,2
         do for [name in "A B C D"] {
             filename = name . ".dat"
             set title sprintf("Condition %s",name)
             plot filename title name
         }
         unset multiplot
   See also [1mwhile[22m, [1mcontinue[22m, [1mbreak[22m.














   GNUPLOT 5.4                                                       90


   [1m80.  Evaluate[0m


   The [1mevaluate [22mcommand executes the commands given as an argument
   string.  Newline characters are not allowed within the string.

   Syntax:
         eval <string expression>

   This is especially useful for a repetition of similar commands.

   Example:
         set_label(x, y, text) \
           = sprintf("set label '%s' at %f, %f point pt 5", text, x, y)
         eval set_label(1., 1., 'one/one')
         eval set_label(2., 1., 'two/one')
         eval set_label(1., 2., 'one/two')

   Please see [1msubstitution macros [22mfor another way to execute commands
   from a string.



   [1m81.  Exit[0m


        exit
        exit message "error message text"
        exit status <integer error code>

   The commands [1mexit [22mand [1mquit[22m, as well as the END-OF-FILE character
   (usually Ctrl-D) terminate input from the current input stream: ter-
   minal session, pipe, or file input (pipe).  If input streams are
   nested (inherited [1mload [22mscripts), then reading will continue in the
   parent stream. When the top level stream is closed, the program it-
   self will exit.

   The command [1mexit gnuplot [22mwill immediately and unconditionally cause
   gnuplot to exit even if the input stream is multiply nested.  In
   this case any open output files may not be completed cleanly. Exam-
   ple of use:

         bind "ctrl-x" "unset output; exit gnuplot"

   The command [1mexit error "error message" [22msimulates a program error.
   In interactive mode it prints the error message and returns to the
   command line, breaking out of all nested loops or calls.  In non-in-
   teractive mode the program will exit.

   When gnuplot exits to the controlling shell, the return value is not
   usually informative. This variant of the command allows you to re-
   turn a specific value.











   GNUPLOT 5.4                                                       91


        exit status <value>

   See help for [1mbatch/interactive [22mfor more details.



   [1m82.  Fit[0m


   The [1mfit [22mcommand fits a user-supplied real-valued expression to a set
   of data points, using the nonlinear least-squares Marquardt-Leven-
   berg algorithm. There can be up to 12 independent variables, there
   is always 1 dependent variable, and any number of parameters can be
   fitted.  Optionally, error estimates can be input for weighting the
   data points.

   The basic use of [1mfit [22mis best explained by a simple example:

         f(x) = a + b*x + c*x**2
         fit f(x) 'measured.dat' using 1:2 via a,b,c
         plot 'measured.dat' u 1:2, f(x)

   Syntax:
         fit {<ranges>} <expression>
             '<datafile>' {datafile-modifiers}
             {{unitweights} | {y|xy|z}error | errors
   <var1>{,<var2>,...}}
             via '<parameter file>' | <var1>{,<var2>,...}

   Ranges may be specified to filter the data used in fitting.  Out-of-
   range data points are ignored. The syntax is
         [{dummy_variable=}{<min>}{:<max>}],
   analogous to [1mplot[22m; see [1mplot ranges[22m.

   <expression> can be any valid [1mgnuplot [22mexpression, although the most
   common is a previously user-defined function of the form f(x) or
   f(x,y). It must be real-valued.  The names of the independent vari-
   ables are set by the [1mset dummy [22mcommand, or in the <ranges> part of
   the command (see below); by default, the first two are called x and
   y.  Furthermore, the expression should depend on one or more vari-
   ables whose value is to be determined by the fitting procedure.

   <datafile> is treated as in the [1mplot [22mcommand.  All the [1mplot datafile[0m
   modifiers ([1musing[22m, [1mevery[22m,...) except [1msmooth [22mare applicable to [1mfit[22m.
   See [1mplot datafile[22m.

   The datafile contents can be interpreted flexibly by providing a [1mus-[0m
   [1ming [22mqualifier as with plot commands. For example to generate the in-
   dependent variable x as the sum of columns 2 and 3, while taking z
   from column 6 and requesting equal weights:

         fit ... using ($2+$3):6











   GNUPLOT 5.4                                                       92


   In the absence of a [1musing [22mspecification, the fit implicitly assumes
   there is only a single independent variable. If the file itself, or
   the using specification, contains only a single column of data, the
   line number is taken as the independent variable.  If a [1musing [22mspeci-
   fication is given, there can be up to 12 independent variables (and
   more if specially configured at compile time).

   The [1munitweights [22moption, which is the default, causes all data points
   to be weighted equally. This can be changed by using the [1merrors [22mkey-
   word to read error estimates of one or more of the variables from
   the data file. These error estimates are interpreted as the standard
   deviation s of the corresponding variable value and used to compute
   a weight for the datum as 1/s**2.

   In case of error estimates of the independent variables, these
   weights are further multiplied by fitting function derivatives ac-
   cording to the "effective variance method" (Jay Orear, Am. J. Phys.,
   Vol. 50, 1982).

   The [1merrors [22mkeyword is to be followed by a comma-separated list of
   one or more variable names for which errors are to be input; the de-
   pendent variable z must always be among them, while independent
   variables are optional.  For each variable in this list, an addi-
   tional column will be read from the file, containing that variable's
   error estimate. Again, flexible interpretation is possible by pro-
   viding the [1musing [22mqualifier.  Note that the number of independent
   variables is thus implicitly given by the total number of columns in
   the [1musing [22mqualifier, minus 1 (for the dependent variable), minus the
   number of variables in the [1merrors [22mqualifier.

   As an example, if one has 2 independent variables, and errors for
   the first independent variable and the dependent variable, one uses
   the [1merrors x,z [22mqualifier, and a [1musing [22mqualifier with 5 columns,
   which are interpreted as x:y:z:sx:sz (where x and y are the indepen-
   dent variables, z the dependent variable, and sx and sz the standard
   deviations of x and z).

   A few shorthands for the [1merrors [22mqualifier are available: [1myerrors[0m
   (for fits with 1 column of independent variable), and [1mzerrors [22m(for
   the general case) are all equivalent to [1merrors z[22m, indicating that
   there is a single extra column with errors of the dependent vari-
   able.

   [1mxyerrors[22m, for the case of 1 independent variable, indicates that
   there are two extra columns, with errors of both the independent and
   the dependent variable.  In this case the errors on x and y are
   treated by Orear's effective variance method.

   Note that [1myerror [22mand [1mxyerror [22mare similar in both form and interpre-
   tation to the [1myerrorlines [22mand [1mxyerrorlines [22m2D plot styles.

   With the command [1mset fit v4 [22mthe fit command syntax is compatible
   with [1mgnuplot [22mversion 4.  In this case there must be two more [1musing[0m










   GNUPLOT 5.4                                                       93


   qualifiers (z and s) than there are independent variables, unless
   there is only one variable.  [1mgnuplot [22mthen uses the following for-
   mats, depending on the number of columns given in the [1musing [22mspecifi-
   cation:

         z                           # 1 independent variable (line
   number)
         x:z                         # 1 independent variable (1st col-
   umn)
         x:z:s                       # 1 independent variable (3 col-
   umns total)
         x:y:z:s                     # 2 independent variables (4 col-
   umns total)
         x1:x2:x3:z:s                # 3 independent variables (5 col-
   umns total)
         x1:x2:x3:...:xN:z:s         # N independent variables (N+2
   columns total)

   Please beware that this means that you have to supply z-errors s in
   a fit with two or more independent variables. If you want unit
   weights you need to supply them explicitly by using e.g. then format
   x:y:z:(1).

   The dummy variable names may be changed when specifying a range as
   noted above.  The first range corresponds to the first [1musing [22mspec,
   and so on.  A range may also be given for z (the dependent vari-
   able), in which case data points for which f(x,...) is out of the z
   range will not contribute to the residual being minimized.

   Multiple datasets may be simultaneously fit with functions of one
   independent variable by making y a 'pseudo-variable', e.g., the
   dataline number, and fitting as two independent variables.  See [1mfit[0m
   [1mmulti-branch[22m.

   The [1mvia [22mqualifier specifies which parameters are to be optimized,
   either directly, or by referencing a parameter file.

   Examples:
         f(x) = a*x**2 + b*x + c
         g(x,y) = a*x**2 + b*y**2 + c*x*y
         set fit limit 1e-6
         fit f(x) 'measured.dat' via 'start.par'
         fit f(x) 'measured.dat' using 3:($7-5) via 'start.par'
         fit f(x) './data/trash.dat' using 1:2:3 yerror via a, b, c
         fit g(x,y) 'surface.dat' using 1:2:3 via a, b, c
         fit a0 + a1*x/(1 + a2*x/(1 + a3*x)) 'measured.dat' via
   a0,a1,a2,a3
         fit a*x + b*y 'surface.dat' using 1:2:3 via a,b
         fit [*:*][yaks=*:*] a*x+b*yaks 'surface.dat' u 1:2:3 via a,b

         fit [][][t=*:*] a*x + b*y + c*t 'foo.dat' using 1:2:3:4 via
   a,b,c











   GNUPLOT 5.4                                                       94


         set dummy x1, x2, x3, x4, x5
         h(x1,x2,x3,x4,s5) = a*x1 + b*x2 + c*x3 + d*x4 + e*x5
         fit h(x1,x2,x3,x4,x5) 'foo.dat' using 1:2:3:4:5:6 via
   a,b,c,d,e

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

   If activated by using [1mset fit errorvariables[22m, the error for each
   fitted parameter will be stored in a variable named like the parame-
   ter, but with "_err" appended.  Thus the errors can be used as input
   for further computations.

   If [1mset fit prescale [22mis activated, fit parameters are prescaled by
   their initial values. This helps the Marquardt-Levenberg routine
   converge more quickly and reliably in cases where parameters differ
   in size by several orders of magnitude.

   The fit may be interrupted by pressing Ctrl-C (Ctrl-Break in wgnu-
   plot).  After the current iteration completes, you have the option
   to (1) stop the fit and accept the current parameter values, (2)
   continue the fit, (3) execute a [1mgnuplot [22mcommand as specified by [1mset[0m
   [1mfit script [22mor the environment variable [1mFIT_SCRIPT[22m.  The default is
   [1mreplot[22m, so if you had previously plotted both the data and the fit-
   ting function in one graph, you can display the current state of the
   fit.

   Once [1mfit [22mhas finished, the [1msave fit [22mcommand may be used to store fi-
   nal values in a file for subsequent use as a parameter file.   See
   [1msave fit [22mfor details.




        [1m82.1.  Adjustable parameters[0m


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

        Adjustable parameters can be specified by a comma-separated
        list of variable names after the [1mvia [22mkeyword.  Any variable
        that is not already defined is created with an initial value of
        1.0.  However, the fit is more likely to converge rapidly if
        the variables have been previously declared with more appropri-
        ate starting values.










   GNUPLOT 5.4                                                       95


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

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

        means that the variable is treated as a 'fixed parameter', ini-
        tialized by the parameter file, but not adjusted by [1mfit[22m.  For
        clarity, it may be useful to designate variables as fixed pa-
        rameters so that their values are reported by [1mfit[22m.  The keyword
        [1m# FIXED [22mhas to appear in exactly this form.




        [1m82.2.  Short introduction[0m


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

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

        For linear least-squares (LLS), the user-defined function will
        be a sum of simple functions, not involving any parameters,
        each multiplied by one parameter.  NLLS handles more compli-
        cated functions in which parameters can be used in a large num-
        ber of ways.  An example that illustrates the difference be-
        tween linear and nonlinear least-squares is the Fourier series.
        One member may be written as
             z=a*sin(c*x) + b*cos(c*x).










   GNUPLOT 5.4                                                       96


        If a and b are the unknown parameters and c is constant, then
        estimating values of the parameters is a linear least-squares
        problem.  However, if c is an unknown parameter, the problem is
        nonlinear.

        In the linear case, parameter values can be determined by com-
        paratively simple linear algebra, in one direct step.  However
        LLS is a special case which is also solved along with more gen-
        eral NLLS problems by the iterative procedure that [1mgnuplot[0m
        uses.  [1mfit [22mattempts to find the minimum by doing a search.
        Each step (iteration) calculates WSSR with a new set of parame-
        ter values.  The Marquardt-Levenberg algorithm selects the pa-
        rameter values for the next iteration.  The process continues
        until a preset criterion is met, either (1) the fit has "con-
        verged" (the relative change in WSSR is less than a certain
        limit, see [1mset fit limit[22m), or (2) it reaches a preset iteration
        count limit (see [1mset fit maxiter[22m).  The fit may also be inter-
        rupted and subsequently halted from the keyboard (see [1mfit[22m).
        The user variable FIT_CONVERGED contains 1 if the previous fit
        command terminated due to convergence; it contains 0 if the
        previous fit terminated for any other reason. FIT_NITER con-
        tains the number of iterations that were done during the last
        fit.

        Often the function to be fitted will be based on a model (or
        theory) that attempts to describe or predict the behaviour of
        the data.  Then [1mfit [22mcan be used to find values for the free pa-
        rameters of the model, to determine how well the data fits the
        model, and to estimate an error range for each parameter.  See
        [1mfit error_estimates[22m.

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

        However, if all you really want is a smooth curve through your
        data points, the [1msmooth [22moption to [1mplot [22mmay be what you've been
        looking for rather than [1mfit[22m.



        [1m82.3.  Error estimates[0m


        In [1mfit[22m, the term "error" is used in two different contexts,
        data error estimates and parameter error estimates.

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










   GNUPLOT 5.4                                                       97


        deviation of each data point from the fitted function has on
        the final values.  Some of the [1mfit [22moutput information, includ-
        ing the parameter error estimates, is more meaningful if accu-
        rate data error estimates have been provided.

        The [1mstatistical overview [22mdescribes some of the [1mfit [22moutput and
        gives some background for the 'practical guidelines'.




             [1m82.3.1.  Statistical overview[0m


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

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

             At the conclusion [1mfit [22mreports 'stdfit', the standard devi-
             ation of the fit, which is the rms of the residuals, and
             the variance of the residuals, also called 'reduced
             chisquare' when the data points are weighted.  The number
             of degrees of freedom (the number of data points minus the
             number of fitted parameters) is used in these estimates
             because the parameters used in calculating the residuals
             of the datapoints were obtained from the same data.  If
             the data points have weights, [1mgnuplot [22mcalculates the so-
             called p-value, i.e. one minus the cumulative distribution
             function of the chisquare-distribution for the number of
             degrees of freedom and the resulting chisquare, see [1mprac-[0m
             [1mtical_guidelines[22m.  These values are exported to the vari-
             ables










   GNUPLOT 5.4                                                       98


                   FIT_NDF = Number of degrees of freedom
                   FIT_WSSR = Weighted sum-of-squares residual
                   FIT_STDFIT = sqrt(WSSR/NDF)
                   FIT_P = p-value

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

             Rather than determine confidence intervals, [1mfit [22mreports
             parameter error estimates which are readily obtained from
             the variance-covariance matrix after the final iteration.
             By convention, these estimates are called "standard er-
             rors" or "asymptotic standard errors", since they are cal-
             culated in the same way as the standard errors (standard
             deviation of each parameter) of a linear least-squares
             problem, even though the statistical conditions for desig-
             nating the quantity calculated to be a standard deviation
             are not generally valid for the NLLS problem.  The asymp-
             totic standard errors are generally over-optimistic and
             should not be used for determining confidence levels, but
             are useful for qualitative purposes.

             The final solution also produces a correlation matrix in-
             dicating correlation of parameters in the region of the
             solution; The main diagonal elements, autocorrelation, are
             always 1; if all parameters were independent, the off-di-
             agonal elements would be nearly 0.  Two variables which
             completely compensate each other would have an off-diago-
             nal element of unit magnitude, with a sign depending on
             whether the relation is proportional or inversely propor-
             tional.  The smaller the magnitudes of the off-diagonal
             elements, the closer the estimates of the standard devia-
             tion of each parameter would be to the asymptotic standard
             error.



             [1m82.3.2.  Practical guidelines[0m


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

             Weighting the data provides a basis for interpreting the
             additional [1mfit [22moutput after the last iteration.  Even if
             you weight each point equally, estimating an average










   GNUPLOT 5.4                                                       99


             standard deviation rather than using a weight of 1 makes
             WSSR a dimensionless variable, as chisquare is by defini-
             tion.

             Each fit iteration will display information which can be
             used to evaluate the progress of the fit.  (An '*' indi-
             cates that it did not find a smaller WSSR and is trying
             again.)  The 'sum of squares of residuals', also called
             'chisquare', is the WSSR between the data and your fitted
             function; [1mfit [22mhas minimized that.  At this stage, with
             weighted data, chisquare is expected to approach the num-
             ber of degrees of freedom (data points minus parameters).
             The WSSR can be used to calculate the reduced chisquare
             (WSSR/ndf) or stdfit, the standard deviation of the fit,
             sqrt(WSSR/ndf).  Both of these are reported for the final
             WSSR.

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

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

             A reduced chisquare much larger than 1.0 may be due to in-
             correct data error estimates, data errors not normally
             distributed, systematic measurement errors, 'outliers', or
             an incorrect model function.  A plot of the residuals,
             e.g., [1mplot 'datafile' using 1:($2-f($1))[22m, may help to show
             any systematic trends.  Plotting both the data points and
             the function may help to suggest another model.

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

             The p-value of the fit is one minus the cumulative distri-
             bution function of the chisquare-distribution for the num-
             ber of degrees of freedom and the resulting chisquare.
             This can serve as a measure of the goodness-of-fit.  The
             range of the p-value is between zero and one.  A very
             small or large p-value indicates that the model does not
             describe the data and its errors well.  As described










   GNUPLOT 5.4                                                      100


             above, this might indicate a problem with the data, its
             errors or the model, or a combination thereof.  A small p-
             value might indicate that the errors have been underesti-
             mated and the errors of the final parameters should thus
             be scaled. See also [1mset fit errorscaling[22m.

             You'll have to get used to both [1mfit [22mand the kind of prob-
             lems you apply it to before you can relate the standard
             errors to some more practical estimates of parameter un-
             certainties or evaluate the significance of the correla-
             tion matrix.

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



        [1m82.4.  Control[0m


        There are a number of environment variables that can be defined
        to affect [1mfit [22mbefore starting [1mgnuplot[22m, see [1mfit control environ-[0m
        [1mment[22m. At run time adjustments to the [1mfit [22mcommand operation can
        be controlled by [1mset fit[22m.  See [1mfit control variables[22m.




             [1m82.4.1.  Control variables[0m


             DEPRECATED in version 5.  These user variables used to af-
             fect fit behaviour.

                 FIT_LIMIT - use `set fit limit <epsilon>`
                 FIT_MAXITER - use `set fit maxiter <number_of_cycles>`
                 FIT_START_LAMBDA - use `set fit start-lambda <value>`
                 FIT_LAMBDA_FACTOR - use `set fit lambda-factor
             <value>`
                 FIT_SKIP - use the datafile `every` modifier
                 FIT_INDEX - See `fit multi-branch`




             [1m82.4.2.  Environment variables[0m













   GNUPLOT 5.4                                                      101


             The environment variables must be defined before [1mgnuplot[0m
             is executed; how to do so depends on your operating sys-
             tem.

                   FIT_LOG
             changes the name (and/or path) of the file to which the
             fit log will be written from the default of "fit.log" in
             the working directory. The default value can be overwrit-
             ten using the command [1mset fit logfile[22m.

                   FIT_SCRIPT
             specifies a command that may be executed after an user in-
             terrupt. The default is [1mreplot[22m, but a [1mplot [22mor [1mload [22mcommand
             may be useful to display a plot customized to highlight
             the progress of the fit. This setting can also be changed
             using [1mset fit script[22m.



        [1m82.5.  Multi-branch[0m


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

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

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

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



        [1m82.6.  Starting values[0m













   GNUPLOT 5.4                                                      102


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

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

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

        Of course finding a nice-looking fit does not prove there is no
        "better" fit (in either a statistical sense, characterized by
        an improved goodness-of-fit criterion, or a physical sense,
        with a solution more consistent with the model.)  Depending on
        the problem, it may be desirable to [1mfit [22mwith various sets of
        starting values, covering a reasonable range for each parame-
        ter.



        [1m82.7.  Tips[0m


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

        The two forms of the [1mvia [22margument to [1mfit [22mserve two largely dis-
        tinct purposes.  The [1mvia "file" [22mform is best used for (possibly
        unattended) batch operation, where you supply the starting pa-
        rameter values in a file.

        The [1mvia var1, var2, ... [22mform is best used interactively, where
        the command history mechanism may be used to edit the list of
        parameters to be fitted or to supply new startup values for the
        next try.  This is particularly useful for hard problems, where
        a direct fit to all parameters at once won't work without good
        starting values.  To find such, you can iterate several times,
        fitting only some of the parameters, until the values are close
        enough to the goal that the final fit to all parameters at once










   GNUPLOT 5.4                                                      103


        will work.

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

        A technical issue: The larger the ratio of the largest and the
        smallest absolute parameter values, the slower the fit will
        converge.  If the ratio is close to or above the inverse of the
        machine floating point precision, it may take next to forever
        to converge, or refuse to converge at all.  You will either
        have to adapt your function to avoid this, e.g., replace 'pa-
        rameter' by '1e9*parameter' in the function definition, and di-
        vide the starting value by 1e9 or use [1mset fit prescale [22mwhich
        does this internally according to the parameter starting val-
        ues.

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

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

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

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



   [1m83.  Help[0m


   The [1mhelp [22mcommand displays built-in help. To specify information on a
   particular topic use the syntax:











   GNUPLOT 5.4                                                      104


         help {<topic>}

   If <topic> is not specified, a short message is printed about [1mgnu-[0m
   [1mplot[22m.  After help for the requested topic is given, a menu of
   subtopics is given; help for a subtopic may be requested by typing
   its name, extending the help request.  After that subtopic has been
   printed, the request may be extended again or you may go back one
   level to the previous topic.  Eventually, the [1mgnuplot [22mcommand line
   will return.

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



   [1m84.  History[0m


   The [1mhistory [22mcommand prints or saves previous commands in the history
   list, or reexecutes a previous entry in the list.  To modify the be-
   havior of this command, see [1mset history[22m.

   Input lines with [1mhistory [22mas their first command are not stored in
   the command history.

   Examples:

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



   [1m85.  If[0m













   GNUPLOT 5.4                                                      105


   New syntax:
         if (<condition>) { <commands>;
                <commands>
                <commands>
         } else {
                <commands>
         }
   Old syntax:
         if (<condition>) <command-line> [; else if (<condition>) ...;
   else ...]

   This version of gnuplot supports block-structured if/else state-
   ments. If the keyword [1mif [22mor [1melse [22mis immediately followed by an open-
   ing "{", then conditional execution applies to all statements, pos-
   sibly on multiple input lines, until a matching "}" terminates the
   block.  If commands may be nested.

   The old single-line if/else syntax is still supported, but can not
   be mixed with the new block-structured syntax.  See [1mif-old[22m.




        [1m85.1.  If-old[0m


        Through gnuplot version 4.4, the scope of the if/else commands
        was limited to a single input line. Now a multi-line clause may
        be enclosed in curly brackets.  The old syntax is still honored
        but cannot be used inside a bracketed clause.

        If no opening "{" follows the [1mif [22mkeyword, the command(s) in
        <command-line> will be executed if <condition> is true (non-
        zero) or skipped if <condition> is false (zero). Either case
        will consume commands on the input line until the end of the
        line or an occurrence of [1melse[22m.  Note that use of [1m; [22mto allow
        multiple commands on the same line will _not_ end the condi-
        tionalized commands.

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

        else:
              v=0
              v=v+1; if (v%2) print "2" ; else if (v%3) print "3"; else










   GNUPLOT 5.4                                                      106


        print "fred"
        (repeat the last line repeatedly!)



   [1m86.  For[0m


   The [1mplot[22m, [1msplot[22m, [1mset [22mand [1munset [22mcommands may optionally contain an
   iteration for clause.  This has the effect of executing the basic
   command multiple times, each time re-evaluating any expressions that
   make use of the iteration control variable.  Iteration of arbitrary
   command sequences can be requested using the [1mdo [22mcommand.  Two forms
   of iteration clause are currently supported:

         for [intvar = start:end{:increment}]
         for [stringvar in "A B C D"]

   Examples:

         plot for [filename in "A.dat B.dat C.dat"] filename using 1:2
   with lines
         plot for [basename in "A B C"] basename.".dat" using 1:2 with
   lines
         set for [i = 1:10] style line i lc rgb "blue"
         unset for [tag = 100:200] label tag

   Nested iteration is supported:

         set for [i=1:9] for [j=1:9] label i*10+j sprintf("%d",i*10+j)
   at i,j

   See additional documentation for [1miteration[22m, [1mdo[22m.



   [1m87.  Import[0m


   The [1mimport [22mcommand associates a user-defined function name with a
   function exported by an external shared object.  This constitutes a
   plugin mechanism that extends the set of functions available in gnu-
   plot.

   Syntax:
         import func(x[,y,z,...]) from "sharedobj[:symbol]"

   Examples:
         # make the function myfun, exported by "mylib.so" or
   "mylib.dll"
         # available for plotting or numerical calculation in gnuplot
         import myfun(x) from "mylib"
         import myfun(x) from "mylib:myfun"    # same as above










   GNUPLOT 5.4                                                      107


         # make the function theirfun, defined in "theirlib.so" or
   "theirlib.dll"
         # available under a different name
         import myfun(x,y,z) from "theirlib:theirfun"

   The program extends the name given for the shared object by either
   ".so" or ".dll" depending on the operating system, and searches for
   it first as a full path name and then as a path relative to the cur-
   rent directory. The operating system itself may also search any di-
   rectories in LD_LIBRARY_PATH or DYLD_LIBRARY_PATH.




   [1m88.  Load[0m


   The [1mload [22mcommand executes each line of the specified input file as
   if it had been typed in interactively.  Files created by the [1msave[0m
   command can later be [1mload[22med.  Any text file containing valid com-
   mands can be created and then executed by the [1mload [22mcommand.  Files
   being [1mload[22med may themselves contain [1mload [22mor [1mcall [22mcommands.  See [1mcom-[0m
   [1mments [22mfor information about comments in commands.  To [1mload [22mwith ar-
   guments, see [1mcall[22m.

   Syntax:
         load "<input-file>"

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

   The special filename "-" may be used to [1mload [22mcommands from standard
   input.  This allows a [1mgnuplot [22mcommand file to accept some commands
   from standard input.  Please see help for [1mbatch/interactive [22mfor more
   details.

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

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

   The [1mload [22mcommand is performed implicitly on any file names given as
   arguments to [1mgnuplot[22m.  These are loaded in the order specified, and
   then [1mgnuplot [22mexits.



   [1m89.  Lower[0m













   GNUPLOT 5.4                                                      108


   See [1mraise[22m.



   [1m90.  Pause[0m


   The [1mpause [22mcommand displays any text associated with the command and
   then waits a specified amount of time or until the carriage return
   is pressed.  [1mpause [22mis especially useful in conjunction with [1mload[0m
   files.

   Syntax:
         pause <time> {"<string>"}
         pause mouse {<endcondition>}{, <endcondition>} {"<string>"}
         pause mouse close

   <time> may be any constant or floating-point expression.  [1mpause -1[0m
   will wait until a carriage return is hit, zero (0) won't pause at
   all, and a positive number will wait the specified number of sec-
   onds.  [1mpause 0 [22mis synonymous with [1mprint[22m.

   If the current terminal supports [1mmousing[22m, then [1mpause mouse [22mwill ter-
   minate on either a mouse click or on ctrl-C.  For all other termi-
   nals, or if mousing is not active, [1mpause mouse [22mis equivalent to
   [1mpause -1[22m.

   If one or more end conditions are given after [1mpause mouse[22m, then any
   one of the conditions will terminate the pause. The possible end
   conditions are [1mkeypress[22m, [1mbutton1[22m, [1mbutton2[22m, [1mbutton3[22m, [1mclose[22m, and [1many[22m.
   If the pause terminates on a keypress, then the ascii value of the
   key pressed is returned in MOUSE_KEY.  The character itself is re-
   turned as a one character string in MOUSE_CHAR. Hotkeys (bind com-
   mand) are disabled if keypress is one of the end conditions.  Zoom-
   ing is disabled if button3 is one of the end conditions.

   In all cases the coordinates of the mouse are returned in variables
   MOUSE_X, MOUSE_Y, MOUSE_X2, MOUSE_Y2.  See [1mmouse variables[22m.

   Note: Since [1mpause [22mcommunicates with the operating system rather than
   the graphics, it may behave differently with different device driv-
   ers (depending upon how text and graphics are mixed).

   Examples:
         pause -1    # Wait until a carriage return is hit
         pause 3     # Wait three seconds
         pause -1  "Hit return to continue"
         pause 10  "Isn't this pretty?  It's a cubic spline."
         pause mouse "Click any mouse button on selected data point"
         pause mouse keypress "Type a letter from A-F in the active
   window"
         pause mouse button1,keypress
         pause mouse any "Any key or button will terminate"










   GNUPLOT 5.4                                                      109


   The variant "pause mouse key" will resume after any keypress in the
   active plot window. If you want to wait for a particular key to be
   pressed, you can use a loop such as:

         print "I will resume after you hit the Tab key in the plot
   window"
         plot <something>
         pause mouse key
         while (MOUSE_KEY != 9) {
             pause mouse key
         }




        [1m90.1.  Pause mouse close[0m


        The command [1mpause mouse close [22mis a specific example of pausing
        to wait for an external event.  In this case the program waits
        for a "close" event from the plot window.  Exactly how to gen-
        erate such an event varies with your desktop environment and
        configuration, but usually you can close the plot window by
        clicking on some widget on the window border or by typing a
        hot-key sequence such as <alt><F4> or <ctrl>q.  If you are un-
        sure whether a suitable widget or hot-key is available to the
        user, you may also want to define a hot-key sequence using gnu-
        plot's own mechanism. See [1mbind[22m.

        The command sequence below may be useful when running gnuplot
        from a script rather than from the command line.

             plot <...whatever...>
             bind all "alt-End" "exit gnuplot"
             pause mouse close




   [1m91.  Plot[0m


   [1mplot [22mis the primary command for drawing plots with [1mgnuplot[22m.  It of-
   fers many different graphical representations for functions and
   data.  [1mplot [22mis used to draw 2D functions and data.  [1msplot [22mdraws 2D
   projections of 3D surfaces and data.

   Syntax:
         plot {<ranges>} <plot-element> {, <plot-element>, <plot-ele-
   ment>}

   Each plot element consists of a definition, a function, or a data
   source together with optional properties or modifiers:










   GNUPLOT 5.4                                                      110


         plot-element:
              {<iteration>}
              <definition> | {sampling-range} <function> | <data
   source>
                           | keyentry
              {axes <axes>} {<title-spec>}
              {with <style>}

   The graphical representation of each plot element is determined by
   the keyword [1mwith[22m, e.g. [1mwith lines [22mor [1mwith boxplot[22m.   See [1mplotting[0m
   [1mstyles[22m.

   The data to be plotted is either generated by a function (two func-
   tions if in parametric mode), read from a data file, or read from a
   named data block that was defined previously.  Multiple datafiles,
   data blocks, and/or functions may be plotted in a single plot com-
   mand separated by commas.  See [1mdata[22m, [1minline data[22m, [1mfunctions[22m.

   A plot-element that contains the definition of a function or vari-
   able does not create any visible output, see third example below.

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

   See also [1mshow plot[22m.




        [1m91.1.  Axes[0m


        There are four possible sets of axes available; the keyword
        <axes> is used to select the axes for which a particular line
        should be scaled.  [1mx1y1 [22mrefers to the axes on the bottom and
        left; [1mx2y2 [22mto those on the top and right; [1mx1y2 [22mto those on the
        bottom and right; and [1mx2y1 [22mto those on the top and left.
        Ranges specified on the [1mplot [22mcommand apply only to the first
        set of axes (bottom left).



        [1m91.2.  Binary[0m













   GNUPLOT 5.4                                                      111


        BINARY DATA FILES:

        It is necessary to provide the keyword [1mbinary [22mafter the file-
        name.  Adequate details of the file format must be given on the
        command line or extracted from the file itself for a supported
        binary [1mfiletype[22m.  In particular, there are two structures for
        binary files,  binary matrix format and binary general format.

        The [1mbinary matrix [22mformat contains a two dimensional array of 32
        bit IEEE float values plus an additional column and row of co-
        ordinate values.  In the [1musing [22mspecifier of a plot command,
        column 1 refers to the matrix row coordinate, column 2 refers
        to the matrix column coordinate, and column 3 refers to the
        value stored in the array at those coordinates.

        The [1mbinary general [22mformat contains an arbitrary number of col-
        umns for which information must be specified at the command
        line.  For example, [1marray[22m, [1mrecord[22m, [1mformat [22mand [1musing [22mcan indi-
        cate the size, format and dimension of data.  There are a vari-
        ety of useful commands for skipping file headers and changing
        endianess.  There are a set of commands for positioning and
        translating data since often coordinates are not part of the
        file when uniform sampling is inherent in the data.  Unlike
        reading from a text or matrix binary file, general binary does
        not treat the generated columns as 1, 2 or 3 in the [1musing [22mlist.
        Instead column 1 refers to column 1 of the file, or as speci-
        fied in the [1mformat [22mlist.

        There are global default settings for the various binary op-
        tions which may be set using the same syntax as the options
        when used as part of the [1m(s)plot <filename> binary ... [22mcommand.
        This syntax is [1mset datafile binary ...[22m.  The general rule is
        that common command-line specified parameters override file-ex-
        tracted parameters which override default parameters.

        [1mBinary matrix [22mis the default binary format when no keywords
        specific to [1mbinary general [22mare given, i.e., [1marray[22m, [1mrecord[22m, [1mfor-[0m
        [1mmat[22m, [1mfiletype[22m.

        General binary data can be entered at the command line via the
        special file name '-'.  However, this is intended for use
        through a pipe where programs can exchange binary data, not for
        keyboards.  There is no "end of record" character for binary
        data.  Gnuplot continues reading from a pipe until it has read
        the number of points declared in the [1marray [22mqualifier.  See [1mbi-[0m
        [1mnary matrix [22mor [1mbinary general [22mfor more details.

        The [1mindex [22mkeyword is not supported, since the file format al-
        lows only one surface per file.  The [1mevery [22mand [1musing [22mfilters
        are supported.  [1musing [22moperates as if the data were read in the
        above triplet form.  Binary File Splot Demo.












   GNUPLOT 5.4                                                      112


             [1m91.2.1.  General[0m


             The [1mbinary [22mkeyword appearing alone indicates a binary data
             file that contains both coordinate information describing
             a non-uniform grid and the value of each grid point (see
             [1mbinary matrix[22m).  Binary data in any other format requires
             additional keywords to describe the layout of the data.
             Unfortunately the syntax of these required additional key-
             words is convoluted.  Nevertheless the general binary mode
             is particularly useful for application programs sending
             large amounts of data to gnuplot.

             Syntax:
                   plot '<file_name>' {binary <binary list>} ...
                   splot '<file_name>' {binary <binary list>} ...

             General binary format is activated by keywords in <binary
             list> pertaining to information about file structure,
             i.e., [1marray[22m, [1mrecord[22m, [1mformat [22mor [1mfiletype[22m.  Otherwise, non-
             uniform matrix binary format is assumed.  (See [1mbinary ma-[0m
             [1mtrix [22mfor more details.)

             Gnuplot knows how to read a few standard binary file types
             that are fully self-describing, e.g. PNG images.  Type
             [1mshow datafile binary [22mat the command line for a list. Apart
             from these, you can think of binary data files as concep-
             tually the same as text data.  Each point has columns of
             information which are selected via the [1musing [22mspecifica-
             tion.  If no [1mformat [22mstring is specified, gnuplot will read
             in a number of binary values equal to the largest column
             given in the [1m<using list>[22m.  For example, [1musing 1:3 [22mwill
             result in three columns being read, of which the second
             will be ignored.  Certain plot types have an associated
             default using specification.  For example, [1mwith image [22mhas
             a default of [1musing 1[22m, while [1mwith rgbimage [22mhas a default of
             [1musing 1:2:3[22m.



             [1m91.2.2.  Array[0m


             Describes the sampling array dimensions associated with
             the binary file.  The coordinates will be generated by
             gnuplot.  A number must be specified for each dimension of
             the array.  For example, [1marray=(10,20) [22mmeans the underly-
             ing sampling structure is two-dimensional with 10 points
             along the first (x) dimension and 20 points along the sec-
             ond (y) dimension.  A negative number indicates that data
             should be read until the end of file.  If there is only
             one dimension, the parentheses may be omitted.  A colon
             can be used to separate the dimensions for multiple










   GNUPLOT 5.4                                                      113


             records.  For example, [1marray=25:35 [22mindicates there are two
             one-dimensional records in the file.



             [1m91.2.3.  Record[0m


             This keyword serves the same function as [1marray [22mand has the
             same syntax.  However, [1mrecord [22mcauses gnuplot to not gener-
             ate coordinate information.  This is for the case where
             such information may be included in one of the columns of
             the binary data file.



             [1m91.2.4.  Skip[0m


             This keyword allows you to skip sections of a binary file.
             For instance, if the file contains a 1024 byte header be-
             fore the start of the data region you would probably want
             to use
                   plot '<file_name>' binary skip=1024 ...
             If there are multiple records in the file, you may specify
             a leading offset for each. For example, to skip 512 bytes
             before the 1st record and 256 bytes before the second and
             third records
                   plot '<file_name> binary record=356:356:356
             skip=512:256:256 ...



             [1m91.2.5.  Format[0m


             The default binary format is a float.  For more flexibil-
             ity, the format can include details about variable sizes.
             For example, [1mformat="%uchar%int%float" [22massociates an un-
             signed character with the first using column, an int with
             the second column and a float with the third column.  If
             the number of size specifications is less than the great-
             est column number, the size is implicitly taken to be sim-
             ilar to the last given variable size.

             Furthermore, similar to the [1musing [22mspecification, the for-
             mat can include discarded columns via the [1m* [22mcharacter and
             have implicit repetition via a numerical repeat-field.
             For example, [1mformat="%*2int%3float" [22mcauses gnuplot to dis-
             card two ints before reading three floats.  To list vari-
             able sizes, type [1mshow datafile binary datasizes[22m.  There
             are a group of names that are machine dependent along with
             their sizes in bytes for the particular compilation.










   GNUPLOT 5.4                                                      114


             There is also a group of names which attempt to be machine
             independent.



             [1m91.2.6.  Endian[0m


             Often the endianess of binary data in the file does not
             agree with the endianess used by the platform on which
             gnuplot is running.  Several words can direct gnuplot how
             to arrange bytes.  For example [1mendian=little [22mmeans treat
             the binary file as having byte significance from least to
             greatest. The options are

                           little:  least significant to greatest sig-
             nificance
                              big:  greatest significance to least sig-
             nificance
                          default:  assume file endianess is the same
             as compiler
                      swap (swab):  Interchange the significance.  (If
             things
                                    don't look right, try this.)

             Gnuplot can support "middle" ("pdp") endian if it is com-
             piled with that option.



             [1m91.2.7.  Filetype[0m


             For some standard binary file formats gnuplot can extract
             all the necessary information from the file in question.
             As an example, "format=edf" will read ESRF Header File
             format files.  For a list of the currently supported file
             formats, type [1mshow datafile binary filetypes[22m.

             There is a special file type called [1mauto [22mfor which gnuplot
             will check if the binary file's extension is a quasi-stan-
             dard extension for a supported format.

             Command line keywords may be used to override settings ex-
             tracted from the file.  The settings from the file over-
             ride any defaults.  See [1mset datafile binary[22m.

















   GNUPLOT 5.4                                                      115


                  [1m91.2.7.1.  Avs[0m


                  [1mavs [22mis one of the automatically recognized binary
                  file types for images.  AVS is an extremely simple
                  format, suitable mostly for streaming between appli-
                  cations. It consists of 2 longs (xwidth, ywidth) fol-
                  lowed by a stream of pixels, each with four bytes of
                  information alpha/red/green/blue.



                  [1m91.2.7.2.  Edf[0m


                  [1medf [22mis one of the automatically recognized binary
                  file types for images.  EDF stands for ESRF Data For-
                  mat, and it supports both edf and ehf formats (the
                  latter means ESRF Header Format).  More information
                  on specifications can be found at

                    http://www.edfplus.info/specs



                  [1m91.2.7.3.  Png[0m


                  If gnuplot was configured to use the libgd library
                  for png/gif/jpeg output, then it can also be used to
                  read these same image types as binary files.  You can
                  use an explicit command
                        plot 'file.png' binary filetype=png
                  Or the file type will be recognized automatically
                  from the extension if you have previously requested
                        set datafile binary filetype=auto



             [1m91.2.8.  Keywords[0m


             The following keywords apply only when generating coordi-
             nates from binary data files.  That is, the control map-
             ping the individual elements of a binary array, matrix, or
             image to specific x/y/z positions.

















   GNUPLOT 5.4                                                      116


                  [1m91.2.8.1.  Scan[0m


                  A great deal of confusion can arise concerning the
                  relationship between how gnuplot scans a binary file
                  and the dimensions seen on the plot.  To lessen the
                  confusion, conceptually think of gnuplot _always_
                  scanning the binary file point/line/plane or
                  fast/medium/slow.  Then this keyword is used to tell
                  gnuplot how to map this scanning convention to the
                  Cartesian convention shown in plots, i.e., x/y/z.
                  The qualifier for scan is a two or three letter code
                  representing where point is assigned (first letter),
                  line is assigned (second letter), and plane is as-
                  signed (third letter).  For example, [1mscan=yx [22mmeans
                  the fastest, point-by-point, increment should be
                  mapped along the Cartesian y dimension and the mid-
                  dle, line-by-line, increment should be mapped along
                  the x dimension.

                  When the plotting mode is [1mplot[22m, the qualifier code
                  can include the two letters x and y.  For [1msplot[22m, it
                  can include the three letters x, y and z.

                  There is nothing restricting the inherent mapping
                  from point/line/plane to apply only to Cartesian co-
                  ordinates.  For this reason there are cylindrical co-
                  ordinate synonyms for the qualifier codes where t
                  (theta), r and z are analogous to the x, y and z of
                  Cartesian coordinates.



                  [1m91.2.8.2.  Transpose[0m


                  Shorthand notation for [1mscan=yx [22mor [1mscan=yxz[22m.  I.e. it
                  affects the assignment of pixels to scan lines during
                  input.  To instead transpose an image when it is dis-
                  played try
                       plot 'imagefile' binary filetype=auto flipx ro-
                  tate=90deg with rgbimage



                  [1m91.2.8.3.  Dx, dy, dz[0m


                  When gnuplot generates coordinates, it uses the spac-
                  ing described by these keywords.  For example [1mdx=10[0m
                  [1mdy=20 [22mwould mean space samples along the x dimension
                  by 10 and space samples along the y dimension by 20.
                  [1mdy [22mcannot appear if [1mdx [22mdoes not appear.  Similarly,










   GNUPLOT 5.4                                                      117


                  [1mdz [22mcannot appear if [1mdy [22mdoes not appear.  If the un-
                  derlying dimensions are greater than the keywords
                  specified, the spacing of the highest dimension given
                  is extended to the other dimensions.  For example, if
                  an image is being read from a file and only [1mdx=3.5 [22mis
                  given gnuplot uses a delta x and delta y of 3.5.

                  The following keywords also apply only when generat-
                  ing coordinates.  However they may also be used with
                  matrix binary files.



                  [1m91.2.8.4.  Flipx, flipy, flipz[0m


                  Sometimes the scanning directions in a binary
                  datafile are not consistent with that assumed by gnu-
                  plot.  These keywords can flip the scanning direction
                  along dimensions x, y, z.



                  [1m91.2.8.5.  Origin=[0m


                  When gnuplot generates coordinates based upon trans-
                  position and flip, it attempts to always position the
                  lower left point in the array at the origin, i.e.,
                  the data lies in the first quadrant of a Cartesian
                  system after transpose and flip.

                  To position the array somewhere else on the graph,
                  the [1morigin [22mkeyword directs gnuplot to position the
                  lower left point of the array at a point specified by
                  a tuple.  The tuple should be a double for [1mplot [22mand a
                  triple for [1msplot[22m.  For example, [1mori-[0m
                  [1mgin=(100,100):(100,200) [22mis for two records in the
                  file and intended for plotting in two dimensions. A
                  second example, [1morigin=(0,0,3.5)[22m, is for plotting in
                  three dimensions.



                  [1m91.2.8.6.  Center[0m


                  Similar to [1morigin[22m, this keyword will position the ar-
                  ray such that its center lies at the point given by
                  the tuple.  For example, [1mcenter=(0,0)[22m.  Center does
                  not apply when the size of the array is [1mInf[22m.












   GNUPLOT 5.4                                                      118


                  [1m91.2.8.7.  Rotate[0m


                  The transpose and flip commands provide some flexi-
                  bility in generating and orienting coordinates.  How-
                  ever, for full degrees of freedom, it is possible to
                  apply a rotational vector described by a rotational
                  angle in two dimensions.

                  The [1mrotate [22mkeyword applies to the two-dimensional
                  plane, whether it be [1mplot [22mor [1msplot[22m.  The rotation is
                  done with respect to the positive angle of the Carte-
                  sian plane.

                  The angle can be expressed in radians, radians as a
                  multiple of pi, or degrees.  For example, [1mro-[0m
                  [1mtate=1.5708[22m, [1mrotate=0.5pi [22mand [1mrotate=90deg [22mare equiv-
                  alent.

                  If [1morigin [22mis specified, the rotation is done about
                  the lower left sample point before translation.  Oth-
                  erwise, the rotation is done about the array [1mcenter[22m.



                  [1m91.2.8.8.  Perpendicular[0m


                  For [1msplot[22m, the concept of a rotational vector is im-
                  plemented by a triple representing the vector to be
                  oriented normal to the two-dimensional x-y plane.
                  Naturally, the default is (0,0,1).  Thus specifying
                  both rotate and perpendicular together can orient
                  data myriad ways in three-space.

                  The two-dimensional rotation is done first, followed
                  by the three-dimensional rotation.  That is, if R' is
                  the rotational 2 x 2 matrix described by an angle,
                  and P is the 3 x 3 matrix projecting (0,0,1) to
                  (xp,yp,zp), let R be constructed from R' at the upper
                  left sub-matrix, 1 at element 3,3 and zeros else-
                  where.  Then the matrix formula for translating data
                  is v' = P R v, where v is the 3 x 1 vector of data
                  extracted from the data file.  In cases where the
                  data of the file is inherently not three-dimensional,
                  logical rules are used to place the data in three-
                  space.  (E.g., usually setting the z-dimension value
                  to zero and placing 2D data in the x-y plane.)















   GNUPLOT 5.4                                                      119


        [1m91.3.  Data[0m


        Discrete data contained in a file can be displayed by specify-
        ing the name of the data file (enclosed in single or double
        quotes) on the [1mplot [22mcommand line.

        Syntax:
              plot '<file_name>' {binary <binary list>}
                                 {{nonuniform} matrix}
                                 {index <index list> | index "<name>"}
                                 {every <every list>}
                                 {skip <number-of-lines>}
                                 {using <using list>}
                                 {smooth <option>}
                                 {bins <options>}
                                 {volatile} {noautoscale}

        The modifiers [1mbinary[22m, [1mindex[22m, [1mevery[22m, [1mskip[22m, [1musing[22m, [1mbins[22m, and
        [1msmooth [22mare discussed separately.  In brief

        [1msplot [22mhas a similar syntax but does not support [1msmooth [22mor [1mbins[22m.

        The [1mnoautoscale [22mkeyword means that the points making up this
        plot will be ignored when automatically determining axis range
        limits.

        TEXT DATA FILES:

        Each non-empty line in a data file describes one data point,
        except that records beginning with [1m# [22m(and also with [1m! [22mon VMS)
        will be treated as comments and ignored.

        Depending on the plot style and options selected, from one to
        eight values are read from each line and associated with a sin-
        gle data point.  See [1musing[22m.

        The individual records on a single line of data must be sepa-
        rated by white space (one or more blanks or tabs) a special
        field separator character is is specified by the [1mset datafile[0m
        command.  A single field may itself contain white space charac-
        ters if the entire field is enclosed in a pair of double
        quotes, or if a field separator other than white space is in
        effect.  Whitespace inside a pair of double quotes is ignored
        when counting columns, so the following datafile line has three
        columns:
              1.0 "second column" 3.0

        Data may be written in exponential format with the exponent
        preceded by the letter e or E.  The fortran exponential speci-
        fiers d, D, q, and Q may also be used if the command [1mset[0m
        [1mdatafile fortran [22mis in effect.











   GNUPLOT 5.4                                                      120


        Blank records in a data file are significant.  Single blank
        records designate discontinuities in a [1mplot[22m; no line will join
        points separated by a blank records (if they are plotted with a
        line style).  Two blank records in a row indicate a break be-
        tween separate data sets.  See [1mindex[22m.

        If autoscaling has been enabled ([1mset autoscale[22m), the axes are
        automatically extended to include all datapoints, with a whole
        number of tic marks if tics are being drawn.  This has two con-
        sequences: i) For [1msplot[22m, the corner of the surface may not co-
        incide with the corner of the base.  In this case, no vertical
        line is drawn.  ii) When plotting data with the same x range on
        a dual-axis graph, the x coordinates may not coincide if the
        x2tics are not being drawn.  This is because the x axis has
        been autoextended to a whole number of tics, but the x2 axis
        has not.  The following example illustrates the problem:

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

        To avoid this, you can use the [1mnoextend [22mmodifier of the [1mset au-[0m
        [1mtoscale [22mor [1mset [axis]range [22mcommands. This turns off extension
        of the axis range to include the next tic mark.

        Label coordinates and text can also be read from a data file
        (see [1mlabels[22m).




             [1m91.3.1.  Bins[0m


             Syntax:
                  plot 'DATA' using <XCOL> {:<YCOL>} bins{=<NBINS>}
                       {binrange [<LOW>:<HIGH>]} {binwidth=<width>}

             The [1mbins [22moption to a [1mplot [22mcommand first assigns the origi-
             nal data to equal width bins on x and then plots a single
             value per bin.  The default number of bins is controlled
             by [1mset samples[22m, but this can be changed by giving an ex-
             plicit number of bins in the command.

             If no binrange is given, the range is taken from the ex-
             tremes of the x values found in 'DATA'.

             Given the range and the number of bins, bin width is cal-
             culated automatically and points are assigned to bins 0 to










   GNUPLOT 5.4                                                      121


             NBINS-1
                  BINWIDTH = (HIGH - LOW) / (NBINS-1)
                  xmin = LOW - BINWIDTH/2
                  xmax = HIGH + BINWIDTH/2
                  first bin holds points with (xmin <= x < xmin + BIN-
             WIDTH)
                  last bin holds points with (xmax-BINWIDTH <= x <
             xman)
                  each point is assigned to bin i = floor(NBINS * (x-
             xmin)/(xmax-xmin))

             Alternatively you can provide a fixed bin width, in which
             case nbins is calculated as the smallest number of bins
             that will span the range.

             On output bins are plotted or tabulated by midpoint. E.g.
             if the program calculates bin width as shown above, the x
             coordinate output for the first bin is x=LOW (not x=xmin).

             If only a single column is given in the using clause then
             each data point contributes a count of 1 to the accumula-
             tion of total counts in the bin for that x coordinate
             value.  If a second column is given then the value in that
             column is added to the accumulation for the bin.  Thus the
             following two plot command are equivalent:
                  plot 'DATA" using N bins=20
                  set samples 20
                  plot 'DATA' using (column(N)):(1)

             For related plotting styles see [1msmooth frequency [22mand
             [1msmooth kdensity[22m.



             [1m91.3.2.  Columnheaders[0m


             Extra lines at the start of a data file may be explicitly
             ignored using the [1mskip [22mkeyword in the plot command. A sin-
             gle additional line containing text column headers may be
             present.  It is skipped automatically if the plot command
             refers explicitly to column headers, e.g. by using them
             for titles.  Otherwise you may need to skip it explicitly
             either by adding one to the skip count or by setting the
             attribute [1mset datafile columnheaders[22m.  See [1mskip[22m, [1mcolumn-[0m
             [1mhead[22m, [1mautotitle columnheader[22m, [1mset datafile[22m.



             [1m91.3.3.  Csv files[0m













   GNUPLOT 5.4                                                      122


             Syntax:
                  set datafile separator {whitespace | tab | comma |
             "chars"}

             "csv" is short for "comma-separated values". The term "csv
             file" is loosely applied to files in which data fields are
             delimited by a specific character, not necessarily a
             comma.  To read data from a csv file you must tell gnuplot
             what the field-delimiting character is.  For instance to
             read from a file using semicolon as a field delimiter:

                  set datafile separator ";"

             See [1mset datafile separator[22m.  This applies only to files
             used for input.  To create a csv file on output, use the
             corresponding [1mseparator [22moption to [1mset table[22m.



             [1m91.3.4.  Every[0m


             The [1mevery [22mkeyword allows a periodic sampling of a data set
             to be plotted.

             For ordinary files a "point" single record (line); a
             "block" of data is a set of consecutive records with blank
             lines before and after the block.

             For matrix data a "block" and "point" correspond to "row"
             and "column".  See [1mmatrix every[22m.

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

             The data points to be plotted are selected according to a
             loop from <[1mstart_point[22m> to <[1mend_point[22m> with increment
             <[1mpoint_incr[22m> and the blocks according to a loop from
             <[1mstart_block[22m> to <[1mend_block[22m> with increment <[1mblock_incr[22m>.

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

             Note that records containing unplottable information are
             counted.

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










   GNUPLOT 5.4                                                      123


             and the end values to the last point or block. ':' at the
             end of the [1mevery [22moption is not permitted.  If [1mevery [22mis not
             specified, all points in all lines are plotted.

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

             See simple plot demos (simple.dem) , Non-parametric splot
             demos , and Parametric splot demos .



             [1m91.3.5.  Example datafile[0m


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

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

             The file "population.dat" might contain:

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

             Binary examples:

                   # Selects two float values (second one implicit)
             with a float value
                   # discarded between them for an indefinite length of
             1D data.
                   plot '<file_name>' binary format="%float%*float" us-
             ing 1:2 with lines

                   # The data file header contains all details neces-
             sary for creating
                   # coordinates from an EDF file.
                   plot '<file_name>' binary filetype=edf with image
                   plot '<file_name>.edf' binary filetype=auto with im-
             age











   GNUPLOT 5.4                                                      124


                   # Selects three unsigned characters for components
             of a raw RGB image
                   # and flips the y-dimension so that typical image
             orientation (start
                   # at top left corner) translates to the Cartesian
             plane.  Pixel
                   # spacing is given and there are two images in the
             file.  One of them
                   # is translated via origin.
                   plot '<file_name>' binary ar-
             ray=(512,1024):(1024,512) format='%uchar' \
                        dx=2:1 dy=1:2 origin=(0,0):(1024,1024) flipy u
             1:2:3 w rgbimage

                   # Four separate records in which the coordinates are
             part of the
                   # data file.  The file was created with a endianess
             different from
                   # the system on which gnuplot is running.
                   splot '<file_name>' binary record=30:30:29:26 en-
             dian=swap u 1:2:3

                   # Same input file, but this time we skip the 1st and
             3rd records
                   splot '<file_name>' binary record=30:26 skip=360:348
             endian=swap u 1:2:3


             See also [1mbinary matrix[22m.



             [1m91.3.6.  Index[0m


             The [1mindex [22mkeyword allows you to select specific data sets
             in a multi-data-set file for plotting.

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

             Data sets are separated by pairs of blank records.  [1mindex[0m
             [1m<m> [22mselects only set <m>; [1mindex <m>:<n> [22mselects sets in
             the range <m> to <n>; and [1mindex <m>:<n>:<p> [22mselects in-
             dices <m>, <m>+<p>, <m>+2<p>, etc., but stopping at <n>.
             Following C indexing, the index 0 is assigned to the first
             data set in the file.  Specifying too large an index re-
             sults in an error message.  If <p> is specified but <n> is
             left blank then every <p>-th dataset is read until the end
             of the file.  If [1mindex [22mis not specified, the entire file
             is plotted as a single data set.

             Example:










   GNUPLOT 5.4                                                      125


                   plot 'file' index 4:5

             For each point in the file, the index value of the data
             set it appears in is available via the pseudo-column [1mcol-[0m
             [1mumn(-2)[22m.  This leads to an alternative way of distinguish-
             ing individual data sets within a file as shown below.
             This is more awkward than the [1mindex [22mcommand if all you are
             doing is selecting one data set for plotting, but is very
             useful if you want to assign different properties to each
             data set.  See [1mpseudocolumns[22m, [1mlc variable[22m.

             Example:
                   plot 'file' using 1:(column(-2)==4 ? $2 : NaN)
             # very awkward
                   plot 'file' using 1:2:(column(-2)) linecolor vari-
             able # very useful!

             [1mindex '<name>' [22mselects the data set with name '<name>'.
             Names are assigned to data sets in comment lines.  The
             comment character and leading white space are removed from
             the comment line.  If the resulting line starts with
             <name>, the following data set is now named <name> and can
             be selected.

             Example:
                   plot 'file' index 'Population'

             Please note that every comment that starts with <name>
             will name the following data set.  To avoid problems it
             may be useful to choose a naming scheme like '== Popula-
             tion ==' or '[Population]'.




             [1m91.3.7.  Skip[0m


             The [1mskip [22mkeyword tells the program to skip lines at the
             start of a text (i.e. not binary) data file.  The lines
             that are skipped do not count toward the line count used
             in processing the [1mevery [22mkeyword.  Note that [1mskip N [22mskips
             lines only at the start of the file, whereas [1mevery ::N[0m
             skips lines at the start of every block of data in the
             file.  See also [1mbinary skip [22mfor a similar option that ap-
             plies to binary data files.



             [1m91.3.8.  Smooth[0m













   GNUPLOT 5.4                                                      126


             [1mgnuplot [22mincludes a few general-purpose routines for fil-
             tering, interpolation and grouping data as it is input;
             these are grouped under the [1msmooth [22moption.  More sophisti-
             cated data processing may be performed by preprocessing
             the data externally or by using [1mfit [22mwith an appropriate
             model.

             Syntax:
                   smooth {unique | frequency | fnormal | cumulative |
             cnormal | bins
                                  | kdensity {bandwidth} {period}
                                  | csplines | acsplines | mcsplines |
             bezier | sbezier
                                  | unwrap | zsort}

             The [1munique[22m, [1mfrequency[22m, [1mfnormal[22m, [1mcumulative [22mand [1mcnormal[0m
             sort the data on x and then plot some aspect of the dis-
             tribution of x values.

             The spline and Bezier options determine coefficients de-
             scribing a continuous curve between the endpoints of the
             data. This curve is then plotted in the same manner as a
             function, that is, by finding its value at uniform inter-
             vals along the abscissa (see [1mset samples[22m) and connecting
             these points with straight line segments. If the data set
             is interrupted by blank lines or undefined values a sepa-
             rate continuous curve is fit for each uninterrupted subset
             of the data.  Adjacent separately fit segments may be sep-
             arated by a gap or discontinuity.

             [1munwrap [22mmanipulates the data to avoid jumps of more than pi
             by adding or subtracting multiples of 2*pi.

             [1mzsort [22muses a 3rd column of input to sort points prior to
             plotting.

             If [1mautoscale [22mis in effect, axis ranges will be computed
             for the final curve rather than for the original data.

             If [1mautoscale [22mis not in effect, and a spline curve is being
             generated, sampling of the spline fit is done across the
             intersection of the x range covered by the input data and
             the fixed abscissa range defined by [1mset xrange[22m.

             If too few points are available to apply the requested
             smoothing operation an error message is produced.

             The [1msmooth [22moptions have no effect on function plots.















   GNUPLOT 5.4                                                      127


                  [1m91.3.8.1.  Acsplines[0m


                  The [1msmooth acsplines [22moption approximates the data
                  with a natural smoothing spline.  After the data are
                  made monotonic in x (see [1msmooth unique[22m), a curve is
                  piecewise constructed from segments of cubic polyno-
                  mials whose coefficients are found by fitting to the
                  individual data points weighted by the value, if any,
                  given in the third column of the using spec.  The de-
                  fault is equivalent to
                        plot 'data-file' using 1:2:(1.0) smooth ac-
                  splines

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

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



                  [1m91.3.8.2.  Bezier[0m


                  The [1msmooth bezier [22moption approximates the data with a
                  Bezier curve of degree n (the number of data points)
                  that connects the endpoints.



                  [1m91.3.8.3.  Bins[0m


                  [1msmooth bins [22mis the same as [1mbins[22m.  See [1mbins[22m.  For re-
                  lated plotting styles see [1msmooth frequency [22mand [1msmooth[0m
                  [1mkdensity[22m.












   GNUPLOT 5.4                                                      128


                  [1m91.3.8.4.  Csplines[0m


                  The [1msmooth csplines [22moption connects consecutive
                  points by natural cubic splines after rendering the
                  data monotonic (see [1msmooth unique[22m).



                  [1m91.3.8.5.  Mcsplines[0m


                  The [1msmooth mcsplines [22moption connects consecutive
                  points by cubic splines constrained such that the
                  smoothed function preserves the monotonicity and con-
                  vexity of the original data points.  This reduces the
                  effect of outliers.  FN Fritsch & RE Carlson (1980)
                  "Monotone Piecewise Cubic Interpolation", SIAM Jour-
                  nal on Numerical Analysis 17: 238246.



                  [1m91.3.8.6.  Sbezier[0m


                  The [1msmooth sbezier [22moption first renders the data
                  monotonic ([1munique[22m) and then applies the [1mbezier [22malgo-
                  rithm.



                  [1m91.3.8.7.  Unique[0m


                  The [1msmooth unique [22moption makes the data monotonic in
                  x; points with the same x-value are replaced by a
                  single point having the average y-value.  The result-
                  ing points are then connected by straight line seg-
                  ments.



                  [1m91.3.8.8.  Unwrap[0m


                  The [1msmooth unwrap [22moption modifies the input data so
                  that any two successive points will not differ by
                  more than pi; a point whose y value is outside this
                  range will be incremented or decremented by multiples
                  of 2pi until it falls within pi of the previous
                  point. This operation is useful for making wrapped
                  phase measurements continuous over time.











   GNUPLOT 5.4                                                      129


                  [1m91.3.8.9.  Frequency[0m


                  The [1msmooth frequency [22moption makes the data monotonic
                  in x; points with the same x-value are replaced by a
                  single point having the summed y-values.  To plot a
                  histogram of the number of data values in equal size
                  bins, set the y-value to 1.0 so that the sum is a
                  count of occurrences in that bin.  This is done im-
                  plicitly if only a single column is provided.  Exam-
                  ple:
                       binwidth = <something>  # set width of x values
                  in each bin
                       bin(val) = binwidth * floor(val/binwidth)
                       plot "datafile" using (bin(column(1))):(1.0)
                  smooth frequency
                       plot "datafile" using (bin(column(1))) smooth
                  frequency  # same result
                  See also smooth.dem



                  [1m91.3.8.10.  Fnormal[0m


                  The [1msmooth fnormal [22moption work just like the [1mfre-[0m
                  [1mquency [22moption, but produces a normalized histogram.
                  It makes the data monotonic in x and normalises the
                  y-values so they all sum to 1. Points with the same
                  x-value are replaced by a single point containing the
                  sumed y-values. To plot a histogram of the number of
                  data values in equal size bins, set the y-value to
                  1.0 so that the sum is a count of occurrences in that
                  bin. This is done implicitly if only a single column
                  is provided.  See also smooth.dem



                  [1m91.3.8.11.  Cumulative[0m


                  The [1msmooth cumulative [22moption makes the data monotonic
                  in x; points with the same x-value are replaced by a
                  single point containing the cumulative sum of y-val-
                  ues of all data points with lower x-values (i.e. to
                  the left of the current data point). This can be used
                  to obtain a cumulative distribution function from
                  data.  See also smooth.dem















   GNUPLOT 5.4                                                      130


                  [1m91.3.8.12.  Cnormal[0m


                  The [1msmooth cnormal [22moption makes the data monotonic in
                  x and normalises the y-values onto the range [0:1].
                  Points with the same x-value are replaced by a single
                  point containing the cumulative sum of y-values of
                  all data points with lower x-values (i.e. to the left
                  of the current data point) divided by the total sum
                  of all y-values. This can be used to obtain a nor-
                  malised cumulative distribution function from data
                  (useful when comparing sets of samples with differing
                  numbers of members).  See also smooth.dem




                  [1m91.3.8.13.  Kdensity[0m


                  The [1msmooth kdensity [22moption generates and plots a ker-
                  nel density estimate using Gaussian kernels for the
                  distribution from which a set of values was drawn.
                  Values are taken from the first data column, optional
                  weights are taken from the second column.  A Gaussian
                  is placed at the location of each point and the sum
                  of all these Gaussians is plotted as a function.  To
                  obtain a normalized histogram, each weight should be
                  1/number-of-points.

                  Bandwidth: By default gnuplot calculates and uses the
                  bandwidth which would be optimal for normally dis-
                  tributed data values.
                       default_bandwidth = sigma * (4/3N) ** (0.2)
                  This will usually be a very conservative, i.e. broad
                  bandwidth.  Alternatively, you can provide an ex-
                  plicit bandwidth.
                       plot $DATA smooth kdensity bandwidth <value>
                  with boxes
                  The bandwidth used in the previous plot is stored in
                  GPVAL_KDENSITY_BANDWIDTH.

                  Period: For periodic data individual Gaussian compo-
                  nents should be treated as repeating at intervals of
                  one period.  One example is data measured as a func-
                  tion of angle, where the period is 2pi.  Another ex-
                  ample is data indexed by day-of-year and measured
                  over multiple years, where the period is 365.  In
                  such cases the period should be provided in the plot
                  command:
                       plot $ANGULAR_DAT smooth kdensity period 2*pi
                  with lines











   GNUPLOT 5.4                                                      131


                  [1m91.3.8.14.  Zsort[0m


                  Syntax
                       plot FOO using x:y:z:color smooth zsort with
                  points lc palette
                  The intended use is to filter presentation of 2D
                  scatter plots with a huge number of points so that
                  the distribution of high-scoring points remains evi-
                  dent. Sorting the points on z guarantees that points
                  with a high z-value will not be obscured by points
                  with lower z-values.  Limited to plot style "with
                  points".




             [1m91.3.9.  Special-filenames[0m


             There are a few filenames that have a special meaning:
             '', '-', '+' and '++'.

             The empty filename '' tells gnuplot to re-use the previous
             input file in the same plot command. So to plot two col-
             umns from the same input file:

                   plot 'filename' using 1:2, '' using 1:3

             The filename can also be reused over subsequent plot com-
             mands, however [1msave [22mthen only records the name in a com-
             ment.

             The special filenames '+' and '++' are a mechanism to al-
             low the full range of [1musing [22mspecifiers and plot styles
             with inline functions.  Normally a function plot can only
             have a single y (or z) value associated with each sampled
             point.  The pseudo-file '+' treats the sampled points as
             column 1, and allows additional column values to be speci-
             fied via a [1musing [22mspecification, just as for a true input
             file. The number of samples is controlled via [1mset samples[22m.
             By default samples are generated over the range given by
             [1mset trange[22m, or if trange has not been set than over the
             full range of [1mset xrange[22m.

             Note: The use of trange is a change from previous gnuplot
             versions. It allows the sampling range to differ from the
             x axis range.

                   plot '+' using ($1):(sin($1)):(sin($1)**2) with
             filledcurves

             An independent sampling range can be provided immediately










   GNUPLOT 5.4                                                      132


             before the '+'. As in normal function plots, a name can be
             assigned to the independent variable.  If given for the
             first plot element, the sampling range specifier has to be
             preceded by the [1msample [22mkeyword (see also [1mplot sampling[22m).

                   plot sample [beta=0:2*pi] '+' using
             (sin(beta)):(cos(beta)) with lines

             Additionally, the range specifier of '+' supports giving a
             sampling increment.

                   plot $MYDATA, [t=-3:25:1] '+' using (t):(f(t))

             The pseudo-file '++' returns 2 columns of data forming a
             regular grid of [u,v] coordinates with the number of
             points along u controlled by [1mset samples [22mand the number of
             points along v controlled by [1mset isosamples[22m.  You must set
             urange and vrange before plotting '++'.  However the x and
             y ranges can be autoscaled or can be explicitly set to
             different values than urange and vrange.  Use of u and v
             to sample '++' is a CHANGE introduced in version 5.2 Exam-
             ples:

                   splot '++' using 1:2:(sin($1)*sin($2)) with pm3d
                   plot '++' using 1:2:(sin($1)*sin($2)) with image

             The special filename [1m'-' [22mspecifies that the data are in-
             line; i.e., they follow the command.  Only the data follow
             the command; [1mplot [22moptions like filters, titles, and line
             styles remain on the [1mplot [22mcommand line.  This is similar
             to << in unix shell script, and $DECK in VMS DCL.  The
             data are entered as though they are being read from a
             file, one data point per record.  The letter "e" at the
             start of the first column terminates data entry.

             [1m'-' [22mis intended for situations where it is useful to have
             data and commands together, e.g. when both are piped to
             [1mgnuplot [22mfrom another application.  Some of the demos, for
             example, might use this feature.  While [1mplot [22moptions such
             as [1mindex [22mand [1mevery [22mare recognized, their use forces you to
             enter data that won't be used.  For all but the simplest
             cases it is probably easier to first define a datablock
             and then read from it rather than from [1m'-'[22m.  See [1mdat-[0m
             [1mablocks[22m.

             If you use [1m'-' [22mwith [1mreplot[22m, you may need to enter the data
             more than once.  See [1mreplot[22m, [1mrefresh[22m.  Here again it may
             be better to use a datablock.

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

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










   GNUPLOT 5.4                                                      133


             '' using 1:4

             (If you use both [1m'-' [22mand [1m'' [22mon the same [1mplot [22mcommand,
             you'll need to have two sets of inline data, as in the ex-
             ample above.)




             [1m91.3.10.  Piped-data[0m


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

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

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

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

             While this approach is most flexible, it is possible to
             achieve simple filtering with the [1musing [22mkeyword.

             On systems with an fdopen() function, data can be read
             from an arbitrary file descriptor attached to either a
             file or pipe.  To read from file descriptor [1mn [22muse [1m'<&n'[22m.
             This allows you to easily pipe in several data files in a
             single call from a POSIX shell:

                   $ gnuplot -p -e "plot '<&3', '<&4'" 3<data-3
             4<data-4
                   $ ./gnuplot 5< <(myprogram -with -options)
                   gnuplot> plot '<&5'




             [1m91.3.11.  Using[0m


             The most common datafile modifier is [1musing[22m.  It tells the
             program which columns of data in the input file are to be
             plotted.










   GNUPLOT 5.4                                                      134


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

             If a format is specified, it is used to read in each
             datafile record using the C library 'scanf' function.
             Otherwise the record is interpreted as consisting of col-
             umns (fields) of data separated by whitespace (spaces
             and/or tabs), but see [1mdatafile separator[22m.

             Each <entry> may be a simple column number that selects
             the value from one field of the input file, a string that
             matches a column label in the first line of a data set, an
             expression enclosed in parentheses, or a special function
             not enclosed in parentheses such as xticlabels(2).

             If the entry is an expression in parentheses, then the
             function column(N) may be used to indicate the value in
             column N. That is, column(1) refers to the first item
             read, column(2) to the second, and so on.  The special
             symbols $1, $2, ... are shorthand for column(1), column(2)
             ...  The function [1mvalid(N) [22mtests whether the value in the
             Nth column is a valid number.  If each column of data in
             the input file contains a label in the first row rather
             than a data value, this label can be used to identify the
             column on input and/or in the plot legend. The column()
             function can be used to select an input column by label
             rather than by column number.  For example, if the data
             file contains
                   Height    Weight    Age
                   val1      val1      val1
                   ...       ...       ...
             then the following plot commands are all equivalent
                   plot 'datafile' using 3:1, '' using 3:2
                   plot 'datafile' using (column("Age")):(column(1)), \
                                '' using (column("Age")):(column(2))
                   plot 'datafile' using "Age":"Height", '' using
             "Age":"Weight"

             The full string must match. Comparison is case-sensitive.
             To use column labels in the plot legend, use [1mset key au-[0m
             [1mtotitle columnhead[22m.

             In addition to the actual columns 1...N in the input data
             file, gnuplot presents data from several "pseudo-columns"
             that hold bookkeeping information.  E.g. $0 or column(0)
             returns the sequence number of this data record within a
             dataset.  Please see [1mpseudocolumns[22m.

             An empty <entry> will default to its order in the list of
             entries.  For example, [1musing ::4 [22mis interpreted as [1musing[0m
             [1m1:2:4[22m.











   GNUPLOT 5.4                                                      135


             If the [1musing [22mlist has only a single entry, that <entry>
             will be used for y and the data point number (pseudo-col-
             umn $0) is used for x; for example, "[1mplot 'file' using 1[22m"
             is identical to "[1mplot 'file' using 0:1[22m".  If the [1musing[0m
             list has two entries, these will be used for x and y.  See
             [1mset style [22mand [1mfit [22mfor details about plotting styles that
             make use of data from additional columns of input.

             'scanf' accepts several numerical specifications but [1mgnu-[0m
             [1mplot [22mrequires all inputs to be double-precision floating-
             point variables, so "%lf" is essentially the only permis-
             sible specifier.  A format string given by the user must
             contain at least one such input specifier, and no more
             than seven of them.  'scanf' expects to see white
             space---a blank, tab ("\t"), newline ("\n"), or formfeed
             ("\f")---between numbers; anything else in the input
             stream must be explicitly skipped.

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




                  [1m91.3.11.1.  Using_examples[0m


                  This creates a plot of the sum of the 2nd and 3rd
                  data against the first: The format string specifies
                  comma- rather than space-separated columns.  The same
                  result could be achieved by specifying [1mset datafile[0m
                  [1mseparator comma[22m.
                        plot 'file' using 1:($2+$3) '%lf,%lf,%lf'

                  In this example the data are read from the file "My-
                  Data" using a more complicated format:
                        plot 'MyData' using "%*lf%lf%*20[^\n]%lf"

                  The meaning of this format is:

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

                  One trick is to use the ternary [1m?: [22moperator to filter
                  data:

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

                  which plots the datum in column two against that in










   GNUPLOT 5.4                                                      136


                  column one provided the datum in column three exceeds
                  ten.  [1m1/0 [22mis undefined; [1mgnuplot [22mquietly ignores unde-
                  fined points, so unsuitable points are suppressed.
                  Or you can use the pre-defined variable NaN to
                  achieve the same result.

                  In fact, you can use a constant expression for the
                  column number, provided it doesn't start with an
                  opening parenthesis; constructs like [1musing 0+(compli-[0m
                  [1mcated expression) [22mcan be used.  The crucial point is
                  that the expression is evaluated once if it doesn't
                  start with a left parenthesis, or once for each data
                  point read if it does.

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

                  It should be noted that (a) [1mplot 'file'[22m, (b) [1mplot[0m
                  [1m'file' using 1:2[22m, and (c) [1mplot 'file' using ($1):($2)[0m
                  can be subtly different.  The exact behaviour has
                  changed in version 5.  See [1mmissing[22m.

                  It is often possible to plot a file with lots of
                  lines of garbage at the top simply by specifying

                        plot 'file' using 1:2

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



                  [1m91.3.11.2.  Pseudocolumns[0m


                  Expressions in the [1musing [22mclause of a plot statement
                  can refer to additional bookkeeping values in addi-
                  tion to the actual data values contained in the input
                  file. These are contained in "pseudocolumns".
                        column(0)   The sequential order of each point
                  within a data set.
                                    The counter starts at 0, increments
                  on each non-blank,
                                    non-comment line, and is reset by
                  two sequential blank
                                    records.  The shorthand form $0 is
                  available.










   GNUPLOT 5.4                                                      137


                        column(-1)  This counter starts at 0, incre-
                  ments on a single blank line,
                                    and is reset by two sequential
                  blank lines.
                                    This corresponds to the data line
                  in array or grid data.
                                    It can also be used to distinguish
                  separate line segments
                                    or polygons within a data set.
                        column(-2)  Starts at 0 and increments on two
                  sequential blank lines.
                                    This is the index number of the
                  current data set within a
                                    file that contains multiple data
                  sets.  See `index`.



                  [1m91.3.11.3.  Key[0m


                  The layout of certain plot styles (column-stacked
                  histograms, spider plots) is such that it would make
                  no sense to generate plot titles from a data column
                  header. Also it would make no sense to generate axis
                  tic labels from the content of a data column (e.g.
                  [1musing 2:3:xticlabels(1)[22m).  These plots styles instead
                  use the form [1musing 2:3:key(1) [22mto generate plot titles
                  for the key from the text content of a data column,
                  usually a first column of row headers.  See the exam-
                  ple given for [1mspiderplot[22m.



                  [1m91.3.11.4.  Xticlabels[0m


                  Axis tick labels can be generated via a string func-
                  tion, usually taking a data column as an argument.
                  The simplest form uses the data column itself as a
                  string. That is,  xticlabels(N) is shorthand for xti-
                  clabels(stringcolumn(N)).  This example uses the con-
                  tents of column 3 as x-axis tick labels.

                        plot 'datafile' using <xcol>:<ycol>:xticla-
                  bels(3) with <plotstyle>

                  Axis tick labels may be generated for any of the plot
                  axes: x x2 y y2 z.  The [1mticlabels(<labelcol>) [22mspeci-
                  fiers must come after all of the data coordinate
                  specifiers in the [1musing [22mportion of the command.  For
                  each data point which has a valid set of X,Y[,Z] co-
                  ordinates, the string value given to xticlabels() is










   GNUPLOT 5.4                                                      138


                  added to the list of xtic labels at the same X coor-
                  dinate as the point it belongs to. [1mxticlabels() [22mmay
                  be shortened to [1mxtic() [22mand so on.

                  Example:

                        splot "data" using
                  2:4:6:xtic(1):ytic(3):ztic(6)

                  In this example the x and y axis tic labels are taken
                  from different columns than the x and y coordinate
                  values. The z axis tics, however, are generated from
                  the z coordinate of the corresponding point.

                  Example:

                        plot "data" using 1:2:xtic( $3 > 10. ? "A" :
                  "B" )

                  This example shows the use of a string-valued func-
                  tion to generate x-axis tick labels. Each point in
                  the data file generates a tick mark on x labeled ei-
                  ther "A" or "B" depending on the value in column 3.



                  [1m91.3.11.5.  X2ticlabels[0m


                  See [1mplot using xticlabels[22m.



                  [1m91.3.11.6.  Yticlabels[0m


                  See [1mplot using xticlabels[22m.



                  [1m91.3.11.7.  Y2ticlabels[0m


                  See [1mplot using xticlabels[22m.



                  [1m91.3.11.8.  Zticlabels[0m


                  See [1mplot using xticlabels[22m.












   GNUPLOT 5.4                                                      139


                  [1m91.3.11.9.  Cbticlabels[0m


                  EXPERIMENTAL (details may change in a future release
                  version) 2D plots: colorbar labels are placed at the
                  palette coordinate used by the plot for variable col-
                  oring "lc palette z".  3D plots: colorbar labels are
                  placed at the z coordinate of the point.  Note that
                  in the case of a 3D heat map with variable color that
                  does not match z, this is probably not the correct
                  label.  See also [1mplot using xticlabels[22m.



             [1m91.3.12.  Volatile[0m


             The [1mvolatile [22mkeyword in a plot command indicates that the
             data previously read from the input stream or file may not
             be available for re-reading.  This tells the program to
             use [1mrefresh [22mrather than [1mreplot [22mcommands whenever possible.
             See [1mrefresh[22m.



        [1m91.4.  Errorbars[0m


        Error bars are supported for 2D data file plots by reading one
        to four additional columns (or [1musing [22mentries); these additional
        values are used in different ways by the various errorbar
        styles.

        In the default situation, [1mgnuplot [22mexpects to see three, four,
        or six numbers on each line of the data file---either

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

        The x coordinate must be specified.  The order of the numbers
        must be exactly as given above, though the [1musing [22mqualifier can
        manipulate the order and provide values for missing columns.
        For example,

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











   GNUPLOT 5.4                                                      140


        The last example is for a file containing an unsupported combi-
        nation of relative x and absolute y errors.  The [1musing [22mentry
        generates absolute x min and max from the relative error.

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

        The tic marks at the ends of the bar are controlled by [1mset er-[0m
        [1mrorbars[22m.

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

        See also errorbar demos.

        See [1mplot using[22m, [1mplot with[22m, and [1mset style [22mfor more information.



        [1m91.5.  Errorlines[0m


        Lines with error bars are supported for 2D data file plots by
        reading one to four additional columns (or [1musing [22mentries);
        these additional values are used in different ways by the vari-
        ous errorlines styles.

        In the default situation, [1mgnuplot [22mexpects to see three, four,
        or six numbers on each line of the data file---either

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

        The x coordinate must be specified. The order of the numbers
        must be exactly as given above, though the [1musing [22mqualifier can
        manipulate the order and provide values for missing columns.
        For example,

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










   GNUPLOT 5.4                                                      141


        xyerrorlines

        The last example is for a file containing an unsupported combi-
        nation of relative x and absolute y errors. The [1musing [22mentry
        generates absolute x min and max from the relative error.

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

        The tic marks at the ends of the bar are controlled by [1mset er-[0m
        [1mrorbars[22m.

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

        See [1mplot using[22m, [1mplot with[22m, and [1mset style [22mfor more information.



        [1m91.6.  Functions[0m


        Built-in or user-defined functions can be displayed by the [1mplot[0m
        and [1msplot [22mcommands in addition to, or instead of, data read
        from a file. The requested function is evaluated by sampling at
        regular intervals spanning the independent axis range[s]. See
        [1mset samples [22mand [1mset isosamples[22m.  Example:
              approx(ang) = ang - ang**3 / (3*2)
              plot sin(x) title "sin(x)", approx(x) title "approxima-
        tion"

        To set a default plot style for functions, see [1mset style func-[0m
        [1mtion[22m.  For information on built-in functions, see [1mexpressions[0m
        [1mfunctions[22m.  For information on defining your own functions, see
        [1muser-defined[22m.



        [1m91.7.  Parametric[0m


        When in parametric mode ([1mset parametric[22m) mathematical expres-
        sions must be given in pairs for [1mplot [22mand in triplets for
        [1msplot[22m.

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











   GNUPLOT 5.4                                                      142


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

        Other modifiers, such as [1mwith [22mand [1mtitle[22m, may be specified only
        after the parametric function has been completed:

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

        See also Parametric Mode Demos.



        [1m91.8.  Ranges[0m


        This section describes only the optional axis ranges that may
        appear as the very first items in a [1mplot [22mcommand.  If present,
        these ranges override any range limits established by a previ-
        ous [1mset range [22mstatement.  For optional ranges elsewhere in a
        [1mplot [22mcommand that limit sampling of an individual plot compo-
        nent see [1msampling[22m.

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

        The first form applies to the independent variable ([1mxrange [22mor
        [1mtrange[22m, if in parametric mode).  The second form applies to de-
        pendent variables.  <dummy-var> optionally establishes a new
        name for the independent variable.  (The default name may be
        changed with [1mset dummy[22m.)

        In non-parametric mode, ranges must be given in the order
              plot [<xrange>][<yrange>][<x2range>][<y2range>] ...

        In parametric mode, ranges must be given in the order
              plot [<trange>][<xrange>][<yrange>][<x2range>][<y2range>]
        ...
        The following [1mplot [22mcommand shows setting [1mtrange [22mto [-pi:pi],
        [1mxrange [22mto [-1.3:1.3] and [1myrange [22mto [-1:1] for the duration of
        the graph:

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

        [1m* [22mcan be used to allow autoscaling of either of min and max.
        Use an empty range [1m[] [22mas a placeholder if necessary.











   GNUPLOT 5.4                                                      143


        Ranges specified on the [1mplot [22mor [1msplot [22mcommand line affect only
        that one graph; use the [1mset xrange[22m, [1mset yrange[22m, etc., commands
        to change the default ranges for future graphs.

        The use of on-the-fly range specifiers in a plot command may
        not yield the expected result for linked axes (see [1mset link[22m).

        For time data you must provide the range in quotes, using the
        same format used to read time from the datafile.  See [1mset[0m
        [1mtimefmt[22m.

        Examples:

        This uses the current ranges:
              plot cos(x)

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

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

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

        This sets only the y range:
              plot [ ] [-2:sin(5)*-8] sin(x)**besj0(x)

        This sets xmax and ymin only:
              plot [:200] [-pi:]  $mydata using 1:2

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




        [1m91.9.  Sampling[0m






             [1m91.9.1.  1D sampling (x or t axis)[0m


             By default, computed functions or data generated for the
             pseudo-file "+" are sampled over the entire range of the
             plot as set by a prior [1mset xrange [22mcommand, by an explicit
             global range specifier at the very start of the plot or
             splot command, or by autoscaling the xrange to span data










   GNUPLOT 5.4                                                      144


             seen in all the elements of this plot.  However, individ-
             ual plot components can be assigned a more restricted sam-
             pling range.

             Examples:

             This establishes a total range on x running from 0 to 1000
             and then plots data from a file and two functions each
             spanning a portion of the total range:
                   plot [0:1000] 'datafile', [0:200] func1(x),
             [200:500] func2(x)

             This is similar except that the total range is established
             by the contents of the data file. In this case the sampled
             functions may or may not be entirely contained in the
             plot:
                   set autoscale x
                   plot 'datafile', [0:200] func1(x), [200:500]
             func2(x)

             This command is ambiguous. The initial range will be in-
             terpreted as applying to the entire plot, not solely to
             the sampling of the first function as was probably the in-
             tent:
                   plot [0:10] f(x), [10:20] g(x), [20:30] h(x)

             This command removes the ambiguity of the previous example
             by inserting the keyword [1msample [22mso that the range is not
             applied to the entire plot:
                   plot sample [0:10] f(x), [10:20] g(x), [20:30] h(x)

             This example shows one way of tracing out a helix in a 3D
             plot
                   splot [-2:2][-2:2] sample [h=1:10] '+' using
             (cos(h)):(sin(h)):(h)




             [1m91.9.2.  2D sampling (u and v axes)[0m


             Computed functions or data generated for the pseudo-file
             '++' use samples generated along the u and v axes. This is
             a CHANGE from versions prior to 5.2 which sampled along
             the x and y axes.  See [1mspecial-filenames ++[22m.  2D sampling
             can be used in either [1mplot [22mor [1msplot [22mcommands.

             Example of 2D sampling in a 2D [1mplot [22mcommand.  These com-
             mands generated the plot shown for plotstyle [1mwith vectors[22m.
             See [1mvectors[22m.
                  set urange [ -2.0 : 2.0 ]
                  set vrange [ -2.0 : 2.0 ]










   GNUPLOT 5.4                                                      145


                  plot '++' using ($1):($2):($2*0.4):(-$1*0.4) with
             vectors

             Example of 2D sampling in a 3D [1msplot [22mcommand. These com-
             mands are similar to the ones used in [1msampling.dem[22m. Note
             that the two surfaces are sampled over u and v ranges
             smaller than the full x and y ranges of the resulting
             plot.
                  set title "3D sampling range distinct from plot x/y
             range"
                  set xrange [1:100]
                  set yrange [1:100]
                  splot sample [u=30:70][v=0:50] '++' using 1:2:(u*v)
             lt 3, \
                        [u=40:80][v=30:60] '++' using
             (u):(v):(u*sqrt(v)) lt 4

             The range specifiers for sampling on u and v can include
             an explicit sampling interval to control the number and
             spacing of samples:
                  splot sample [u=30:70:1][v=0:50:5] '++' using
             1:2:(func($1,$2))




        [1m91.10.  For loops in plot command[0m


        If many similar files or functions are to be plotted together,
        it may be convenient to do so by iterating over a shared plot
        command.

        Syntax:
              plot for [<variable> = <start> : <end> {:<increment>}]
              plot for [<variable> in "string of words"]

        The scope of an iteration ends at the next comma or the end of
        the command, whichever comes first.  An exception to this is
        that definitions are grouped with the following plot item even
        if there is an intervening comma.  Note that iteration does not
        work for plots in parametric mode.

        Example:
              plot for [j=1:3] sin(j*x)

        Example:
              plot for [dataset in "apples bananas"] dataset."dat" ti-
        tle dataset

        In this example iteration is used both to generate a file name
        and a corresponding title.











   GNUPLOT 5.4                                                      146


        Example:
              file(n) = sprintf("dataset_%d.dat",n)
              splot for [i=1:10] file(i) title sprintf("dataset %d",i)

        This example defines a string-valued function that generates
        file names, and plots ten such files together. The iteration
        variable ('i' in this example) is treated as an integer, and
        may be used more than once.

        Example:
              set key left
              plot for [n=1:4] x**n sprintf("%d",n)

        This example plots a family of functions.

        Example:
              list = "apple banana cabbage daikon eggplant"
              item(n) = word(list,n)
              plot for [i=1:words(list)] item[i].".dat" title item(i)
              list = "new stuff"
              replot

        This example steps through a list and plots once per item.  Be-
        cause the items are retrieved dynamically, you can change the
        list and then replot.

        Example:
              list = "apple banana cabbage daikon eggplant"
              plot for [i in list] i.".dat" title i
              list = "new stuff"
              replot

        This example does exactly the same thing as the previous exam-
        ple, but uses the string iterator form of the command rather
        than an integer iterator.

        If an iteration is to continue until all available data is con-
        sumed, use the symbol * instead of an integer <end>.  This can
        be used to process all columns in a line,  all datasets (sepa-
        rated by 2 blank lines) in a file,  or all files matching a
        template.

        Examples:
              plot for [i=2:*] 'datafile' using 1:i with histogram
              splot for [i=0:*] 'datafile' index i using 1:2:3 with
        lines
              plot for [i=1:*] file=sprintf("File_%03d.dat",i) file us-
        ing 2 title file















   GNUPLOT 5.4                                                      147


        [1m91.11.  Title[0m


        By default each plot is listed in the key by the corresponding
        function or file name. You can give an explicit plot title in-
        stead using the [1mtitle [22moption.

        Syntax:
              title <text> | notitle [<ignored text>]
              title columnheader | title columnheader(N)
                    {at {beginning|end}} {{no}enhanced}

        where <text> is a quoted string or an expression that evaluates
        to a string.  The quotes will not be shown in the key.  Note:
        Starting with gnuplot version 5.4, if <text> is an expression
        or function it it evaluated after the corresponding function or
        data stream is plotted.  This allows the title to reference
        quantities calculated or input during plotting, which was not
        possible in earlier gnuplot versions.

        There is also an option that will interpret the first entry in
        a column of input data (i.e. the column header) as a text
        field, and use it as the key title.  See [1mdatastrings[22m.  This can
        be made the default by specifying [1mset key autotitle columnhead[22m.

        The line title and sample can be omitted from the key by using
        the keyword [1mnotitle[22m.  A null title ([1mtitle ''[22m) is equivalent to
        [1mnotitle[22m.  If only the sample is wanted, use one or more blanks
        ([1mtitle ' '[22m).  If [1mnotitle [22mis followed by a string this string is
        ignored.

        If [1mkey autotitles [22mis set (which is the default) and neither [1mti-[0m
        [1mtle [22mnor [1mnotitle [22mare specified the line title is the function
        name or the file name as it appears on the [1mplot [22mcommand.  If it
        is a file name, any datafile modifiers specified will be in-
        cluded in the default title.

        The layout of the key itself (position, title justification,
        etc.) can be controlled using [1mset key[22m.

        The [1mat [22mkeyword allows you to place the plot title somewhere
        outside the auto-generated key box. The title can be placed im-
        mediately before or after the line in the graph itself by using
        [1mat {beginning|end}[22m.  This option may be useful when plotting
        [1mwith lines [22mbut makes little sense for most other styles.

        To place the plot title at an arbitrary location on the page,
        use the form [1mat <x-position>,<y-position>[22m.  By default the po-
        sition is interpreted in screen coordinates; e.g. [1mat 0.5, 0.5[0m
        is always the middle of the screen regardless of plot axis
        scales or borders.  The format of titles placed in this way is
        still affected by key options.  See [1mset key[22m.











   GNUPLOT 5.4                                                      148


        Examples:

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

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

        Plot multiple columns of data, each of which contains its own
        title on the first line of the file.  Place the titles after
        the corresponding lines rather than in a separate key:
              unset key
              set offset 0, graph 0.1
              plot for [i=1:4] 'data' using i with lines title column-
        head at end

        Create a single key area for two separate plots:
              set key Left reverse
              set multiplot layout 2,2
              plot sin(x) with points pt 6 title "Left plot is sin(x)"
        at 0.5, 0.30
              plot cos(x) with points pt 7 title "Right plot is cos(x)"
        at 0.5, 0.27
              unset multiplot




        [1m91.12.  With[0m


        Functions and data may be displayed in one of a large number of
        styles.  The [1mwith [22mkeyword provides the means of selection.

        Syntax:
              with <style> { {linestyle | ls <line_style>}
                             | {{linetype  | lt <line_type>}
                                {linewidth | lw <line_width>}
                                {linecolor | lc <colorspec>}
                                {pointtype | pt <point_type>}
                                {pointsize | ps <point_size>}
                                {arrowstyle | as <arrowstyle_index>}
                                {fill | fs <fillstyle>} {fillcolor | fc
        <colorspec>}
                                {nohidden3d} {nocontours} {nosurface}
                                {palette}}
                           }


        where <style> is one of
             lines        dots       steps     vectors      yerrorlines
             points       impulses   fsteps    xerrorbar    xyerrorbars










   GNUPLOT 5.4                                                      149


             linespoints  labels     histeps   xerrorlines  xyerror-
        lines
             financebars  surface    arrows    yerrorbar    paralle-
        laxes
        or
             boxes         boxplot        ellipses       histograms
        rgbalpha
             boxerrorbars  candlesticks   filledcurves   image
        rgbimage
             boxxyerror    circles        fillsteps      pm3d
        polygons
             isosurface    zerrorfill
        or
             table

        The first group of styles have associated line, point, and text
        properties.  The second group of styles also have fill proper-
        ties.  See [1mfillstyle[22m.  Some styles have further sub-styles.
        See [1mplotting styles [22mfor details of each.  The [1mtable [22mstyle pro-
        duces tabular output rather than a plot. See [1mset table[22m.

        A default style may be chosen by [1mset style function [22mand [1mset[0m
        [1mstyle data[22m.

        By default, each function and data file will use a different
        line type and point type, up to the maximum number of available
        types.  All terminal drivers support at least six different
        point types, and re-use them, in order, if more are required.
        To see the complete set of line and point types available for
        the current terminal, type [1mtest[22m.

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

        You may also scale the line width and point size for a plot by
        using <line_width> and <point_size>, which are specified rela-
        tive to the default values for each terminal.  The pointsize
        may also be altered globally---see [1mset pointsize [22mfor details.
        But note that both <point_size> as set here and  as set by [1mset[0m
        [1mpointsize [22mmultiply the default point size---their effects are
        not cumulative.  That is, [1mset pointsize 2; plot x w p ps 3 [22mwill
        use points three times default size, not six.

        It is also possible to specify [1mpointsize variable [22meither as
        part of a line style or for an individual plot. In this case
        one extra column of input is required, i.e. 3 columns for a 2D
        plot and 4 columns for a 3D splot. The size of each individual
        point is determined by multiplying the global pointsize by the
        value read from the data file.











   GNUPLOT 5.4                                                      150


        If you have defined specific line type/width and point
        type/size combinations with [1mset style line[22m, one of these may be
        selected by setting <line_style> to the index of the desired
        style.

        Both 2D and 3D plots ([1mplot [22mand [1msplot [22mcommands) can use colors
        from a smooth palette set previously with the command [1mset pal-[0m
        [1mette[22m. The color value corresponds to the z-value of the point
        itself or to a separate color coordinate provided in an op-
        tional additional [1musing [22mcolymn.  Color values may be treated
        either as a fraction of the palette range ([1mpalette frac[22m) or as
        a coordinate value mapped onto the colorbox range ([1mpalette [22mor
        [1mpalette z[22m).  See [1mcolorspec[22m, [1mset palette[22m, [1mlinetype[22m.

        The keyword [1mnohidden3d [22mapplies only to plots made with the
        [1msplot [22mcommand.  Normally the global option [1mset hidden3d [22mapplies
        to all plots in the graph.  You can attach the [1mnohidden3d [22mop-
        tion to any individual plots that you want to exclude from the
        hidden3d processing.  The individual elements other than sur-
        faces (i.e. lines, dots, labels, ...) of a plot marked [1mnohid-[0m
        [1mden3d [22mwill all be drawn, even if they would normally be ob-
        scured by other plot elements.

        Similarly, the keyword [1mnocontours [22mwill turn off contouring for
        an individual plot even if the global property [1mset contour [22mis
        active.

        Similarly, the keyword [1mnosurface [22mwill turn off the 3D surface
        for an individual plot even if the global property [1mset surface[0m
        is active.

        The keywords may be abbreviated as indicated.

        Note that the [1mlinewidth[22m, [1mpointsize [22mand [1mpalette [22moptions are not
        supported by all terminals.

        Examples:

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

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

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

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

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










   GNUPLOT 5.4                                                      151


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

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

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

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

        This plots file "data" with variable pointsize read from column
        4
              plot 'data' using 1:2:4 with points pt 5 pointsize vari-
        able

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

        This plots filled curve of x*x and a color stripe:
              plot x*x with filledcurve closed, 40 with filledcurve
        y=10

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

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

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




   [1m92.  Print[0m


   The [1mprint [22mcommand prints the value of <expression> to the screen.
   It is synonymous with [1mpause 0[22m.  <expression> may be anything that
   [1mgnuplot [22mcan evaluate that produces a number, or it can be a string.

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











   GNUPLOT 5.4                                                      152


   See [1mexpressions[22m.  The output file can be set with [1mset print[22m.  See
   also [1mprinterr[22m.



   [1m93.  Printerr[0m


   [1mprinterr [22mis the same as print except that output is always sent to
   stderr even if a prior [1mset print [22mcommand remains in effect.



   [1m94.  Pwd[0m


   The [1mpwd [22mcommand prints the name of the working directory to the
   screen.

   Note that if you wish to store the current directory into a string
   variable or use it in string expressions, then you can use variable
   GPVAL_PWD, see [1mshow variables all[22m.



   [1m95.  Quit[0m


   The [1mexit [22mand [1mquit [22mcommands and END-OF-FILE character will exit [1mgnu-[0m
   [1mplot[22m.  Each of these commands will clear the output device (as does
   the [1mclear [22mcommand) before exiting.



   [1m96.  Raise[0m


   Syntax:
         raise {plot_window_id}
         lower {plot_window_id}

   The [1mraise [22mand [1mlower [22mcommands function only for a some terminal types
   and may depend also on your window manager and display preference
   settings.  An example of use is shown here
         set term wxt 123     # create first plot window
         plot $FOO
         lower                # lower the only plot window that exists
   so far
         set term wxt 456     # create 2nd plot window may occlude the
   first one
         plot $BAZ
         raise 123            # raise first plot window
   These commands are known to be unreliable.










   GNUPLOT 5.4                                                      153


   [1m97.  Refresh[0m


   The [1mrefresh [22mcommand is similar to [1mreplot[22m, with two major differ-
   ences.  [1mrefresh [22mreformats and redraws the current plot using the
   data already read in. This means that you can use [1mrefresh [22mfor plots
   with inline data (pseudo-device '-') and for plots from datafiles
   whose contents are volatile.  You cannot use the [1mrefresh [22mcommand to
   add new data to an existing plot.

   Mousing operations, in particular zoom and unzoom, will use [1mrefresh[0m
   rather than [1mreplot [22mif appropriate.  Example:

         plot 'datafile' volatile with lines, '-' with labels
         100 200 "Special point"
         e
         # Various mousing operations go here
         set title "Zoomed in view"
         set term post
         set output 'zoom.ps'
         refresh




   [1m98.  Replot[0m


   The [1mreplot [22mcommand without arguments repeats the last [1mplot [22mor [1msplot[0m
   command.  This can be useful for viewing a plot with different [1mset[0m
   options, or when generating the same plot for several devices.

   Arguments specified after a [1mreplot [22mcommand will be added onto the
   last [1mplot [22mor [1msplot [22mcommand (with an implied ',' separator) before it
   is repeated.  [1mreplot [22maccepts the same arguments as the [1mplot [22mand
   [1msplot [22mcommands except that ranges cannot be specified.  Thus you can
   use [1mreplot [22mto plot a function against the second axes if the previ-
   ous command was [1mplot [22mbut not if it was [1msplot[22m.

   N.B.---use of

         plot '-' ; ... ; replot

   is not recommended, because it will require that you type in the
   data all over again.  In most cases you can use the [1mrefresh [22mcommand
   instead, which will redraw the plot using the data previously read
   in.

   Note that in multiplot mode, [1mreplot [22mcan only reproduce the most re-
   cent component plot, not the full set.

   See also [1mcommand-line-editing [22mfor ways to edit the last [1mplot [22m([1msplot[22m)
   command.










   GNUPLOT 5.4                                                      154


   See also [1mshow plot [22mto show the whole current plotting command, and
   the possibility to copy it into the [1mhistory[22m.



   [1m99.  Reread[0m


   [DEPRECATED in version 5.4]

   This command is deprecated in favor of explicit iteration.  See [1mit-[0m
   [1merate[22m.  The [1mreread [22mcommand causes the current [1mgnuplot [22mcommand file,
   as specified by a [1mload [22mcommand, to be reset to its starting point
   before further commands are read from it.  This essentially imple-
   ments an endless loop of the commands from the beginning of the com-
   mand file to the [1mreread [22mcommand.  The [1mreread [22mcommand has no effect
   when reading interactively (from stdin).



   [1m100.  Reset[0m


        reset {bind | errors | session}

   The [1mreset [22mcommand causes all graph-related options that can be set
   with the [1mset [22mcommand to return to their default values.  This com-
   mand can be used to restore the default settings after executing a
   loaded command file, or to return to a defined state after lots of
   settings have been changed.

   The following are _not_ affected by [1mreset[22m:
        `set term` `set output` `set loadpath` `set linetype` `set fit`
        `set encoding` `set decimalsign` `set locale` `set psdir`
        `set overflow` `set multiplot`

   Note that [1mreset [22mdoes not necessarily return settings to the state
   they were in at program entry, because the default values may have
   been altered by commands in the initialization files gnuplotrc or
   $HOME/.gnuplot.  However, these commands can be re-executed by using
   the variant command [1mreset session[22m.

   [1mreset session [22mdeletes any user-defined variables and functions, re-
   stores default settings, and then re-executes the system-wide gnu-
   plotrc initialization file and any private $HOME/.gnuplot prefer-
   ences file.  See [1minitialization[22m.

   [1mreset errors [22mclears only the error state variables GPVAL_ERRNO and
   GPVAL_ERRMSG.

   [1mreset bind [22mrestores all hotkey bindings to their default state.












   GNUPLOT 5.4                                                      155


   [1m101.  Save[0m


   Syntax:
         save  {functions | variables | terminal | set | fit} '<file-
   name>'

   If no option is specified, [1mgnuplot [22msaves functions, variables, [1mset[0m
   options and the last [1mplot [22m([1msplot[22m) command.

   [1msave[22md files are written in text format and may be read by the [1mload[0m
   command. For [1msave [22mwith the [1mset [22moption or without any option, the
   [1mterminal [22mchoice and the [1moutput [22mfilename are written out as a com-
   ment, to get an output file that works in other installations of
   gnuplot, without changes and without risk of unwillingly overwriting
   files.

   [1msave terminal [22mwill write out just the [1mterminal [22mstatus, without the
   comment marker in front of it. This is mainly useful for switching
   the [1mterminal [22msetting for a short while, and getting back to the pre-
   viously set terminal, afterwards, by loading the saved [1mterminal [22msta-
   tus. Note that for a single gnuplot session you may rather use the
   other method of saving and restoring current terminal by the com-
   mands [1mset term push [22mand [1mset term pop[22m, see [1mset term[22m.

   [1msave fit [22msaves only the variables used in the most recent [1mfit [22mcom-
   mand.  The saved file may be used as a parameter file to initialize
   future fit commands using the [1mvia [22mkeyword.

   The filename must be enclosed in quotes.

   The special filename "-" may be used to [1msave [22mcommands to standard
   output.  On systems which support a popen function (Unix), the out-
   put of save can be piped through an external program by starting the
   file name with a '|'.  This provides a consistent interface to [1mgnu-[0m
   [1mplot[22m's internal settings to programs which communicate with [1mgnuplot[0m
   through a pipe.  Please see help for [1mbatch/interactive [22mfor more de-
   tails.

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
















   GNUPLOT 5.4                                                      156


   [1m102.  Set-show[0m


   The [1mset [22mcommand can be used to set _lots_ of options.  No screen is
   drawn, however, until a [1mplot[22m, [1msplot[22m, or [1mreplot [22mcommand is given.

   The [1mshow [22mcommand shows their settings;  [1mshow all [22mshows all the set-
   tings.

   Options changed using [1mset [22mcan be returned to the default state by
   giving the corresponding [1munset [22mcommand.  See also the [1mreset [22mcommand,
   which returns all settable parameters to default values.

   The [1mset [22mand [1munset [22mcommands may optionally contain an iteration
   clause.  See [1mplot for[22m.





        [1m102.1.  Angles[0m


        By default, [1mgnuplot [22massumes the independent variable in polar
        graphs is in units of radians.  If [1mset angles degrees [22mis speci-
        fied before [1mset polar[22m, then the default range is [0:360] and
        the independent variable has units of degrees.  This is partic-
        ularly useful for plots of data files.  The angle setting also
        applies to 3D mapping as set via the [1mset mapping [22mcommand.

        Syntax:
              set angles {degrees | radians}
              show angles

        The angle specified in [1mset grid polar [22mis also read and dis-
        played in the units specified by [1mset angles[22m.

        [1mset angles [22malso affects the arguments of the machine-defined
        functions sin(x), cos(x) and tan(x), and the outputs of
        asin(x), acos(x), atan(x), atan2(x), and arg(x).  It has no ef-
        fect on the arguments of hyperbolic functions or Bessel func-
        tions.  However, the output arguments of inverse hyperbolic
        functions of complex arguments are affected; if these functions
        are used, [1mset angles radians [22mmust be in effect to maintain con-
        sistency between input and output arguments.

              x={1.0,0.1}
              set angles radians
              y=sinh(x)
              print y         #prints {1.16933, 0.154051}
              print asinh(y)  #prints {1.0, 0.1}
        but
              set angles degrees










   GNUPLOT 5.4                                                      157


              y=sinh(x)
              print y         #prints {1.16933, 0.154051}
              print asinh(y)  #prints {57.29578, 5.729578}
        See also poldat.dem: polar plot using [1mset angles [22mdemo.



        [1m102.2.  Arrow[0m


        Arbitrary arrows can be placed on a plot using the [1mset arrow[0m
        command.

        Syntax:
              set arrow {<tag>} from <position> to <position>
              set arrow {<tag>} from <position> rto <position>
              set arrow {<tag>} from <position> length <coord> angle
        <ang>
              set arrow <tag> arrowstyle | as <arrow_style>
              set arrow <tag> {nohead | head | backhead | heads}
                              {size <headlength>,<headangle>{,<backan-
        gle>}} {fixed}
                              {filled | empty | nofilled | noborder}
                              {front | back}
                              {linestyle | ls <line_style>}
                              {linetype | lt <line_type>}
                              {linewidth | lw <line_width>}
                              {linecolor | lc <colorspec>}
                              {dashtype | dt <dashtype>}

              unset arrow {<tag>}
              show arrow {<tag>}

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

        The position of the first end point of the arrow is always
        specified by "from".  The other end point can be specified us-
        ing any of three different mechanisms.  The <position>s are
        specified by either x,y or x,y,z, and may be preceded by [1mfirst[22m,
        [1msecond[22m, [1mgraph[22m, [1mscreen[22m, or [1mcharacter [22mto select the coordinate
        system.  Unspecified coordinates default to 0. See [1mcoordinates[0m
        for details.  A coordinate system specifier does not carry over
        from the first endpoint description the second.

        1) "to <position>" specifies the absolute coordinates of the
        other end.

        2) "rto <position>" specifies an offset to the "from" position.










   GNUPLOT 5.4                                                      158


        For linear axes, [1mgraph [22mand [1mscreen [22mcoordinates, the distance be-
        tween the start and the end point corresponds to the given rel-
        ative coordinate.  For logarithmic axes, the relative given co-
        ordinate corresponds to the factor of the coordinate between
        start and end point.  Thus, a negative relative value or zero
        are not allowed for logarithmic axes.

        3) "length <coordinate> angle <angle>" specifies the orienta-
        tion of the arrow in the plane of the graph.  Again any of the
        coordinate systems can be used to specify the length.  The an-
        gle is always in degrees.

        Other characteristics of the arrow can either be specified as a
        pre-defined arrow style or by providing them in [1mset arrow [22mcom-
        mand.  For a detailed explanation of arrow characteristics, see
        [1marrowstyle[22m.

        Examples:

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

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

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

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

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

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

        To draw an arrow with relative end point in logarithmic x axis,
        use:
              set logscale x
              set arrow from 100,-5 rto 10,10
        This draws an arrow from 100,-5 to 1000,5. For the logarithmic
        x axis, the relative coordinate 10 means "factor 10" while for
        the linear y axis, the relative coordinate 10 means "difference
        10".

        To delete arrow number 2, use:
              unset arrow 2










   GNUPLOT 5.4                                                      159


        To delete all arrows, use:
              unset arrow

        To show all arrows (in tag order), use:
              show arrow

        arrows demos.




        [1m102.3.  Autoscale[0m


        Autoscaling may be set individually on the x, y or z axis or
        globally on all axes. The default is to autoscale all axes.  If
        you want to autoscale based on a subset of the plots in the
        figure, you can mark the other ones with the flag [1mnoautoscale[22m.
        See [1mdatafile[22m.

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

        where <axes> is either [1mx[22m, [1my[22m, [1mz[22m, [1mcb[22m, [1mx2[22m, [1my2[22m, [1mxy[22m, or [1mpaxis {n}[22m.
        A keyword with [1mmin [22mor [1mmax [22mappended (this cannot be done with
        [1mxy[22m) tells [1mgnuplot [22mto autoscale just the minimum or maximum of
        that axis.  If no keyword is given, all axes are autoscaled.

        When autoscaling, the axis range is automatically computed and
        the dependent axis (y for a [1mplot [22mand z for [1msplot[22m) is scaled to
        include the range of the function or data being plotted.

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

        Autoscaling the independent variables (x for [1mplot [22mand x,y for
        [1msplot[22m) is a request to set the domain to match any data file
        being plotted.  If there are no data files, autoscaling an in-
        dependent variable has no effect.  In other words, in the ab-
        sence of a data file, functions alone do not affect the x range
        (or the y range if plotting z = f(x,y)).

        Please see [1mset xrange [22mfor additional information about ranges.

        The behavior of autoscaling remains consistent in parametric
        mode, (see [1mset parametric[22m).  However, there are more dependent
        variables and hence more control over x, y, and z axis scales.
        In parametric mode, the independent or dummy variable is t for
        [1mplot[22ms and u,v for [1msplot[22ms.  [1mautoscale [22min parametric mode, then,










   GNUPLOT 5.4                                                      160


        controls all ranges (t, u, v, x, y, and z) and allows x, y, and
        z to be fully autoscaled.

        When tics are displayed on second axes but no plot has been
        specified for those axes, x2range and y2range are inherited
        from xrange and yrange.  This is done _before_ applying offsets
        or autoextending the ranges to a whole number of tics, which
        can cause unexpected results.  To prevent this you can explic-
        itly link the secondary axis range to the primary axis range.
        See [1mset link[22m.




             [1m102.3.1.  Noextend[0m


                  set autoscale noextend

             By default autoscaling sets the axis range limits to the
             nearest tic label position that includes all the plot
             data. Keywords [1mfixmin[22m, [1mfixmax[22m, [1mfix [22mor [1mnoextend [22mtell gnu-
             plot to disable extension of the axis range to the next
             tic mark position. In this case the axis range limit ex-
             actly matches the coordinate of the most extreme data
             point.  [1mset autoscale noextend [22mis a synonym for [1mset au-[0m
             [1mtoscale fix[22m.  Range extension for a single axis can be
             disabled by appending the [1mnoextend [22mkeyword to the corre-
             sponding range command, e.g.
                  set yrange [0:*] noextend

             [1mset autoscale keepfix [22mautoscales all axes while leaving
             the fix settings unchanged.




             [1m102.3.2.  Examples[0m


             Examples:

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

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

             This disables extension of the x2 axis tics to the next
             tic mark, thus keeping the exact range as found in the










   GNUPLOT 5.4                                                      161


             plotted data and functions:
                   set autoscale x2fixmin
                   set autoscale x2fixmax

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

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

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

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



             [1m102.3.3.  Polar mode[0m


             When in polar mode ([1mset polar[22m), the xrange and the yrange
             may be left in autoscale mode.  If [1mset rrange [22mis used to
             limit the extent of the polar axis, then xrange and yrange
             will adjust to match this automatically.  However, ex-
             plicit xrange and yrange commands can later be used to
             make further adjustments.  See [1mset rrange[22m.

             See also polar demos.



        [1m102.4.  Bind[0m


        [1mshow bind [22mshows the current state of all hotkey bindings. See
        [1mbind[22m.



        [1m102.5.  Bmargin[0m


        The command [1mset bmargin [22msets the size of the bottom margin.
        Please see [1mset margin [22mfor details.



        [1m102.6.  Border[0m


        The [1mset border [22mand [1munset border [22mcommands control the display of
        the graph borders for the [1mplot [22mand [1msplot [22mcommands.  Note that










   GNUPLOT 5.4                                                      162


        the borders do not necessarily coincide with the axes; with
        [1mplot [22mthey often do, but with [1msplot [22mthey usually do not.

        Syntax:
              set border {<integer>}
                         {front | back | behind}
                         {linestyle | ls <line_style>}
                         {linetype | lt <line_type>} {linewidth | lw
        <line_width>}
                         {linecolor | lc <colorspec>} {dashtype | dt
        <dashtype>}
                         {polar}
              unset border
              show border

        With a [1msplot [22mdisplayed in an arbitrary orientation, like [1mset[0m
        [1mview 56,103[22m, the four corners of the x-y plane can be referred
        to as "front", "back", "left" and "right".  A similar set of
        four corners exist for the top surface, of course.  Thus the
        border connecting, say, the back and right corners of the x-y
        plane is the "bottom right back" border, and the border con-
        necting the top and bottom front corners is the "front verti-
        cal".  (This nomenclature is defined solely to allow the reader
        to figure out the table that follows.)

        The borders are encoded in a 12-bit integer: the four low bits
        control the border for [1mplot [22mand the sides of the base for
        [1msplot[22m; the next four bits control the verticals in [1msplot[22m; the
        four high bits control the edges on top of an [1msplot[22m.  The bor-
        der settings is thus the sum of the appropriate entries from
        the following table:



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












   GNUPLOT 5.4                                                      163


   The default setting is 31, which is all four sides for [1mplot[22m, and
   base and z axis for [1msplot[22m.

   In 2D plots the border is normally drawn on top of all plots ele-
   ments ([1mfront[22m). If you want the border to be drawn behind the plot
   elements, use [1mset border back[22m.

   In hidden3d plots the lines making up the border are normally sub-
   ject to the same hidden3d processing as the plot elements. [1mset bor-[0m
   [1mder behind [22mwill override this default.

   Using the optional <linestyle>, <linetype>, <linewidth>, <line-
   color>, and <dashtype> specifiers, the way the border lines are
   drawn can be influenced (limited by what the current terminal driver
   supports).  Besides the border itself, this line style is used for
   the tics, independent of whether they are plotted on the border or
   on the axes (see [1mset xtics[22m).

   For [1mplot[22m, tics may be drawn on edges other than bottom and left by
   enabling the second axes -- see [1mset xtics [22mfor details.

   If a [1msplot [22mdraws only on the base, as is the case with "[1munset sur-[0m
   [1mface; set contour base[22m", then the verticals and the top are not
   drawn even if they are specified.

   The [1mset grid [22moptions 'back', 'front' and 'layerdefault' also control
   the order in which the border lines are drawn with respect to the
   output of the plotted data.

   The [1mpolar [22mkeyword enables a circular border for polar plots.

   Examples:

   Draw default borders:
         set border

   Draw only the left and bottom ([1mplot[22m) or both front and back bottom
   left ([1msplot[22m) borders:
         set border 3

   Draw a complete box around a [1msplot[22m:
         set border 4095

   Draw a topless box around a [1msplot[22m, omitting the front vertical:
         set border 127+256+512 # or set border 1023-128

   Draw only the top and right borders for a [1mplot [22mand label them as
   axes:
         unset xtics; unset ytics; set x2tics; set y2tics; set border
   12













   GNUPLOT 5.4                                                      164


        [1m102.7.  Boxwidth[0m


        The [1mset boxwidth [22mcommand is used to set the default width of
        boxes in the [1mboxes[22m, [1mboxerrorbars[22m, [1mboxplot[22m, [1mcandlesticks [22mand
        [1mhistograms [22mstyles.

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

        By default, adjacent boxes are extended in width until they
        touch each other.  A different default width may be specified
        using the [1mset boxwidth [22mcommand.  [1mRelative [22mwidths are inter-
        preted as being a fraction of this default width.

        An explicit value for the boxwidth is interpreted as being a
        number of units along the current x axis ([1mabsolute[22m) unless the
        modifier [1mrelative [22mis given.  If the x axis is a log-scale (see
        [1mset log[22m) then the value of boxwidth is truly "absolute" only at
        x=1; this physical width is maintained everywhere along the
        axis (i.e. the boxes do not become narrower the value of x in-
        creases). If the range spanned by a log scale x axis is far
        from x=1, some experimentation may be required to find a useful
        value of boxwidth.

        The default is superseded by explicit width information taken
        from an extra data column in styles [1mboxes [22mor [1mboxerrorbars[22m.  In
        a four-column data set, the fourth column will be interpreted
        as the box width unless the width is set to -2.0, in which case
        the width will be calculated automatically.  See [1mstyle boxes[0m
        and [1mstyle boxerrorbars [22mfor more details.

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

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

        The same effect can be achieved with the [1musing [22mkeyword in [1mplot[22m:
              plot 'file' using 1:2:3:4:(-2)

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

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
















   GNUPLOT 5.4                                                      165


        [1m102.8.  Boxdepth[0m


        The [1mset boxdepth [22mcommand affects only 3D plots created by [1msplot[0m
        [1mwith boxes[22m.  It sets the extent of each box along the y axis,
        i.e. its thickness.



        [1m102.9.  Color[0m


        Gnuplot supports two alternative sets of linetypes. The default
        set uses a different color for each linetype, although it also
        allows you to draw dotted or dashed lines in that color.  The
        alternative monochrome set uses only dot/dash pattern or
        linewidth to distinguish linetypes. The [1mset color [22mcommand se-
        lects the color linetypes.  See [1mset monochrome[22m, [1mset linetype[22m,
        and [1mset colorsequence[22m.



        [1m102.10.  Colorsequence[0m


        Syntax:
             set colorsequence {default|classic|podo}

        [1mset colorsequence default [22mselects a terminal-independent re-
        peating sequence of eight colors.  See [1mset linetype[22m, [1mcolors[22m.

        [1mset colorsequence classic [22mlets each separate terminal type pro-
        vide its own sequence of line colors.  The number provided
        varies from 4 to more than 100, but most start with
        red/green/blue/magenta/cyan/yellow.  This was the default be-
        haviour prior to version 5.

        [1mset colorsequence podo [22mselects eight colors drawn from a set
        recommended by Wong (2011) [Nature Methods 8:441] as being eas-
        ily distinguished by color-blind viewers with either protanopia
        or deuteranopia.

        In each case you can further customize the length of the se-
        quence and the colors used. See [1mset linetype[22m, [1mcolors[22m.



        [1m102.11.  Clabel[0m


        This command is deprecated. Use [1mset cntrlabel [22minstead.  [1munset[0m
        [1mclabel [22mis replaced by [1mset cntrlabel onecolor[22m.  [1mset clabel "for-[0m
        [1mmat" [22mis replaced by [1mset cntrlabel format "format"[22m.










   GNUPLOT 5.4                                                      166


        [1m102.12.  Clip[0m


        Syntax:
              set clip {points|one|two|radial}
              unset clip {points|one|two|radial}
              show clip

        Default state:
              unset clip points
              set clip one
              unset clip two
              unset clip radial

        Data points whose center lies inside the plot boundaries are
        normally drawn even if the finite size of the point symbol
        causes it to extend past a boundary line.  [1mset clip points[0m
        causes such points to be clipped (i.e. not drawn) even though
        the point center is inside the boundaries of a 2D plot.  Data
        points whose center lies outside the plot boundaries are never
        drawn.

        [1munset clip [22mcauses a line segment in a plot not to be drawn if
        either end of that segment lies outside the plot boundaries
        (i.e. xrange and yrange).

        [1mset clip one [22mcauses [1mgnuplot [22mto draw the in-range portion of
        line segments with one endpoint in range and one endpoint out
        of range.  [1mset clip two [22mcauses [1mgnuplot [22mto draw the in-range
        portion of line segments with both endpoints out of range.
        Line segments that lie entirely outside the plot boundaries are
        never drawn.

        [1mset clip radial [22maffects plotting only in polar mode.  It clips
        lines against the radial bound established by [1mset rrange[0m
        [1m[0:MAX][22m.  This criteria is applied in conjunction with [1mset clip[0m
        [1m{one|two}[22m.  I.e. the portion of a line between two points with
        R > RMAX that passes through the circle R = RMAX is drawn only
        if both [1mclip two [22mand [1mclip radial [22mare set.

        Notes:

        * [1mset clip [22maffects only points and lines produced by plot
        styles [1mlines[22m, [1mlinespoints[22m, [1mpoints[22m, [1marrows[22m, and [1mvectors[22m.

        * Clipping of colored quadrangles drawn for pm3d surfaces and
        other solid objects is controlled [1mset pm3d clipping[22m. The de-
        fault is smooth clipping against the current zrange.

        * Object clipping is controlled by the [1mclip [22mor [1mnoclip [22mproperty
        of the individual object.

        * In the current version of gnuplot, "plot with vectors" in










   GNUPLOT 5.4                                                      167


        polar mode does not test or clip against the maximum radius.




        [1m102.13.  Cntrlabel[0m


        Syntax:
              set cntrlabel {format "format"} {font "font"}
              set cntrlabel {start <int>} {interval <int>}
              set contrlabel onecolor

        [1mset cntrlabel [22mcontrols the labeling of contours, either in the
        key (default) or on the plot itself in the case of [1msplot ...[0m
        [1mwith labels[22m.  In the latter case labels are placed along each
        contour line according to the [1mpointinterval [22mor [1mpointnumber[0m
        property of the label descriptor.  By default a label is placed
        on the 5th line segment making up the contour line and repeated
        every 20th segment.  These defaults are equivalent to
              set cntrlabel start 5 interval 20
        They can be changed either via the [1mset cntrlabel [22mcommand or by
        specifying the interval in the [1msplot [22mcommand itself
              set contours; splot $FOO with labels point pointinterval
        -1
        Setting the interval to a negative value means that the label
        appear only once per contour line.  However if [1mset samples [22mor
        [1mset isosamples [22mis large then many contour lines may be created,
        each with a single label.

        A contour label is placed in the plot key for each linetype
        used. By default each contour level is given its own linetype,
        so a separate label appears for each.  The command [1mset cntrla-[0m
        [1mbel onecolor [22mcauses all contours to be drawn using the same
        linetype, so only one label appears in the plot key.  This com-
        mand replaces an older command [1munset clabel[22m.



        [1m102.14.  Cntrparam[0m


        [1mset cntrparam [22mcontrols the generation of contours and their
        smoothness for a contour plot. [1mshow contour [22mdisplays current
        settings of [1mcntrparam [22mas well as [1mcontour[22m.

        Syntax:
              set cntrparam { { linear
                              | cubicspline
                              | bspline
                              | points <n>
                              | order <n>
                              | levels { <n>










   GNUPLOT 5.4                                                      168


                                         | auto {<n>}
                                         | discrete <z1>
        {,<z2>{,<z3>...}}
                                         | incremental <start>, <incr>
        {,<end>}
                                       }
                                {{un}sorted}
                                {firstlinetype N}
                              }
                            }
              show contour

        This command has two functions.  First, it sets the values of z
        for which contours are to be determined.  The number of contour
        levels <n> should be an integral constant expression. <z1>,
        <z2> ... are real-valued expressions.  Second, it controls the
        appearance of the individual contour lines.

        Keywords controlling the smoothness of contour lines:

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

        [1mpoints[22m--- Eventually all drawings are done with piecewise-lin-
        ear strokes.  This number controls the number of line segments
        used to approximate the [1mbspline [22mor [1mcubicspline [22mcurve.  Number
        of cubicspline or bspline segments (strokes) = [1mpoints [22m* number
        of linear segments.

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

        Keywords controlling the selection of contour levels:

        [1mlevels auto[22m--- This is the default. <n> specifies a nominal
        number of levels; the actual number will be adjusted to give
        simple labels. If the surface is bounded by zmin and zmax, con-
        tours will be generated at integer multiples of dz between zmin
        and zmax, where dz is 1, 2, or 5 times some power of ten (like
        the step between two tic marks).

        [1mlevels discrete[22m--- Contours will be generated at z = <z1>, <z2>
        ... as specified; the number of discrete levels sets the number
        of contour levels.  In [1mdiscrete [22mmode, any [1mset cntrparam levels[0m










   GNUPLOT 5.4                                                      169


        [1m<n> [22mare ignored.

        [1mlevels incremental[22m--- Contours are generated at values of z be-
        ginning at <start> and increasing by <increment>, until the
        number of contours is reached.  <end> is used to determine the
        number of contour levels, which will be changed by any subse-
        quent [1mset cntrparam levels <n>[22m.  If the z axis is logarithmic,
        <increment> will be interpreted as a multiplicative factor, as
        it is for [1mset ztics[22m, and <end> should not be used.

        Keywords controlling the assignment of linetype to contours:

        By default the contours are generated in the reverse order
        specified ([1munsorted[22m).  Thus [1mset cntrparam levels increment 0,[0m
        [1m10, 100 [22mwill create 11 contours levels starting with 100 and
        ending with 0.  Adding the keyword [1msorted [22mre-orders the con-
        tours by increasing numerical value, which in this case would
        mean the first contour is drawn at 0.

        By default contours are drawn using successive linetypes start-
        ing with the next linetype after that used for the correspond-
        ing surface.  Thus [1msplot x*y lt 5 [22mwould use lt 6 for the first
        contour generated.  If [1mhidden3d [22mmode is active then each sur-
        face uses two linetypes.  In this case using default settings
        would cause the first contour to use the same linetype as the
        hidden surface, which is undesirable.  This can be avoided in
        either of two ways.  (1) Use [1mset hidden3d offset N [22mto change
        the linetype used for the hidden surface.  A good choice would
        be [1moffset -1 [22msince that will avoid all the contour linetypes.
        (2) Use the [1mset cntrparam firstlinetype N [22moption to specify a
        block of linetypes used for contour lines independent of what-
        ever was used for the surface.  This is particularly useful if
        you want to customize the set of contour linetypes.  N <= 0 re-
        stores the default.

        If the command [1mset cntrparam [22mis given without any arguments
        specified all options are reset to the default:
              set cntrparam order 4 points 5
              set cntrparam levels auto 5 unsorted
              set cntrparam firstlinetype 0





             [1m102.14.1.  Examples[0m


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











   GNUPLOT 5.4                                                      170


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

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

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

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

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

             To define and use a customized block of contour linetypes
                   set linetype 100 lc "red" dt '....'
                   do for [L=101:199] {
                       if (L%10 == 0) {
                           set linetype L lc "black" dt solid lw 2
                       } else {
                           set linetype L lc "gray" dt solid lw 1
                       }
                   }
                   set cntrparam firstlinetype 100
                   set cntrparam sorted levels incremental 0, 1, 100

             See also [1mset contour [22mfor control of where the contours are
             drawn, and [1mset cntrlabel [22mfor control of the format of the
             contour labels and linetypes.

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



        [1m102.15.  Color box[0m



        The color scheme, i.e. the gradient of the smooth color with
        min_z and max_z values of [1mpm3d[22m's [1mpalette[22m, is drawn in a color
        box unless [1munset colorbox[22m.

              set colorbox
              set colorbox {
                         { vertical | horizontal } {{no}invert}
                         { default | user }
                         { origin x, y }
                         { size x, y }










   GNUPLOT 5.4                                                      171


                         { front | back }
                         { noborder | bdefault | border [line style] }
                       }
              show colorbox
              unset colorbox

        Color box position can be [1mdefault [22mor [1muser[22m.  If the latter is
        specified the values as given with the [1morigin [22mand [1msize [22msubcom-
        mands are used. The box can be drawn after ([1mfront[22m) or before
        ([1mback[22m) the graph or the surface.

        The orientation of the color gradient can be switched by op-
        tions [1mvertical [22mand [1mhorizontal[22m.

        [1morigin x, y [22mand [1msize x, y [22mare used only in combination with the
        [1muser [22moption. The x and y values are interpreted as screen coor-
        dinates by default, and this is the only legal option for 3D
        plots. 2D plots, including splot with [1mset view map[22m, allow any
        coordinate system to be specified.  Try for example:
            set colorbox horiz user origin .1,.02 size .8,.04
        which will draw a horizontal gradient somewhere at the bottom
        of the graph.

        [1mborder [22mturns the border on (this is the default). [1mnoborder[0m
        turns the border off. If an positive integer argument is given
        after [1mborder[22m, it is used as a line style tag which is used for
        drawing the border, e.g.:
            set style line 2604 linetype -1 linewidth .4
            set colorbox border 2604
        will use line style [1m2604[22m, a thin line with the default border
        color (-1) for drawing the border. [1mbdefault [22m(which is the de-
        fault) will use the default border line style for drawing the
        border of the color box.

        The axis of the color box is called [1mcb [22mand it is controlled by
        means of the usual axes commands, i.e. [1mset/unset/show [22mwith
        [1mcbrange[22m, [1m[m]cbtics[22m, [1mformat cb[22m, [1mgrid [m]cb[22m, [1mcblabel[22m, and perhaps
        even [1mcbdata[22m, [1m[no]cbdtics[22m, [1m[no]cbmtics[22m.

        [1mset colorbox [22mwithout any parameter switches the position to de-
        fault.  [1munset colorbox [22mresets the default parameters for the
        colorbox and switches the colorbox off.

        See also help for [1mset pm3d[22m, [1mset palette[22m, [1mx11 pm3d[22m, and [1mset[0m
        [1mstyle line[22m.



        [1m102.16.  Colornames[0m


        Gnuplot knows a limited number of color names. You can use
        these to define the color range spanned by a pm3d palette, or










   GNUPLOT 5.4                                                      172


        to assign a terminal-independent color to a particular linetype
        or linestyle. To see the list of known color names, use the
        command [1mshow colornames[22m.   Example:

              set style line 1 linecolor "sea-green"



        [1m102.17.  Contour[0m


        [1mset contour [22menables contour drawing for surfaces.  This option
        is available for [1msplot [22monly.  It requires grid data, see
        [1mgrid_data [22mfor more details.  If contours are desired from non-
        grid data, [1mset dgrid3d [22mcan be used to create an appropriate
        grid.

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

        The three options specify where to draw the contours: [1mbase[0m
        draws the contours on the grid base where the x/ytics are
        placed, [1msurface [22mdraws the contours on the surfaces themselves,
        and [1mboth [22mdraws the contours on both the base and the surface.
        If no option is provided, the default is [1mbase[22m.

        See also [1mset cntrparam [22mfor the parameters that affect the draw-
        ing of contours, and [1mset cntrlabel [22mfor control of labeling of
        the contours.

        The surface can be switched off (see [1munset surface[22m), giving a
        contour-only graph.  Though it is possible to use [1mset size [22mto
        enlarge the plot to fill the screen, more control over the out-
        put format can be obtained by writing the contour information
        to a datablock, and rereading it as a 2D datafile plot:

              unset surface
              set contour
              set cntrparam ...
              set table $datablock
              splot ...
              unset table
              # contour info now in $datablock
              set term <whatever>
              plot $datablock

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










   GNUPLOT 5.4                                                      173


        line feed) separates one y-isoline from the next.

        While [1mset contour [22mis in effect, [1msplot with <style> [22mwill place
        the style elements (points, lines, impulses, labels, etc) along
        the contour lines.  [1mwith pm3d [22mwill produce a pm3d surface and
        also contour lines.  If you want to mix other plot elements,
        say labels read from a file, with the contours generated while
        [1mset contour [22mis active you must append the keyword [1mnocontours[0m
        after that clause in the splot command.

        See also [1msplot datafile[22m.

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



        [1m102.18.  Dashtype[0m


        The [1mset dashtype [22mcommand allows you to define a dash pattern
        that can then be referred to by its index.  This is purely a
        convenience, as anywhere that would accept the dashtype by its
        numerical index would also accept an explicit dash pattern.
        Example:
             set dashtype 5 (2,4,2,6)   # define or redefine dashtype
        number 5
             plot f1(x) dt 5            # plot using the new dashtype
             plot f1(x) dt (2,4,2,6)    # exactly the same plot as
        above
             set linetype 5 dt 5        # always use this dash pattern
        with linetype 5
             set dashtype 66 "..-"      # define a new dashtype using a
        string
        See also [1mdashtype[22m.



        [1m102.19.  Data style[0m


        This form of the command is deprecated. Please see [1mset style[0m
        [1mdata[22m.



        [1m102.20.  Datafile[0m


        The [1mset datafile [22mcommand options control interpretation of
        fields read from input data files by the [1mplot[22m, [1msplot[22m, and [1mfit[0m
        commands.  Several options are currently implemented.











   GNUPLOT 5.4                                                      174


             [1m102.20.1.  Set datafile columnheaders[0m


             The [1mset datafile columnheaders [22mcommand guarantees that the
             first row of input will be interpreted as column headers
             rather than as data values.  It affects all input data
             sources to plot, splot, fit, and stats commands.  If this
             setting is disabled by [1munset datafile columnheaders[22m, the
             same effect is triggered on a per-file basis if there is
             an explicit columnheader() function in a using specifier
             or plot title associated with that file.  See also [1mset key[0m
             [1mautotitle [22mand [1mcolumnheader[22m.



             [1m102.20.2.  Set datafile fortran[0m


             The [1mset datafile fortran [22mcommand enables a special check
             for values in the input file expressed as Fortran D or Q
             constants. This extra check slows down the input process,
             and should only be selected if you do in fact have
             datafiles containing Fortran D or Q constants. The option
             can be disabled again using [1munset datafile fortran[22m.



             [1m102.20.3.  Set datafile nofpe_trap[0m


             The [1mset datafile nofpe_trap [22mcommand tells gnuplot not to
             re-initialize a floating point exception handler before
             every expression evaluation used while reading data from
             an input file.  This can significantly speed data input
             from very large files at the risk of program termination
             if a floating-point exception is generated.



             [1m102.20.4.  Set datafile missing[0m


             Syntax:
                   set datafile missing "<string>"
                   set datafile missing NaN
                   show datafile missing
                   unset datafile

             The [1mset datafile missing [22mcommand tells [1mgnuplot [22mthere is a
             special string used in input data files to denote a miss-
             ing data entry.  There is no default character for [1mmiss-[0m
             [1ming[22m.  Gnuplot makes a distinction between missing data and
             invalid data (e.g. "NaN", 1/0.).  For example invalid data










   GNUPLOT 5.4                                                      175


             causes a gap in a line drawn through sequential data
             points; missing data does not.

             Non-numeric characters found in a numeric field will usu-
             ally be interpreted as invalid rather than as a missing
             data point unless they happen to match the [1mmissing [22mstring.

             Conversely [1mset datafile missing NaN [22mcauses all data or ex-
             pressions evaluating to not-a-number (NaN) to be treated
             as missing data.

             The example below shows differences between gnuplot ver-
             sion 4 and version 5.  Example:
                   set style data linespoints
                   plot '-' title "(a)"
                      1 10
                      2 20
                      3 ?
                      4 40
                      5 50
                      e
                   set datafile missing "?"
                   plot '-' title "(b)"
                      1 10
                      2 20
                      3 ?
                      4 40
                      5 50
                      e
                   plot '-' using 1:2 title "(c)"
                      1 10
                      2 20
                      3 NaN
                      4 40
                      5 50
                      e
                   plot '-' using 1:($2) title "(d)"
                      1 10
                      2 20
                      3 NaN
                      4 40
                      5 50
                      e

             Plot (a) differs in gnuplot 4 and gnuplot 5 because the
             third line contains only one valid number.  Version 4
             switched to a single-datum-on-a-line convention that the
             line number is "x" and the datum is "y", erroneously plac-
             ing the point at(2,3).

             Both the old and new gnuplot versions handle the same data
             correctly if the '?' character is designated as a marker
             for missing data (b).










   GNUPLOT 5.4                                                      176


             Old gnuplot versions handled NaN differently depending of
             the form of the [1musing [22mclause, as shown in plots (c) and
             (d).  Gnuplot now handles NaN the same whether the input
             column was specified as N or ($N).  See also the imageNaN
             demo.  Similarly gnuplot 5.4 will notice the missing value
             flag in column N whether the plot command specifies [1musing[0m
             [1mN [22mor [1musing ($N) [22mor [1musing (func($N))[22m.  However if the
             "missing" value is encountered during evaluation of some
             more complicated expression, e.g. [1musing (column(str-[0m
             [1mcol(1))[22m, it may evaluate to NaN and be treated as invalid
             data rather than as a missing data point.  If you never-
             theless want to treat this as missing data, use the com-
             mand [1mset datafile missing NaN[22m.



             [1m102.20.5.  Set datafile separator[0m


             The command [1mset datafile separator [22mtells [1mgnuplot [22mthat data
             fields in subsequent input files are separated by a spe-
             cific character rather than by whitespace.  The most com-
             mon use is to read in csv (comma-separated value) files
             written by spreadsheet or database programs. By default
             data fields are separated by whitespace.

             Syntax:
                   set datafile separator {whitespace | tab | comma |
             "<chars>"}

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

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

                   # Input file contains fields separated by either *
             or |
                   set datafile separator "*|"



             [1m102.20.6.  Set datafile commentschars[0m


             The command [1mset datafile commentschars [22mspecifies what
             characters can be used in a data file to begin comment
             lines. If the first non-blank character on a line is one
             of these characters then the rest of the data line is ig-
             nored.  Default value of the string is "#!" on VMS and "#"
             otherwise.











   GNUPLOT 5.4                                                      177


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

             Then, the following line in a data file is completely ig-
             nored
                 # 1 2 3 4
             but the following
                 1 # 3 4
             will be interpreted as garbage in the 2nd column followed
             by valid data in the 3rd and 4th columns.

             Example:
                   set datafile commentschars "#!%"



             [1m102.20.7.  Set datafile binary[0m


             The [1mset datafile binary [22mcommand is used to set the de-
             faults when reading binary data files.  The syntax matches
             precisely that used for commands [1mplot [22mand [1msplot[22m.  See [1mbi-[0m
             [1mnary matrix [22mand [1mbinary general [22mfor details about the key-
             words that can be present in <binary list>.

             Syntax:
                   set datafile binary <binary list>
                   show datafile binary
                   show datafile
                   unset datafile

             Examples:
                   set datafile binary filetype=auto
                   set datafile binary array=(512,512) format="%uchar"

                   show datafile binary   # list current settings



        [1m102.21.  Decimalsign[0m


        The [1mset decimalsign [22mcommand selects a decimal sign for numbers
        printed into tic labels or [1mset label [22mstrings.

        Syntax:
              set decimalsign {<value> | locale {"<locale>"}}
              unset decimalsign
              show decimalsign

        The argument <value> is a string to be used in place of the










   GNUPLOT 5.4                                                      178


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

        Example:

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

        Please note: If you set an explicit string, this affects only
        numbers that are printed using gnuplot's gprintf() formatting
        routine, including axis tics.  It does not affect the format
        expected for input data, and it does not affect numbers printed
        with the sprintf() formatting routine. To change the behavior
        of both input and output formatting, instead use the form

              set decimalsign locale

        This instructs the program to use both input and output formats
        in accordance with the current setting of the LC_ALL, LC_NU-
        MERIC, or LANG environmental variables.

              set decimalsign locale "foo"

        This instructs the program to format all input and output in
        accordance with locale "foo", which must be installed.  If lo-
        cale "foo" is not found then an error message is printed and
        the decimal sign setting is unchanged.  On linux systems you
        can get a list of the locales installed on your machine by typ-
        ing "locale -a". A typical linux locale string is of the form
        "sl_SI.UTF-8".  A typical Windows locale string is of the form
        "Slovenian_Slovenia.1250" or "slovenian". Please note that in-
        terpretation of the locale settings is done by the C library at
        runtime. Older C libraries may offer only partial support for
        locale settings such as the thousands grouping separator char-
        acter.

              set decimalsign locale; set decimalsign "."

        This sets all input and output to use whatever decimal sign is
        correct for the current locale, but over-rides this with an ex-
        plicit '.' in numbers formatted using gnuplot's internal
        gprintf() function.



        [1m102.22.  Dgrid3d[0m


        The [1mset dgrid3d [22mcommand enables, and can set parameters for,
        non-grid to grid data mapping.  See [1msplot grid_data [22mfor more










   GNUPLOT 5.4                                                      179


        details about the grid data structure.

        Syntax:
              set dgrid3d {<rows>} {,{<cols>}}
                          { splines |
                            qnorm {<norm>} |
                            (gauss | cauchy | exp | box | hann)
                              {kdensity} {<dx>} {,<dy>} }
              unset dgrid3d
              show dgrid3d

        By default [1mdgrid3d [22mis disabled.  When enabled, 3D data read
        from a file are always treated as a scattered data set.  A grid
        with dimensions derived from a bounding box of the scattered
        data and size as specified by the row/col_size parameters is
        created for plotting and contouring.  The grid is equally
        spaced in x (rows) and in y (columns); the z values are com-
        puted as weighted averages or spline interpolations of the
        scattered points' z values. In other words, a regularly spaced
        grid is created and the a smooth approximation to the raw data
        is evaluated for all grid points. This approximation is plotted
        in place of the raw data.

        The number of columns defaults to the number of rows, which de-
        faults to 10.

        Several algorithms are available to calculate the approximation
        from the raw data. Some of these algorithms can take additional
        parameters.  These interpolations are such the closer the data
        point is to a grid point, the more effect it has on that grid
        point.

        The [1msplines [22malgorithm calculates an interpolation based on
        "thin plate splines". It does not take additional parameters.

        The [1mqnorm [22malgorithm calculates a weighted average of the input
        data at each grid point. Each data point is weighted by the in-
        verse of its distance from the grid point raised to some power.
        The power is specified as an optional integer parameter that
        defaults to 1.  This algorithm is the default.

        Finally, several smoothing kernels are available to calculate
        weighted averages: z = Sum_i w(d_i) * z_i / Sum_i w(d_i), where
        z_i is the value of the i-th data point and d_i is the distance
        between the current grid point and the location of the i-th
        data point. All kernels assign higher weights to data points
        that are close to the current grid point and lower weights to
        data points further away.

        The following kernels are available:
              gauss :     w(d) = exp(-d*d)
              cauchy :    w(d) = 1/(1 + d*d)
              exp :       w(d) = exp(-d)










   GNUPLOT 5.4                                                      180


              box :       w(d) = 1                     if d<1
                               = 0                     otherwise
              hann :      w(d) = 0.5*(1+cos(pi*d))     if d<1
                          w(d) = 0                     otherwise

        When using one of these five smoothing kernels, up to two addi-
        tional numerical parameters can be specified: dx and dy. These
        are used to rescale the coordinate differences when calculating
        the distance: d_i = sqrt( ((x-x_i)/dx)**2 + ((y-y_i)/dy)**2 ),
        where x,y are the coordinates of the current grid point and
        x_i,y_i are the coordinates of the i-th data point. The value
        of dy defaults to the value of dx, which defaults to 1. The pa-
        rameters dx and dy make it possible to control the radius over
        which data points contribute to a grid point IN THE UNITS OF
        THE DATA ITSELF.

        The optional keyword [1mkdensity[22m, which must come after the name
        of the kernel, but before the (optional) scale parameters, mod-
        ifies the algorithm so that the values calculated for the grid
        points are not divided by the sum of the weights ( z = Sum_i
        w(d_i) * z_i ). If all z_i are constant, this effectively plots
        a bivariate kernel density estimate: a kernel function (one of
        the five defined above) is placed at each data point, the sum
        of these kernels is evaluated at every grid point, and this
        smooth surface is plotted instead of the original data. This is
        similar in principle to + what the [1msmooth kdensity [22moption does
        to 1D datasets.  (See kdensity2d.dem for usage demo)

        A slightly different syntax is also supported for reasons of
        backwards compatibility. If no interpolation algorithm has been
        explicitly selected, the [1mqnorm [22malgorithm is assumed. Up to
        three comma-separated, optional parameters can be specified,
        which are interpreted as the the number of rows, the number of
        columns, and the norm value, respectively.

        The [1mdgrid3d [22moption is a simple scheme which replaces scattered
        data with weighted averages on a regular grid.  More sophisti-
        cated approaches to this problem exist and should be used to
        preprocess the data outside [1mgnuplot [22mif this simple solution is
        found inadequate.

        See also dgrid3d.dem: dgrid3d demo.  and scatter.dem: dgrid3d
        demo.




        [1m102.23.  Dummy[0m


        The [1mset dummy [22mcommand changes the default dummy variable names.

        Syntax:










   GNUPLOT 5.4                                                      181


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

        By default, [1mgnuplot [22massumes that the independent, or "dummy",
        variable for the [1mplot [22mcommand is "t" if in parametric or polar
        mode, or "x" otherwise.  Similarly the independent variables
        for the [1msplot [22mcommand are "u" and "v" in parametric mode ([1msplot[0m
        cannot be used in polar mode), or "x" and "y" otherwise.

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

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

        Examples:
              set dummy u,v
              set dummy ,s

        The second example sets the second variable to s.  To reset the
        dummy variable names to their default values, use

              unset dummy



        [1m102.24.  Encoding[0m


        The [1mset encoding [22mcommand selects a character encoding.

        Syntax:
              set encoding {<value>}
              set encoding locale
              show encoding

        Valid values are
           default     - tells a terminal to use its default encoding
           iso_8859_1  - the most common Western European encoding
        prior to UTF-8.
                         Known in the PostScript world as 'ISO-Latin1'.
           iso_8859_15 - a variant of iso_8859_1 that includes the Euro
        symbol
           iso_8859_2  - used in Central and Eastern Europe
           iso_8859_9  - used in Turkey (also known as Latin5)
           koi8r       - popular Unix cyrillic encoding
           koi8u       - Ukrainian Unix cyrillic encoding
           cp437       - codepage for MS-DOS
           cp850       - codepage for OS/2, Western Europe
           cp852       - codepage for OS/2, Central and Eastern Europe
           cp950       - MS version of Big5 (emf terminal only)
           cp1250      - codepage for MS Windows, Central and Eastern










   GNUPLOT 5.4                                                      182


        Europe
           cp1251      - codepage for 8-bit Russian, Serbian, Bulgar-
        ian, Macedonian
           cp1252      - codepage for MS Windows, Western Europe
           cp1254      - codepage for MS Windows, Turkish (superset of
        Latin5)
           sjis        - shift-JIS Japanese encoding
           utf8        - variable-length (multibyte) representation of
        Unicode
                         entry point for each character

        The command [1mset encoding locale [22mis different from the other op-
        tions.  It attempts to determine the current locale from the
        runtime environment.  On most systems this is controlled by the
        environmental variables LC_ALL, LC_CTYPE, or LANG.  This mecha-
        nism is necessary, for example, to pass multibyte character en-
        codings such as UTF-8 or EUC_JP to the wxt and pdf terminals.
        This command does not affect the locale-specific representation
        of dates or numbers.  See also [1mset locale [22mand [1mset decimalsign[22m.

        Generally you must set the encoding before setting the terminal
        type, as it may affect the choice of appropriate fonts.



        [1m102.25.  Errorbars[0m


        The [1mset errorbars [22mcommand controls the tics at the ends of er-
        ror bars, and also at the end of the whiskers belonging to a
        boxplot.

        Syntax:
              set errorbars {small | large | fullwidth | <size>} {front
        | back}
                            {line-properties}
              unset errorbars
              show errorbars

        [1msmall [22mis a synonym for 0.0 (no crossbar), and [1mlarge [22mfor 1.0.
        The default is 1.0 if no size is given.

        The keyword [1mfullwidth [22mis relevant only to boxplots and to his-
        tograms with errorbars.  It sets the width of the errorbar ends
        to be the same as the width of the associated box.  It does not
        change the width of the box itself.

        The [1mfront [22mand [1mback [22mkeywords are relevant only to errorbars at-
        tached to filled rectangles (boxes, candlesticks, histograms).

        Error bars are by default drawn using the same line properties
        as the border of the associated box. You can change this by
        providing a separate set of line properties for the error bars.










   GNUPLOT 5.4                                                      183


             set errorbars linecolor black linewidth 0.5 dashtype '.'



        [1m102.26.  Fit[0m


        The [1mset fit [22mcommand controls the options for the [1mfit [22mcommand.

        Syntax:
              set fit {nolog | logfile {"<filename>"|default}}
                      {{no}quiet|results|brief|verbose}
                      {{no}errorvariables}
                      {{no}covariancevariables}
                      {{no}errorscaling}
                      {{no}prescale}
                      {maxiter <value>|default}
                      {limit <epsilon>|default}
                      {limit_abs <epsilon_abs>}
                      {start-lambda <value>|default}
                      {lambda-factor <value>|default}
                      {script {"<command>"|default}}
                      {v4 | v5}
              unset fit
              show fit

        The [1mlogfile [22moption defines where the [1mfit [22mcommand writes its
        output.  The <filename> argument must be enclosed in single or
        double quotes.  If no filename is given or [1munset fit [22mis used
        the log file is reset to its default value "fit.log" or the
        value of the environmental variable [1mFIT_LOG[22m.  If the given log-
        file name ends with a / or \, it is interpreted to be a direc-
        tory name, and the actual filename will be "fit.log" in that
        directory.

        By default the information written to the log file is also
        echoed to the terminal session.  [1mset fit quiet [22mturns off the
        echo, whereas [1mresults [22mprints only final results.  [1mbrief [22mgives
        one line summaries for every iteration of the fit in addition.
        [1mverbose [22myields detailed iteration reports as in version 4.

        If the [1merrorvariables [22moption is turned on, the error of each
        fitted parameter computed by [1mfit [22mwill be copied to a user-de-
        fined variable whose name is formed by appending "_err" to the
        name of the parameter itself.  This is useful mainly to put the
        parameter and its error onto a plot of the data and the fitted
        function, for reference, as in:

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










   GNUPLOT 5.4                                                      184


        If the [1merrorscaling [22moption is specified, which is the default,
        the calculated parameter errors are scaled with the reduced chi
        square.  This is equivalent to providing data errors equal to
        the calculated standard deviation of the fit (FIT_STDFIT) re-
        sulting in a reduced chi square of one.  With the [1mnoerrorscal-[0m
        [1ming [22moption the estimated errors are the unscaled standard devi-
        ations of the fit parameters.  If no weights are specified for
        the data, parameter errors are always scaled.

        If the [1mprescale [22moption is turned on, parameters are prescaled
        by their initial values before being passed to the Marquardt-
        Levenberg routine. This helps tremendously if there are parame-
        ters that differ in size by many orders of magnitude. Fit pa-
        rameters with an initial value of exactly zero are never
        prescaled.

        The maximum number of iterations may be limited with the [1mmax-[0m
        [1miter [22moption.  A value of 0 or [1mdefault [22mmeans that there is no
        limit.

        The [1mlimit [22moption can be used to change the default epsilon
        limit (1e-5) to detect convergence.  When the sum of squared
        residuals changes by a factor less than this number (epsilon),
        the fit is considered to have 'converged'.  The [1mlimit_abs [22mop-
        tion imposes an additional absolute limit in the change of the
        sum of squared residuals and defaults to zero.

        If you need even more control about the algorithm, and know the
        Marquardt-Levenberg algorithm well, the following options can
        be used to influence it. The startup value of [1mlambda [22mis nor-
        mally calculated automatically from the ML-matrix, but if you
        want to, you may provide your own using the [1mstart_lambda [22mop-
        tion. Setting it to [1mdefault [22mwill re-enable the automatic selec-
        tion. The option [1mlambda_factor [22msets the factor by which [1mlambda[0m
        is increased or decreased whenever the chi-squared target func-
        tion increased or decreased significantly. Setting it to [1mde-[0m
        [1mfault [22mre-enables the default factor of 10.0.

        The [1mscript [22moption may be used to specify a [1mgnuplot [22mcommand to
        be executed when a fit is interrupted---see [1mfit[22m.  This setting
        takes precedence over the default of [1mreplot [22mand the environment
        variable [1mFIT_SCRIPT[22m.

        If the [1mcovariancevariables [22moption is turned on, the covariances
        between final parameters will be saved to user-defined vari-
        ables. The variable name for a certain parameter combination is
        formed by prepending "FIT_COV_" to the name of the first param-
        eter and combining the two parameter names by "_". For example
        given the parameters "a" and "b" the covariance variable is
        named "FIT_COV_a_b".

        In version 5 the syntax of the fit command changed and it now
        defaults to unitweights if no 'error' keyword is given.  The [1mv4[0m










   GNUPLOT 5.4                                                      185


        option restores the default behavior of gnuplot version 4, see
        also [1mfit[22m.



        [1m102.27.  Fontpath[0m


        Syntax:
              set fontpath "/directory/where/my/fonts/live"
              set term postscript fontfile <filename>

        [DEPRECATED in version 5.4]

        The [1mfontpath [22mdirectory is relevant only for embedding fonts in
        postscript output produced by the postscript terminal.  It has
        no effect on other gnuplot terminals.  If you are not embedding
        fonts you do not need this command, and even if you are embed-
        ding fonts you only need it for fonts that cannot be found via
        the other paths below.

        Earlier versions of gnuplot tried to emulate a font manager by
        tracking multiple directory trees containing fonts.  This is
        now replaced by a search in the following places: (1) an abso-
        lute path given in the [1mset term postscript fontfile [22mcommand (2)
        the current directory (3) any of the directories specified by
        [1mset loadpath [22m(4) the directory specified by [1mset fontpath [22m(5)
        the directory provided in environmental variable GNUPLOT_FONT-
        PATH

        Note: The search path for fonts specified by filename for the
        libgd terminals (png gif jpeg sixel) is controlled by environ-
        mental variable GDFONTPATH.



        [1m102.28.  Format[0m


        The format of the tic-mark labels can be set with the [1mset for-[0m
        [1mmat [22mcommand or with the [1mset tics format [22mor individual [1mset[0m
        [1m{axis}tics format [22mcommands.

        Syntax:
              set format {<axes>} {"<format-string>"} {numeric|time-
        date|geographic}
              show format

        where <axes> is either [1mx[22m, [1my[22m, [1mxy[22m, [1mx2[22m, [1my2[22m, [1mz[22m, [1mcb [22mor nothing
        (which applies the format to all axes). The following two com-
        mands are equivalent:
              set format y "%.2f"
              set ytics format "%.2f"










   GNUPLOT 5.4                                                      186


        The length of the string is restricted to 100 characters.  The
        default format is "% h", "$%h$" for LaTeX terminals. Other for-
        mats such as "%.2f" or "%3.0em" are often desirable. "set for-
        mat" with no following string will restore the default.

        If the empty string "" is given, tics will have no labels, al-
        though the tic mark will still be plotted.  To eliminate the
        tic marks, use [1munset xtics [22mor [1mset tics scale 0[22m.

        Newline (\n) and enhanced text markup is accepted in the format
        string.  Use double-quotes rather than single-quotes in this
        case.  See also [1msyntax[22m.  Characters not preceded by "%" are
        printed verbatim.  Thus you can include spaces and labels in
        your format string, such as "%g m", which will put " m" after
        each number.  If you want "%" itself, double it: "%g %%".

        See also [1mset xtics [22mfor more information about tic labels, and
        [1mset decimalsign [22mfor how to use non-default decimal separators
        in numbers printed this way.  See also electron demo (elec-
        tron.dem).




             [1m102.28.1.  Gprintf[0m


             The string function gprintf("format",x) uses gnuplot's own
             format specifiers, as do the gnuplot commands [1mset format[22m,
             [1mset timestamp[22m, and others. These format specifiers are not
             the same as those used by the standard C-language routine
             sprintf(). gprintf() accepts only a single variable to be
             formatted.  Gnuplot also provides an sprintf("for-
             mat",x1,x2,...) routine if you prefer.  For a list of gnu-
             plot's format options, see [1mformat specifiers[22m.



             [1m102.28.2.  Format specifiers[0m


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





















   GNUPLOT 5.4                                                      187


   +-------------------------------------------------------------------------------+
   | Format    Explanation                                                         |
   +-------------------------------------------------------------------------------+
   |   %f      floating point notation                                             |
   |%e or %E   exponential notation; an "e" or "E" before the power                |
   |%g or %G   the shorter of %e (or %E) and %f                                    |
   |%h or %H   like %g with "x10^{%S}" or "*10^{%S}" instead of "e%S"              |
   |%x or %X   hex                                                                 |
   |%o or %O   octal                                                               |
   |   %t      mantissa to base 10                                                 |
   |   %l      mantissa to base of current logscale                                |
   |   %s      mantissa to base of current logscale; scientific power              |
   |   %T      power to base 10                                                    |
   |   %L      power to base of current logscale                                   |
   |   %S      scientific power                                                    |
   |   %c      character replacement for scientific power                          |
   |   %b      mantissa of ISO/IEC 80000 notation (ki, Mi, Gi, Ti, Pi, Ei, Zi, Yi) |
   |   %B      prefix of ISO/IEC 80000 notation (ki, Mi, Gi, Ti, Pi, Ei, Zi, Yi)   |
   |   %P      multiple of pi                                                      |
   +-------------------------------------------------------------------------------+



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

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

   Some systems may not support all of these modifiers but may also
   support others; in case of doubt, check the appropriate documenta-
   tion and then experiment.

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










   GNUPLOT 5.4                                                      188


         set format y "%.0f%%"; set ytic(50)          # "50%"

         set log y 2; set format y '%l'; set ytics (1,2,3)
         #displays "1.0", "1.0" and "1.5" (since 3 is 1.5 * 2^1)

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

   If the data type for the axis is time/date, the format string must
   contain valid codes for the 'strftime' function (outside of [1mgnuplot[22m,
   type "man strftime").  See [1mset timefmt [22mfor a list of the allowed in-
   put format codes.



             [1m102.28.3.  Time/date specifiers[0m


             There are two groups of time format specifiers: time/date
             and relative time.  These may be used to generate axis tic
             labels or to encode time in a string.  See [1mset xtics time[22m,
             [1mstrftime[22m, [1mstrptime[22m.

             The time/date formats are







































   GNUPLOT 5.4                                                      189


     +--------------------------------------------------------------+
     | Format    Explanation                                        |
     +--------------------------------------------------------------+
     |   %a      abbreviated name of day of the week                |
     |   %A      full name of day of the week                       |
     |%b or %h   abbreviated name of the month                      |
     |   %B      full name of the month                             |
     |   %d      day of the month, 01--31                           |
     |   %D      shorthand for "%m/%d/%y" (only output)             |
     |   %F      shorthand for "%Y-%m-%d" (only output)             |
     |   %k      hour, 0--23 (one or two digits)                    |
     |   %H      hour, 00--23 (always two digits)                   |
     |   %l      hour, 1--12 (one or two digits)                    |
     |   %I      hour, 01--12 (always two digits)                   |
     |   %j      day of the year, 1--366                            |
     |   %m      month, 01--12                                      |
     |   %M      minute, 0--60                                      |
     |   %p      "am" or "pm"                                       |
     |   %r      shorthand for "%I:%M:%S %p" (only output)          |
     |   %R      shorthand for %H:%M" (only output)                 |
     |   %S      second, integer 0--60 on output, (double) on input |
     |   %s      number of seconds since start of year 1970         |
     |   %T      shorthand for "%H:%M:%S" (only output)             |
     |   %U      week of the year (week starts on Sunday)           |
     |   %w      day of the week, 0--6 (Sunday = 0)                 |
     |   %W      week of the year (week starts on Monday)           |
     |   %y      year, 0-99 in range 1969-2068                      |
     |   %Y      year, 4-digit                                      |
     |   %z      timezone, [+-]hh:mm                                |
     |   %Z      timezone name, ignored string                      |
     +--------------------------------------------------------------+




   The relative time formats express the length of a time interval on
   either side of a zero time point.  The relative time formats are



      +-------------------------------------------------------------+
      |Format   Explanation                                         |
      +-------------------------------------------------------------+
      | %tH     +/- days relative to time=0                         |
      | %tH     +/- hours relative to time=0 (does not wrap at 24)  |
      | %tM     +/- minutes relative to time=0                      |
      | %tS     +/- seconds associated with previous tH or tM field |
      +-------------------------------------------------------------+




   Numerical formats may be preceded by a "0" ("zero") to pad the field










   GNUPLOT 5.4                                                      190


   with leading zeroes, and preceded by a positive digit to define the
   minimum field width.  The %S, and %t formats also accept a precision
   specifier so that fractional hours/minutes/seconds can be written.





                  [1m102.28.3.1.  Examples[0m



                  Examples of date format:

                  Suppose the x value in seconds corresponds a time
                  slightly before midnight on 25 Dec 1976. The text
                  printed for a tic label at this position would be

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

                  Examples of time format:

                  The date format specifiers encode a time in seconds
                  as a clock time on a particular day.  So hours run
                  only from 0-23, minutes from 0-59, and negative val-
                  ues correspond to dates prior to the epoch
                  (1-Jan-1970). In order to report a time value in sec-
                  onds as some number of hours/minutes/seconds relative
                  to a time 0, use time formats %tH %tM %tS.  To report
                  a value of -3672.50 seconds

                        set format x                 # default date
                  format "12/31/69 \n 22:58"
                        set format x "%tH:%tM:%tS"   # "-01:01:12"
                        set format x "%.2tH hours"   # "-1.02 hours"
                        set format x "%tM:%.2tS"     # "-61:12.50"




        [1m102.29.  Function style[0m


        This form of the command is deprecated. Please use [1mset style[0m
        [1mfunction[22m.













   GNUPLOT 5.4                                                      191


        [1m102.30.  Functions[0m


        The [1mshow functions [22mcommand lists all user-defined functions and
        their definitions.

        Syntax:
              show functions

        For information about the definition and usage of functions in
        [1mgnuplot[22m, please see [1mexpressions[22m.  See also splines as user de-
        fined functions (spline.dem) and use of functions and complex
        variables for airfoils (airfoil.dem).



        [1m102.31.  Grid[0m


        The [1mset grid [22mcommand allows grid lines to be drawn on the plot.

        Syntax:
              set grid {{no}{m}xtics} {{no}{m}ytics} {{no}{m}ztics}
                       {{no}{m}x2tics} {{no}{m}y2tics} {{no}{m}rtics}
                       {{no}{m}cbtics}
                       {polar {<angle>}}
                       {layerdefault | front | back}
                       {{no}vertical}
                       {<line-properties-major> {, <line-properties-mi-
        nor>}}
              unset grid
              show grid

        The grid can be enabled and disabled for the major and/or minor
        tic marks on any axis, and the linetype and linewidth can be
        specified for major and minor grid lines, also via a predefined
        linestyle, as far as the active terminal driver supports this
        (see [1mset style line[22m).

        A polar grid can be drawn for 2D plots.  This is the default
        action of [1mset grid [22mif the program is already in polar mode, but
        can be enabled explicitly by [1mset grid polar <angle> rtics[0m
        whether or not the program is in polar mode.  Circles are drawn
        to intersect major and/or minor tics along the r axis, and ra-
        dial lines are drawn with a spacing of <angle>.  Tic marks
        around the perimeter are controlled by [1mset ttics[22m, but these do
        not produce radial grid lines.

        The pertinent tics must be enabled before [1mset grid [22mcan draw
        them; [1mgnuplot [22mwill quietly ignore instructions to draw grid
        lines at non-existent tics, but they will appear if the tics
        are subsequently enabled.











   GNUPLOT 5.4                                                      192


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

        If [1mfront [22mis given, the grid is drawn on top of the graphed
        data. If [1mback [22mis given, the grid is drawn underneath the
        graphed data. Using [1mfront [22mwill prevent the grid from being ob-
        scured by dense data. The default setup, [1mlayerdefault[22m, is
        equivalent to [1mback [22mfor 2D plots.  In 3D plots the default is to
        split up the grid and the graph box into two layers: one be-
        hind, the other in front of the plotted data and functions.
        Since [1mhidden3d [22mmode does its own sorting, it ignores all grid
        drawing order options and passes the grid lines through the
        hidden line removal machinery instead. These options actually
        affect not only the grid, but also the lines output by [1mset bor-[0m
        [1mder [22mand the various ticmarks (see [1mset xtics[22m).

        In 3D plots grid lines at x- and y- axis tic positions are by
        default drawn only on the base plane parallel to z=0.  The [1mver-[0m
        [1mtical [22mkeyword activates drawing grid lines in the xz and yz
        planes also, running from zmin to zmax.

        Z grid lines are drawn on the bottom of the plot.  This looks
        better if a partial box is drawn around the plot---see [1mset bor-[0m
        [1mder[22m.



        [1m102.32.  Hidden3d[0m


        The [1mset hidden3d [22mcommand enables hidden line removal for sur-
        face plotting (see [1msplot[22m).  Some optional features of the un-
        derlying algorithm can also be controlled using this command.

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

        In contrast to the usual display in gnuplot, hidden line re-
        moval actually treats the given function or data grids as real
        surfaces that can't be seen through, so plot elements behind
        the surface will be hidden by it.  For this to work, the sur-
        face needs to have 'grid structure' (see [1msplot datafile [22mabout
        this), and it has to be drawn [1mwith lines [22mor [1mwith linespoints[22m.











   GNUPLOT 5.4                                                      193


        When [1mhidden3d [22mis set, both the hidden portion of the surface
        and possibly its contours drawn on the base (see [1mset contour[22m)
        as well as the grid will be hidden.  Each surface has its hid-
        den parts removed with respect to itself and to other surfaces,
        if more than one surface is plotted.  Contours drawn on the
        surface ([1mset contour surface[22m) don't work.

        [1mhidden3d [22malso affects 3D plotting styles [1mpoints[22m, [1mlabels[22m, [1mvec-[0m
        [1mtors[22m, and [1mimpulses [22meven if no surface is present in the graph.
        Unobscured portions of each vector are drawn as line segments
        (no arrowheads).  Individual plots within the graph may be ex-
        plicitly excluded from this processing by appending the extra
        option [1mnohidden3d [22mto the [1mwith [22mspecifier.

        Hidden3d does not affect solid surfaces drawn using the pm3d
        mode. To achieve a similar effect purely for pm3d surfaces, use
        instead [1mset pm3d depthorder[22m.  To mix pm3d surfaces with normal
        [1mhidden3d [22mprocessing, use the option [1mset hidden3d front [22mto force
        all elements included in hidden3d processing to be drawn after
        any remaining plot elements, including the pm3d surface.

        Functions are evaluated at isoline intersections.  The algo-
        rithm interpolates linearly between function points or data
        points when determining the visible line segments.  This means
        that the appearance of a function may be different when plotted
        with [1mhidden3d [22mthan when plotted with [1mnohidden3d [22mbecause in the
        latter case functions are evaluated at each sample.  Please see
        [1mset samples [22mand [1mset isosamples [22mfor discussion of the differ-
        ence.

        The algorithm used to remove the hidden parts of the surfaces
        has some additional features controllable by this command.
        Specifying [1mdefaults [22mwill set them all to their default set-
        tings, as detailed below.  If [1mdefaults [22mis not given, only ex-
        plicitly specified options will be influenced: all others will
        keep their previous values, so you can turn on/off hidden line
        removal via [1mset {no}hidden3d[22m, without modifying the set of op-
        tions you chose.

        The first option, [1moffset[22m, influences the linetype used for
        lines on the 'back' side.  Normally, they are drawn in a line-
        type one index number higher than the one used for the front,
        to make the two sides of the surface distinguishable.  You can
        specify a different linetype offset to add instead of the de-
        fault 1, by [1moffset <offset>[22m.  Option [1mnooffset [22mstands for [1moffset[0m
        [1m0[22m, making the two sides of the surface use the same linetype.

        Next comes the option [1mtrianglepattern <bitpattern>[22m.  <bitpat-
        tern> must be a number between 0 and 7, interpreted as a bit
        pattern.  Each bit determines the visibility of one edge of the
        triangles each surface is split up into.  Bit 0 is for the
        'horizontal' edges of the grid, Bit 1 for the 'vertical' ones,
        and Bit 2 for the diagonals that split each cell of the










   GNUPLOT 5.4                                                      194


        original grid into two triangles.  The default pattern is 3,
        making all horizontal and vertical lines visible, but not the
        diagonals.  You may want to choose 7 to see those diagonals as
        well.

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

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

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

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

        If the diagonal edges of the surface cells aren't generally
        made visible by bit 2 of the <bitpattern> there, the edge CB
        above wouldn't be drawn at all, normally, making the resulting
        display hard to understand.  Therefore, the default option of










   GNUPLOT 5.4                                                      195


        [1mbentover [22mwill turn it visible in this case.  If you don't want
        that, you may choose [1mnobentover [22minstead.  See also hidden line
        removal demo (hidden.dem) and complex hidden line demo (sin-
        gulr.dem).



        [1m102.33.  Historysize[0m


        (Deprecated).  [1mset historysize N [22mis equivalent to [1mset history[0m
        [1msize N[22m.  [1munset historysize [22mis equivalent to [1mset history size[0m
        [1m-1[22m.



        [1m102.34.  History[0m


        Syntax:
           set history {size <N>} {quiet|numbers} {full|trim} {default}

        When leaving gnuplot the value of history size limits the num-
        ber of lines saved to the history file. [1mset history size -1 [22mal-
        lows an unlimited number of lines to be written to the history
        file.

        By default the [1mhistory [22mcommand prints a line number in front of
        each command.  [1mhistory quiet [22msuppresses the number for this
        command only.  [1mset history quiet [22msuppresses numbers for all fu-
        ture [1mhistory [22mcommands.

        The [1mtrim [22moption reduces the number of duplicate lines in the
        history list by removing earlier instances of the current com-
        mand.

        Default settings: [1mset history size 500 numbers trim[22m.



        [1m102.35.  Isosamples[0m


        The isoline density (grid) for plotting functions as surfaces
        may be changed by the [1mset isosamples [22mcommand.

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

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










   GNUPLOT 5.4                                                      196


        set to 10 isolines per u or v axis.  A higher sampling rate
        will produce more accurate plots, but will take longer.  These
        parameters have no effect on data file plotting.

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

        When a function surface plot is being done without the removal
        of hidden lines, [1mset samples  [22mcontrols the number of points
        sampled along each isoline;  see [1mset samples [22mand [1mset hidden3d[22m.
        The contour algorithm assumes that a function sample occurs at
        each isoline intersection, so change in [1msamples [22mas well as
        [1misosamples [22mmay be desired when changing the resolution of a
        function surface/contour.



        [1m102.36.  Isosurface[0m


        Syntax:
             set isosurface {mixed|triangles}
             set isosurface {no}insidecolor <n>
        Surfaces plotted by the command [1msplot $voxelgrid with isosur-[0m
        [1mface [22mare by default constructed from a mixture of quadrangles
        and triangles.  The use of quadrangles creates a less compli-
        cated visual impression.  This is the default.  This command
        proveds an option to tessellate with only triangles.

        By default the inside of an isosurface is drawn in a separate
        color.  The method of choosing that color is the same as for
        hidden3d surfaces, where an offset <n> is added to the base
        linetype.  To draw both the inside and outside surfaces in the
        same color, use [1mset isosurface noinsidecolor[22m.



        [1m102.37.  Jitter[0m


        Syntax:
              set jitter {overlap <yposition>} {spread <factor>} {wrap
        <limit>}
                         {swarm|square|vertical}
        Examples:
              set jitter                    # jitter points within 1
        character width
              set jitter overlap 1.5        # jitter points within 1.5
        character width










   GNUPLOT 5.4                                                      197


              set jitter over 1.5 spread 0.5  # same but half the dis-
        placement on x

        When one or both coordinates of a data set are restricted to
        discrete values then many points may lie exactly on top of each
        other.  Jittering introduces an offset to the coordinates of
        these superimposed points that spreads them into a cluster.
        The threshold value for treating the points as being overlapped
        may be specified in character widths or any of the usual coor-
        dinate options.  See [1mcoordinates[22m.  Jitter affects 2D plot
        styles [1mwith points [22mand [1mwith impulses[22m.  It also affects 3D plot-
        ting of voxel grids.

        The default jittering operation displaces points only along x.
        This produces a distinctive pattern sometimes called a "bee
        swarm plot".  The optional keyword [1msquare [22madjusts the y coordi-
        nate of displaced points in addition to their x coordinate so
        that the points lie in distinct layers separated by at least
        the [1moverlap [22mdistance.

        To jitter along y (only) rather than along x, use keyword [1mver-[0m
        [1mtical[22m.

        The maximum displacement (in character units) can be limited
        using the [1mwrap [22mkeyword.

        Note that both the overlap criterion and the magnitude of jit-
        ter default to one character unit.  Thus the plot appearance
        will change with the terminal font size, canvas size, or zoom
        factor.  To avoid this you can specify the overlap criterion in
        the y axis coordinate system (the [1mfirst [22mkeyword) and adjust the
        point size and spread multiplier as appropriate.  See [1mcoordi-[0m
        [1mnates[22m, [1mpointsize[22m.

        Caveat: jitter is incompatible with "pointsize variable".

        [1mset jitter [22mis also useful in 3D plots of voxel data.  Because
        voxel grids are regular lattices of evenly spaced points, many
        view angles cause points to overlap and/or generate Moiré pat-
        terns.  These artifacts can be removed by displacing the symbol
        drawn at each grid point by a random amount.



        [1m102.38.  Key[0m


        The [1mset key [22mcommand enables a key (or legend) containing a ti-
        tle and a sample (line, point, box) for each plot in the graph.
        The key may be turned off by requesting [1mset key off [22mor [1munset[0m
        [1mkey[22m.  Individual key entries may be turned off by using the
        [1mnotitle [22mkeyword in the corresponding plot command.  The text of
        the titles is controlled by the [1mset key autotitle [22moption or by










   GNUPLOT 5.4                                                      198


        the [1mtitle [22mkeyword of individual [1mplot [22mand [1msplot [22mcommands.  See
        [1mplot title [22mfor more information.

        Syntax:
              set key {on|off} {default}
                    {{inside | outside | fixed} | {lmargin | rmargin |
        tmargin | bmargin}
                      | {at <position>}}
                    {left | right | center} {top | bottom | center}
                    {vertical | horizontal} {Left | Right}
                    {{no}enhanced}
                    {{no}opaque}
                    {{no}reverse} {{no}invert}
                    {samplen <sample_length>} {spacing <line_spacing>}
                    {width <width_increment>} {height <height_incre-
        ment>}
                    {{no}autotitle {columnheader}}
                    {title {"<text>"} {{no}enhanced} {center | left |
        right}}
                    {font "<face>,<size>"} {textcolor <colorspec>}
                    {{no}box {linestyle <style> | linetype <type> |
        linewidth <width>}}
                    {maxcols {<max no. of columns> | auto}}
                    {maxrows {<max no. of rows> | auto}}
              unset key
              show key

        Elements within the key are stacked according to [1mvertical [22mor
        [1mhorizontal[22m.  In the case of [1mvertical[22m, the key occupies as few
        columns as possible.  That is, elements are aligned in a column
        until running out of vertical space at which point a new column
        is started.  The vertical space may be limited using 'maxrows'.
        In the case of [1mhorizontal[22m, the key occupies as few rows as pos-
        sible.  The horizontal space may be limited using 'maxcols'.

        By default the key is placed in the upper right inside corner
        of the graph.  The keywords [1mleft[22m, [1mright[22m, [1mtop[22m, [1mbottom[22m, [1mcenter[22m,
        [1minside[22m, [1moutside[22m, [1mlmargin[22m, [1mrmargin[22m, [1mtmargin[22m, [1mbmargin [22m(, [1mabove[22m,
        [1mover[22m, [1mbelow [22mand [1munder[22m) may be used to automatically place the
        key in other positions of the graph.  Also an [1mat <position> [22mmay
        be given to indicate precisely where the plot should be placed.
        In this case, the keywords [1mleft[22m, [1mright[22m, [1mtop[22m, [1mbottom [22mand [1mcenter[0m
        serve an analogous purpose for alignment.  For more informa-
        tion, see [1mkey placement[22m.

        Justification of the plot titles within the key is controlled
        by [1mLeft [22mor [1mRight [22m(default).  The text and sample can be re-
        versed ([1mreverse[22m) and a box can be drawn around the key ([1mbox[0m
        [1m{...}[22m) in a specified [1mlinetype [22mand [1mlinewidth[22m, or a user-defined
        [1mlinestyle[22m.

        The text in the key is set in [1menhanced [22mmode by default, this
        can be changed with the [1m{no}enhanced [22moption, also independently










   GNUPLOT 5.4                                                      199


        for the key title only and for each individual plot.

        By default the key is built up one plot at a time. That is, the
        key symbol and title are drawn at the same time as the corre-
        sponding plot.  That means newer plots may sometimes place ele-
        ments on top of the key.  [1mset key opaque [22mcauses the key to be
        generated after all the plots.  In this case the key area is
        filled with background color and then the key symbols and ti-
        tles are written.  Therefore the key itself may obscure por-
        tions of some plot elements.  The default can be restored by
        [1mset key noopaque[22m.

        By default the first plot label is at the top of the key and
        successive labels are entered below it. The [1minvert [22moption
        causes the first label to be placed at the bottom of the key,
        with successive labels entered above it. This option is useful
        to force the vertical ordering of labels in the key to match
        the order of box types in a stacked histogram.

        The <height_increment> is a number of character heights to be
        added to or subtracted from the height of the key box.  This is
        useful mainly when you are putting a box around the key and
        want larger borders around the key entries.

        An overall title can be put on the key ([1mtitle "<text>"[22m)---see
        also [1msyntax [22mfor the distinction between text in single- or dou-
        ble-quotes. The justification of the title defaults to center
        and can be changed by the keywords [1mright [22mor [1mleft[0m

        The defaults for [1mset key [22mare [1mon[22m, [1mright[22m, [1mtop[22m, [1mvertical[22m, [1mRight[22m,
        [1mnoreverse[22m, [1mnoinvert[22m, [1msamplen 4[22m, [1mspacing 1[22m, [1mnotitle[22m, and [1mnobox[22m.
        The default <linetype> is the same as that used for the plot
        borders.  Entering [1mset key default [22mreturns the key to its de-
        fault configuration.

        Each plot is represented in the key by a single line containing
        a line or symbol or shape representing the plot style and a
        corresponding title.  Using the keyword [1mnotitle [22min the plot
        command will suppress generation of the line.  Contour plots
        generated additional entries in the key, one for each contour
        (see [1mcntrlabel[22m). You can add extra lines to the key by insert-
        ing a dummy plot command that uses the keyword [1mkeyentry [22mrather
        than a filename or a function.  See [1mkeyentry[22m.

        When using the TeX/LaTeX group of terminals or terminals in
        which formatting information is embedded in the string, [1mgnuplot[0m
        can only estimate the width of the string for key positioning.
        If the key is to be positioned at the left, it may be conve-
        nient to use the combination [1mset key left Left reverse[22m.














   GNUPLOT 5.4                                                      200


             [1m102.38.1.  3D key[0m


             Placement of the key for 3D plots ([1msplot[22m) by default uses
             the [1mfixed [22moption.  Note: this is a change from gnuplot
             version 5.0 and earlier. [1mfixed [22mplacement is very similar
             to [1minside [22mplacement with one important difference.  The
             plot boundaries of a 3D plot change as the view point is
             rotated or scaled.  If the key is positioned [1minside [22mthese
             boundaries then the key also moves when the view is
             changed. [1mfixed [22mpositioning ignores changes to the view an-
             gles or scaling; i.e. the key remains fixed in one loca-
             tion on the canvas as the plot is rotated.

             For 2D plots the [1mfixed [22moption is exactly equivalent to [1min-[0m
             [1mside[22m.

             If [1msplot [22mis being used to draw contours, by default a sep-
             arate key entry is generated for each contour level with a
             distinct line type.  To modify this see [1mset cntrlabel[22m.



             [1m102.38.2.  Key examples[0m


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

             This disables the key:
                   unset key

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

             This places the key below the graph:
                   set key below

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




             [1m102.38.3.  Extra key entries[0m


             Normally each plot autogenerates a single line entry in
             the key.  If you need more control over what appears in
             the key you can use the [1mkeyentry [22mkeyword in the [1mplot [22mor










   GNUPLOT 5.4                                                      201


             [1msplot [22mcommand to insert extra lines.  Instead of providing
             a filename or function to plot, use [1mkeyentry [22mas a place-
             holder followed by plot style information (used to gener-
             ate a key symbol) and a title.  All the usual options for
             title font, text color, [1mat [22mcoordinates, and enhanced text
             markup apply.  Example:
                  plot $HEATMAP matrix with image notitle, \
                       keyentry with boxes fc palette cb 0 title "no
             effect", \
                       keyentry with boxes fc palette cb 1 title
             "threshold", \
                       keyentry with boxes fc palette cb 3 title "typi-
             cal range", \
                       keyentry with labels nopoint title "as reported
             in [12]", \
                       keyentry with boxes fc palette cb 5 title
             "strong effect"



             [1m102.38.4.  Key autotitle[0m


             [1mset key autotitle [22mcauses each plot to be identified in the
             key by the name of the data file or function used in the
             plot command. This is the default.  [1mset key noautotitle[0m
             disables the automatic generation of plot titles.  The
             command [1mset key autotitle columnheader [22mcauses the first
             entry in each column of input data to be interpreted as a
             text string and used as a title for the corresponding
             plot. If the quantity being plotted is a function of data
             from several columns, gnuplot may be confused as to which
             column to draw the title from. In this case it is neces-
             sary to specify the column explicitly in the plot command,
             e.g.

                   plot "datafile" using (($2+$3)/$4) title column-
             head(3) with lines

             Note: The effect of [1mset key autotitle columnheader[22m, treat-
             ment of the first line in a data file as column headers
             rather than data applies even if the key is disabled by
             [1munset key[22m.  It also applies to [1mstats [22mand [1mfit [22mcommands even
             though they generate no key.  If you want the first line
             of data to be treated as column headers but _not_ to use
             them for plot titles, use [1mset datafile columnheaders[22m.

             In all cases an explicit [1mtitle [22mor [1mnotitle [22mkeyword in the
             plot command itself will override the default from [1mset key[0m
             [1mautotitle[22m.













   GNUPLOT 5.4                                                      202


             [1m102.38.5.  Key placement[0m


             This section describes placement of the primary, auto-gen-
             erated key.  To construct a secondary key or place plot
             titles elsewhere, see [1mmultiple keys[22m.

             To understand positioning, the best concept is to think of
             a region, i.e., inside/outside, or one of the margins.
             Along with the region, keywords [1mleft/center/right [22m(l/c/r)
             and [1mtop/center/bottom [22m(t/c/b) control where within the
             particular region the key should be placed.

             When in [1minside [22mmode, the keywords [1mleft [22m(l), [1mright [22m(r), [1mtop[0m
             (t), [1mbottom [22m(b), and [1mcenter [22m(c) push the key out toward
             the plot boundary as illustrated:

                  t/l   t/c   t/r

                  c/l    c    c/r

                  b/l   b/c   b/r


             When in [1moutside [22mmode, automatic placement is similar to
             the above illustration, but with respect to the view,
             rather than the graph boundary.  That is, a border is
             moved inward to make room for the key outside of the plot-
             ting area, although this may interfere with other labels
             and may cause an error on some devices.  The particular
             plot border that is moved depends upon the position de-
             scribed above and the stacking direction.  For options
             centered in one of the dimensions, there is no ambiguity
             about which border to move.  For the corners, when the
             stack direction is [1mvertical[22m, the left or right border is
             moved inward appropriately.  When the stack direction is
             [1mhorizontal[22m, the top or bottom border is moved inward ap-
             propriately.

             The margin syntax allows automatic placement of key re-
             gardless of stack direction.  When one of the margins
             [1mlmargin [22m(lm), [1mrmargin [22m(rm), [1mtmargin [22m(tm), and [1mbmargin [22m(bm)
             is combined with a single, non-conflicting direction key-
             word, the following illustrated positions may contain the
             key:

                       l/tm  c/tm  r/tm

                  t/lm                  t/rm

                  c/lm                  c/rm

                  b/lm                  b/rm










   GNUPLOT 5.4                                                      203


                       l/bm  c/bm  r/bm


             Keywords [1mabove [22mand [1mover [22mare synonymous with [1mtmargin[22m.  For
             version compatibility, [1mabove [22mor [1mover [22mwithout an additional
             l/c/r or stack direction keyword uses [1mcenter [22mand [1mhorizon-[0m
             [1mtal[22m.  Keywords [1mbelow [22mand [1munder [22mare synonymous with [1mbmar-[0m
             [1mgin[22m.  For compatibility, [1mbelow [22mor [1munder [22mwithout an addi-
             tional l/c/r or stack  direction keyword uses [1mcenter [22mand
             [1mhorizontal[22m.  A further compatibility issue is that [1moutside[0m
             appearing without an additional t/b/c or stack direction
             keyword uses [1mtop[22m, [1mright [22mand [1mvertical [22m(i.e., the same as
             t/rm above).

             The <position> can be a simple x,y,z as in previous ver-
             sions, but these can be preceded by one of five keywords
             ([1mfirst[22m, [1msecond[22m, [1mgraph[22m, [1mscreen[22m, [1mcharacter[22m) which selects
             the coordinate system in which the position of the first
             sample line is specified.  See [1mcoordinates [22mfor more de-
             tails.  The effect of [1mleft[22m, [1mright[22m, [1mtop[22m, [1mbottom[22m, and [1mcenter[0m
             when <position> is given is to align the key as though it
             were text positioned using the label command, i.e., [1mleft[0m
             means left align with key to the right of <position>, etc.



             [1m102.38.6.  Key samples[0m


             By default, each plot on the graph generates a correspond-
             ing entry in the key.  This entry contains a plot title
             and a sample line/point/box of the same color and fill
             properties as used in the plot itself.  The font and text-
             color properties control the appearance of the individual
             plot titles that appear in the key. Setting the textcolor
             to "variable" causes the text for each key entry to be the
             same color as the line or fill color for that plot.  This
             was the default in some earlier versions of gnuplot.

             The length of the sample line can be controlled by [1msam-[0m
             [1mplen[22m.  The sample length is computed as the sum of the tic
             length and <sample_length> times the character width.
             [1msamplen [22malso affects the positions of point samples in the
             key since these are drawn at the midpoint of the sample
             line, even if the sample line itself is not drawn.

             Key entry lines are single-spaced based on the current
             font size.  This can be adjusted by [1mset key spacing <line-[0m
             [1mspacing>[22m.

             The <width_increment> is a number of character widths to
             be added to or subtracted from the length of the string.
             This is useful only when you are putting a box around the










   GNUPLOT 5.4                                                      204


             key and you are using control characters in the text.
             [1mgnuplot [22msimply counts the number of characters in the
             string when computing the box width; this allows you to
             correct it.



             [1m102.38.7.  Multiple keys[0m


             It is possible to construct a legend/key manually rather
             than having the plot titles all appear in the auto-gener-
             ated key. This allows, for example, creating a single leg-
             end for the component panels in a multiplot.  Here is an
             example:
                    set multiplot layout 3,2 columnsfirst
                    set style data boxes
                    plot $D using 0:6  lt 1 title at 0.75, 0.20
                    plot $D using 0:12 lt 2 title at 0.75, 0.17
                    plot $D using 0:13 lt 3 title at 0.75, 0.14
                    plot $D using 0:14 lt 4 title at 0.75, 0.11
                    set label 1 at screen 0.75, screen 0.22 "Custom
             combined key area"
                    plot $D using 0:($6+$12+$13+$14) with linespoints
             title "total"
                    unset multiplot



        [1m102.39.  Label[0m


        Arbitrary labels can be placed on the plot using the [1mset label[0m
        command.

        Syntax:
              set label {<tag>} {"<label text>"} {at <position>}
                        {left | center | right}
                        {norotate | rotate {by <degrees>}}
                        {font "<name>{,<size>}"}
                        {noenhanced}
                        {front | back}
                        {textcolor <colorspec>}
                        {point <pointstyle> | nopoint}
                        {offset <offset>}
                        {nobox} {boxed {bs <boxstyle>}}
                        {hypertext}
              unset label {<tag>}
              show label

        The <position> is specified by either x,y or x,y,z, and may be
        preceded by [1mfirst[22m, [1msecond[22m, [1mpolar[22m, [1mgraph[22m, [1mscreen[22m, or [1mcharacter[0m
        to indicate the coordinate system.  See [1mcoordinates [22mfor










   GNUPLOT 5.4                                                      205


        details.

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

        The <label text> can be a string constant, a string variable,
        or a string- valued expression. See [1mstrings[22m, [1msprintf[22m, and
        [1mgprintf[22m.

        By default, the text is placed flush left against the point
        x,y,z.  To adjust the way the label is positioned with respect
        to the point x,y,z, add the justification parameter, which may
        be [1mleft[22m, [1mright [22mor [1mcenter[22m, indicating that the point is to be at
        the left, right or center of the text.  Labels outside the
        plotted boundaries are permitted but may interfere with axis
        labels or other text.

        Some terminals support enclosing the label in a box.  See [1mset[0m
        [1mstyle textbox[22m.  Not all terminals can handle boxes for rotated
        text.

        If [1mrotate [22mis given, the label is written vertically. If [1mrotate[0m
        [1mby <degrees> [22mis given, the baseline of the text will be set to
        the specified angle.  Some terminals do not support text rota-
        tion.

        Font and its size can be chosen explicitly by [1mfont[0m
        [1m"<name>{,<size>}" [22mif the terminal supports font settings.  Oth-
        erwise the default font of the terminal will be used.

        Normally the enhanced text mode string interpretation, if en-
        abled for the current terminal, is applied to all text strings
        including label text.  The [1mnoenhanced [22mproperty can be used to
        exempt a specific label from the enhanced text mode processing.
        The can be useful if the label contains underscores, for exam-
        ple. See [1menhanced text[22m.

        If [1mfront [22mis given, the label is written on top of the graphed
        data. If [1mback [22mis given (the default), the label is written un-
        derneath the graphed data.  Using [1mfront [22mwill prevent a label
        from being obscured by dense data.

        [1mtextcolor <colorspec> [22mchanges the color of the label text.
        <colorspec> can be a linetype, an rgb color, or a palette map-
        ping. See help for [1mcolorspec [22mand [1mpalette[22m.  [1mtextcolor [22mmay be ab-
        breviated [1mtc[22m.
           `tc default` resets the text color to its default state.
           `tc lt <n>` sets the text color to that of line type <n>.
           `tc ls <n>` sets the text color to that of line style <n>.










   GNUPLOT 5.4                                                      206


           `tc palette z` selects a palette color corresponding to the
        label z position.
           `tc palette cb <val>` selects a color corresponding to <val>
        on the colorbar.
           `tc palette fraction <val>`, with 0<=val<=1, selects a color
        corresponding to
               the mapping [0:1] to grays/colors of the `palette`.
           `tc rgb "#RRGGBB"` or `tc rgb "0xRRGGBB"` sets an arbitrary
        24-bit RGB color.
           `tc rgb 0xRRGGBB`  As above; a hexadecimal constant does not
        require quotes.

        If a <pointstyle> is given, using keywords [1mlt[22m, [1mpt [22mand [1mps[22m, see
        [1mstyle[22m, a point with the given style and color of the given line
        type is plotted at the label position and the text of the label
        is displaced slightly.  This option is used by default for
        placing labels in [1mmouse [22menhanced terminals.  Use [1mnopoint [22mto
        turn off the drawing of a point near the label (this is the de-
        fault).

        The displacement defaults to 1,1 in [1mpointsize [22munits if a
        <pointstyle> is given, 0,0 if no <pointstyle> is given.  The
        displacement can be controlled by the optional [1moffset <offset>[0m
        where <offset> is specified by either x,y or x,y,z, and may be
        preceded by [1mfirst[22m, [1msecond[22m, [1mgraph[22m, [1mscreen[22m, or [1mcharacter [22mto se-
        lect the coordinate system.  See [1mcoordinates [22mfor details.

        If one (or more) axis is timeseries, the appropriate coordinate
        should be given as a quoted time string according to the
        [1mtimefmt [22mformat string.  See [1mset xdata [22mand [1mset timefmt[22m.

        The options available for [1mset label [22mare also available for the
        [1mlabels [22mplot style. See [1mlabels[22m.  In this case the properties
        [1mtextcolor[22m, [1mrotate[22m, and [1mpointsize [22mmay be followed by keyword
        [1mvariable [22mrather than by a fixed value.  In this case the corre-
        sponding property of individual labels is determined by addi-
        tional columns in the [1musing [22mspecifier.





             [1m102.39.1.  Examples[0m


             Examples:

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

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










   GNUPLOT 5.4                                                      207


             "Symbol,24"

             To set a label "y=x^2" with the right of the text at
             (2,3,4), and tag the label as number 3, use:
                   set label 3 "y=x^2" at 2,3,4 right

             To change the preceding label to center justification,
             use:
                   set label 3 center

             To delete label number 2, use:
                   unset label 2

             To delete all labels, use:
                   unset label

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

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

             To display a freshly fitted parameter on the plot with the
             data and the fitted function, do this after the [1mfit[22m, but
             before the [1mplot[22m:
                   set label sprintf("a = %3.5g",par_a) at 30,15
                   bfit = gprintf("b = %s*10^%S",par_b)
                   set label bfit at 30,20

             To display a function definition along with its fitted pa-
             rameters, use:
                   f(x)=a+b*x
                   fit f(x) 'datafile' via a,b
                   set label GPFUN_f at graph .05,.95
                   set label sprintf("a = %g", a) at graph .05,.90
                   set label sprintf("b = %g", b) at graph .05,.85

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

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



             [1m102.39.2.  Hypertext[0m













   GNUPLOT 5.4                                                      208


             Some terminals (wxt, qt, svg, canvas, win) allow you to
             attach hypertext to specific points on the graph or else-
             where on the canvas. When the mouse hovers over the anchor
             point, a pop-up box containing the text is displayed.
             Terminals that do not support hypertext will display noth-
             ing. You must enable the [1mpoint [22mattribute of the label in
             order for the hypertext to be anchored.  Examples:
                   set label at 0,0 "Plot origin" hypertext point pt 1
                   plot 'data' using 1:2:0 with labels hypertext point
             pt 7 \
                        title 'mouse over point to see its order in
             data set'

             For the wxt and qt terminals, left-click on a hypertext
             anchor after the text has appeared will copy the hypertext
             to the clipboard.

             EXPERIMENTAL (implementation details may change) Text of
             the form "image{<xsize>,<ysize>}:<filename>{\n<caption
             text>}" will trigger display of the image file in a pop-up
             box. The optional size overrides a default box size
             300x200.  The types of image file recognized may vary by
             terminal type, but *.png should always work. Any addi-
             tional text lines following the image filename are dis-
             played as usual for hypertext.  Example:
                   set label 7 "image:../figures/Fig7_inset.png\nFigure
             7 caption..."
                   set label 7 at 10,100 hypertext point pt 7



        [1m102.40.  Linetype[0m


        The [1mset linetype [22mcommand allows you to redefine the basic line-
        types used for plots.  The command options are identical to
        those for "set style line".  Unlike line styles, redefinitions
        by [1mset linetype [22mare persistent;  they are not affected by [1mre-[0m
        [1mset[22m.

        For example, whatever linetypes one and two look like to begin
        with, if you redefine them like this:

              set linetype 1 lw 2 lc rgb "blue" pointtype 6
              set linetype 2 lw 2 lc rgb "forest-green" pointtype 8

        everywhere that uses lt 1 will now get a thick blue line.  This
        includes uses such as the definition of a temporary linestyle
        derived from the base linetype 1.  Similarly lt 2 will now pro-
        duce a thick green line.

        This mechanism can be used to define a set of personal prefer-
        ences for the sequence of lines used in gnuplot.  The










   GNUPLOT 5.4                                                      209


        recommended way to do this is to add to the run-time initial-
        ization file ~/.gnuplot a sequence of commands like

              set linetype 1 lc rgb "dark-violet" lw 2 pt 1
              set linetype 2 lc rgb "sea-green"   lw 2 pt 7
              set linetype 3 lc rgb "cyan"        lw 2 pt 6 pi -1
              set linetype 4 lc rgb "dark-red"    lw 2 pt 5 pi -1
              set linetype 5 lc rgb "blue"        lw 2 pt 8
              set linetype 6 lc rgb "dark-orange" lw 2 pt 3
              set linetype 7 lc rgb "black"       lw 2 pt 11
              set linetype 8 lc rgb "goldenrod"   lw 2
              set linetype cycle 8

        Every time you run gnuplot the line types will be initialized
        to these values.  You may initialize as many linetypes as you
        like. If you do not redefine, say, linetype 3 then it will con-
        tinue to have the default properties (in this case blue, pt 3,
        lw 1, etc).

        Similar script files can be used to define theme-based color
        choices, or sets of colors optimized for a particular plot type
        or output device.

        The command [1mset linetype cycle 8 [22mtells gnuplot to re-use these
        definitions for the color and linewidth of higher-numbered
        linetypes.  That is, linetypes 9-16, 17-24, and so on will use
        this same sequence of colors and widths.  The point properties
        (pointtype, pointsize, pointinterval) are not affected by this
        command.  [1munset linetype cycle [22mdisables this feature.  If the
        line properties of a higher numbered linetype are explicitly
        defined, this takes precedence over the recycled low-number
        linetype properties.



        [1m102.41.  Link[0m


        Syntax:
              set link {x2 | y2} {via <expression1> inverse <expres-
        sion2>}
              unset link

        The [1mset link [22mcommand establishes a mapping between the x and x2
        axes, or the y and y2 axes.  <expression1> maps primary axis
        coordinates onto the secondary axis.  <expression2> maps sec-
        ondary axis coordinates onto the primary axis.

        Examples:

              set link x2

        This is the simplest form of the command. It forces the x2 axis










   GNUPLOT 5.4                                                      210


        to have identically the same range, scale, and direction as the
        x axis.  Commands [1mset xrange[22m, [1mset x2range[22m, [1mset auto x[22m, etc will
        affect both the x and x2 axes.

              set link x2 via x**2 inverse sqrt(x)
              plot "sqrt_data" using 1:2 axes x2y1, "linear_data" using
        1:2 axes x1y1

        This command establishes forward and reverse mapping between
        the x and x2 axes.  The forward mapping is used to generate x2
        tic labels and x2 mouse coordinate The reverse mapping is used
        to plot coordinates given in the x2 coordinate system.  Note
        that the mapping as given is valid only for x non-negative.
        When mapping to the y2 axis, both <expression1> and <expres-
        sion2> must use y as dummy variable.



        [1m102.42.  Lmargin[0m


        The command [1mset lmargin [22msets the size of the left margin.
        Please see [1mset margin [22mfor details.



        [1m102.43.  Loadpath[0m


        The [1mloadpath [22msetting defines additional locations for data and
        command files searched by the [1mcall[22m, [1mload[22m, [1mplot [22mand [1msplot [22mcom-
        mands.  If a file cannot be found in the current directory, the
        directories in [1mloadpath [22mare tried.

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

        Path names may be entered as single directory names, or as a
        list of path names separated by a platform-specific path sepa-
        rator, eg. colon (':') on Unix, semicolon (';') on DOS/Win-
        dows/OS/2 platforms.  The [1mshow loadpath[22m, [1msave [22mand [1msave set [22mcom-
        mands replace the platform-specific separator with a space
        character (' ').

        If the environment variable GNUPLOT_LIB is set, its contents
        are appended to [1mloadpath[22m.  However, [1mshow loadpath [22mprints the
        contents of [1mset loadpath [22mand GNUPLOT_LIB separately.  Also, the
        [1msave [22mand [1msave set [22mcommands ignore the contents of GNUPLOT_LIB.














   GNUPLOT 5.4                                                      211


        [1m102.44.  Locale[0m


        The [1mlocale [22msetting determines the language with which
        [1m{x,y,z}{d,m}tics [22mwill write the days and months.

        Syntax:
              set locale {"<locale>"}

        <locale> may be any language designation acceptable to your in-
        stallation.  See your system documentation for the available
        options.  The command [1mset locale "" [22mwill try to determine the
        locale from the LC_TIME, LC_ALL, or LANG environment variables.

        To change the decimal point locale, see [1mset decimalsign[22m.  To
        change the character encoding to the current locale, see [1mset[0m
        [1mencoding[22m.



        [1m102.45.  Logscale[0m


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

        where <axes> may be any combinations of [1mx[22m, [1mx2[22m, [1my[22m, [1my2[22m, [1mz[22m, [1mcb[22m,
        and [1mr [22min any order.  <base> is the base of the log scaling (de-
        fault is base 10).  If no axes are specified, the command af-
        fects all axes except [1mr[22m.  The command [1munset logscale [22mturns off
        log scaling for all axes.  Note that the ticmarks generated for
        logscaled axes are not uniformly spaced.  See [1mset xtics[22m.

        Examples:

        To enable log scaling in both x and z axes:
              set logscale xz

        To enable scaling log base 2 of the y axis:
              set logscale y 2

        To enable z and color log axes for a pm3d plot:
              set logscale zcb

        To disable z axis log scaling:
              unset logscale z















   GNUPLOT 5.4                                                      212


        [1m102.46.  Macros[0m


        In this version of gnuplot macro substitution is always en-
        abled.  Tokens in the command line of the form @<stringvari-
        ablename> will be replaced by the text string contained in
        <stringvariablename>. See [1msubstitution[22m.



        [1m102.47.  Mapping[0m


        If data are provided to [1msplot [22min spherical or cylindrical coor-
        dinates, the [1mset mapping [22mcommand should be used to instruct
        [1mgnuplot [22mhow to interpret them.

        Syntax:
              set mapping {cartesian | spherical | cylindrical}

        A cartesian coordinate system is used by default.

        For a spherical coordinate system, the data occupy two or three
        columns (or [1musing [22mentries).  The first two are interpreted as
        the azimuthal and polar angles theta and phi (or "longitude"
        and "latitude"), in the units specified by [1mset angles[22m.  The ra-
        dius r is taken from the third column if there is one, or is
        set to unity if there is no third column.  The mapping is:

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

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

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

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

        The effects of [1mmapping [22mcan be duplicated with the [1musing [22mfilter
        on the [1msplot [22mcommand, but [1mmapping [22mmay be more convenient if
        many data files are to be processed.  However even if [1mmapping[0m
        is used, [1musing [22mmay still be necessary if the data in the file
        are not in the required order.











   GNUPLOT 5.4                                                      213


        [1mmapping [22mhas no effect on [1mplot[22m.  world.dem: mapping demos.



        [1m102.48.  Margin[0m


        The [1mmargin [22mis the distance between the plot border and the
        outer edge of the canvas. The size of the margin is chosen au-
        tomatically, but can be overridden by the [1mset margin [22mcommands.
        [1mshow margin [22mshows the current settings.  To alter the distance
        between the inside of the plot border and the data in the plot
        itself, see [1mset offsets[22m.

        Syntax:
              set lmargin {{at screen} <margin>}
              set rmargin {{at screen} <margin>}
              set tmargin {{at screen} <margin>}
              set bmargin {{at screen} <margin>}
              set margins <left>, <right>, <bottom>, <top>
              show margin

        The default units of <margin> are character heights or widths,
        as appropriate.  A positive value defines the absolute size of
        the margin.  A negative value (or none) causes [1mgnuplot [22mto re-
        vert to the computed value.  For 3D plots, only the left margin
        can be set using character units.

        The keywords [1mat screen [22mindicates that the margin is specified
        as a fraction of the full drawing area. This can be used to
        precisely line up the corners of individual 2D and 3D graphs in
        a multiplot. This placement ignores the current values of [1mset[0m
        [1morigin [22mand [1mset size[22m, and is intended as an alternative method
        for positioning graphs within a multiplot.

        Normally the margins of a plot are automatically calculated
        based on tics, tic labels, axis labels, the plot title, the
        timestamp and the size of the key if it is outside the borders.
        If, however, tics are attached to the axes ([1mset xtics axis[22m, for
        example), neither the tics themselves nor their labels will be
        included in either the margin calculation or the calculation of
        the positions of other text to be written in the margin.  This
        can lead to tic labels overwriting other text if the axis is
        very close to the border.



        [1m102.49.  Micro[0m


        By default the "%c" format specifier for scientific notation
        used to generate axis tick labels uses a lower case u as a pre-
        fix to indicate "micro" (10^-6).  The [1mset micro [22mcommand tells










   GNUPLOT 5.4                                                      214


        gnuplot to use a different typographic character (unicode
        U+00B5).  The byte sequence used to represent this character
        depends on the current encoding.  See [1mformat specifiers[22m, [1mencod-[0m
        [1ming[22m.

        This command is EXPERIMENTAL. Implementation details may
        change.




        [1m102.50.  Minussign[0m


        Gnuplot uses the C language library routine sprintf() for most
        formatted input.  However it also has its own formatting rou-
        tine [1mgprintf() [22mthat is used to generate axis tic labels. The C
        library routine always use a hyphen character (ascii \055) to
        indicate a negative number, as in -7.  Many people prefer a
        different typographic minus sign character (unicode U+2212) for
        this purpose, as in 7.  The command

             set minussign

        causes gprintf() to use this minus sign character rather than a
        hyphen in numeric output. In a utf-8 locale this is the multi-
        byte sequence corresponding to unicode U+2212.  In a Window
        codepage 1252 locale this is the 8-bit character ALT+150 ("en
        dash").  The [1mset minussign [22mcommand will affect axis tic labels
        and any labels that are created by explicitly invoking gprintf.
        It has no effect on other strings that contain a hyphen.  See
        [1mgprintf[22m.

        Note that this command is ignored when you are using any of the
        LaTeX terminals, as LaTeX has its own mechanism for handling
        minus signs.  It also is not necessary when using the post-
        script terminal because the postscript prologue output by gnu-
        plot remaps the ascii hyphen code \055 to a different glyph
        named [1mminus[22m.

        This command is EXPERIMENTAL. Implementation details may
        change.

        Example (assumes utf8 locale):

             set minus
             A = -5
             print "A = ",A                 # printed string will con-
        tain a hyphen
             print gprintf("A = %g",A)      # printed string will con-
        tain character U+2212
             set label "V = -5"             # label will contain a hy-
        phen










   GNUPLOT 5.4                                                      215


             set label sprintf("V = %g",-5) # label will contain a hy-
        phen
             set label gprintf("V = %g",-5) # label will contain char-
        acter U+2212



        [1m102.51.  Monochrome[0m


        Syntax:
             set monochrome {linetype N <linetype properties>}

        The [1mset monochrome [22mcommand selects an alternative set of line-
        types that differ by dot/dash pattern or line width rather than
        by color.  This command replaces the monochrome option offered
        by certain terminal types in earlier versions of gnuplot.  For
        backward compatibility these terminal types now implicitly in-
        voke "set monochrome" if their own "mono" option is present.
        For example,
             set terminal pdf mono
        is equivalent to
             set terminal pdf
             set mono

        Selecting monochrome mode does not prevent you from explicitly
        drawing lines using RGB or palette colors, but see also [1mset[0m
        [1mpalette gray[22m.  Six monochrome linetypes are defined by default.
        You can change their properties or add additional monochrome
        linetypes by using the full form of the command.  Changes made
        to the monochrome linetypes do not affect the color linetypes
        and vice versa.  To restore the usual set of color linetypes,
        use either [1munset monochrome [22mor [1mset color[22m.



        [1m102.52.  Mouse[0m


        The command [1mset mouse [22menables mouse actions for the current in-
        teractive terminal.  It is usually enabled by default in inter-
        active mode, but disabled by default if commands are being read
        from a file.

        There are two mouse modes. The 2D mode works for [1mplot [22mcommands
        and for [1msplot [22mmaps (i.e. [1mset view [22mwith z-rotation 0, 90, 180,
        270 or 360 degrees, including [1mset view map[22m).  In this mode the
        mouse position is tracked and you can pan or zoom using the
        mouse buttons or arrow keys.  Some terminals support toggling
        individual plots on/off by clicking on the corresponding key
        title or on a separate widget.

        For 3D graphs [1msplot[22m, the view and scaling of the graph can be










   GNUPLOT 5.4                                                      216


        changed with mouse buttons 1 and 2, respectively. A vertical
        motion of Button 2 with the shift key held down changes the [1mxy-[0m
        [1mplane[22m.  If additionally to these buttons the modifier <ctrl> is
        held down, the coordinate axes are displayed but the data are
        suppressed.  This is useful for large data sets.  Mouse button
        3 controls the azimuth of the z axis (see [1mset view azimuth[22m).

        Mousing is not available inside multiplot mode. When multiplot
        is completed using [1munset multiplot[22m, then the mouse will be
        turned on again but acts only on the most recent plot within
        the multiplot (like replot does).

        Syntax:
              set mouse {doubleclick <ms>} {nodoubleclick}
                        {{no}zoomcoordinates}
                        {zoomfactors <xmultiplier>, <ymultiplier>}
                        {noruler | ruler {at x,y}}
                        {polardistance{deg|tan} | nopolardistance}
                        {format <string>}
                        {mouseformat <int> | <string> | function
        <f(x,y)>}
                        {{no}labels {"labeloptions"}}
                        {{no}zoomjump} {{no}verbose}
              unset mouse

        The options [1mnoruler [22mand [1mruler [22mswitch the ruler off and on, the
        latter optionally setting the origin at the given coordinates.
        While the ruler is on, the distance in user units from the
        ruler origin to the mouse is displayed continuously. By de-
        fault, toggling the ruler has the key binding 'r'.

        The option [1mpolardistance [22mdetermines if the distance between the
        mouse cursor and the ruler is also shown in polar coordinates
        (distance and angle in degrees or tangent (slope)). This corre-
        sponds to the default key binding '5'.

        Choose the option [1mlabels [22mto define persistent gnuplot labels
        using Button 2.  The default is [1mnolabels[22m, which makes Button 2
        draw only a temporary label at the mouse position. Labels are
        drawn with the current setting of [1mmouseformat[22m.  The [1mlabelop-[0m
        [1mtions [22mstring is passed to the [1mset label [22mcommand.  The default
        is "point pointstyle 1" which will plot a small plus at the la-
        bel position.  Temporary labels will disappear at the next [1mre-[0m
        [1mplot [22mor mouse zoom operation.  Persistent labels can be removed
        by holding the Ctrl-Key down while clicking Button 2 on the la-
        bel's point. The threshold for how close you must be to the la-
        bel is also determined by the [1mpointsize[22m.

        If the option [1mverbose [22mis turned on the communication commands
        are shown during execution. This option can also be toggled by
        hitting [1m6 [22min the driver's window. [1mverbose [22mis off by default.

        Press 'h' in the driver's window for a short summary of the










   GNUPLOT 5.4                                                      217


        mouse and key bindings.  This will also display user defined
        bindings or [1mhotkeys [22mwhich can be defined using the [1mbind [22mcom-
        mand, see help for [1mbind[22m.  Note, that user defined [1mhotkeys [22mmay
        override the default bindings.  See also help for [1mbind [22mand [1mla-[0m
        [1mbel[22m.




             [1m102.52.1.  Doubleclick[0m


             The doubleclick resolution is given in milliseconds and
             used for Button 1, which copies the current mouse position
             to the [1mclipboard [22mon some terminals.  The default value is
             300 ms.  Setting the value to 0 ms triggers the copy on a
             single click.



             [1m102.52.2.  Format[0m


             The [1mset mouse format [22mcommand specifies a format string for
             sprintf() which determines how the mouse cursor [x,y] co-
             ordinates are printed to the plot window and to the clip-
             board.  The default is "% #g".

             This setting is superseded by "set mouse mouseformat".



             [1m102.52.3.  Mouseformat[0m


             Syntax:
                  set mouse mouseformat i
                  set mouse mouseformat "custom format"
                  set mouse mouseformat function string_valued_func-
             tion(x, y)
             This command controls the format used to report the cur-
             rent mouse position.  An integer argument selects one of
             the format options in the table below.  A string argument
             is used as a format for sprintf() in option 7 and should
             contain two float specifiers, one for x and one for y.

             Use of a custom function returning a string is EXPERIMEN-
             TAL.  It allows readout of coordinate systems in which in-
             verse mapping from screen coordinates to plot coordinates
             requires joint consideration of both x and y.  See for ex-
             ample the map_projection demo.

             Example:










   GNUPLOT 5.4                                                      218


                  `set mouse mouseformat "mouse x,y = %5.2g, %10.3f"`.
             Use [1mset mouse mouseformat "" [22mto turn this string off
             again.

             The following formats are available:

              0   default (same as 1)
              1   axis coordinates                    1.23, 2.45
              2   graph coordinates (from 0 to 1)    /0.00, 1.00/
              3   x = timefmt     y = axis           [(as set by `set
             timefmt`), 2.45]
              4   x = date        y = axis           [31. 12. 1999,
             2.45]
              5   x = time        y = axis           [23:59, 2.45]
              6   x = date time   y = axis           [31. 12. 1999
             23:59, 2.45]
              7   format from `set mouse mouseformat <format-string>`
              8   format from `set mouse mouseformat function <func>`



             [1m102.52.4.  Scrolling[0m


             X and Y axis scaling in both 2D and 3D graphs can be ad-
             justed using the mouse wheel.  <wheel-up> scrolls up (in-
             creases both YMIN and YMAX by ten percent of the Y range,
             and increases both Y2MIN and Y2MAX likewise), and <wheel
             down> scrolls down.  <shift-wheel-up> scrolls left (de-
             creases both XMIN and XMAX, and both X2MIN and X2MAX), and
             <shift-wheel-down> scrolls right.  <control-wheel-up>
             zooms in toward the center of the plot, and <control-
             wheel-down> zooms out.  <shift-control-wheel-up> zooms in
             along the X and X2 axes only, and <shift-control-wheel-
             down> zooms out along the X and X2 axes only.



             [1m102.52.5.  X11 mouse[0m


             If multiple X11 plot windows have been opened using the
             [1mset term x11 <n> [22mterminal option, then only the current
             plot window supports the entire range of mouse commands
             and hotkeys.  The other windows will, however, continue to
             display mouse coordinates at the lower left.



             [1m102.52.6.  Zoom[0m













   GNUPLOT 5.4                                                      219


             Zooming is usually accomplished by holding down the left
             mouse button and dragging the mouse to delineate a zoom
             region.  Some platforms may require using a different
             mouse button.  The original plot can be restored by typing
             the 'u' hotkey in the plot window.  The hotkeys 'p' and
             'n' step back and forth through a history of zoom opera-
             tions.

             The option [1mzoomcoordinates [22mdetermines if the coordinates
             of the zoom box are drawn at the edges while zooming. This
             is on by default.

             If the option [1mzoomjump [22mis on, the mouse pointer will be
             automatically offset a small distance after starting a
             zoom region with button 3. This can be useful to avoid a
             tiny (or even empty) zoom region. [1mzoomjump [22mis off by de-
             fault.




        [1m102.53.  Mttics[0m


        Minor tic marks around the perimeter of a polar plot are con-
        trolled by by [1mset mttics[22m. Please see [1mset mxtics[22m.



        [1m102.54.  Multiplot[0m


        The command [1mset multiplot [22mplaces [1mgnuplot [22min the multiplot mode,
        in which several plots are placed next to each other on the
        same page or screen window.

        Syntax:
              set multiplot
                  { title <page title> {font <fontspec>} {en-
        hanced|noenhanced} }
                  { layout <rows>,<cols>
                    {rowsfirst|columnsfirst} {downwards|upwards}
                    {scale <xscale>{,<yscale>}} {offset
        <xoff>{,<yoff>}}
                    {margins <left>,<right>,<bottom>,<top>}
                    {spacing <xspacing>{,<yspacing>}}
                  }
              set multiplot {next|previous}
              unset multiplot

        For some terminals, no plot is displayed until the command [1mun-[0m
        [1mset multiplot [22mis given, which causes the entire page to be
        drawn and then returns gnuplot to its normal single-plot mode.










   GNUPLOT 5.4                                                      220


        For other terminals, each separate [1mplot [22mcommand produces an up-
        dated display.

        The [1mclear [22mcommand is used to erase the rectangular area of the
        page that will be used for the next plot.  This is typically
        needed to inset a small plot inside a larger plot.

        Any labels or arrows that have been defined will be drawn for
        each plot according to the current size and origin (unless
        their coordinates are defined in the [1mscreen [22msystem).  Just
        about everything else that can be [1mset [22mis applied to each plot,
        too.  If you want something to appear only once on the page,
        for instance a single time stamp, you'll need to put a [1mset[0m
        [1mtime[22m/[1munset time [22mpair around one of the [1mplot[22m, [1msplot [22mor [1mreplot[0m
        commands within the [1mset multiplot[22m/[1munset multiplot [22mblock.

        The multiplot title is separate from the individual plot ti-
        tles, if any.  Space is reserved for it at the top of the page,
        spanning the full width of the canvas.

        The commands [1mset origin [22mand [1mset size [22mmust be used to correctly
        position each plot if no layout is specified or if fine tuning
        is desired.  See [1mset origin [22mand [1mset size [22mfor details of their
        usage.

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

        This displays a plot of cos(x) stacked above a plot of sin(x).

        [1mset size [22mand [1mset origin [22mrefer to the entire plotting area used
        for each plot.  Please also see [1mset term size[22m.  If you want to
        have the axes themselves line up, you can guarantee that the
        margins are the same size with the [1mset margin [22mcommands.  See
        [1mset margin [22mfor their use.  Note that the margin settings are
        absolute, in character units, so the appearance of the graph in
        the remaining space will depend on the screen size of the dis-
        play device, e.g., perhaps quite different on a video display
        and a printer.

        With the [1mlayout [22moption you can generate simple multiplots with-
        out having to give the [1mset size [22mand [1mset origin [22mcommands before
        each plot:  Those are generated automatically, but can be over-
        ridden at any time.  With [1mlayout [22mthe display will be divided by
        a grid with <rows> rows and <cols> columns.  This grid is
        filled rows first or columns first depending on whether the










   GNUPLOT 5.4                                                      221


        corresponding option is given in the multiplot command.  The
        stack of plots can grow [1mdownwards [22mor [1mupwards[22m.  Default is [1mrows-[0m
        [1mfirst [22mand [1mdownwards[22m.  The commands [1mset multiplot next [22mand [1mset[0m
        [1mmultiplot previous [22mare relevant only in the context of using
        the layout option.  [1mnext [22mskips the next position in the grid,
        leaving a blank space. [1mprev [22mreturns to the grid position imme-
        diately preceding the most recently plotted position.

        Each plot can be scaled by [1mscale [22mand shifted with [1moffset[22m; if
        the y-values for scale or offset are omitted, the x-value will
        be used.  [1munset multiplot [22mwill turn off the automatic layout
        and restore the values of [1mset size [22mand [1mset origin [22mas they were
        before [1mset multiplot layout[22m.

        Example:
              set size 1,1
              set origin 0,0
              set multiplot layout 3,2 columnsfirst scale 1.1,0.9
              [ up to 6 plot commands here ]
              unset multiplot

        The above example will produce 6 plots in 2 columns filled top
        to bottom, left to right.  Each plot will have a horizontal
        size of 1.1/2 and a vertical size of 0.9/3.

        Another possibility is to set uniform margins for all plots in
        the layout with options [1mlayout margins [22mand [1mspacing[22m, which must
        be used together. With [1mmargins [22myou set the outer margins of the
        whole multiplot grid.

        [1mspacing [22mgives the gap size between two adjacent subplots, and
        can also be given in [1mcharacter [22mor [1mscreen [22munits. If a single
        value is given, it is used for both x and y direction, other-
        wise two different values can be selected.

        If one value has no unit, the one of the preceding margin set-
        ting is used.

        Example:
              set multiplot layout 2,2 margins 0.1, 0.9, 0.1, 0.9 spac-
        ing 0.0

        In this case the two left-most subplots will have left bound-
        aries at screen coordinate 0.1, the two right-most subplots
        will have right boundaries at screen coordinate 0.9, and so on.
        Because the spacing between subplots is given as 0, their inner
        boundaries will superimpose.

        Example:
              set multiplot layout 2,2 margins char 5,1,1,2 spacing
        screen 0, char 2

        This produces a layout in which the boundary of both left










   GNUPLOT 5.4                                                      222


        subplots is 5 character widths from the left edge of the can-
        vas, the right boundary of the right subplots is 1 character
        width from the canvas edge.  The overall bottom margin is one
        character height and the overall top margin is 2 character
        heights. There is no horizontal gap between the two columns of
        subplots. The vertical gap between subplots is equal to 2 char-
        acter heights.

        Example:
              set multiplot layout 2,2 columnsfirst margins
        0.1,0.9,0.1,0.9 spacing 0.1
              set ylabel 'ylabel'
              plot sin(x)
              set xlabel 'xlabel'
              plot cos(x)
              unset ylabel
              unset xlabel
              plot sin(2*x)
              set xlabel 'xlabel'
              plot cos(2*x)
              unset multiplot

        See also multiplot demo (multiplt.dem)



        [1m102.55.  Mx2tics[0m


        Minor tic marks along the x2 (top) axis are controlled by [1mset[0m
        [1mmx2tics[22m.  Please see [1mset mxtics[22m.



        [1m102.56.  Mxtics[0m


        Minor tic marks along the x axis are controlled by [1mset mxtics[22m.
        They can be turned off with [1munset mxtics[22m.  Similar commands
        control minor tics along the other axes.

        Syntax:
              set mxtics {<freq> | default}
              unset mxtics
              show mxtics

        The same syntax applies to [1mmytics[22m, [1mmztics[22m, [1mmx2tics[22m, [1mmy2tics[22m,
        [1mmrtics[22m, [1mmttics [22mand [1mmcbtics[22m.

        <freq> is the number of sub-intervals (NOT the number of minor
        tics) between major tics (the default for a linear axis is ei-
        ther two or five depending on the major tics, so there are one
        or four minor tics between major tics). Selecting [1mdefault [22mwill










   GNUPLOT 5.4                                                      223


        return the number of minor ticks to its default value.

        If the axis is logarithmic, the number of sub-intervals will be
        set to a reasonable number by default (based upon the length of
        a decade).  This will be overridden if <freq> is given.  How-
        ever the usual minor tics (2, 3, ..., 8, 9 between 1 and 10,
        for example) are obtained by setting <freq> to 10, even though
        there are but nine sub-intervals.

        To set minor tics at arbitrary positions, use the ("<label>"
        <pos> <level>, ...) form of [1mset {x|x2|y|y2|z}tics [22mwith <label>
        empty and <level> set to 1.

        The [1mset m{x|x2|y|y2|z}tics [22mcommands work only when there are
        uniformly spaced major tics.  If all major tics were placed ex-
        plicitly by [1mset {x|x2|y|y2|z}tics[22m, then minor tic commands are
        ignored.  Implicit major tics and explicit minor tics can be
        combined using [1mset {x|x2|y|y2|z}tics [22mand [1mset {x|x2|y|y2|z}tics[0m
        [1madd[22m.

        Examples:
              set xtics 0, 5, 10
              set xtics add (7.5)
              set mxtics 5
        Major tics at 0,5,7.5,10, minor tics at 1,2,3,4,6,7,8,9
              set logscale y
              set ytics format ""
              set ytics 1e-6, 10, 1
              set ytics add ("1" 1, ".1" 0.1, ".01" 0.01, "10^-3"
        0.001, \
                             "10^-4" 0.0001)
              set mytics 10
        Major tics with special formatting, minor tics at log positions

        By default, minor tics are off for linear axes and on for loga-
        rithmic axes.  They inherit the settings for [1maxis|border [22mand
        [1m{no}mirror [22mspecified for the major tics.  Please see [1mset xtics[0m
        for information about these.



        [1m102.57.  My2tics[0m


        Minor tic marks along the y2 (right-hand) axis are controlled
        by [1mset my2tics[22m.  Please see [1mset mxtics[22m.



        [1m102.58.  Mytics[0m













   GNUPLOT 5.4                                                      224


        Minor tic marks along the y axis are controlled by [1mset mytics[22m.
        Please see [1mset mxtics[22m.



        [1m102.59.  Mztics[0m


        Minor tic marks along the z axis are controlled by [1mset mztics[22m.
        Please see [1mset mxtics[22m.



        [1m102.60.  Nonlinear[0m


        Syntax:
              set nonlinear <axis> via f(axis) inverse g(axis)
              unset nonlinear <axis>

        This command is similar to the [1mset link [22mcommand except that
        only one of the two linked axes is visible.  The hidden axis
        remains linear. Coordinates along the visible axis are mapped
        by applying g(x) to hidden axis coordinates.  f(x) maps the
        visible axis coordinates back onto the hidden linear axis.  You
        must provide both the forward and inverse expressions.

        To illustrate how this works, consider the case of a log-scale
        x2 axis.

              set x2ange [1:1000]
              set nonlinear x2 via log10(x) inverse 10**x

        This achieves the same effect as [1mset log x2[22m.  The hidden axis
        in this case has range [0:3], obtained by calculating
        [log10(xmin):log10(xmax)].

        The transformation functions f() and g() must be defined using
        a dummy variable appropriate to the nonlinear axis:
            axis: x x2   dummy variable x
            axis: y y2   dummy variable y
            axis: z cb   dummy variable z
            axis: r      dummy variable r

        Example:

              set xrange [-3:3]
              set nonlinear x via norm(x) inverse invnorm(x)

        This example establishes a probability-scaled ("probit") x
        axis, such that plotting the cumulative normal function Phi(x)
        produces a straight line plot against a linear y axis.











   GNUPLOT 5.4                                                      225


        Example:

              logit(p) = log(p/(1-p))
              logistic(a) = 1. / (1. + exp(-a))
              set xrange [.001 : .999]
              set nonlinear y via logit(y) inverse logistic(y)
              plot logit(x)

        This example establishes a logit-scaled y axis such that plot-
        ting logit(x) on a linear x axis produces a straight line plot.

        Example:

              f(x) = (x <= 100) ? x : (x < 500) ? NaN : x-390
              g(x) = (x <= 100) ? x : x+390
              set xrange [0:1000] noextend
              set nonlinear x via f(x) inverse g(x)
              set xtics add (100,500)
              plot sample [x=1:100] x, [x=500:1000] x

        This example creates a "broken axis". X coordinates 0-100 are
        at the left, X coordinates 500-1000 are at the right, there is
        a small gap (10 units) between them.  So long as no data points
        with (100 < x < 500) are plotted, this works as expected.



        [1m102.61.  Object[0m


        The [1mset object [22mcommand defines a single object which will ap-
        pear in subsequent plots. You may define as many objects as you
        like. Currently the supported object types are [1mrectangle[22m, [1mcir-[0m
        [1mcle[22m, [1mellipse[22m, and [1mpolygon[22m.  Rectangles inherit a default set of
        style properties (fill, color, border) from those set by the
        command [1mset style rectangle[22m, but each object can also be given
        individual style properties. Circles, ellipses, and polygons
        inherit the fill style from [1mset style fill[22m.  Objects to be
        drawn in 2D plots may be defined in any combination of axis,
        graph, polar, or screen coordinates.

        Object specifications in 3D plots cannot use graph coordinates.
        Rectangles and ellipses in 3D plots are limited to screen coor-
        dinates.

        Syntax:
            set object <index>
                <object-type> <object-properties>
                {front|back|behind|depthorder}
                {clip|noclip}
                {fc|fillcolor <colorspec>} {fs <fillstyle>}
                {default} {lw|linewidth <width>} {dt|dashtype
        <dashtype>}










   GNUPLOT 5.4                                                      226


            unset object <index>

        <object-type> is either [1mrectangle[22m, [1mellipse[22m, [1mcircle[22m, or [1mpolygon[22m.
        Each object type has its own set of characteristic properties.

        The options [1mfront[22m, [1mback[22m, [1mbehind [22mcontrol whether the object is
        drawn before or after the plot itself. See [1mlayers[22m.  Setting
        [1mfront [22mwill draw the object in front of all plot elements, but
        behind any labels that are also marked [1mfront[22m. Setting [1mback [22mwill
        place the object behind all plot curves and labels. Setting [1mbe-[0m
        [1mhind [22mwill place the object behind everything including the axes
        and [1mback [22mrectangles, thus
            set object rectangle from screen 0,0 to screen 1,1 behind
        can be used to provide a colored background for the entire
        graph or page.

        By default, objects are clipped to the graph boundary unless
        one or more vertices are given in screen coordinates.  Setting
        [1mnoclip [22mwill disable clipping to the graph boundary, but will
        still clip against the screen size.

        The fill color of the object is taken from the <colorspec>.
        [1mfillcolor [22mmay be abbreviated [1mfc[22m.  The fill style is taken from
        <fillstyle>.  See [1mcolorspec [22mand [1mfillstyle[22m.  If the keyword [1mde-[0m
        [1mfault [22mis given, these properties are inherited from the default
        settings at the time a plot is drawn. See [1mset style rectangle[22m.




             [1m102.61.1.  Rectangle[0m


             Syntax:
                 set object <index> rectangle
                     {from <position> {to|rto} <position> |
                      center <position> size <w>,<h> |
                      at <position> size <w>,<h>}

             The position of the rectangle may be specified by giving
             the position of two diagonal corners (bottom left and top
             right) or by giving the position of the center followed by
             the width and the height.  In either case the positions
             may be given in axis, graph, or screen coordinates. See
             [1mcoordinates[22m.  The options [1mat [22mand [1mcenter [22mare synonyms.

             Examples:
                 # Force the entire area enclosed by the axes to have
             background color cyan
                 set object 1 rect from graph 0, graph 0 to graph 1,
             graph 1 back
                 set object 1 rect fc rgb "cyan" fillstyle solid 1.0











   GNUPLOT 5.4                                                      227


                 # Position a red square with lower left at 0,0 and up-
             per right at 2,3
                 set object 2 rect from 0,0 to 2,3 fc lt 1

                 # Position an empty rectangle (no fill) with a blue
             border
                 set object 3 rect from 0,0 to 2,3 fs empty border rgb
             "blue"

                 # Return fill and color to the default style but leave
             vertices unchanged
                 set object 2 rect default

             Rectangle corners specified in screen coordinates may ex-
             tend beyond the edge of the current graph. Otherwise the
             rectangle is clipped to fit in the graph.




             [1m102.61.2.  Ellipse[0m


             Syntax:
                 set object <index> ellipse {at|center} <position> size
             <w>,<h>
                     {angle <orientation>} {units xy|xx|yy}
                     {<other-object-properties>}

             The position of the ellipse is specified by giving the
             center followed by the width and the height (actually the
             major and minor axes). The keywords [1mat [22mand [1mcenter [22mare syn-
             onyms.  The center position may be given in axis, graph,
             or screen coordinates. See [1mcoordinates[22m. The major and mi-
             nor axis lengths must be given in axis coordinates.  The
             orientation of the ellipse is specified by the angle be-
             tween the horizontal axis and the major diameter of the
             ellipse.  If no angle is given, the default ellipse orien-
             tation will be used instead (see [1mset style ellipse[22m).  The
             [1munits [22mkeyword controls the scaling of the axes of the el-
             lipse. [1munits xy [22mmeans that the major axis is interpreted
             in terms of units along the x axis, while the minor axis
             in that of the y axis. [1munits xx [22mmeans that both axes of
             the ellipses are scaled in the units of the x axis, while
             [1munits yy [22mmeans that both axes are in units of the y axis.
             The default is [1mxy [22mor whatever [1mset style ellipse units [22mwas
             set to.

             NB: If the x and y axis scales are not equal, (e.g. [1munits[0m
             [1mxy [22mis in effect) then the major/minor axis ratio will no
             longer be correct after rotation.

             Note that [1mset object ellipse size <2r>,<2r> [22mdoes not in










   GNUPLOT 5.4                                                      228


             general produce the same result as [1mset object circle <r>[22m.
             The circle radius is always interpreted in terms of units
             along the x axis, and will always produce a circle even if
             the x and y axis scales are different and even if the as-
             pect ratio of your plot is not 1.  If [1munits [22mis set to [1mxy[22m,
             then 'set object ellipse' interprets the first <2r> in
             terms of x axis units and the second <2r> in terms of y
             axis units. This will only produce a circle if the x and y
             axis scales are identical and the plot aspect ratio is 1.
             On the other hand, if [1munits [22mis set to [1mxx [22mor [1myy[22m, then the
             diameters specified in the 'set object' command will be
             interpreted in the same units, so the ellipse will have
             the correct aspect ratio, and it will maintain its aspect
             ratio even if the plot is resized.




             [1m102.61.3.  Circle[0m


             Syntax:
                 set object <index> circle {at|center} <position> size
             <radius>
                     {arc [<begin>:<end>]} {no{wedge}}
                     {<other-object-properties>}

             The position of the circle is specified by giving the po-
             sition of the center center followed by the radius.  The
             keywords [1mat [22mand [1mcenter [22mare synonyms.  In 2D plots the po-
             sition and radius may be given in any coordinate system.
             See [1mcoordinates[22m. Circles in 3D plots cannot use graph co-
             ordinates.  In all cases the radius is calculated relative
             to the horizontal scale of the axis, graph, or canvas.
             Any disparity between the horizontal and vertical scaling
             will be corrected for so that the result is always a cir-
             cle.  If you want to draw a circle in plot coordinates
             (such that it will appear as an ellipse if the horizontal
             and vertical scales are different), use [1mset object ellipse[0m
             instead.

             By default a full circle is drawn. The optional qualifier
             [1marc [22mspecifies a starting angle and ending angle, in de-
             grees, for one arc of the circle.  The arc is always drawn
             counterclockwise.

             See also [1mset style circle[22m, [1mset object ellipse[22m.
















   GNUPLOT 5.4                                                      229


             [1m102.61.4.  Polygon[0m


             Syntax:
                 set object <index> polygon
                     from <position> to <position> ... {to <position>}
             or
                     from <position> rto <position> ... {rto <posi-
             tion>}

             The position of the polygon may be specified by giving the
             position of a sequence of vertices. These may be given in
             any coordinate system.  If relative coordinates are used
             (rto) then the coordinate type must match that of the pre-
             vious vertex.  See [1mcoordinates[22m.

             Example:
                 set object 1 polygon from 0,0 to 1,1 to 2,0
                 set object 1 fc rgb "cyan" fillstyle solid 1.0 border
             lt -1




                  [1m102.61.4.1.  Depthorder[0m


                  The option [1mset object N depthorder [22mapplies to 3D
                  polygon objects only.  Rather than assigning the ob-
                  ject to layer front/back/behind it is included in the
                  list of pm3d quadrangles sorted and rendered in order
                  of depth by [1mset pm3d depthorder[22m.  As with pm3d sur-
                  faces, two-sided coloring can be generated by speci-
                  fying the object fillcolor as a linestyle.  In this
                  case the ordering of the first three vertices in the
                  polygon determines the "side".

                  If you set this property for an object that is not a
                  3D polygon it probably will not be drawn at all.



        [1m102.62.  Offsets[0m


        Offsets provide a mechanism to put an empty boundary around the
        data inside an autoscaled graph.  The offsets only affect the
        x1 and y1 axes, and only in 2D [1mplot [22mcommands.

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










   GNUPLOT 5.4                                                      230


        Each offset may be a constant or an expression.  Each defaults
        to 0.  By default, the left and right offsets are given in
        units of the first x axis, the top and bottom offsets in units
        of the first y axis.  Alternatively, you may specify the off-
        sets as a fraction of the total graph dimension by using the
        keyword "graph". Only "graph" offsets are possible for nonlin-
        ear axes.

        A positive offset expands the axis range in the specified di-
        rection, e.g.  a positive bottom offset makes ymin more nega-
        tive.  Negative offsets interact badly with autoscaling and
        clipping.

        To prevent the auto-scaling from further adjusting your axis
        ranges, it is useful to also specify "set auto fix" or "set
        xrange noextend".

        Example:
              set auto fix
              set offsets graph 0.05, 0, 2, 2
              plot sin(x)

        This graph of sin(x) will have a y range [-3:3] because the
        function will be autoscaled to [-1:1] and the vertical offsets
        are each two.  The x range will be [-11:10] because the default
        is [-10:10] and it has been expanded to the left by 0.05 of
        that total range.



        [1m102.63.  Origin[0m


        The [1mset origin [22mcommand is used to specify the origin of a plot-
        ting surface (i.e., the graph and its margins) on the screen.
        The coordinates are given in the [1mscreen [22mcoordinate system (see
        [1mcoordinates [22mfor information about this system).

        Syntax:
              set origin <x-origin>,<y-origin>



        [1m102.64.  Output[0m


        By default, screens are displayed to the standard output. The
        [1mset output [22mcommand redirects the display to the specified file
        or device.

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










   GNUPLOT 5.4                                                      231


        The filename must be enclosed in quotes.  If the filename is
        omitted, any output file opened by a previous invocation of [1mset[0m
        [1moutput [22mwill be closed and new output will be sent to STDOUT.
        (If you give the command [1mset output "STDOUT"[22m, your output may
        be sent to a file named "STDOUT"!  ["May be", not "will be",
        because some terminals, like [1mx11 [22mor [1mwxt[22m, ignore [1mset output[22m.])

        When both [1mset terminal [22mand [1mset output [22mare used together, it is
        safest to give [1mset terminal [22mfirst, because some terminals set a
        flag which is needed in some operating systems.  This would be
        the case, for example, if the operating system needs a separate
        open command for binary files.

        On platforms that support pipes, it may be useful to pipe ter-
        minal output.  For instance,

              set output "|lpr -Plaser filename"
              set term png; set output "|display png:-"

        On MSDOS machines, [1mset output "PRN" [22mwill direct the output to
        the default printer.  On VMS, output can be sent directly to
        any spooled device.



        [1m102.65.  Overflow[0m


        Syntax:
             set overflow {float | NaN | undefined}
             unset overflow

        This version of gnuplot supports 64-bit integer arithmetic.
        This means that for values from 2^53 to 2^63 (roughly 10^16 to
        10^19) integer evaluation preserves more precision than evalua-
        tion using IEEE 754 floating point arithmetic.  However unlike
        the IEEE floating point representation, which sacrifices preci-
        sion to span a total range of roughly [-10^307 : 10^307], inte-
        ger operations that result in values outside the range [-2^63 :
        2^63] overflow.  The [1mset overflow [22mcommand lets you control what
        happens in case of overflow.  See options below.

        [1mset overflow [22mis the same as [1mset overflow float[22m. It causes the
        result to be returned as a real number rather than as an inte-
        ger. This is the default.

        The command [1munset overflow [22mcauses integer arithmetic overflow
        to be ignored.  No error is shown.  This may be desirable if
        your platform allows only 32-bit integer arithmetic and you
        want to approximate the behaviour of gnuplot versions prior to
        5.4.

        The [1mreset [22mcommand does not affect the state of overflow










   GNUPLOT 5.4                                                      232


        handling.

        Earlier gnuplot versions were limited to 32-bit arithmetic and
        ignored integer overflow.  Note, however, that some built-in
        operators did not use integer arithmetic at all, even when
        given integer arguments. This included the exponentiation oper-
        ator N**M and the summation operator (see [1msummation[22m).  These
        operations now return an integer value when given integer argu-
        ments, making them potentially susceptible to overflow and thus
        affected by the state of [1mset overflow[22m.




             [1m102.65.1.  Float[0m


             If an integer arithmetic expression overflows the limiting
             range, [-2^63 : 2^63] for 64-bit integers, the result is
             returned as a floating point value instead.  This is not
             treated as an error.  Example:
                  gnuplot> set overflow float
                  gnuplot> A = 2**62 - 1;  print A, A+A, A+A+A
                  4611686018427387903 9223372036854775806
             1.38350580552822e+19



             [1m102.65.2.  NaN[0m


             If an integer arithmetic expression overflows the limiting
             range, [-2^63 : 2^63] for 64-bit integers, the result is
             returned as NaN (Not a Number).  This is not treated as an
             error.  Example:
                  gnuplot> set overflow NaN
                  gnuplot> print 10**18, 10**19
                  1000000000000000000 NaN



             [1m102.65.3.  Undefined[0m


             If an integer arithmetic expression overflows the limiting
             range, [-2^63 : 2^63] for 64-bit integers, the result is
             undefined.  This is treated as an error.  Example:
                  gnuplot> set overflow undefined
                  gnuplot> A = 10**19
                               ^
                           undefined value












   GNUPLOT 5.4                                                      233


             [1m102.65.4.  Affected operations[0m


             The [1mset overflow [22mstate affects the arithmetic operators
                  + - * / **
             and the built-in summation operation [1msum[22m.

             All of these operations will return an integer result if
             all of the arguments are integers, so long as no overflow
             occurs during evaluation.

             The [1mset overflow [22mstate does not affect logical or bit op-
             erations
                  << >>  | ^ &

             If overflow occurs at any point during the course of eval-
             uating of a summation [1mset overflow float [22mwill cause the
             result to be returned as a real number even if the final
             sum is within the range of integer representation.



        [1m102.66.  Palette[0m


        The palette is a set of colors, usually ordered in the form of
        one or more stepped gradients, used for [1mpm3d [22msurfaces and other
        graph elements colored by z value.  Colors in the current pal-
        ette are automatically mapped from plot coordinates z values or
        an extra data column of gray values.  Palette colors also can
        be accessed explicitly in a color specification (see [1mcolorspec[22m)
        The current palette is shown by default in a separate [1mcolorbox[0m
        drawn next to plots that use plot style [1mpm3d[22m. The colorbox can
        be manually selected or disabled. See [1mset colorbox[22m.

        Syntax:
              set palette
              set palette {
                         { gray | color }
                         { gamma <gamma> }
                         {   rgbformulae <r>,<g>,<b>
                           | defined { ( <gray1> <color1> {, <grayN>
        <colorN>}... ) }
                           | file '<filename>' {datafile-modifiers}
                           | functions <R>,<G>,<B>
                         }
                         { cubehelix {start <val>} {cycles <val>} {sat-
        uration <val>} }
                         { model { RGB | HSV | CMY } }
                         { positive | negative }
                         { nops_allcF | ps_allcF }
                         { maxcolors <maxcolors> }
                       }










   GNUPLOT 5.4                                                      234


              show palette
              show palette palette <n> {{float | int}}
              show palette gradient
              show palette fit2rgbformulae
              show palette rgbformulae
              show colornames

        [1mset palette [22m(i.e. without options) sets up the default values.
        Otherwise, the options can be given in any order.  [1mshow palette[0m
        shows the current palette properties.

        [1mshow palette gradient [22mdisplays the gradient defining the pal-
        ette (if appropriate).  [1mshow palette rgbformulae [22mprints the
        available fixed gray --> color transformation formulae.  [1mshow[0m
        [1mcolornames [22mprints the known color names.

        [1mshow palette palette <n> [22mprints to the screen or to the file
        given by [1mset print [22ma table of RGB triplets calculated for the
        current palette settings and a palette having <n> discrete col-
        ors.  The default wide table can be limited to 3 columns of
        r,g,b float values [0..1] or integer values [0..255] by options
        float or int, respectively.  This way, the current gnuplot
        color palette can be loaded into other imaging applications,
        for example Octave.  Alternatively, the [1mtest palette [22mcommand
        will plot the R,G,B profiles for the current palette and leave
        the profile values in a datablock $PALETTE.

        The following options determine the coloring properties.

        Figure using this palette can be [1mgray [22mor [1mcolor[22m.  For instance,
        in [1mpm3d [22mcolor surfaces the gray of each small spot is obtained
        by mapping the averaged z-coordinate of the 4 corners of sur-
        face quadrangles into the range [min_z,max_z] providing range
        of grays [0:1]. This value can be used directly as the gray for
        gray maps. The color map requires a transformation gray -->
        (R,G,B), i.e. a mapping [0:1] --> ([0:1],[0:1],[0:1]).

        Basically two different types of mappings can be used:  Ana-
        lytic formulae to convert gray to color, or discrete mapping
        tables which are interpolated.  [1mpalette rgbformulae [22mand [1mpalette[0m
        [1mfunctions [22muse analytic formulae whereas [1mpalette defined [22mand
        [1mpalette file [22muse interpolated tables.  [1mpalette rgbformulae [22mre-
        duces the size of postscript output to a minimum.

        The command [1mshow palette fit2rgbformulae [22mfinds the best match-
        ing [1mset palette rgbformulae [22mfor the current [1mset palette[22m. Natu-
        rally, it makes sense to use it for non-rgbformulae palettes.
        This command can be found useful mainly for external programs
        using the same rgbformulae definition of palettes as gnuplot,
        like zimg (
                  http://zimg.sourceforge.net
        ).











   GNUPLOT 5.4                                                      235


        [1mset palette gray [22mswitches to a gray only palette. [1mset palette[0m
        [1mrgbformulae[22m, [1mset palette defined[22m, [1mset palette file [22mand [1mset pal-[0m
        [1mette functions [22mswitch to a color mapping. [1mset palette color [22mis
        an easy way to switch back from the gray palette to the last
        color mapping.

        Automatic gamma correction via [1mset palette gamma <gamma> [22mcan be
        done for gray maps ([1mset palette gray[22m) and for the [1mcubehelix[0m
        color palette schemes.  Gamma = 1 produces a linear ramp of in-
        tensity. See [1mtest palette[22m.

        Many terminals support only discrete number of colors (e.g. 256
        colors in gif).  After the default gnuplot linetype colors are
        allocated, the rest of the available colors are by default re-
        served for pm3d.  Thus a multiplot using multiple palettes
        could fail because the first palette has used all the available
        color positions.  You can mitigate this limitation by using [1mset[0m
        [1mpalette maxcolors <N> [22mwith a reasonably small value of N.  This
        option causes N discrete colors to be selected from a continu-
        ous palette sampled at equally spaced intervals.  If you want
        unequal spacing of N discrete colors, use [1mset palette defined[0m
        instead of a single continuous palette.

        RGB color space might not be the most useful color space to
        work in.  For that reason you may change the color space [1mmodel[0m
        to one of [1mRGB[22m, [1mHSV[22m, [1mCMY[22m.  Using color names for [1mset palette de-[0m
        [1mfined [22mtables and a color space other than RGB will result in
        funny colors.  All explanation have been written for RGB color
        space, so please note, that [1mR [22mcan be [1mH[22m, or [1mC[22m, depending on the
        actual color space ([1mG [22mand [1mB [22maccordingly).

        All values for all color spaces are limited to [0,1].

        RGB stands for Red, Green, Blue;  CMY stands for Cyan, Magenta,
        Yellow; HSV stands for Hue, Saturation, Value.  For more infor-
        mation on color models see:
                  http://en.wikipedia.org/wiki/Color_space
        Note: Earlier gnuplot versions accepted YIQ and XYZ color space
        models also, but the implementation was never complete or cor-
        rect.





             [1m102.66.1.  Rgbformulae[0m


             For [1mrgbformulae [22mthree suitable mapping functions have to
             be chosen.  This is done via [1mrgbformulae <r>,<g>,<b>[22m.  The
             available mapping functions are listed by [1mshow palette rg-[0m
             [1mbformulae[22m.  Default is [1m7,5,15[22m, some other examples are
             [1m3,11,6[22m, [1m21,23,3 [22mor [1m3,23,21[22m.  Negative numbers, like










   GNUPLOT 5.4                                                      236


             [1m3,-11,-6[22m, mean inverted color (i.e.  1-gray passed into
             the formula, see also [1mpositive [22mand [1mnegative [22moptions be-
             low).

             Some nice schemes in RGB color space
                7,5,15   ... traditional pm3d (black-blue-red-yellow)
                3,11,6   ... green-red-violet
                23,28,3  ... ocean (green-blue-white); try also all
             other permutations
                21,22,23 ... hot (black-red-yellow-white)
                30,31,32 ... color printable on gray (black-blue-vio-
             let-yellow-white)
                33,13,10 ... rainbow (blue-green-yellow-red)
                34,35,36 ... AFM hot (black-red-yellow-white)

             A full color palette in HSV color space
                3,2,2    ... red-yellow-green-cyan-blue-magenta-red

             Please note that even if called [1mrgbformulae [22mthe formulas
             might actually determine the <H>,<S>,<V> or <X>,<Y>,<Z> or
             ... color components as usual.

             Use [1mpositive [22mand [1mnegative [22mto invert the figure colors.

             Note that it is possible to find a set of the best match-
             ing rgbformulae for any other color scheme by the command
                show palette fit2rgbformulae



             [1m102.66.2.  Defined[0m


             Gray-to-rgb mapping can be manually set by use of [1mpalette[0m
             [1mdefined[22m: A color gradient is defined and used to give the
             rgb values.  Such a gradient is a piecewise linear mapping
             from gray values in [0,1] to the RGB space
             [0,1]x[0,1]x[0,1].  You must specify the gray values and
             the corresponding RGB values between which linear interpo-
             lation will be done.

             Syntax:
                   set palette  defined { ( <gray1> <color1> {, <grayN>
             <colorN>}... ) }

             <grayX> are gray values which are mapped to [0,1] and
             <colorX> are the corresponding rgb colors.  The color can
             be specified in three different ways:

                  <color> :=  { <r> <g> <b> | '<color-name>' |
             '#rrggbb' }

             Either by three numbers (each in [0,1]) for red, green and










   GNUPLOT 5.4                                                      237


             blue, separated by whitespace, or the name of the color in
             quotes or X style color specifiers also in quotes.  You
             may freely mix the three types in a gradient definition,
             but the named color "red" will be something strange if RGB
             is not selected as color space.  Use [1mshow colornames [22mfor a
             list of known color names.

             Please note, that even if written as <r>, this might actu-
             ally be the <H> component in HSV color space depending on
             the selected color model.

             The <gray> values have to form an ascending sequence of
             real numbers; the sequence will be automatically rescaled
             to [0,1].

             [1mset palette defined [22m(without a gradient definition in
             braces) switches to RGB color space and uses a preset
             full-spectrum color gradient.  Use [1mshow palette gradient[0m
             to display the gradient.

             Examples:

             To produce a gray palette (useless but instructive) use:
                   set palette model RGB
                   set palette defined ( 0 "black", 1 "white" )

             To produce a blue yellow red palette use (all equivalent):
                   set palette defined ( 0 "blue", 1 "yellow", 2 "red"
             )
                   set palette defined ( 0 0 0 1, 1 1 1 0, 2 1 0 0 )
                   set palette defined ( 0 "#0000ff", 1 "#ffff00", 2
             "#ff0000" )

             To produce some rainbow-like palette use:
                   set palette defined ( 0 "blue", 3 "green", 6 "yel-
             low", 10 "red" )

             Full color spectrum within HSV color space:
                   set palette model HSV
                   set palette defined ( 0 0 1 1, 1 1 1 1 )
                   set palette defined ( 0 0 1 0, 1 0 1 1, 6 0.8333 1
             1, 7 0.8333 0 1)

             Approximate the default palette used by MATLAB:
                   set pal defined (1 '#00008f', 8 '#0000ff', 24
             '#00ffff', \
                                    40 '#ffff00', 56 '#ff0000', 64
             '#800000')

             To produce a palette with only a few, equally-spaced col-
             ors:
                   set palette model RGB maxcolors 4
                   set palette defined ( 0 "yellow", 1 "red" )










   GNUPLOT 5.4                                                      238


             'Traffic light' palette (non-smooth color jumps at gray =
             1/3 and 2/3).
                   set palette model RGB
                   set palette defined (0 "dark-green", 1 "green", \
                                        1 "yellow",     2 "dark-yel-
             low", \
                                        2 "red",        3 "dark-red" )




             [1m102.66.3.  Functions[0m


             Use [1mset palette functions <Rexpr>, <Gexpr>, <Bexpr> [22mto de-
             fine three formulae for the R(gray), G(gray) and B(gray)
             mapping.  The three formulae may depend on the variable
             [1mgray [22mwhich will take values in [0,1] and should also pro-
             duce values in [0,1].  Please note that <Rexpr> might be a
             formula for the H-value if HSV color space has been chosen
             (same for all other formulae and color spaces).

             Examples:

             To produce a full color palette use:
                   set palette model HSV functions gray, 1, 1

             A nice black to gold palette:
                   set palette model RGB functions 1.1*gray**0.25,
             gray**0.75, 0

             A gamma-corrected black and white palette
                   gamma = 2.2
                   color(gray) = gray**(1./gamma)
                   set palette model RGB functions color(gray),
             color(gray), color(gray)



             [1m102.66.4.  Gray[0m


             [1mset palette gray [22mswitches to a grayscale palette shading
             from 0.0 = black to 1.0 = white.  [1mset palette color [22mis an
             easy way to switch back from the gray palette to the last
             color mapping.



             [1m102.66.5.  Cubehelix[0m













   GNUPLOT 5.4                                                      239


             The "cubehelix" option defines a family of palettes in
             which color (hue) varies along the standard color wheel
             while at the same time the net intensity increases mono-
             tonically as the gray value goes from 0 to 1.
                   D A Green (2011) http://arxiv.org/abs/1108.5083
             [1mstart [22mdefines the starting point along the color wheel in
             radians.  [1mcycles [22mdefines how many color wheel cycles span
             the palette range.  Larger values of [1msaturation [22mproduce
             more saturated color; saturation > 1 may lead to clipping
             of the individual RGB components and to intensity becoming
             non-monotonic. The palette is also affected by [1mset palette[0m
             [1mgamma[22m.  The default values are
                   set palette cubehelix start 0.5 cycles -1.5 satura-
             tion 1
                   set palette gamma 1.5




             [1m102.66.6.  File[0m


             [1mset palette file [22mis basically a [1mset palette defined (<gra-[0m
             [1mdient>) [22mwhere <gradient> is read from a datafile.  Either
             4 columns (gray,R,G,B) or just three columns (R,G,B) have
             to be selected via the [1musing [22mdata file modifier.  In the
             three column case, the line number will be used as gray.
             The gray range is automatically rescaled to [0,1].  The
             file is read as a normal data file, so all datafile modi-
             fiers can be used.  Please note, that [1mR [22mmight actually be
             e.g. [1mH [22mif HSV color space is selected.

             As usual <filename> may be [1m'-' [22mwhich means that the data
             follow the command inline and are terminated by a single [1me[0m
             on a line of its own.

             Use [1mshow palette gradient [22mto display the gradient.

             Examples:

             Read in a palette of RGB triples each in range [0,255]:
                   set palette file 'some-palette' using
             ($1/255):($2/255):($3/255)

             Equidistant rainbow (blue-green-yellow-red) palette:
                   set palette model RGB file "-"
                   0 0 1
                   0 1 0
                   1 1 0
                   1 0 0
                   e

             Binary palette files are supported as well, see [1mbinary[0m










   GNUPLOT 5.4                                                      240


             [1mgeneral[22m. Example: put 64 triplets of R,G,B doubles into
             file palette.bin and load it by
                   set palette file "palette.bin" binary record=64 us-
             ing 1:2:3





             [1m102.66.7.  Gamma correction[0m


             For gray mappings gamma correction can be turned on by [1mset[0m
             [1mpalette gamma <gamma>[22m.  <gamma> defaults to 1.5 which is
             quite suitable for most terminals.

             The gamma correction is applied to the cubehelix color
             palette family, but not to other palette coloring schemes.
             However, you may easily implement gamma correction for ex-
             plicit color functions.

             Example:
                   set palette model RGB
                   set palette functions gray**0.64, gray**0.67,
             gray**0.70

             To use gamma correction with interpolated gradients spec-
             ify intermediate gray values with appropriate colors.  In-
             stead of

                   set palette defined ( 0 0 0 0, 1 1 1 1 )

             use e.g.

                   set palette defined ( 0 0 0 0, 0.5 .73 .73 .73, 1 1
             1 1 )

             or even more intermediate points until the linear interpo-
             lation fits the "gamma corrected" interpolation well
             enough.




             [1m102.66.8.  Postscript[0m


             In order to reduce the size of postscript files, the gray
             value and not all three calculated r,g,b values are writ-
             ten to the file.  Therefore the analytical formulae are
             coded directly in the postscript language as a header just
             before the pm3d drawing, see /g and /cF definitions.  Usu-
             ally, it makes sense to write therein definitions of only










   GNUPLOT 5.4                                                      241


             the 3 formulae used.  But for multiplot or any other rea-
             son you may want to manually edit the transformations di-
             rectly in the postscript file.  This is the default option
             [1mnops_allcF[22m.  Using the option [1mps_allcF [22mwrites postscript
             definitions of all formulae.  This you may find interest-
             ing if you want to edit the postscript file in order to
             have different palettes for different surfaces in one
             graph.  Well, you can achieve this functionality by [1mmulti-[0m
             [1mplot [22mwith fixed [1morigin [22mand [1msize[22m.

             If you are writing a pm3d surface to a postscript file, it
             may be possible to reduce the file size by up to 50% by
             the enclosed awk script [1mpm3dCompress.awk[22m.  If the data
             lies on a rectangular grid, even greater compression may
             be possible using the script [1mpm3dConvertToImage.awk[22m.  Us-
             age:
                 awk -f pm3dCompress.awk thefile.ps >smallerfile.ps
                 awk -f pm3dConvertToImage.awk thefile.ps >smaller-
             file.ps




        [1m102.67.  Parametric[0m


        The [1mset parametric [22mcommand changes the meaning of [1mplot [22m([1msplot[22m)
        from normal functions to parametric functions.  The command [1mun-[0m
        [1mset parametric [22mrestores the plotting style to normal, single-
        valued expression plotting.

        Syntax:
              set parametric
              unset parametric
              show parametric

        For 2D plotting, a parametric function is determined by a pair
        of parametric functions operating on a parameter.  An example
        of a 2D parametric function would be [1mplot sin(t),cos(t)[22m, which
        draws a circle (if the aspect ratio is set correctly---see [1mset[0m
        [1msize[22m).  [1mgnuplot [22mwill display an error message if both functions
        are not provided for a parametric [1mplot[22m.

        For 3D plotting, the surface is described as x=f(u,v),
        y=g(u,v), z=h(u,v).  Therefore a triplet of functions is re-
        quired.  An example of a 3D parametric function would be
        [1mcos(u)*cos(v),cos(u)*sin(v),sin(u)[22m, which draws a sphere.  [1mgnu-[0m
        [1mplot [22mwill display an error message if all three functions are
        not provided for a parametric [1msplot[22m.

        The total set of possible plots is a superset of the simple
        f(x) style plots, since the two functions can describe the x
        and y values to be computed separately.  In fact, plots of the










   GNUPLOT 5.4                                                      242


        type t,f(t) are equivalent to those produced with f(x) because
        the x values are computed using the identity function.  Simi-
        larly, 3D plots of the type u,v,f(u,v) are equivalent to
        f(x,y).

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

        Also, the [1mset parametric [22mfunction implies a new range of val-
        ues.  Whereas the normal f(x) and f(x,y) style plotting assume
        an xrange and yrange (and zrange), the parametric mode addi-
        tionally specifies a trange, urange, and vrange.  These ranges
        may be set directly with [1mset trange[22m, [1mset urange[22m, and [1mset[0m
        [1mvrange[22m, or by specifying the range on the [1mplot [22mor [1msplot [22mcom-
        mands.  Currently the default range for these parametric vari-
        ables is [-5:5].  Setting the ranges to something more meaning-
        ful is expected.



        [1m102.68.  Paxis[0m


        Syntax:
              set paxis <axisno> {range <range-options> | tics <tic-op-
        tions>}
              set paxis <axisno> label <label-options> { offset <ra-
        dial-offset> }
              show paxis <axisno> {range | tics}
        The [1mset paxis [22mcommand is equivalent to the [1mset xrange [22mand [1mset[0m
        [1mxtics [22mcommands except that it acts on one of the axes p1, p2,
        ... used in parallel axis plots and spiderplots.  See [1mparalle-[0m
        [1mlaxes[22m, [1mset xrange[22m, and [1mset xtics[22m.  The normal options to the
        range and tics commands are accepted although not all options
        make sense for parallel axis plots.

        [1mset paxis <axisno> label <label-options> [22mis relevant to spider-
        plots but ignored otherwise.  Axes of a parallel axis plot can
        be labeled using the [1mtitle [22moption of the plot command, which
        generates an xtic label.  Note that this may require also [1mset[0m
        [1mxtics[22m.

        The axis linetype properties are controlled using [1mset style[0m
        [1mparallelaxis[22m.



        [1m102.69.  Pixmap[0m


        Syntax:
              set pixmap <index> "filename" at <position>










   GNUPLOT 5.4                                                      243


                         {width <w> | height <h> | size <w>,<h>}
                         {front|back|behind} {center}
              show pixmaps
              unset pixmaps
              unset pixmap <index>

        The [1mset pixmap [22mcommand is similar to [1mset object [22min that it de-
        fines an object that will appear on subsequent plots. The rec-
        tangular array of red/green/blue/alpha values making up the
        pixmap are read from a png, jpeg, or gif file.  The position
        and extent occupied by the pixmap in the gnuplot output may be
        specified in any coordinate system (see [1mcoordinates[22m).  The co-
        ordinates given by [1mat <position> [22mrefer to the lower left corner
        of the pixmap unless keyword [1mcenter [22mis present.

        If the x-extent of the rendered pixmap is set using [1mwidth <x-[0m
        [1mextent> [22mthe aspect ratio of the original image is retained and
        neither the aspect ratio nor the orientation of the pixmap
        changes with axis scaling or rotation.  Similarly if the y-ex-
        tent is set using [1mheight <y-extent>[22m.  If both the x-extent and
        y-extent are given using [1msize <x-extent> <y-extent> [22mthis over-
        rides the original aspect ratio.  If no size is set then the
        original size in pixels is used (the effective size is then
        terminal-dependent).

        Pixmaps are not clipped to the border of the plot.  As an ex-
        ception to the general behaviour of objects and layers, a
        pixmap assigned to layer [1mbehind [22mis rendered for only the first
        plot in a multiplot.  This allows all panels in a multiplot to
        share a single background pixmap.

        Examples:
              # Use a gradient as the background for all plotting
              # Both x and y will be resized to fill the entire canvas
              set pixmap 1 "gradient.png"
              set pixmap 1 at screen 0, 0 size screen 1, 1 behind

              # Place a logo at the lower right of each page plotted
              set pixmap 2 "logo.jpg"
              set pixmap 2 at screen 0.95, 0 width screen 0.05 behind

              # Place a small image at some 3D coordinate
              # It will move as if attached to the surface being plot-
        ted
              # but will always face forward and remain upright
              set pixmap 3 "image.png" at my_x, my_y, f(my_x,my_y)
        width screen .05
              splot f(x,y)















   GNUPLOT 5.4                                                      244


        [1m102.70.  Plot[0m


        The [1mshow plot [22mcommand shows the current plotting command as it
        results from the last [1mplot [22mand/or [1msplot [22mand possible subsequent
        [1mreplot [22mcommands.

        In addition, the [1mshow plot add2history [22mcommand adds this cur-
        rent plot command into the [1mhistory[22m. It is useful if you have
        used [1mreplot [22mto add more curves to the current plot and you want
        to edit the whole command now.



        [1m102.71.  Pm3d[0m


        pm3d is an [1msplot [22mstyle for drawing palette-mapped 3d and 4d
        data as color/gray maps and surfaces.  It allows plotting grid-
        ded or non-gridded data without preprocessing. pm3d style op-
        tions also affect solid-fill polygons used to construct other
        3D plot elements.

        Syntax (the options can be given in any order):
              set pm3d {
                         { at <position> }
                         { interpolate <steps/points in scan, between
        scans> }
                         { scansautomatic | scansforward | scansback-
        ward
                                          | depthorder {base} }
                         { flush { begin | center | end } }
                         { ftriangles | noftriangles }
                         { clip {z} | clip1in | clip4in }
                         { {no}clipcb }
                         { corners2color
                           { mean|geomean|harmean|rms|me-
        dian|min|max|c1|c2|c3|c4 }
                         }
                         { {no}lighting
                           {primary <fraction>} {specular <fraction>}
        {spec2 <fraction>}
                         }
                         { border {<linestyle-options>}}
                         { implicit | explicit }
                         { map }
                       }
              show pm3d
              unset pm3d

        Note that pm3d plots are plotted sequentially in the order
        given in the splot command. Thus earlier plots may be obscured
        by later plots.  To avoid this you can use the [1mdepthorder [22mscan










   GNUPLOT 5.4                                                      245


        option.

        The pm3d surfaces can be projected onto the [1mtop [22mor [1mbottom [22mof
        the view box.  See [1mpm3d position[22m.  The following command draws
        three color surfaces at different altitudes:
              set border 4095
              set pm3d at s
              splot 10*x with pm3d at b, x*x-y*y, x*x+y*y with pm3d at
        t

        See also help for [1mset palette[22m, [1mset cbrange[22m, [1mset colorbox[22m, and
        the demo file [1mdemo/pm3d.dem[22m.




             [1m102.71.1.  Implicit[0m


             A pm3d color surface is drawn if the splot command speci-
             fies [1mwith pm3d[22m, if the data or function [1mstyle [22mis set to
             pm3d globally, or if the pm3d mode is [1mset pm3d implicit[22m.
             In the latter two cases, the pm3d surface is draw in addi-
             tion to the mesh produced by the style specified in the
             plot command. E.g.
                   splot 'fred.dat' with lines, 'lola.dat' with lines
             would draw both a mesh of lines and a pm3d surface for
             each data set.  If the option [1mexplicit [22mis on (or [1mimplicit[0m
             is off) only plots specified by the [1mwith pm3d [22mattribute
             are plotted with a pm3d surface, e.g.:
                   splot 'fred.dat' with lines, 'lola.dat' with pm3d
             would plot 'fred.dat' with lines (only) and 'lola.dat'
             with a pm3d surface.

             On gnuplot start-up, the mode is [1mexplicit[22m. For historical
             and compatibility reasons, the commands [1mset pm3d; [22m(i.e. no
             options) and [1mset pm3d at X ...  [22m(i.e.  [1mat [22mis the first op-
             tion) change the mode to [1mimplicit[22m.  The command [1mset pm3d;[0m
             sets other options to their default state.

             If you set the default data or function style to [1mpm3d[22m,
             e.g.:
                   set style data pm3d
             then the options [1mimplicit [22mand [1mexplicit [22mhave no effect.



             [1m102.71.2.  Algorithm[0m



             Let us first describe how a map/surface is drawn.  The in-
             put data come from an evaluated function or from an [1msplot[0m










   GNUPLOT 5.4                                                      246


             [1mdata file[22m.  Each surface consists of a sequence of sepa-
             rate scans (isolines).  The pm3d algorithm fills the re-
             gion between two neighbouring points in one scan with an-
             other two points in the next scan by a gray (or color) ac-
             cording to z-values (or according to an additional 'color'
             column, see help for [1musing[22m) of these 4 corners; by default
             the 4 corner values are averaged, but this can be changed
             by the option [1mcorners2color[22m.  In order to get a reasonable
             surface, the neighbouring scans should not cross and the
             number of points in the neighbouring scans should not dif-
             fer too much; of course, the best plot is with scans hav-
             ing same number of points.  There are no other require-
             ments (e.g. the data need not be gridded).  Another advan-
             tage is that the pm3d algorithm does not draw anything
             outside of the input (measured or calculated) region.

             Surface coloring works with the following input data:

             1. splot of function or of data file with one or three
             data columns: The gray/color scale is obtained by mapping
             the averaged (or [1mcorners2color[22m) z-coordinate of the four
             corners of the above-specified quadrangle into the range
             [min_color_z,max_color_z] of [1mzrange [22mor [1mcbrange [22mproviding a
             gray value in the range [0:1].  This value can be used di-
             rectly as the gray for gray maps.  The normalized gray
             value can be further mapped into a color---see [1mset palette[0m
             for the complete description.

             2. splot of data file with two or four data columns: The
             gray/color value is obtained by using the last-column co-
             ordinate instead of the z-value, thus allowing the color
             and the z-coordinate be mutually independent.  This can be
             used for 4d data drawing.

             Other notes:

             1. The term 'scan' referenced above is used more among
             physicists than the term 'iso_curve' referenced in gnuplot
             documentation and sources.  You measure maps recorded one
             scan after another scan, that's why.

             2. The 'gray' or 'color' scale is a linear mapping of a
             continuous variable onto a smoothly varying palette of
             colors. The mapping is shown in a rectangle next to the
             main plot. This documentation refers to this as a "color-
             box", and refers to the indexing variable as lying on the
             colorbox axis.  See [1mset colorbox[22m, [1mset cbrange[22m.
















   GNUPLOT 5.4                                                      247


             [1m102.71.3.  Lighting[0m


             By default the colors assigned to pm3d objects are not de-
             pendent on orientation or viewing angle. This state corre-
             sponds to [1mset pm3d nolighting[22m.  The command [1mset pm3d[0m
             [1mlighting [22mselects a simple lighting model consisting of a
             single fixed source of illumination contributing 50% of
             the overall lighting.  The strength of this light relative
             to the ambient illumination can be adjusted by [1mset pm3d[0m
             [1mlighting primary <fraction>[22m.  Inclusion of specular high-
             lighting can be adjusted by setting a fractional contribu-
             tion:
                  set pm3d lighting primary 0.50 specular 0.0   # no
             highlights
                  set pm3d lighting primary 0.50 specular 0.6   #
             strong highlights
             Solid-color pm3d surfaces tend to look very flat without
             specular highlights.  Since the highlights from a single
             source only affect one side of the surface, a second spot-
             light source may be desirable to add specular highlights
             from the opposite direction.  This is controlled by "spec2
             <contribution>".  EXPERIMENTAL (details may change in a
             future version): The second spotlight is a pure red light
             source that by default contributes nothing (spec2 0.0).
             See also hidden_compare.dem (comparison of hidden3d and
             pm3d treatment of solid-color surfaces)



             [1m102.71.4.  Position[0m


             Color surface can be drawn at the base or top (then it is
             a gray/color planar map) or at z-coordinates of surface
             points (gray/color surface).  This is defined by the [1mat[0m
             option with a string of up to 6 combinations of [1mb[22m, [1mt [22mand
             [1ms[22m. For instance, [1mat b [22mplots at bottom only, [1mat st [22mplots
             firstly surface and then top map, while [1mat bstbst [22mwill
             never by seriously used.

             Colored quadrangles are plotted one after another.  When
             plotting surfaces ([1mat s[22m), the later quadrangles overlap
             (overdraw) the previous ones.  (Gnuplot is not virtual re-
             ality tool to calculate intersections of filled polygon
             meshes.)  You may try to switch between [1mscansforward [22mand
             [1mscansbackward [22mto force the first scan of the data to be
             plotted first or last.  The default is [1mscansautomatic[0m
             where gnuplot makes a guess about scans order.  On the
             other hand, the [1mdepthorder [22moption completely reorders the
             quadrangles. The rendering is performed after a depth
             sorting, which allows to visualize even complicated sur-
             faces; see [1mpm3d depthorder [22mfor more details.










   GNUPLOT 5.4                                                      248


             [1m102.71.5.  Scanorder[0m


                  set pm3d {scansautomatic | scansforward | scansback-
             ward | depthorder}

             By default the quadrangles making up a pm3d solid surface
             are rendered in the order they are encountered along the
             surface grid points.  This order may be controlled by the
             options [1mscansautomatic[22m|[1mscansforward[22m|[1mscansbackward[22m.  These
             scan options are not in general compatible with hidden-
             surface removal.

             If two successive scans do not have same number of points,
             then it has to be decided whether to start taking points
             for quadrangles from the beginning of both scans ([1mflush[0m
             [1mbegin[22m), from their ends ([1mflush end[22m) or to center them
             ([1mflush center[22m).  Note, that [1mflush (center|end) [22mare incom-
             patible with [1mscansautomatic[22m: if you specify [1mflush center[0m
             or [1mflush end [22mand [1mscansautomatic [22mis set, it is silently
             switched to [1mscansforward[22m.

             If two subsequent scans do not have the same number of
             points, the option [1mftriangles [22mspecifies whether color tri-
             angles are drawn at the scan tail(s) where there are not
             enough points in either of the scans. This can be used to
             draw a smooth map boundary.

             Gnuplot does not do true hidden surface removal for solid
             surfaces, but often it is sufficient to render the compo-
             nent quadrangles in order from furthest to closest.  This
             mode may be selected using the option
                   set pm3d depthorder
             Note that the global option [1mset hidden3d [22mdoes not affect
             pm3d surfaces.

             The [1mdepthorder [22moption by itself tends to produce bad re-
             sults when applied to the long thin rectangles generated
             by [1msplot with boxes[22m.  It works better to add the keyword
             [1mbase[22m, which performs the depth sort using the intersection
             of the box with the plane at z=0.  This type of plot is
             further improved by adding a lighing model.  Example:
                  set pm3d depthorder base
                  set pm3d lighting
                  set boxdepth 0.4
                  splot $DATA using 1:2:3 with boxes

















   GNUPLOT 5.4                                                      249


             [1m102.71.6.  Clipping[0m


             Syntax:
                  set pm3d {clip {z} | clip1in | clip4in}
                  set pm3d {no}clipcb

             The component quadrangles of a pm3d surface or other 3D
             object are by default smoothly clipped against the current
             zrange.  This is a change from earlier gnuplot versions.

             Alternatively, surfaces can be clipped by rendering whole
             quadrangles but only those with all 4 corners in-range on
             x, y, and z ([1mset pm3d clip4in[22m), or only those with at
             least one corner in-range on x, y, and z ([1mset pm3d[0m
             [1mclip1in[22m).  The options [1mclip[22m, [1mclip1in[22m, and [1mclip4in [22mare mu-
             tually exclusive.

             Separate from clipping based on spatial x, y, and z coor-
             dinates, quadrangles can be rendered or not based on ex-
             treme palette color values.  [1mclipcb[22m: (default) palette
             color values < cbmin are clipped to equal cbmin; palette
             color values > cbmax are clipped to equal cbmax.  [1mno-[0m
             [1mclipcb[22m: quadrangles with color value outside cbrange are
             not drawn at all.




             [1m102.71.7.  Color_assignment[0m


             The default pm3d coloring assigns an individual color to
             each quadrangle of the surface grid.  For alternative col-
             oring schemes that assign uniform color to the entire sur-
             face, see [1mpm3d fillcolor[22m.

             A single gray/color value (i.e. not a gradient) is as-
             signed to each quadrangle.  This value is calculated from
             the z-coordinates the four quadrangle corners according to
             [1mcorners2color <option>[22m.  The value is then used to select
             a color from the current palette.  See [1mset palette[22m.  It is
             not possible to change palettes inside a single [1msplot [22mcom-
             mand.

             If a fourth column of data is provided, the coloring of
             individual quadrangles works as above except that the
             color value is distinct from the z value.  As a separate
             coloring option, the fourth data column may provide in-
             stead an RGB color. See [1mrgbcolor variable[22m. In this case
             the plotting command must be

                   splot ... using 1:2:3:4 with pm3d lc rgb variable










   GNUPLOT 5.4                                                      250


             Notice that ranges of z-values and color-values for sur-
             faces are adjustable independently by [1mset zrange[22m, [1mset[0m
             [1mcbrange[22m, [1mset log z[22m, [1mset log cb[22m, etc.



             [1m102.71.8.  Corners2color[0m


             The color of each quadrangle in a pm3d surface is assigned
             based on the color values of its four bounding vertices.
             The options 'mean' (default), 'geomean', 'harmean, 'rms',
             and 'median' produce various kinds of surface color
             smoothing, while options 'min' and 'max' choose minimal or
             maximal value, respectively. This may not be desired for
             pixel images or for maps with sharp and intense peaks, in
             which case the options 'c1', 'c2', 'c3' or 'c4' can be
             used instead to assign the quadrangle color based on the
             z-coordinate of only one corner.  Some experimentation may
             be needed to determine which corner corresponds to 'c1',
             as the orientation depends on the drawing direction.  Be-
             cause the pm3d algorithm does not extend the colored sur-
             face outside the range of the input data points, the
             'c<j>' coloring options will result in pixels along two
             edges of the grid not contributing to the color of any
             quadrangle.  For example, applying the pm3d algorithm to
             the 4x4 grid of data points in script [1mdemo/pm3d.dem[0m
             (please have a look) produces only (4-1)x(4-1)=9 colored
             rectangles.



             [1m102.71.9.  Border[0m


             The option [1mset pm3d border {line-properties} [22mdraws bound-
             ing lines around each quadrangle as it is rendered. Nor-
             mally this is used in conjunction with the [1mdepthorder [22mop-
             tion to approximate hidden line removal.  Note that the
             global option [1mset hidden3d [22mhas no effect on pm3d plots.
             Default line properties (color, width) optionally follow
             the keyword [1mborder[22m.  These defaults can be overridden
             later in an splot command.

             Example of recommended usage:

                   set pm3d at s depthorder border lw 0.2 lt black
                   unset hidden3d
                   unset surf
                   splot x*x+y*y linecolor rgb "blue"   # otherwise it
             would be black












   GNUPLOT 5.4                                                      251


             [1m102.71.10.  Fillcolor[0m


                  splot FOO with pm3d fillcolor <colorspec>

             Plot style [1mwith pm3d [22maccepts an optional fillcolor in the
             splot command.  This specification is applied to the en-
             tire pm3d surface.  See [1mcolorspec[22m.  Most fillcolor speci-
             fications will result in a single solid color, which is
             hard to interpret visually unless there is also a lighting
             model present to distinguish surface components based on
             orientation.  See [1mpm3d lighting[22m.

             There are a few special cases.  [1mwith pm3d fillcolor pal-[0m
             [1mette [22mwould produce the same result as the default pm3d
             palette-based coloring, and is therefore not a useful op-
             tion. [1mwith pm3d fillcolor linestyle N [22mis more interesting.
             This variant assigns distinct colors to the top and bottom
             of the pm3d surface, similar to the color scheme used by
             gnuplot's [1mhidden3d [22mmode.  Linestyle N is used for the top
             surface; linestyle N+1 for the bottom surface.  Note that
             "top" and "bottom" depend on the scan order, so that the
             colors are inverted for [1mpm3d scansbackward [22mas compared to
             [1mpm3d scansforward[22m.  This coloring option works best with
             [1mpm3d depthorder[22m, however, which unfortunately does not al-
             low you to control the scan order so you may have to in-
             stead swap the colors defined for linestyles N and N+1.



             [1m102.71.11.  Interpolate[0m


             The option [1minterpolate m,n [22mwill interpolate between grid
             points to generate a finer mesh.  For data files, this
             smooths the color surface and enhances the contrast of
             spikes in the surface.  When working with functions, in-
             terpolation makes little sense.  It would usually make
             more sense to increase [1msamples [22mand [1misosamples[22m.

             For positive m and n, each quadrangle or triangle is in-
             terpolated m-times and n-times in the respective direc-
             tion.  For negative m and n, the interpolation frequency
             is chosen so that there will be at least |m| and |n|
             points drawn; you can consider this as a special gridding
             function.

             Note: [1minterpolate 0,0[22m, will automatically choose an opti-
             mal number of interpolated surface points.

             Note: Currently color interpolation is always linear, even
             if corners2color is set to a nonlinear scheme such as the
             geometric mean.










   GNUPLOT 5.4                                                      252


             [1m102.71.12.  Deprecated_options[0m


             The deprecated option [1mset pm3d map [22mwas equivalent to [1mset[0m
             [1mpm3d at b; set view map; set style data pm3d; set style[0m
             [1mfunc pm3d;[0m

             The deprecated option [1mset pm3d hidden3d N [22mwas equivalent
             to [1mset pm3d border ls N[22m.



        [1m102.72.  Pointintervalbox[0m


        The [1mpointinterval [22mand [1mpointnumber [22mproperties of a line type are
        used only in plot style [1mlinespoints[22m.  A negative value of
        pointinterval or pointnumber, e.g. -N, means that before the
        selected set of point symbols are drawn a box (actually circle)
        behind each point symbol is blanked out by filling with the
        background color.  The command [1mset pointintervalbox [22mcontrols
        the radius of this blanked-out region.  It is a multiplier for
        the default radius, which is equal to the point size.



        [1m102.73.  Pointsize[0m


        The [1mset pointsize [22mcommand scales the size of the points used in
        plots.

        Syntax:
              set pointsize <multiplier>
              show pointsize

        The default is a multiplier of 1.0.  Larger pointsizes may be
        useful to make points more visible in bitmapped graphics.

        The pointsize of a single plot may be changed on the [1mplot [22mcom-
        mand.  See [1mplot with [22mfor details.

        Please note that the pointsize setting is not supported by all
        terminal types.



        [1m102.74.  Polar[0m


        The [1mset polar [22mcommand changes the meaning of the plot from rec-
        tangular coordinates to polar coordinates.











   GNUPLOT 5.4                                                      253


        Syntax:
              set polar
              unset polar
              show polar

        In polar coordinates, the dummy variable (t) represents an an-
        gle theta.  The default range of t is [0:2*pi], or [0:360] if
        degree units have been selected (see [1mset angles[22m).

        The command [1munset polar [22mchanges the meaning of the plot back to
        the default rectangular coordinate system.

        The [1mset polar [22mcommand is not supported for [1msplot[22ms.  See the [1mset[0m
        [1mmapping [22mcommand for similar functionality for [1msplot[22ms.

        While in polar coordinates the meaning of an expression in t is
        really r = f(t), where t is an angle of rotation.  The trange
        controls the domain (the angle) of the function. The r, x and y
        ranges control the extent of the graph in the x and y direc-
        tions.  Each of these ranges, as well as the rrange, may be au-
        toscaled or set explicitly.  For details, see [1mset rrange [22mand
        [1mset xrange[22m.

        Example:
              set polar
              plot t*sin(t)
              set trange [-2*pi:2*pi]
              set rrange [0:3]
              plot t*sin(t)

        The first [1mplot [22muses the default polar angular domain of 0 to
        2*pi.  The radius and the size of the graph are scaled automat-
        ically.  The second [1mplot [22mexpands the domain, and restricts the
        size of the graph to the area within 3 units of the origin.
        This has the effect of limiting x and y to [-3:3].

        By default polar plots are oriented such that theta=0 is at the
        far right, with theta increasing counterclockwise.  You can
        change both the origin and the sense explicitly.  See [1mset[0m
        [1mtheta[22m.

        You may want to [1mset size square [22mto have [1mgnuplot [22mtry to make the
        aspect ratio equal to unity, so that circles look circular.
        Tic marks around the perimeter can be specified using [1mset[0m
        [1mttics[22m.  See also polar demos (polar.dem) and polar data plot
        (poldat.dem).



        [1m102.75.  Print[0m













   GNUPLOT 5.4                                                      254


        The [1mset print [22mcommand redirects the output of the [1mprint [22mcommand
        to a file.

        Syntax:
              set print
              set print "-"
              set print "<filename>" [append]
              set print "|<shell_command>"
              set print $datablock [append]

        [1mset print [22mwith no parameters restores output to <STDERR>.  The
        <filename> "-" means <STDOUT>. The [1mappend [22mflag causes the file
        to be opened in append mode.  A <filename> starting with "|" is
        opened as a pipe to the <shell_command> on platforms that sup-
        port piping.

        The destination for [1mprint [22mcommands can also be a named data
        block. Data block names start with '$', see also [1minline data[22m.
        When printing a string to a data block, embedded newline char-
        acters are expanded to generate multiple data block entries.
        This is a CHANGE.



        [1m102.76.  Psdir[0m


        The [1mset psdir <directory> [22mcommand controls the search path used
        by the postscript terminal to find prologue.ps and character
        encoding files.  You can use this mechanism to switch between
        different sets of locally-customized prolog files.  The search
        order is
              1) The directory specified by `set psdir`, if any
              2) The directory specified by environmental variable GNU-
        PLOT_PS_DIR
              3) A built-in header or one from the default system di-
        rectory
              4) Directories set by `set loadpath`



        [1m102.77.  Raxis[0m


        The commands [1mset raxis [22mand [1munset raxis [22mtoggle whether the polar
        axis is drawn separately from grid lines and the x axis.  If
        the minimum of the current rrange is non-zero (and not au-
        toscaled), then a white circle is drawn at the center of the
        polar plot to indicate that the plot lines and axes do not
        reach 0.  The axis line is drawn using the same line type as
        the plot border.  See [1mpolar[22m, [1mrrange[22m, [1mrtics[22m, [1mrlabel[22m, [1mset grid[22m.












   GNUPLOT 5.4                                                      255


        [1m102.78.  Rgbmax[0m


        Syntax:
             set rgbmax {1.0 | 255}
             unset rgbmax
        The red/green/blue color components of an rgbimage plot are by
        default interpreted as integers in the range [0:255].  [1mset rgb-[0m
        [1mmax 1.0 [22mtells the program that data values used to generate the
        color components of a plot with [1mrgbimage [22mor [1mrgbalpha [22mare float-
        ing point values in the range [0:1].  [1munset rgbmax [22mreturns to
        the default integer range [0:255].



        [1m102.79.  Rlabel[0m


        This command places a label above the r axis. The label will be
        drawn whether or not the plot is in polar mode.  See [1mset xlabel[0m
        for additional keywords.



        [1m102.80.  Rmargin[0m


        The command [1mset rmargin [22msets the size of the right margin.
        Please see [1mset margin [22mfor details.



        [1m102.81.  Rrange[0m


        The [1mset rrange [22mcommand sets the range of the radial coordinate
        for a graph in polar mode.  This has the effect of setting both
        xrange and yrange as well.  The resulting xrange and yrange are
        both [-(rmax-rmin) : +(rmax-rmin)].  However if you later
        change the x or y range, for example by zooming, this does not
        change rrange, so data points continue to be clipped against
        rrange.  Unlike other axes, autoscaling the raxis always re-
        sults in rmin = 0.  The [1mreverse [22mautoscaling flag is ignored.
        Note: Setting a negative value for rmin may produce unexpected
        results.



        [1m102.82.  Rtics[0m


        The [1mset rtics [22mcommand places tics along the polar axis.  The
        tics and labels are drawn to the right of the origin. The










   GNUPLOT 5.4                                                      256


        [1mmirror [22mkeyword causes them to be drawn also to the left of the
        origin. See [1mpolar[22m, [1mset xtics[22m, and [1mset mxtics [22mfor discussion of
        keywords.



        [1m102.83.  Samples[0m


        The default sampling rate of functions, or for interpolating
        data, may be changed by the [1mset samples [22mcommand.  To change the
        sampling range for a particular plot, see [1mplot sampling[22m.

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

        By default, sampling is set to 100 points.  A higher sampling
        rate will produce more accurate plots, but will take longer.
        This parameter has no effect on data file plotting unless one
        of the interpolation/approximation options is used.  See [1mplot[0m
        [1msmooth [22mre 2D data and [1mset cntrparam [22mand [1mset dgrid3d [22mre 3D data.

        When a 2D graph is being done, only the value of <samples_1> is
        relevant.

        When a surface plot is being done without the removal of hidden
        lines, the value of samples specifies the number of samples
        that are to be evaluated for the isolines.  Each iso-v line
        will have <sample_1> samples and each iso-u line will have
        <sample_2> samples.  If you only specify <samples_1>, <sam-
        ples_2> will be set to the same value as <samples_1>.  See also
        [1mset isosamples[22m.



        [1m102.84.  Size[0m


        Syntax:
              set size {{no}square | ratio <r> | noratio} {<xs-
        cale>,<yscale>}
              show size

        The <xscale> and <yscale> values are scale factors for the size
        of the plot, which includes the graph, labels, and margins.

        Important note:
              In earlier versions of gnuplot, some terminal types used
        the values from
              `set size` to control also the size of the output canvas;
        others did not.
              Almost all terminals now follow the following convention:










   GNUPLOT 5.4                                                      257


        [1mset term <terminal_type> size <XX>, <YY> [22mcontrols the size of
        the output file, or [1mcanvas[22m. Please see individual terminal doc-
        umentation for allowed values of the size parameters.  By de-
        fault, the plot will fill this canvas.

        [1mset size <XX>, <YY> [22mscales the plot itself relative to the size
        of the canvas.  Scale values less than 1 will cause the plot to
        not fill the entire canvas.  Scale values larger than 1 will
        cause only a portion of the plot to fit on the canvas.  Please
        be aware that setting scale values larger than 1 may cause
        problems on some terminal types.

        [1mratio [22mcauses [1mgnuplot [22mto try to create a graph with an aspect
        ratio of <r> (the ratio of the y-axis length to the x-axis
        length) within the portion of the plot specified by <xscale>
        and <yscale>.

        The meaning of a negative value for <r> is different.  If
        <r>=-1, gnuplot tries to set the scales so that the unit has
        the same length on both the x and y axes.  This is the 2D
        equivalent to the 3D command [1mset view equal xy[22m.  If <r>=-2, the
        unit on y has twice the length of the unit on x, and so on.

        The success of [1mgnuplot [22min producing the requested aspect ratio
        depends on the terminal selected.  The graph area will be the
        largest rectangle of aspect ratio <r> that will fit into the
        specified portion of the output (leaving adequate margins, of
        course).

        [1mset size square [22mis a synonym for [1mset size ratio 1[22m.

        Both [1mnoratio [22mand [1mnosquare [22mreturn the graph to the default as-
        pect ratio of the terminal, but do not return <xscale> or
        <yscale> to their default values (1.0).

        [1mratio [22mand [1msquare [22mhave no effect on 3D plots, but do affect 3D
        projections created using [1mset view map[22m.  See also [1mset view[0m
        [1mequal[22m, which forces the x and y axes of a 3D onto the same
        scale.

        Examples:

        To set the size so that the plot fills the available canvas:
              set size 1,1

        To make the graph half size and square use:
              set size square 0.5,0.5

        To make the graph twice as high as wide use:
              set size ratio 2













   GNUPLOT 5.4                                                      258


        [1m102.85.  Spiderplot[0m


        The [1mset spiderplot [22mcommand switches interpretation of coordi-
        nates to a polar system in which each data point is mapped to a
        position along a radial axis.  paxis 1 is always vertical; axes
        2 to N proceed clockwise with even spacing. The command must be
        issued prior to plotting. It has additional effects equivalent
        to
             set style data spiderplot
             unset border
             unset tics
             set key noautotitle
             set size ratio 1.0
        Use [1mreset [22mto restore these after plotting.




        [1m102.86.  Style[0m


        Default plotting styles are chosen with the [1mset style data [22mand
        [1mset style function [22mcommands.  See [1mplot with [22mfor information
        about how to override the default plotting style for individual
        functions and data sets.  See [1mplotting styles [22mor [1mplot with [22mfor
        a complete list of styles.

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

        Default styles for specific plotting elements may also be set.

        Syntax:
              set style arrow <n> <arrowstyle>
              set style boxplot <boxplot style options>
              set style circle radius <size> {clip|noclip}
              set style ellipse size <size> units {xy|xx|yy} {clip|no-
        clip}
              set style fill <fillstyle>
              set style histogram <histogram style options>
              set style line <n> <linestyle>
              set style rectangle <object options> <linestyle> <fill-
        style>
              set style textbox {<n>} {opaque|transparent} {{no}border}
        {fillcolor}














   GNUPLOT 5.4                                                      259


             [1m102.86.1.  Set style arrow[0m


             Each terminal has a default set of arrow and point types,
             which can be seen by using the command [1mtest[22m.  [1mset style[0m
             [1marrow [22mdefines a set of arrow types and widths and point
             types and sizes so that you can refer to them later by an
             index instead of repeating all the information at each in-
             vocation.

             Syntax:
                   set style arrow <index> default
                   set style arrow <index> {nohead | head | backhead |
             heads}
                                           {size <length>,<an-
             gle>{,<backangle>} {fixed}}
                                           {filled | empty | nofilled |
             noborder}
                                           {front | back}
                                           { {linestyle | ls
             <line_style>}
                                             | {linetype | lt
             <line_type>}
                                               {linewidth | lw
             <line_width}
                                               {linecolor | lc <color-
             spec>}
                                               {dashtype | dt
             <dashtype>} }
                   unset style arrow
                   show style arrow

             <index> is an integer that identifies the arrowstyle.

             If [1mdefault [22mis given all arrow style parameters are set to
             their default values.

             If the linestyle <index> already exists, only the given
             parameters are changed while all others are preserved.  If
             not, all undefined values are set to the default values.

             Specifying [1mnohead [22mproduces arrows drawn without a head---a
             line segment.  This gives you yet another way to draw a
             line segment on the plot.  By default, arrows have one
             head. Specifying [1mheads [22mdraws arrow heads on both ends of
             the line.

             Head size can be modified using [1msize <length>,<angle> [22mor
             [1msize <length>,<angle>,<backangle>[22m, where [1m<length> [22mdefines
             length of each branch of the arrow head and [1m<angle> [22mthe
             angle (in degrees) they make with the arrow.  [1m<Length> [22mis
             in x-axis units; this can be changed by [1mfirst[22m, [1msecond[22m,
             [1mgraph[22m, [1mscreen[22m, or [1mcharacter [22mbefore the <length>;  see










   GNUPLOT 5.4                                                      260


             [1mcoordinates [22mfor details.

             By default the size of the arrow head is reduced for very
             short arrows.  This can be disabled using the [1mfixed [22mkey-
             word after the [1msize [22mcommand.

             [1m<backangle> [22mis the angle (in degrees) the back branches
             make with the arrow (in the same direction as [1m<angle>[22m). It
             is ignored if the style is [1mnofilled[22m.

             Specifying [1mfilled [22mproduces filled arrow heads with a bor-
             der line around the arrow head.  Specifying [1mnoborder [22mpro-
             duces filled arrow heads with no border.  In this case the
             tip of the arrow head lies exactly on the endpoint of the
             vector and the arrow head is slightly smaller overall.
             Dashed arrows should always use [1mnoborder[22m, since a dashed
             border is ugly.  Not all terminals support filled arrow
             heads.

             The line style may be selected from a user-defined list of
             line styles (see [1mset style line[22m) or may be defined here by
             providing values for [1m<line_type> [22m(an index from the de-
             fault list of styles) and/or [1m<line_width> [22m(which is a
             multiplier for the default width).

             Note, however, that if a user-defined line style has been
             selected, its properties (type and width) cannot be al-
             tered merely by issuing another [1mset style arrow [22mcommand
             with the appropriate index and [1mlt [22mor [1mlw[22m.

             If [1mfront [22mis given, the arrows are written on top of the
             graphed data. If [1mback [22mis given (the default), the arrow is
             written underneath the graphed data.  Using [1mfront [22mwill
             prevent a arrow from being obscured by dense data.

             Examples:

             To draw an arrow without an arrow head and double width,
             use:
                   set style arrow 1 nohead lw 2
                   set arrow arrowstyle 1

             See also [1mset arrow [22mfor further examples.




             [1m102.86.2.  Boxplot[0m


             The [1mset style boxplot [22mcommand allows you to change the
             layout of plots created using the [1mboxplot [22mplot style.











   GNUPLOT 5.4                                                      261


             Syntax:
                   set style boxplot {range <r> | fraction <f>}
                                     {{no}outliers} {pointtype <p>}
                                     {candlesticks | financebars}
                                     {medianlinewidth <width>}
                                     {separation <x>}
                                     {labels off | auto | x | x2}
                                     {sorted | unsorted}

             The box in the boxplot always spans the range of values
             from the first quartile to the third quartile of the data
             points.  The limit of the whiskers that extend from the
             box can be controlled in two different ways. By default
             the whiskers extend from each end of the box for a range
             equal to 1.5 times the interquartile range (i.e. the ver-
             tical height of the box proper).  Each whisker is trun-
             cated back toward the median so that it terminates at a y
             value belonging to some point in the data set. Since there
             may be no point whose value is exactly 1.5 times the in-
             terquartile distance, the whisker may be shorter than its
             nominal range.  This default corresponds to
                   set style boxplot range 1.5

             Alternatively, you can specify the fraction of the total
             number of points that the whiskers should span.  In this
             case the range is extended symmetrically from the median
             value until it encompasses the requested fraction of the
             data set.  Here again each whisker is constrained to end
             at a point in the data set.  To span 95% of the points in
             the set
                   set style boxplot fraction 0.95

             Any points that lie outside the range of the whiskers are
             considered outliers.  By default these are drawn as indi-
             vidual circles (pointtype 7).  The option [1mnooutliers [22mdis-
             ables this.  If outliers are not drawn they do not con-
             tribute to autoscaling.

             By default boxplots are drawn in a style similar to can-
             dlesticks, but you have the option of using instead a
             style similar to finance bars.

             A crossbar indicating the median is drawn using the same
             line type as box boundary.  If you want a thicker line for
             the median
                   set style boxplot medianlinewidth 2.0
             If you want no median line, set this to 0.

             If the using specification for a boxplot contains a fourth
             column, the values in that column will be interpreted as
             the discrete leveles of a factor variable.  In this case
             more than one boxplots may be drawn, as many as the number
             of levels of the factor variable.  These boxplots will be










   GNUPLOT 5.4                                                      262


             drawn next to each other, the distance between them is 1.0
             by default (in x-axis units).  This distance can be
             changed by the option [1mseparation[22m.

             The [1mlabels [22moption governs how and where these boxplots
             (each representing a part of the dataset) are labeled.  By
             default the value of the factor is put as a tick label on
             the horizontal axis -- x or x2, depending on which one is
             used for the plot itself.  This setting corresponds to op-
             tion [1mlabels auto[22m.  The labels can be forced to use either
             of the x or x2 axes -- options [1mlabels x [22mand [1mlabels x2[22m, re-
             spectively --, or they can be turned off altogether with
             the option [1mlabels off[22m.

             By default the boxplots corresponding to different levels
             of the factor variable are not sorted; they will be drawn
             in the same order the levels are encountered in the data
             file. This behavior corresponds to the [1munsorted [22moption. If
             the [1msorted [22moption is active, the levels are first sorted
             alphabetically, and the boxplots are drawn in the sorted
             order.

             The [1mseparation[22m, [1mlabels[22m, [1msorted [22mand [1munsorted [22moption only
             have an effect if a fourth column is given the plot speci-
             fication.

             See [1mboxplot[22m, [1mcandlesticks[22m, [1mfinancebars[22m.




             [1m102.86.3.  Set style data[0m


             The [1mset style data [22mcommand changes the default plotting
             style for data plots.

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

             See [1mplotting styles [22mfor the choices.  [1mshow style data[0m
             shows the current default data plotting style.



             [1m102.86.4.  Set style fill[0m


             The [1mset style fill [22mcommand is used to set the default
             style of the plot elements in plots with boxes, his-
             tograms, candlesticks and filledcurves.  This default can
             be superseded by fillstyles attached to individual plots.










   GNUPLOT 5.4                                                      263


             Note that there is a separate default fill style for rec-
             tangles created by [1mset obj[22m. See [1mset style rectangle[22m.

             Syntax:
                   set style fill {empty
                                   | {transparent} solid {<density>}
                                   | {transparent} pattern {<n>}}
                                  {border {lt} {lc <colorspec>} |
             noborder}

             The [1mempty [22moption causes filled areas not to be filled.
             This is the default.

             The [1msolid [22moption causes filling with a solid color, if the
             terminal supports that. The <density> parameter specifies
             the intensity of the fill color. At a <density> of 0.0,
             the box is empty, at <density> of 1.0, the inner area is
             of the same color as the current linetype.  Some terminal
             types can vary the density continuously; others implement
             only a few levels of partial fill.  If no <density> param-
             eter is given, it defaults to 1.

             The [1mpattern [22moption causes filling to be done with a fill
             pattern supplied by the terminal driver.  The kind and
             number of available fill patterns depend on the terminal
             driver.  If multiple datasets using filled boxes are plot-
             ted, the pattern cycles through all available pattern
             types, starting from pattern <n>, much as the line type
             cycles for multiple line plots.

             Fill color ([1mfillcolor <colorspec>[22m) is distinct from fill
             style.  I.e.  plot elements or objects can share a fill-
             style while retaining separate colors.  In most places
             where a fillstyle is accepted you can also specify a fill
             color.  Fillcolor may be abbreviated [1mfc[22m.  Otherwise the
             fill color is take from the current linetype.  Example:

                   plot FOO with boxes fillstyle solid 1.0 fillcolor
             "cyan"





                  [1m102.86.4.1.  Set style fill border[0m


                  The bare keyword [1mborder [22mcauses the filled object to
                  be surrounded by a solid line of the current linetype
                  and color.  You can change the color of this line by
                  adding either a linetype or a linecolor.  [1mnoborder[0m
                  specifies that no bounding line is drawn.  Examples:
                       # Half-intensity fill, full intensity border in










   GNUPLOT 5.4                                                      264


                  same color
                       set style fill solid 0.5 border
                       # Half-transparent fill, solid black border
                  (linetype -1)
                       set style fill transparent solid 0.5 border -1
                       # Pattern fill in current color, border using
                  color of linetype 5
                       plot ... with boxes fillstyle pattern 2 border
                  lt 5
                       # Fill area in cyan, border in blue
                       plot ... with boxes fillcolor "cyan" fs solid
                  border linecolor "blue"

                  Note: The border property of a fill style only af-
                  fects plots drawn [1mwith filledcurves [22min the default
                  mode (closed curve).



                  [1m102.86.4.2.  Set style fill transparent[0m


                  Some terminals support the attribute [1mtransparent [22mfor
                  filled areas.  In the case of transparent solid fill
                  areas, the [1mdensity [22mparameter is interpreted as an al-
                  pha value; that is, density 0 is fully transparent,
                  density 1 is fully opaque.  In the case of transpar-
                  ent pattern fill, the background of the pattern is
                  either fully transparent or fully opaque.

                  Note that there may be additional limitations on the
                  creation or viewing of graphs containing transparent
                  fill areas.  For example, the png terminal can only
                  use transparent fill if the "truecolor" option is
                  set.  Some pdf viewers may not correctly display the
                  fill areas even if they are correctly described in
                  the pdf file. Ghostscript/gv does not correctly dis-
                  play pattern-fill areas even though actual PostScript
                  printers generally have no problem.



             [1m102.86.5.  Set style function[0m


             The [1mset style function [22mcommand changes the default plot-
             ting style for function plots (e.g. lines, points, filled-
             curves).  See [1mplotting styles[22m.

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











   GNUPLOT 5.4                                                      265


             [1m102.86.6.  Set style increment[0m


             [1mNote[22m:  This command has been deprecated.  Instead please
             use the newer command [1mset linetype[22m, which redefines the
             linetypes themselves rather than searching for a suitable
             temporary line style to substitute.  See [1mset linetype[0m

             Syntax:
                   set style increment {default|userstyles}
                   show style increment

             By default, successive plots within the same graph will
             use successive linetypes from the default set for the cur-
             rent terminal type.  However, choosing [1mset style increment[0m
             [1muser [22mallows you to step through the user-defined line
             styles rather than through the default linetypes.

             Example:

                   set style line 1 lw 2 lc rgb "gold"
                   set style line 2 lw 2 lc rgb "purple"
                   set style line 4 lw 1 lc rgb "sea-green"
                   set style increment user

                   plot f1(x), f2(x), f3(x), f4(x)

             should plot functions f1, f2, f4 in your 3 newly defined
             line styles.  If a user-defined line style is not found
             then the corresponding default linetype is used instead.
             E.g. in the example above, f3(x) will be plotted using the
             default linetype 3.




             [1m102.86.7.  Set style line[0m


             Each terminal has a default set of line and point types,
             which can be seen by using the command [1mtest[22m.  [1mset style[0m
             [1mline [22mdefines a set of line types and widths and point
             types and sizes so that you can refer to them later by an
             index instead of repeating all the information at each in-
             vocation.

             Syntax:
                   set style line <index> default
                   set style line <index> {{linetype  | lt} <line_type>
             | <colorspec>}
                                          {{linecolor | lc} <color-
             spec>}
                                          {{linewidth | lw}










   GNUPLOT 5.4                                                      266


             <line_width>}
                                          {{pointtype | pt}
             <point_type>}
                                          {{pointsize | ps}
             <point_size>}
                                          {{pointinterval | pi} <inter-
             val>}
                                          {{pointnumber | pn} <max_sym-
             bols>}
                                          {{dashtype | dt} <dashtype>}
                                          {palette}
                   unset style line
                   show style line

             [1mdefault [22msets all line style parameters to those of the
             linetype with that same index.

             If the linestyle <index> already exists, only the given
             parameters are changed while all others are preserved.  If
             not, all undefined values are set to the default values.

             Line styles created by this mechanism do not replace the
             default linetype styles; both may be used.  Line styles
             are temporary. They are lost whenever you execute a [1mreset[0m
             command.  To redefine the linetype itself, please see [1mset[0m
             [1mlinetype[22m.

             The line and point types default to the index value. The
             exact symbol that is drawn for that index value may vary
             from one terminal type to another.

             The line width and point size are multipliers for the cur-
             rent terminal's default width and size (but note that
             <point_size> here is unaffected by the multiplier given by
             the command[1mset pointsize[22m).

             The [1mpointinterval [22mcontrols the spacing between points in a
             plot drawn with style [1mlinespoints[22m.  The default is 0 (ev-
             ery point is drawn). For example, [1mset style line N pi 3[0m
             defines a linestyle that uses pointtype N, pointsize and
             linewidth equal to the current defaults for the terminal,
             and will draw every 3rd point in plots using [1mwith lines-[0m
             [1mpoints[22m.  A negative value for the interval is treated the
             same as a positive value, except that some terminals will
             try to interrupt the line where it passes through the
             point symbol.

             The [1mpointnumber [22mproperty is similar to [1mpointinterval [22mex-
             cept that rather than plotting every Nth point it limits
             the total number of points to N.

             Not all terminals support the [1mlinewidth [22mand [1mpointsize [22mfea-
             tures; if not supported, the option will be ignored.










   GNUPLOT 5.4                                                      267


             Terminal-independent colors may be assigned using either
             [1mlinecolor <colorspec> [22mor [1mlinetype <colorspec>[22m, abbreviated
             [1mlc [22mor [1mlt[22m.  This requires giving a RGB color triple, a
             known palette color name, a fractional index into the cur-
             rent palette, or a constant value from the current mapping
             of the palette onto cbrange.  See [1mcolors[22m, [1mcolorspec[22m, [1mset[0m
             [1mpalette[22m, [1mcolornames[22m, [1mcbrange[22m.

             [1mset style line <n> linetype <lt> [22mwill set both a terminal-
             dependent dot/dash pattern and color. The commands[1mset[0m
             [1mstyle line <n> linecolor <colorspec> [22mor [1mset style line <n>[0m
             [1mlinetype <colorspec> [22mwill set a new line color while leav-
             ing the existing dot-dash pattern unchanged.

             In 3d mode ([1msplot [22mcommand), the special keyword [1mpalette [22mis
             allowed as a shorthand for "linetype palette z".  The
             color value corresponds to the z-value (elevation) of the
             splot, and varies smoothly along a line or surface.

             Examples: Suppose that the default lines for indices 1, 2,
             and 3 are red, green, and blue, respectively, and the de-
             fault point shapes for the same indices are a square, a
             cross, and a triangle, respectively.  Then

                   set style line 1 lt 2 lw 2 pt 3 ps 0.5

             defines a new linestyle that is green and twice the de-
             fault width and a new pointstyle that is a half-sized tri-
             angle.  The commands

                   set style function lines
                   plot f(x) lt 3, g(x) ls 1

             will create a plot of f(x) using the default blue line and
             a plot of g(x) using the user-defined wide green line.
             Similarly the commands

                   set style function linespoints
                   plot p(x) lt 1 pt 3, q(x) ls 1

             will create a plot of p(x) using the default triangles
             connected by a red line and q(x) using small triangles
             connected by a green line.

                   splot sin(sqrt(x*x+y*y))/sqrt(x*x+y*y) w l pal

             creates a surface plot using smooth colors according to
             [1mpalette[22m. Note, that this works only on some terminals. See
             also [1mset palette[22m, [1mset pm3d[22m.

                   set style line 10 linetype 1 linecolor rgb "cyan"

             will assign linestyle 10 to be a solid cyan line on any










   GNUPLOT 5.4                                                      268


             terminal that supports rgb colors.




             [1m102.86.8.  Set style circle[0m



             Syntax:
                   set style circle {radius {graph|screen} <R>}
                                    {{no}wedge}
                                    {clip|noclip}

             This command sets the default radius used in plot style
             "with circles".  It applies to data plots with only 2 col-
             umns of data (x,y) and to function plots.  The default is
             "set style circle radius graph 0.02".  [1mNowedge [22mdisables
             drawing of the two radii that connect the ends of an arc
             to the center.  The default is [1mwedge[22m. This parameter has
             no effect on full circles. [1mClip [22mclips the circle at the
             plot boundaries, [1mnoclip [22mdisables this. Default is [1mclip[22m.




             [1m102.86.9.  Set style rectangle[0m



             Rectangles defined with the [1mset object [22mcommand can have
             individual styles.  However, if the object is not assigned
             a private style then it inherits a default that is taken
             from the [1mset style rectangle [22mcommand.

             Syntax:
                 set style rectangle {front|back} {lw|linewidth <lw>}
                                     {fillcolor <colorspec>} {fs <fill-
             style>}

             See [1mcolorspec [22mand [1mfillstyle[22m.  [1mfillcolor [22mmay be abbreviated
             as [1mfc[22m.

             Examples:
                 set style rectangle back fc rgb "white" fs solid 1.0
             border lt -1
                 set style rectangle fc linsestyle 3 fs pattern 2
             noborder

             The default values correspond to solid fill with the back-
             ground color and a black border.












   GNUPLOT 5.4                                                      269


             [1m102.86.10.  Set style ellipse[0m



             Syntax:
                   set style ellipse {units xx|xy|yy}
                                     {size {graph|screen} <a>,
             {{graph|screen} <b>}}
                                     {angle <angle>}
                                     {clip|noclip}

             This command governs whether the diameters of ellipses are
             interpreted in the same units or not.  Default is [1mxy[22m,
             which means that the major diameter (first axis) of el-
             lipses will be interpreted in the same units as the x (or
             x2) axis, while the minor (second) diameter in those of
             the y (or y2) axis.  In this mode the ratio of the ellipse
             axes depends on the scales of the plot axes and aspect ra-
             tio of the plot.  When set to [1mxx [22mor [1myy[22m, both axes of all
             ellipses will be interpreted in the same units.  This
             means that the ratio of the axes of the plotted ellipses
             will be correct even after rotation, but either their ver-
             tical or horizontal extent will not be correct.

             This is a global setting that affects all ellipses, both
             those defined as objects and those generated with the [1mplot[0m
             command, however, the value of [1munits [22mcan also be redefined
             on a per-plot and per-object basis.

             It is also possible to set a default size for ellipses
             with the [1msize [22mkeyword.  This default size applies to data
             plots with only 2 columns of data (x,y) and to function
             plots.  The two values are interpreted as the major and
             minor diameters (as opposed to semi-major and semi-minor
             axes) of the ellipse.

             The default is "set style ellipse size graph 0.05,0.03".

             Last, but not least it is possible to set the default ori-
             entation with the [1mangle [22mkeyword. The orientation, which is
             defined as the angle between the major axis of the ellipse
             and the plot's x axis, must be given in degrees.

             [1mClip [22mclips the ellipse at the plot boundaries, [1mnoclip [22mdis-
             ables this.  Default is [1mclip[22m.

             For defining ellipse objects, see [1mset object ellipse[22m; for
             the 2D plot style, see [1mellipses[22m.















   GNUPLOT 5.4                                                      270


             [1m102.86.11.  Set style parallelaxis[0m



             Syntax:
                   set style parallelaxis {front|back} {line-proper-
             ties}

             Determines the line type and layer for drawing the verti-
             cal axes in plots [1mwith parallelaxes[22m.  See [1mwith paralle-[0m
             [1mlaxes[22m, [1mset paxis[22m.



             [1m102.86.12.  Set style spiderplot[0m



             Syntax:
                     set style spiderplot
                               {fillstyle <fillstyle-properties>}
                               {<line-properties> | <point-properties>}
             This commands controls the default appearance of spider
             plots.  The fill, line, and point properties can be modi-
             fied in the first component of the plot command.  The
             overall appearance of the plot is also affected by other
             settings such as [1mset grid spiderplot[22m.  See also [1mset paxis[22m,
             [1mspiderplot[22m.  Example:
                  # Default spider plot will be a polygon with a thick
             border but no fill
                  set style spiderplot fillstyle empty border lw 3
                  # This one will additionally place an open circle (pt
             6) at each axis
                  plot for [i=1:6] DATA pointtype 6 pointsize 3




             [1m102.86.13.  Set style textbox[0m



             Syntax:
                     set style textbox {<boxstyle-index>}
                               {opaque|transparent} {fillcolor <color>}
                               {{no}border {<bordercolor>}}{linewidth
             <lw>}
                               {margins <xmargin>,<ymargin>}

             This command controls the appearance of labels with the
             attribute 'boxed'.  Terminal types that do not support
             boxed text will ignore this style.  Note: Implementation
             for some terminals (svg, latex) is incomplete.  Most










   GNUPLOT 5.4                                                      271


             terminals cannot place a box correctly around rotated
             text.

             Three numbered textbox styles can be defined.  If no
             boxstyle index <bs> is given, the default (unnumbered)
             style is changed.  Example:

                  # default style has only a black border
                  set style textbox transparent border lc "black"
                  # style 2 (bs 2) has a light blue background with no
             border
                  set style textbox 2 opaque fc "light-cyan" noborder
                  set label 1 "I'm in a box" boxed
                  set label 2 "I'm blue" boxed bs 2




        [1m102.87.  Surface[0m


        The [1mset surface [22mcommand is only relevant for 3D plots ([1msplot[22m).

        Syntax:
              set surface {implicit|explicit}
              unset surface
              show surface

        [1munset surface [22mwill cause [1msplot [22mto not draw points or lines cor-
        responding to any of the function or data file points.  This is
        mainly useful for drawing only contour lines rather than the
        surface they were derived from.  Contours may still be drawn on
        the surface, depending on the [1mset contour [22moption.  To turn off
        the surface for an individual function or data file while leav-
        ing others active, use the [1mnosurface [22mkeyword in the [1msplot [22mcom-
        mand.  The combination [1munset surface; set contour base [22mis use-
        ful for displaying contours on the grid base.  See also [1mset[0m
        [1mcontour[22m.

        If a 3D data set is recognizable as a mesh (grid) then by de-
        fault the program implicitly treats the plot style [1mwith lines[0m
        as requesting a gridded surface.  See [1mgrid_data[22m.  The command
        [1mset surface explicit [22msuppresses this expansion, plotting only
        the individual lines described by separate blocks of data in
        the input file.  A gridded surface can still be plotted by ex-
        plicitly requesting splot [1mwith surface[22m.



        [1m102.88.  Table[0m













   GNUPLOT 5.4                                                      272


        When [1mtable [22mmode is enabled, [1mplot [22mand [1msplot [22mcommands print out a
        multicolumn text table of values
             X Y {Z} <flag>
        rather than creating an actual plot on the current terminal.
        The flag character is "i" if the point is in the active range,
        "o" if it is out-of-range, or "u" if it is undefined.  The data
        format is determined by the format of the axis tickmarks (see
        [1mset format[22m), and the columns are separated by single spaces.
        This can be useful if you want to generate contours and then
        save them for further use.  The same method can be used to save
        interpolated data (see [1mset samples [22mand [1mset dgrid3d[22m).

        Syntax:
              set table {"outfile" | $datablock} {append}
                        {separator {whitespace|tab|comma|"<char>"}}
              plot <whatever>
              unset table

        Subsequent tabular output is written to "outfile", if speci-
        fied, otherwise it is written to stdout or other current value
        of [1mset output[22m.  If [1moutfile [22mexists it will be replaced unless
        the [1mappend [22mkeyword is given.  Alternatively, tabular output can
        be redirected to a named data block.  Data block names start
        with '$', see also [1minline data[22m. You must explicitly [1munset table[0m
        in order to go back to normal plotting on the current terminal.

        The [1mseparator [22mcharacter can be used to output csv (comma sepa-
        rated value) files.  This mode only affects plot style [1mwith ta-[0m
        [1mble[22m.  See [1mplot with table[22m.





             [1m102.88.1.  Plot with table[0m


             This discussion applies only to the special plot style
             [1mwith table[22m.

             To avoid any style-dependent processing of the input data
             being tabulated (smoothing, errorbar expansion, secondary
             range checking, etc), or to increase the number of columns
             that can be tabulated, use the keyword "table" instead of
             a normal plot style.  In this case the output does not
             contain an extra, last, column of flags [1mi[22m, [1mo[22m, [1mu [22mindicated
             inrange/outrange/undefined.  The destination for output
             must first be specified with [1mset table <where>[22m.  For exam-
             ple

                  set table $DATABLOCK1
                  plot <file> using 1:2:3:4:($5+$6):(func($7)):8:9:10
             with table










   GNUPLOT 5.4                                                      273


             Because there is no actual plot style in this case the
             columns do not correspond to specific axes.  Therefore
             xrange, yrange, etc are ignored.

             If a [1musing [22mterm evaluates to a string, the string is tabu-
             lated.  Numerical data is always written with format %g.
             If you want some other format use sprintf or gprintf to
             create a formatted string.

                  plot <file> using ("File 1"):1:2:3 with table
                  plot <file> using (sprintf("%4.2f",$1)) :
             (sprintf("%4.2f",$3)) with table

             To create a csv file use
                  set table "tab.csv" separator comma
                  plot <foo> using 1:2:3:4 with table

             [EXPERIMENTAL] To select only a subset of the data points
             for tabulation you can provide an input filter condition
             ([1mif <expression>[22m) at the end of the command.  Note that
             the input filter may reference data columns that are not
             part of the output.  This feature may change substantially
             before appearing in a released version of gnuplot.

                  plot <file> using 1:2:($4+$5) with table if (str-
             col(3) eq "Red")
                  plot <file> using 1:2:($4+$5) with table if (10. < $1
             && $1 < 100.)
                  plot <file> using 1:2:($4+$5) with table if (fil-
             ter($6,$7) != 0)



        [1m102.89.  Terminal[0m


        [1mgnuplot [22msupports many different graphics devices.  Use [1mset ter-[0m
        [1mminal [22mto tell [1mgnuplot [22mwhat kind of output to generate. Use [1mset[0m
        [1moutput [22mto redirect that output to a file or device.

        Syntax:
              set terminal {<terminal-type> | push | pop}
              show terminal

        If <terminal-type> is omitted, [1mgnuplot [22mwill list the available
        terminal types.  <terminal-type> may be abbreviated.

        If both [1mset terminal [22mand [1mset output [22mare used together, it is
        safest to give [1mset terminal [22mfirst, because some terminals set a
        flag which is needed in some operating systems.

        Some terminals have many additional options.  The options used
        by a previous invocation [1mset term <term> <options> [22mof a given










   GNUPLOT 5.4                                                      274


        [1m<term> [22mare remembered, thus subsequent [1mset term <term> [22mdoes not
        reset them.  This helps in printing, for instance, when switch-
        ing among different terminals---previous options don't have to
        be repeated.

        The command [1mset term push [22mremembers the current terminal in-
        cluding its settings while [1mset term pop [22mrestores it. This is
        equivalent to [1msave term [22mand [1mload term[22m, but without accessing
        the filesystem. Therefore they can be used to achieve platform
        independent restoring of the terminal after printing, for in-
        stance. After gnuplot's startup, the default terminal or that
        from [1mstartup [22mfile is pushed automatically. Therefore portable
        scripts can rely that [1mset term pop [22mrestores the default termi-
        nal on a given platform unless another terminal has been pushed
        explicitly.

        For more information, see the [1mcomplete list of terminals[22m.




        [1m102.90.  Termoption[0m


        The [1mset termoption [22mcommand allows you to change the behaviour
        of the current terminal without requiring a new [1mset terminal[0m
        command. Only one option can be changed per command, and only a
        small number of options can be changed this way. Currently the
        only options accepted are

             set termoption {no}enhanced
             set termoption font "<fontname>{,<fontsize>}"
             set termoption fontscale <scale>
             set termoption {linewidth <lw>}{lw <lw>}




        [1m102.91.  Theta[0m


        Polar coordinate plots are by default oriented such that theta
        = 0 is on the right side of the plot, with theta increasing as
        you proceed counterclockwise so that theta = 90 degrees is at
        the top.  [1mset theta [22mallows you to change the origin and direc-
        tion of the polar angular coordinate theta.
             set theta {right|top|left|bottom}
             set theta {clockwise|cw|counterclockwise|ccw}
        [1munset theta [22mrestores the default state "set theta right ccw".














   GNUPLOT 5.4                                                      275


        [1m102.92.  Tics[0m


        The [1mset tics [22mcommand controls the tic marks and labels on all
        axes at once.

        The tics may be turned off with the [1munset tics [22mcommand, and may
        be turned on (the default state) with [1mset tics[22m.  Fine control
        of tics on individual axes is possible using the alternative
        commands [1mset xtics[22m, [1mset ztics[22m, etc.

        Syntax:
              set tics {axis | border} {{no}mirror}
                       {in | out} {front | back}
                       {{no}rotate {by <ang>}} {offset <offset> |
        nooffset}
                       {left | right | center | autojustify}
                       {format "formatstring"} {font "name{,<size>}"}
        {{no}enhanced}
                       { textcolor <colorspec> }
              set tics scale {default | <major> {,<minor>}}
              unset tics
              show tics

        The options can be applied to a single axis (x, y, z, x2, y2,
        cb), e.g.
              set xtics rotate by -90
              unset cbtics

        All tic marks are drawn using the same line properties as the
        plot border (see [1mset border[22m).

        Set tics [1mback [22mor [1mfront [22mapplies to all axes at once, but only
        for 2D plots (not splot).  It controls whether the tics are
        placed behind or in front of the plot elements, in the case
        that there is overlap.

        [1maxis [22mor [1mborder [22mtells [1mgnuplot [22mto put the tics (both the tics
        themselves and the accompanying labels) along the axis or the
        border, respectively.  If the axis is very close to the border,
        the [1maxis [22moption will move the tic labels to outside the border
        in case the border is printed (see [1mset border[22m).  The relevant
        margin settings will usually be sized badly by the automatic
        layout algorithm in this case.

        [1mmirror [22mtells [1mgnuplot [22mto put unlabeled tics at the same posi-
        tions on the opposite border.  [1mnomirror [22mdoes what you think it
        does.

        [1min [22mand [1mout [22mchange the tic marks to be drawn inwards or out-
        wards.

        [1mset tics scale [22mcontrols the size of the tic marks.  The first










   GNUPLOT 5.4                                                      276


        value <major> controls the auto-generated or user-specified ma-
        jor tics (level 0).  The second value controls the auto-gener-
        ated or user-specified minor tics (level 1).  <major> defaults
        to 1.0, <minor> defaults to <major>/2.  Additional values con-
        trol the size of user-specified tics with level 2, 3, ...  De-
        fault tic sizes are restored by [1mset tics scale default[22m.

        [1mrotate [22masks [1mgnuplot [22mto rotate the text through 90 degrees,
        which will be done if the terminal driver in use supports text
        rotation.  [1mnorotate [22mcancels this. [1mrotate by <ang> [22masks for ro-
        tation by <ang> degrees, supported by some terminal types.

        The defaults are [1mborder mirror norotate [22mfor tics on the x and y
        axes, and [1mborder nomirror norotate [22mfor tics on the x2 and y2
        axes.  For the z axis, the default is [1mnomirror[22m.

        The <offset> is specified by either x,y or x,y,z, and may be
        preceded by [1mfirst[22m, [1msecond[22m, [1mgraph[22m, [1mscreen[22m, or [1mcharacter [22mto se-
        lect the coordinate system. <offset> is the offset of the tics
        texts from their default positions, while the default coordi-
        nate system is [1mcharacter[22m.  See [1mcoordinates [22mfor details. [1mnooff-[0m
        [1mset [22mswitches off the offset.

        By default, tic labels are justified automatically depending on
        the axis and rotation angle to produce aesthetically pleasing
        results. If this is not desired, justification can be overrid-
        den with an explicit [1mleft[22m, [1mright [22mor [1mcenter [22mkeyword. [1mautojustify[0m
        restores the default behavior.

        [1mset tics [22mwith no options restores mirrored, inward-facing tic
        marks for the primary axes. All other settings are retained.

        See also [1mset xtics [22mfor more control of major (labeled) tic
        marks and [1mset mxtics [22mfor control of minor tic marks.  These
        commands provide control of each axis independently.



        [1m102.93.  Ticslevel[0m


        Deprecated. See [1mset xyplane[22m.



        [1m102.94.  Ticscale[0m


        The [1mset ticscale [22mcommand is deprecated, use [1mset tics scale [22min-
        stead.













   GNUPLOT 5.4                                                      277


        [1m102.95.  Timestamp[0m


        The command [1mset timestamp [22mplaces the current time and date in
        the plot margin.

        Syntax:
              set timestamp {"<format>"} {top|bottom} {{no}rotate}
                            {offset <xoff>{,<yoff>}} {font
        "<fontspec>"}
                            {textcolor <colorspec>}
              unset timestamp
              show timestamp

        The format string is used to write the date and time.  Its de-
        fault value is what asctime() uses: "%a %b %d %H:%M:%S %Y"
        (weekday, month name, day of the month, hours, minutes, sec-
        onds, four-digit year).  With [1mtop [22mor [1mbottom [22myou can place the
        timestamp along the top left or bottom left margin (default:
        bottom).  [1mrotate [22mwrites the timestamp vertically. The constants
        <xoff> and <yoff> are offsets that let you adjust the position
        more finely.  <font> is used to specify the font with which the
        time is to be written.

        The abbreviation [1mtime [22mmay be used in place of [1mtimestamp[22m.

        Example:
              set timestamp "%d/%m/%y %H:%M" offset 80,-2 font "Hel-
        vetica"

        See [1mset timefmt [22mfor more information about time format strings.



        [1m102.96.  Timefmt[0m


        This command sets the default format used to input time data.
        See [1mset xdata time[22m, [1mtimecolumn[22m.

        Syntax:
              set timefmt "<format string>"
              show timefmt

        The valid formats for both [1mtimefmt [22mand [1mtimecolumn [22mare:


















   GNUPLOT 5.4                                                      278


     +---------------------------------------------------------------+
     |Format   Explanation                                           |
     +---------------------------------------------------------------+
     |  %d     day of the month, 1--31                               |
     |  %m     month of the year, 1--12                              |
     |  %y     year, 0--99                                           |
     |  %Y     year, 4-digit                                         |
     |  %j     day of the year, 1--365                               |
     |  %H     hour, 0--24                                           |
     |  %M     minute, 0--60                                         |
     |  %s     seconds since the Unix epoch (1970-01-01 00:00 UTC)   |
     |  %S     second, integer 0--60 on output, (double) on input    |
     |  %b     three-character abbreviation of the name of the month |
     |  %B     name of the month                                     |
     |  %p     two character match to one of: am AM pm PM            |
     +---------------------------------------------------------------+




   Any character is allowed in the string, but must match exactly.  \t
   (tab) is recognized.  Backslash-octals (\nnn) are converted to char.
   If there is no separating character between the time/date elements,
   then %d, %m, %y, %H, %M and %S read two digits each.  If a decimal
   point immediately follows the field read by %S, the decimal and any
   following digits are interpreted as a fractional second.  %Y reads
   four digits. %j reads three digits.  %b requires three characters,
   and %B requires as many as it needs.

   Spaces are treated slightly differently.  A space in the string
   stands for zero or more whitespace characters in the file.  That is,
   "%H %M" can be used to read "1220" and "12     20" as well as "12
   20".

   Each set of non-blank characters in the timedata counts as one col-
   umn in the [1musing n:n [22mspecification.  Thus [1m11:11  25/12/76  21.0 [22mcon-
   sists of three columns.  To avoid confusion, [1mgnuplot [22mrequires that
   you provide a complete [1musing [22mspecification if your file contains
   timedata.

   If the date format includes the day or month in words, the format
   string must exclude this text.  But it can still be printed with the
   "%a", "%A", "%b", or "%B" specifier.  [1mgnuplot [22mwill determine the
   proper month and weekday from the numerical values.  See [1mset format[0m
   for more details about these and other options for printing time
   data.

   When reading two-digit years with %y, values 69-99 refer to the 20th
   century, while values 00-68 refer to the 21st century.   NB: This is
   in accordance with the UNIX98 spec, but conventions vary widely and
   two-digit year values are inherently ambiguous.

   If the %p format returns "am" or "AM", hour 12 will be interpreted










   GNUPLOT 5.4                                                      279


   as hour 0.  If the %p format returns "pm" or "PM", hours < 12 will
   be increased by 12.

   See also [1mset xdata [22mand [1mtime/date [22mfor more information.

   Example:
         set timefmt "%d/%m/%Y\t%H:%M"
   tells [1mgnuplot [22mto read date and time separated by tab.  (But look
   closely at your data---what began as a tab may have been converted
   to spaces somewhere along the line; the format string must match
   what is actually in the file.)  See also time data demo.



        [1m102.97.  Title[0m


        The [1mset title [22mcommand produces a plot title that is centered at
        the top of the plot.  [1mset title [22mis a special case of [1mset label[22m.

        Syntax:
              set title {"<title-text>"} {offset <offset>} {font
        "<font>{,<size>}"}
                        {{textcolor | tc} {<colorspec> | default}}
        {{no}enhanced}
              show title

        If <offset> is specified by either x,y or x,y,z the title is
        moved by the given offset.  It may be preceded by [1mfirst[22m, [1msec-[0m
        [1mond[22m, [1mgraph[22m, [1mscreen[22m, or [1mcharacter [22mto select the coordinate sys-
        tem.  See [1mcoordinates [22mfor details.  By default, the [1mcharacter[0m
        coordinate system is used.  For example, "[1mset title offset[0m
        [1m0,-1[22m" will change only the y offset of the title, moving the
        title down by roughly the height of one character.  The size of
        a character depends on both the font and the terminal.

        <font> is used to specify the font with which the title is to
        be written; the units of the font <size> depend upon which ter-
        minal is used.

        [1mtextcolor <colorspec> [22mchanges the color of the text. <color-
        spec> can be a linetype, an rgb color, or a palette mapping.
        See help for [1mcolorspec [22mand [1mpalette[22m.

        [1mnoenhanced [22mrequests that the title not be processed by the en-
        hanced text mode parser, even if enhanced text mode is cur-
        rently active.

        [1mset title [22mwith no parameters clears the title.

        See [1msyntax [22mfor details about the processing of backslash se-
        quences and the distinction between single- and double-quotes.











   GNUPLOT 5.4                                                      280


        [1m102.98.  Tmargin[0m


        The command [1mset tmargin [22msets the size of the top margin.
        Please see [1mset margin [22mfor details.



        [1m102.99.  Trange[0m


        Syntax:    set trange [tmin:tmax] The range of the parametric
        variable t is useful in three contexts.  1) In parametric mode
        [1mplot [22mcommands it limits the range of sampling
           for both generating functions.  See `set parametric`, `set
        samples`.
        2) In polar mode [1mplot [22mcommands it limits or defines the range
        of the
           angular parameter theta. See `polar`.
        3) In [1mplot [22mor [1msplot [22mcommands using 1-dimensional sampled data
        via
           the pseudofile "+".  See `sampling 1D`, `special-filenames`.



        [1m102.100.  Ttics[0m


        The [1mset ttics [22mcommand places tics around the perimeter of a po-
        lar plot.  This is the border if [1mset border polar [22mis enabled,
        otherwise the outermost circle of the polar grid drawn at the
        rightmost ticmark along the r axis.  See [1mset grid[22m, [1mset rtics[22m.
        The angular position is always labeled in degrees.  The full
        perimeter can be labeled regardless of the current trange set-
        ting.  The desired range of the tic labels should be given as
        shown below.  Additional properties of the tic marks can be
        set. See [1mxtics[22m.

             set ttics -180, 30, 180
             set ttics add ("Theta = 0" 0)
             set ttics font ":Italic" rotate



        [1m102.101.  Urange[0m


        Syntax:     set urange [umin:umax] The range of the parametric
        variables u and v is useful in two contexts.  1) [1msplot [22min para-
        metric mode. See [1mset parametric[22m, [1mset isosamples[22m.  2) generating
        2-dimension sampled data for either [1mplot [22mor [1msplot [22musing the
        pseudofile "++". See [1msampling 2D[22m.











   GNUPLOT 5.4                                                      281


        [1m102.102.  Variables[0m


        The [1mshow variables [22mcommand lists the current value of user-de-
        fined and internal variables. Gnuplot internally defines vari-
        ables whose names begin with GPVAL_, MOUSE_, FIT_, and TERM_.

        Syntax:
              show variables      # show variables that do not begin
        with GPVAL_
              show variables all  # show all variables including those
        beginning GPVAL_
              show variables NAME # show only variables beginning with
        NAME




        [1m102.103.  Version[0m


        The [1mshow version [22mcommand lists the version of gnuplot being
        run, its last modification date, the copyright holders, and
        email addresses for the FAQ, the gnuplot-info mailing list, and
        reporting bugs--in short, the information listed on the screen
        when the program is invoked interactively.

        Syntax:
              show version {long}

        When the [1mlong [22moption is given, it also lists the operating sys-
        tem, the compilation options used when [1mgnuplot [22mwas installed,
        the location of the help file, and (again) the useful email ad-
        dresses.



        [1m102.104.  Vgrid[0m


        Syntax:
             set vgrid $gridname {size N}
             unset vgrid $gridname
             show vgrid

        If the named grid already exists, mark it as active (use it for
        subsequent [1mvfill [22mand [1mvoxel [22moperations).  If a new size is
        given, replace the existing content with a zero-filled N x N x
        N grid.  If a grid with this name does not already exist, allo-
        cate an N x N x N grid (default N=100), zero the contents, and
        mark it as active.  Note that grid names must begin with '$'.

        [1mshow vgrid [22mlists all currently defined voxel grids.  Example










   GNUPLOT 5.4                                                      282


        output:
              $vgrid1: (active)
                       size 100 X 100 X 100
                       vxrange [-4:4]  vyrange[-4:4]  vzrange[-4:4]
                       non-zero voxel values:  min 0.061237 max 94.5604
                       number of zero voxels:  992070   (99.21%)

        [1munset vgrid $gridname [22mreleases all data structures associated
        with that voxel grid.  The data structures are also released by
        [1mreset session[22m.  The function [1mvoxel(x,y,z) [22mreturns the value of
        the active grid point nearest that coordinate. See also [1msplot[0m
        [1mvoxel-grids[22m.




        [1m102.105.  View[0m


        The [1mset view [22mcommand sets the viewing angle for [1msplot[22ms.  It
        controls how the 3D coordinates of the plot are mapped into the
        2D screen space.  It provides controls for both rotation and
        scaling of the plotted data, but supports orthographic projec-
        tions only.  It supports both 3D projection or orthogonal 2D
        projection into a 2D plot-like map.

        Syntax:
              set view <rot_x>{,{<rot_z>}{,{<scale>}{,<scale_z>}}}
              set view map {scale <scale>}
              set view projection {xy|xz|yz}
              set view {no}equal {xy|xyz}
              set view azimuth <angle>
              show view

        where <rot_x> and <rot_z> control the rotation angles (in de-
        grees) in a virtual 3D coordinate system aligned with the
        screen such that initially (that is, before the rotations are
        performed) the screen horizontal axis is x, screen vertical
        axis is y, and the axis perpendicular to the screen is z.  The
        first rotation applied is <rot_x> around the x axis.  The sec-
        ond rotation applied is <rot_z> around the new z axis.

        Command [1mset view map [22mis used to represent the drawing as a map.
        It is useful for [1mcontour [22mplots or 2D heatmaps using pm3d mode
        rather than [1mwith image[22m.  In the latter case, take care that you
        properly use [1mzrange [22mand [1mcbrange [22mfor input data point filtering
        and color range scaling, respectively.

        <rot_x> is bounded to the [0:180] range with a default of 60
        degrees, while <rot_z> is bounded to the [0:360] range with a
        default of 30 degrees.  <scale> controls the scaling of the en-
        tire [1msplot[22m, while <scale_z> scales the z axis only.  Both
        scales default to 1.0.










   GNUPLOT 5.4                                                      283


        Examples:
              set view 60, 30, 1, 1
              set view ,,0.5

        The first sets all the four default values.  The second changes
        only scale, to 0.5.




             [1m102.105.1.  Azimuth[0m


                   set view azimuth <angle-in-degrees>
             The setting of azimuth affects the orientation of the z
             axis in a 3D graph (splot). At the default azimuth = 0 the
             z axis of the plot lies in the plane orthogonal to the
             screen horizontal.  I.e. the projection of the z axis lies
             along the screen vertical.  Non-zero azimuth rotates the
             plot about the line of sight through the origin so that a
             projection of the z axis is no longer vertical.  When az-
             imuth = 90 the z axis is horizontal rather than vertical.



             [1m102.105.2.  Equal_axes[0m


             The command [1mset view equal xy [22mforces the unit length of
             the x and y axes to be on the same scale, and chooses that
             scale so that the plot will fit on the page.  The command
             [1mset view equal xyz [22madditionally sets the z axis scale to
             match the x and y axes; however there is no guarantee that
             the current z axis range will fit within the plot bound-
             ary.  By default all three axes are scaled independently
             to fill the available area.

             See also [1mset xyplane[22m.



             [1m102.105.3.  Projection[0m


             Syntax:
                  set view projection {xy|xz|yz}
             Rotates the view angles of a 3D plot so that one of the
             primary planes xy, xz, or yz lies in the plane of the
             plot.  Axis labels and tics positioning is adjusted ac-
             cordingly;  tics and labels on the third axis are dis-
             abled.  The plot is scaled up to approximately match the
             size that 'plot' would generate for the same axis ranges.
             [1mset view projection xy [22mis equivalent to [1mset view map[22m.










   GNUPLOT 5.4                                                      284


        [1m102.106.  Vrange[0m


        Syntax:     set vrange [vmin:vmax] The range of the parametric
        variables u and v is useful in two contexts.  1) [1msplot [22min para-
        metric mode. See [1mset parametric[22m, [1mset isosamples[22m.  2) generating
        2-dimension sampled data for either [1mplot [22mor [1msplot [22musing the
        pseudofile "++". See [1msampling 2D[22m.



        [1m102.107.  Vxrange[0m


        Syntax:      set vxrange [vxmin:vxmax]

        Establishes the range of x coordinates spanned by the active
        voxel grid.  Analogous commands [1mset vyrange [22mand [1mset vzrange [22mex-
        ist for the other two dimensions of the voxel grid.  If no ex-
        plicit ranges have been set prior to the first [1mvclear[22m, [1mvfill[22m,
        or [1mvoxel(x,y,z) =  [22mcommand, vmin and vmax will be copied from
        the current values of [1mxrange[22m.



        [1m102.108.  Vyrange[0m


        See [1mset vxrange[0m



        [1m102.109.  Vzrange[0m


        See [1mset vxrange[0m



        [1m102.110.  Walls[0m


        Syntax:
             set walls
             set wall {x0|y0|z0|x1|y1} {<fillstyle>} {fc <fillcolor>}

        3D surfaces drawn by [1msplot [22mlie within a normalized unit cube
        regardless of the x y and z axis ranges. The bounding walls of
        this cube are described by the planes (graph coord x == 0),
        (graph coord x == 1), etc.  The [1mset walls [22mcommand renders the
        walls x0 y0 and z0 as solid surfaces.  By default these sur-
        faces are semi-transparent (fillstyle transparent solid 0.5).
        You can customize which walls are drawn and also their










   GNUPLOT 5.4                                                      285


        individual color and fill style.  If you choose to enable
        walls, you may also want to use [1mset xyplane 0[22m.  Example:

             set wall z0 fillstyle solid 1.0 fillcolor "gray"



        [1m102.111.  X2data[0m


        The [1mset x2data [22mcommand sets data on the x2 (top) axis to time-
        series (dates/times).  Please see [1mset xdata[22m.



        [1m102.112.  X2dtics[0m


        The [1mset x2dtics [22mcommand changes tics on the x2 (top) axis to
        days of the week.  Please see [1mset xdtics [22mfor details.



        [1m102.113.  X2label[0m


        The [1mset x2label [22mcommand sets the label for the x2 (top) axis.
        Please see [1mset xlabel[22m.



        [1m102.114.  X2mtics[0m


        The [1mset x2mtics [22mcommand changes tics on the x2 (top) axis to
        months of the year.  Please see [1mset xmtics [22mfor details.



        [1m102.115.  X2range[0m


        The [1mset x2range [22mcommand sets the horizontal range that will be
        displayed on the x2 (top) axis.  See [1mset xrange [22mfor the full
        set of command options.  See also [1mset link[22m.



        [1m102.116.  X2tics[0m


        The [1mset x2tics [22mcommand controls major (labeled) tics on the x2
        (top) axis.  Please see [1mset xtics [22mfor details.










   GNUPLOT 5.4                                                      286


        [1m102.117.  X2zeroaxis[0m


        The [1mset x2zeroaxis [22mcommand draws a line at the origin of the x2
        (top) axis (y2 = 0).  For details, please see [1mset zeroaxis[22m.



        [1m102.118.  Xdata[0m


        This command controls interpretation of data on the x axis.  An
        analogous command acts on each of the other axes.

        Syntax:
              set xdata time
              show xdata

        The same syntax applies to [1mydata[22m, [1mzdata[22m, [1mx2data[22m, [1my2data [22mand [1mcb-[0m
        [1mdata[22m.

        The [1mtime [22moption signals that data represents a time/date in
        seconds.  The current version of gnuplot stores time to a mil-
        lisecond precision.

        If no option is specified, the data interpretation reverts to
        normal.




             [1m102.118.1.  Time[0m


             [1mset xdata time [22mindicates that the x coordinate represents
             a date or time to millisecond precision.  There is an
             analogous command [1mset ydata time[22m.

             There are separate format mechanisms for interpretation of
             time data on input and output.  Input data is read from a
             file either by using the global [1mtimefmt [22mor by using the
             function timecolumn() as part of the plot command.  These
             input mechanisms also apply to using time values to set an
             axis range.  See [1mset timefmt[22m, [1mtimecolumn[22m.

             Example:

                  set xdata time
                  set timefmt "%d-%b-%Y"
                  set xrange ["01-Jan-2013" : "31-Dec-2014"]
                  plot DATA using 1:2
             or
                  plot DATA using (timecolumn(1,"%d-%b-%Y")):2










   GNUPLOT 5.4                                                      287


             For output, i.e. tick labels along that axis or coordi-
             nates output by mousing, the function 'strftime' (type
             "man strftime" on unix to look it up) is used to convert
             from the internal time in seconds to a string representa-
             tion of a date.  [1mgnuplot [22mtries to figure out a reasonable
             format for this.  You can customize the format using ei-
             ther [1mset format x [22mor [1mset xtics format[22m.  See [1mtime_speci-[0m
             [1mfiers [22mfor a special set of time format specifiers.  See
             also [1mtime/date [22mfor more information.



        [1m102.119.  Xdtics[0m


        The [1mset xdtics [22mcommands converts the x-axis tic marks to days
        of the week where 0=Sun and 6=Sat.  Overflows are converted
        modulo 7 to dates.  [1mset noxdtics [22mreturns the labels to their
        default values.  Similar commands do the same things for the
        other axes.

        Syntax:
              set xdtics
              unset xdtics
              show xdtics

        The same syntax applies to [1mydtics[22m, [1mzdtics[22m, [1mx2dtics[22m, [1my2dtics [22mand
        [1mcbdtics[22m.

        See also the [1mset format [22mcommand.



        [1m102.120.  Xlabel[0m


        The [1mset xlabel [22mcommand sets the x axis label.  Similar commands
        set labels on the other axes.

        Syntax:
              set xlabel {"<label>"} {offset <offset>} {font
        "<font>{,<size>}"}
                         {textcolor <colorspec>} {{no}enhanced}
                         {rotate by <degrees> | rotate parallel | noro-
        tate}
              show xlabel

        The same syntax applies to [1mx2label[22m, [1mylabel[22m, [1my2label[22m, [1mzlabel [22mand
        [1mcblabel[22m.

        If <offset> is specified by either x,y or x,y,z the label is
        moved by the given offset.  It may be preceded by [1mfirst[22m, [1msec-[0m
        [1mond[22m, [1mgraph[22m, [1mscreen[22m, or [1mcharacter [22mto select the coordinate










   GNUPLOT 5.4                                                      288


        system.  See [1mcoordinates [22mfor details.  By default, the [1mcharac-[0m
        [1mter [22mcoordinate system is used.  For example, "[1mset xlabel offset[0m
        [1m-1,0[22m" will change only the x offset of the title, moving the
        label roughly one character width to the left.  The size of a
        character depends on both the font and the terminal.

        <font> is used to specify the font in which the label is writ-
        ten; the units of the font <size> depend upon which terminal is
        used.

        [1mnoenhanced [22mrequests that the label text not be processed by the
        enhanced text mode parser, even if enhanced text mode is cur-
        rently active.

        To clear a label, put no options on the command line, e.g.,
        "[1mset y2label[22m".

        The default positions of the axis labels are as follows:

        xlabel:  The x-axis label is centered below the bottom of the
        plot.

        ylabel:  The y-axis label is centered to the left of the plot,
        defaulting to either horizontal or vertical orientation depend-
        ing on the terminal type.  The program may not reserve enough
        space to the left of the plot to hold long non-rotated ylabel
        text.  You can adjust this with [1mset lmargin[22m.

        zlabel: The z-axis label is centered along the z axis and
        placed in the space above the grid level.

        cblabel: The color box axis label is centered along the box and
        placed below or to the right according to horizontal or verti-
        cal color box gradient.

        y2label: The y2-axis label is placed to the right of the y2
        axis.  The position is terminal-dependent in the same manner as
        is the y-axis label.

        x2label: The x2-axis label is placed above the plot but below
        the title.  It is also possible to create an x2-axis label by
        using new-line characters to make a multi-line plot title,
        e.g.,

              set title "This is the title\n\nThis is the x2label"

        Note that double quotes must be used.  The same font will be
        used for both lines, of course.

        The orientation (rotation angle) of the x, x2, y and y2 axis
        labels in 2D plots can be changed by specifying [1mrotate by <de-[0m
        [1mgrees>[22m.  The orientation of the x and y axis labels in 3D plots
        defaults to horizontal but can be changed to run parallel to










   GNUPLOT 5.4                                                      289


        the axis by specifying [1mrotate parallel[22m.

        If you are not satisfied with the default position of an axis
        label, use [1mset label [22minstead--that command gives you much more
        control over where text is placed.

        Please see [1msyntax [22mfor further information about backslash pro-
        cessing and the difference between single- and double-quoted
        strings.



        [1m102.121.  Xmtics[0m


        The [1mset xmtics [22mcommand converts the x-axis tic marks to months
        of the year where 1=Jan and 12=Dec.  Overflows are converted
        modulo 12 to months.  The tics are returned to their default
        labels by [1munset xmtics[22m.  Similar commands perform the same du-
        ties for the other axes.

        Syntax:
              set xmtics
              unset xmtics
              show xmtics

        The same syntax applies to [1mx2mtics[22m, [1mymtics[22m, [1my2mtics[22m, [1mzmtics [22mand
        [1mcbmtics[22m.

        See also the [1mset format [22mcommand.



        [1m102.122.  Xrange[0m


        The [1mset xrange [22mcommand sets the horizontal range that will be
        displayed.  A similar command exists for each of the other
        axes, as well as for the polar radius r and the parametric
        variables t, u, and v.

        Syntax:
              set xrange [{{<min>}:{<max>}}] {{no}reverse} {{no}write-
        back} {{no}extend}
                         | restore
              show xrange

        where <min> and <max> terms are constants, expressions or an
        asterisk to set autoscaling.  If the data are time/date, you
        must give the range as a quoted string according to the [1mset[0m
        [1mtimefmt [22mformat.  If <min> or <max> is omitted the current value
        will not be changed.  See below for full autoscaling syntax.
        See also [1mnoextend[22m.










   GNUPLOT 5.4                                                      290


        The same syntax applies to [1myrange[22m, [1mzrange[22m, [1mx2range[22m, [1my2range[22m,
        [1mcbrange[22m, [1mrrange[22m, [1mtrange[22m, [1murange [22mand [1mvrange[22m.

        See [1mset link [22mfor options that link the ranges of x and x2, or y
        and y2.

        The [1mreverse [22moption reverses the direction of an autoscaled
        axis. For example, if the data values range from 10 to 100, it
        will autoscale to the equivalent of set xrange [100:10].  The
        [1mreverse [22mflag has no effect if the axis is not autoscaled. NB:
        This is a change introduced in version 4.7.

        Autoscaling:  If <min> (the same applies for correspondingly to
        <max>) is an asterisk "*" autoscaling is turned on.  The range
        in which autoscaling is being performed may be limited by a
        lower bound <lb> or an upper bound <ub> or both.  The syntax is
              { <lb> < } * { < <ub> }
        For example,
              0 < * < 200
        sets <lb> = 0 and <ub> = 200.  With such a setting <min> would
        be autoscaled, but its final value will be between 0 and 200
        (both inclusive despite the '<' sign).  If no lower or upper
        bound is specified, the '<' to also be omitted.  If <ub> is
        lower than <lb> the constraints will be turned off and full au-
        toscaling will happen.  This feature is useful to plot measured
        data with autoscaling but providing a limit on the range, to
        clip outliers, or to guarantee a minimum range that will be
        displayed even if the data would not need such a big range.

        The [1mwriteback [22moption essentially saves the range found by [1mau-[0m
        [1mtoscale [22min the buffers that would be filled by [1mset xrange[22m.
        This is useful if you wish to plot several functions together
        but have the range determined by only some of them.  The [1mwrite-[0m
        [1mback [22moperation is performed during the [1mplot [22mexecution, so it
        must be specified before that command.  To restore, the last
        saved horizontal range use [1mset xrange restore[22m.  For example,

              set xrange [-10:10]
              set yrange [] writeback
              plot sin(x)
              set yrange restore
              replot x/2

        results in a yrange of [-1:1] as found only from the range of
        sin(x); the [-5:5] range of x/2 is ignored.  Executing [1mshow[0m
        [1myrange [22mafter each command in the above example should help you
        understand what is going on.

        In 2D, [1mxrange [22mand [1myrange [22mdetermine the extent of the axes,
        [1mtrange [22mdetermines the range of the parametric variable in para-
        metric mode or the range of the angle in polar mode.  Similarly
        in parametric 3D, [1mxrange[22m, [1myrange[22m, and [1mzrange [22mgovern the axes
        and [1murange [22mand [1mvrange [22mgovern the parametric variables.










   GNUPLOT 5.4                                                      291


        In polar mode, [1mrrange [22mdetermines the radial range plotted.
        <rmin> acts as an additive constant to the radius, whereas
        <rmax> acts as a clip to the radius---no point with radius
        greater than <rmax> will be plotted.  [1mxrange [22mand [1myrange [22mare af-
        fected---the ranges can be set as if the graph was of
        r(t)-rmin, with rmin added to all the labels.

        Any range may be partially or totally autoscaled, although it
        may not make sense to autoscale a parametric variable unless it
        is plotted with data.

        Ranges may also be specified on the [1mplot [22mcommand line.  A range
        given on the plot line will be used for that single [1mplot [22mcom-
        mand; a range given by a [1mset [22mcommand will be used for all sub-
        sequent plots that do not specify their own ranges.  The same
        holds true for [1msplot[22m.

        Examples:

        To set the xrange to the default:
              set xrange [-10:10]

        To set the yrange to increase downwards:
              set yrange [10:-10]

        To change zmax to 10 without affecting zmin (which may still be
        autoscaled):
              set zrange [:10]

        To autoscale xmin while leaving xmax unchanged:
              set xrange [*:]

        To autoscale xmin but keeping xmin positive:
              set xrange [0<*:]

        To autoscale x but keep minimum range of 10 to 50 (actual might
        be larger):
              set xrange [*<10:50<*]

        Autoscaling but limit maximum xrange to -1000 to 1000, i.e. au-
        toscaling within [-1000:1000]
              set xrange [-1000<*:*<1000]

        Make sure xmin is somewhere between -200 and 100:
              set xrange [-200<*<100:]




        [1m102.123.  Xtics[0m













   GNUPLOT 5.4                                                      292


        Fine control of the major (labeled) tics on the x axis is pos-
        sible with the [1mset xtics [22mcommand.  The tics may be turned off
        with the [1munset xtics [22mcommand, and may be turned on (the default
        state) with [1mset xtics[22m.  Similar commands control the major tics
        on the y, z, x2 and y2 axes.

        Syntax:
              set xtics {axis | border} {{no}mirror}
                        {in | out} {scale {default | <major> {,<mi-
        nor>}}}
                        {{no}rotate {by <ang>}} {offset <offset> |
        nooffset}
                        {left | right | center | autojustify}
                        {add}
                        {  autofreq
                         | <incr>
                         | <start>, <incr> {,<end>}
                         | ({"<label>"} <pos> {<level>} {,{"<la-
        bel>"}...) }
                        {format "formatstring"} {font "name{,<size>}"}
        {{no}enhanced}
                        { numeric | timedate | geographic }
                        {{no}logscale}
                        { rangelimited }
                        { textcolor <colorspec> }
              unset xtics
              show xtics

        The same syntax applies to [1mytics[22m, [1mztics[22m, [1mx2tics[22m, [1my2tics [22mand
        [1mcbtics[22m.

        [1maxis [22mor [1mborder [22mtells [1mgnuplot [22mto put the tics (both the tics
        themselves and the accompanying labels) along the axis or the
        border, respectively.  If the axis is very close to the border,
        the [1maxis [22moption will move the tic labels to outside the border.
        The relevant margin settings will usually be sized badly by the
        automatic layout algorithm in this case.

        [1mmirror [22mtells [1mgnuplot [22mto put unlabeled tics at the same posi-
        tions on the opposite border.  [1mnomirror [22mdoes what you think it
        does.

        [1min [22mand [1mout [22mchange the tic marks to be drawn inwards or out-
        wards.

        With [1mscale[22m, the size of the tic marks can be adjusted. If <mi-
        nor> is not specified, it is 0.5*<major>.  The default size 1.0
        for major tics and 0.5 for minor tics is requested by [1mscale de-[0m
        [1mfault[22m.

        [1mrotate [22masks [1mgnuplot [22mto rotate the text through 90 degrees,
        which will be done if the terminal driver in use supports text
        rotation.  [1mnorotate [22mcancels this. [1mrotate by <ang> [22masks for










   GNUPLOT 5.4                                                      293


        rotation by <ang> degrees, supported by some terminal types.

        The defaults are [1mborder mirror norotate [22mfor tics on the x and y
        axes, and [1mborder nomirror norotate [22mfor tics on the x2 and y2
        axes.  For the z axis, the [1m{axis | border} [22moption is not avail-
        able and the default is [1mnomirror[22m.  If you do want to mirror the
        z-axis tics, you might want to create a bit more room for them
        with [1mset border[22m.

        The <offset> is specified by either x,y or x,y,z, and may be
        preceded by [1mfirst[22m, [1msecond[22m, [1mgraph[22m, [1mscreen[22m, or [1mcharacter [22mto se-
        lect the coordinate system. <offset> is the offset of the tics
        texts from their default positions, while the default coordi-
        nate system is [1mcharacter[22m.  See [1mcoordinates [22mfor details. [1mnooff-[0m
        [1mset [22mswitches off the offset.

        Example:

        Move xtics more closely to the plot.
              set xtics offset 0,graph 0.05

        By default, tic labels are justified automatically depending on
        the axis and rotation angle to produce aesthetically pleasing
        results. If this is not desired, justification can be overrid-
        den with an explicit [1mleft[22m, [1mright [22mor [1mcenter [22mkeyword. [1mautojustify[0m
        restores the default behavior.

        [1mset xtics [22mwith no options restores the default border or axis
        if xtics are being displayed;  otherwise it has no effect.  Any
        previously specified tic frequency or position {and labels} are
        retained.

        Tic positions are calculated automatically by default or if the
        [1mautofreq [22moption is given.

        A series of tic positions can be specified by giving either a
        tic interval alone, or a start point, interval, and end point
        (see [1mxtics series[22m).

        Individual tic positions can be specified individually by pro-
        viding an explicit list of positions, where each position may
        have an associated text label. See [1mxtics list[22m.

        However they are specified, tics will only be plotted when in
        range.

        Format (or omission) of the tic labels is controlled by [1mset[0m
        [1mformat[22m, unless the explicit text of a label is included in the
        [1mset xtics ("<label>") [22mform.

        Minor (unlabeled) tics can be added automatically by the [1mset[0m
        [1mmxtics [22mcommand, or at explicit positions by the [1mset xtics (""[0m
        [1m<pos> 1, ...) [22mform.










   GNUPLOT 5.4                                                      294


        The appearance of the tics (line style, line width etc.) is de-
        termined by the border line (see [1mset border[22m), even if the tics
        are drawn at the axes.




             [1m102.123.1.  Xtics series[0m


             Syntax:
                  set xtics <incr>
                  set xtics <start>, <incr>, <end>
             The implicit <start>, <incr>, <end> form specifies that a
             series of tics will be plotted on the axis between the
             values <start> and <end> with an increment of <incr>.  If
             <end> is not given, it is assumed to be infinity.  The in-
             crement may be negative.  If neither <start> nor <end> is
             given, <start> is assumed to be negative infinity, <end>
             is assumed to be positive infinity, and the tics will be
             drawn at integral multiples of <incr>.  If the axis is
             logarithmic, the increment will be used as a multiplica-
             tive factor.

             If you specify to a negative <start> or <incr> after a nu-
             merical value (e.g., [1mrotate by <angle> [22mor [1moffset <off-[0m
             [1mset>[22m), the parser fails because it subtracts <start> or
             <incr> from that value.  As a workaround, specify
             [1m0-<start> [22mresp. [1m0-<incr> [22min that case.

             Example:
                   set xtics border offset 0,0.5 -5,1,5
             Fails with 'invalid expression' at the last comma.
                   set xtics border offset 0,0.5 0-5,1,5
             or
                   set xtics offset 0,0.5 border -5,1,5
             Sets tics at the border, tics text with an offset of 0,0.5
             characters, and sets the start, increment, and end to -5,
             1, and 5, as requested.

             The [1mset grid [22moptions 'front', 'back' and 'layerdefault'
             affect the drawing order of the xtics, too.

             Examples:

             Make tics at 0, 0.5, 1, 1.5, ..., 9.5, 10.
                   set xtics 0,.5,10

             Make tics at ..., -10, -5, 0, 5, 10, ...
                   set xtics 5

             Make tics at 1, 100, 1e4, 1e6, 1e8.
                   set logscale x; set xtics 1,100,1e8










   GNUPLOT 5.4                                                      295


             [1m102.123.2.  Xtics list[0m


             Syntax:
                  set xtics {add} ("label1" <pos1> <level1>, "label2"
             <pos2> <level2>, ...)

             The explicit ("label" <pos> <level>, ...) form allows ar-
             bitrary tic positions or non-numeric tic labels.  In this
             form, the tics do not need to be listed in numerical or-
             der.  Each tic has a position, optionally with a label.

             The label is a string enclosed by quotes or a string-val-
             ued expression.  It may contain formatting information for
             converting the position into its label, such as "%3f
             clients", or it may be the empty string "".  See [1mset for-[0m
             [1mmat [22mfor more information.  If no string is given, the de-
             fault label (numerical) is used.

             An explicit tic mark has a third parameter, the level.
             The default is level 0, a major tic.  Level 1 generates a
             minor tic.  Labels are never printed for minor tics.  Ma-
             jor and minor tics may be auto-generated by the program or
             specified explicitly by the user.  Tics with level 2 and
             higher must be explicitly specified by the user, and take
             priority over auto-generated tics.  The size of tics marks
             at each level is controlled by the command [1mset tics scale[22m.

             Examples:
                   set xtics ("low" 0, "medium" 50, "high" 100)
                   set xtics (1,2,4,8,16,32,64,128,256,512,1024)
                   set ytics ("bottom" 0, "" 10, "top" 20)
                   set ytics ("bottom" 0, "" 10 1, "top" 20)

             In the second example, all tics are labeled.  In the
             third, only the end tics are labeled.  In the fourth, the
             unlabeled tic is a minor tic.

             Normally if explicit tics are given, they are used instead
             of auto-generated tics. Conversely if you specify [1mset[0m
             [1mxtics auto [22mor the like it will erase any previously speci-
             fied explicit tics. You can mix explicit and auto- gener-
             ated tics by using the keyword [1madd[22m, which must appear be-
             fore the tic style being added.

             Example:
                   set xtics 0,.5,10
                   set xtics add ("Pi" 3.14159)

             This will automatically generate tic marks every 0.5 along
             x, but will also add an explicit labeled tic mark at pi.












   GNUPLOT 5.4                                                      296


             [1m102.123.3.  Xtics timedata[0m


             Times and dates are stored internally as a number of sec-
             onds.

             Input: Non-numeric time and date values are converted to
             seconds on input using the format specifier in [1mtimefmt[22m.
             Axis positions and range limits also may be given as
             quoted dates or times interpreted using [1mtimefmt[22m.  If the
             <start>, <incr>, <end> form is used, <incr> must be in
             seconds.  Use of [1mtimefmt [22mto interpret input data, range,
             and tic positions is triggered by [1mset xdata time[22m.

             Output: Axis tic labels are generated using a separate
             format specified either by [1mset format [22mor [1mset xtics format[22m.
             By default the usual numeric format specifiers are ex-
             pected ([1mset xtics numeric[22m).  Other options are geographic
             coordinates ([1mset xtics geographic[22m), or times or dates ([1mset[0m
             [1mxtics time[22m).

             Note: For backward compatibility with earlier gnuplot ver-
             sions, the command [1mset xdata time [22mwill implicitly also do
             [1mset xtics time[22m, and [1mset xdata [22mor [1munset xdata [22mwill implic-
             itly reset to [1mset xtics numeric[22m.  However you can change
             this with a later call to [1mset xtics[22m.

             Examples:
                   set xdata time           # controls interpretation
             of input data
                   set timefmt "%d/%m"      # format used to read input
             data
                   set xtics timedate       # controls interpretation
             of output format
                   set xtics format "%b %d" # format used for tic la-
             bels
                   set xrange ["01/12":"06/12"]
                   set xtics "01/12", 172800, "05/12"

                   set xdata time
                   set timefmt "%d/%m"
                   set xtics format "%b %d" time
                   set xrange ["01/12":"06/12"]
                   set xtics ("01/12", "" "03/12", "05/12")
             Both of these will produce tics "Dec 1", "Dec 3", and "Dec
             5", but in the second example the tic at "Dec 3" will be
             unlabeled.
















   GNUPLOT 5.4                                                      297


             [1m102.123.4.  Geographic[0m


             [1mset xtics geographic [22mindicates that x-axis values are to
             be interpreted as a geographic coordinate measured in de-
             grees.  Use [1mset xtics format [22mor [1mset format x [22mto specify
             the appearance of the axis tick labels.  The format speci-
             fiers for geographic data are as follows:
                    %D                   = integer degrees
                    %<width.precision>d  = floating point degrees
                    %M                   = integer minutes
                    %<width.precision>m  = floating point minutes
                    %S                   = integer seconds
                    %<width.precision>s  = floating point seconds
                    %E                   = label with E/W instead of
             +/-
                    %N                   = label with N/S instead of
             +/-
             For example, the command [1mset format x "%Ddeg %5.2mmin %E"[0m
             will cause x coordinate -1.51 to be labeled as [1m" 1deg[0m
             [1m30.60min W"[22m.

             If the xtics are left in the default state ([1mset xtics nu-[0m
             [1mmeric[22m) the coordinate will be reported as a decimal number
             of degrees, and [1mformat [22mwill be assumed to contain normal
             numeric format specifiers rather than the special set
             above.

             To output degrees/minutes/seconds in a context other than
             axis tics, such as placing labels on a map, you can use
             the relative time format specifiers %tH %tM %tS for strp-
             time.  See [1mtime_specifiers[22m, [1mstrptime[22m.



             [1m102.123.5.  Xtics logscale[0m


             If the [1mlogscale [22mattribute is set for a tic series along a
             log-scaled axis, the tic interval is interpreted as a mul-
             tiplicative factor rather than a constant. For example:
                  # generate a series of tics at y=20 y=200 y=2000
             y=20000
                  set log y
                  set ytics 20, 10, 50000 logscale
             Note that no tic is placed at y=50000 because it is not in
             the series 2*10^x.  If the logscale property is disabled,
             the tic increment will be treated as an additive constant
             even for a log-scaled axis.  For example:
                  # generate a series of tics at y=20 y=40 y=60 ...
             y=200
                  set log y
                  set yrange [20:200]










   GNUPLOT 5.4                                                      298


                  set ytics 20 nologscale
             The [1mlogscale [22mattribute is set automatically by the [1mset log[0m
             command, so normally you do not need this keyword unless
             you want to force a constant tic interval as in the second
             example above.



             [1m102.123.6.  Xtics rangelimited[0m


             This option limits both the auto-generated axis tic labels
             and the corresponding plot border to the range of values
             actually present in the data that has been plotted.  Note
             that this is independent of the current range limits for
             the plot. For example, suppose that the data in "file.dat"
             all lies in the range 2 < y < 4.  Then the following com-
             mands will create a plot for which the left-hand plot bor-
             der (y axis) is drawn for only this portion of the total y
             range, and only the axis tics in this region are gener-
             ated.  I.e., the plot will be scaled to the full range on
             y, but there will be a gap between 0 and 2 on the left
             border and another gap between 4 and 10. This style is
             sometimes referred to as a [1mrange-frame [22mgraph.
                   set border 3
                   set yrange [0:10]
                   set ytics nomirror rangelimited
                   plot "file.dat"



        [1m102.124.  Xyplane[0m


        The [1mset xyplane [22mcommand adjusts the position at which the xy
        plane is drawn in a 3D plot.  The synonym "set ticslevel" is
        accepted for backwards compatibility.

        Syntax:
              set xyplane at <zvalue>
              set xyplane relative <frac>
              set ticslevel <frac>        # equivalent to set xyplane
        relative
              show xyplane

        The form [1mset xyplane relative <frac> [22mplaces the xy plane below
        the range in Z, where the distance from the xy plane to Zmin is
        given as a fraction of the total range in z.  The default value
        is 0.5.  Negative values are permitted, but tic labels on the
        three axes may overlap.

        The alternative form [1mset xyplane at <zvalue> [22mfixes the place-
        ment of the xy plane at a specific Z value regardless of the










   GNUPLOT 5.4                                                      299


        current z range. Thus to force the x, y, and z axes to meet at
        a common origin one would specify [1mset xyplane at 0[22m.

        See also [1mset view[22m, and [1mset zeroaxis[22m.



        [1m102.125.  Xzeroaxis[0m


        The [1mset xzeroaxis [22mcommand draws a line at y = 0.  For details,
        please see [1mset zeroaxis[22m.



        [1m102.126.  Y2data[0m


        The [1mset y2data [22mcommand sets y2 (right-hand) axis data to time-
        series (dates/times).  Please see [1mset xdata[22m.



        [1m102.127.  Y2dtics[0m


        The [1mset y2dtics [22mcommand changes tics on the y2 (right-hand)
        axis to days of the week.  Please see [1mset xdtics [22mfor details.



        [1m102.128.  Y2label[0m


        The [1mset y2label [22mcommand sets the label for the y2 (right-hand)
        axis.  Please see [1mset xlabel[22m.



        [1m102.129.  Y2mtics[0m


        The [1mset y2mtics [22mcommand changes tics on the y2 (right-hand)
        axis to months of the year.  Please see [1mset xmtics [22mfor details.



        [1m102.130.  Y2range[0m


        The [1mset y2range [22mcommand sets the vertical range that will be
        displayed on the y2 (right) axis.  See [1mset xrange [22mfor the full
        set of command options.  See also [1mset link[22m.










   GNUPLOT 5.4                                                      300


        [1m102.131.  Y2tics[0m


        The [1mset y2tics [22mcommand controls major (labeled) tics on the y2
        (right-hand) axis.  Please see [1mset xtics [22mfor details.



        [1m102.132.  Y2zeroaxis[0m


        The [1mset y2zeroaxis [22mcommand draws a line at the origin of the y2
        (right-hand) axis (x2 = 0).  For details, please see [1mset ze-[0m
        [1mroaxis[22m.



        [1m102.133.  Ydata[0m


        The [1mset ydata [22mcommands sets y-axis data to timeseries
        (dates/times).  Please see [1mset xdata[22m.



        [1m102.134.  Ydtics[0m


        The [1mset ydtics [22mcommand changes tics on the y axis to days of
        the week.  Please see [1mset xdtics [22mfor details.



        [1m102.135.  Ylabel[0m


        This command sets the label for the y axis.  Please see [1mset[0m
        [1mxlabel[22m.



        [1m102.136.  Ymtics[0m


        The [1mset ymtics [22mcommand changes tics on the y axis to months of
        the year.  Please see [1mset xmtics [22mfor details.



        [1m102.137.  Yrange[0m













   GNUPLOT 5.4                                                      301


        The [1mset yrange [22mcommand sets the vertical range that will be
        displayed on the y axis.  Please see [1mset xrange [22mfor details.



        [1m102.138.  Ytics[0m


        The [1mset ytics [22mcommand controls major (labeled) tics on the y
        axis.  Please see [1mset xtics [22mfor details.



        [1m102.139.  Yzeroaxis[0m


        The [1mset yzeroaxis [22mcommand draws a line at x = 0.  For details,
        please see [1mset zeroaxis[22m.



        [1m102.140.  Zdata[0m


        The [1mset zdata [22mcommand sets zaxis data to timeseries
        (dates/times).  Please see [1mset xdata[22m.



        [1m102.141.  Zdtics[0m


        The [1mset zdtics [22mcommand changes tics on the z axis to days of
        the week.  Please see [1mset xdtics [22mfor details.



        [1m102.142.  Zzeroaxis[0m


        The [1mset zzeroaxis [22mcommand draws a line through (x=0,y=0).  This
        has no effect on 2D plots, including splot with [1mset view map[22m.
        For details, please see [1mset zeroaxis [22mand [1mset xyplane[22m.



        [1m102.143.  Cbdata[0m


        Set color box axis data to timeseries (dates/times).  Please
        see [1mset xdata[22m.












   GNUPLOT 5.4                                                      302


        [1m102.144.  Cbdtics[0m


        The [1mset cbdtics [22mcommand changes tics on the color box axis to
        days of the week. Please see [1mset xdtics [22mfor details.



        [1m102.145.  Zero[0m


        The [1mzero [22mvalue is the default threshold for values approaching
        0.0.

        Syntax:
              set zero <expression>
              show zero

        [1mgnuplot [22mwill not plot a point if its imaginary part is greater
        in magnitude than the [1mzero [22mthreshold.  This threshold is also
        used in various other parts of [1mgnuplot [22mas a (crude) numerical-
        error threshold.  The default [1mzero [22mvalue is 1e-8.  [1mzero [22mvalues
        larger than 1e-3 (the reciprocal of the number of pixels in a
        typical bitmap display) should probably be avoided, but it is
        not unreasonable to set [1mzero [22mto 0.0.



        [1m102.146.  Zeroaxis[0m


        The x axis may be drawn by [1mset xzeroaxis [22mand removed by [1munset[0m
        [1mxzeroaxis[22m.  Similar commands behave similarly for the y, x2,
        y2, and z axes.  [1mset zeroaxis ... [22m(no prefix) acts on the x, y,
        and z axes jointly.

        Syntax:
              set {x|x2|y|y2|z}zeroaxis { {linestyle | ls <line_style>}
                                         | {linetype | lt <line_type>}
                                           {linewidth | lw
        <line_width>}
                                           {linecolor | lc <colorspec>}
                                           {dashtype | dt <dashtype>} }
              unset {x|x2|y|y2|z}zeroaxis
              show {x|y|z}zeroaxis


        By default, these options are off.  The selected zero axis is
        drawn with a line of type <line_type>, width <line_width>,
        color <colorspec>, and dash type <dashtype> (if supported by
        the terminal driver currently in use), or a user-defined style
        <line_style> (see [1mset style line[22m).











   GNUPLOT 5.4                                                      303


        If no linetype is specified, any zero axes selected will be
        drawn using the axis linetype (linetype 0).

        Examples:

        To simply have the y=0 axis drawn visibly:

               set xzeroaxis

        If you want a thick line in a different color or pattern, in-
        stead:

               set xzeroaxis linetype 3 linewidth 2.5



        [1m102.147.  Zlabel[0m


        This command sets the label for the z axis.  Please see [1mset[0m
        [1mxlabel[22m.



        [1m102.148.  Zmtics[0m


        The [1mset zmtics [22mcommand changes tics on the z axis to months of
        the year.  Please see [1mset xmtics [22mfor details.



        [1m102.149.  Zrange[0m


        The [1mset zrange [22mcommand sets the range that will be displayed on
        the z axis.  The zrange is used only by [1msplot [22mand is ignored by
        [1mplot[22m.  Please see [1mset xrange [22mfor details.



        [1m102.150.  Ztics[0m


        The [1mset ztics [22mcommand controls major (labeled) tics on the z
        axis.  Please see [1mset xtics [22mfor details.



        [1m102.151.  Cblabel[0m













   GNUPLOT 5.4                                                      304


        This command sets the label for the color box axis.  Please see
        [1mset xlabel[22m.



        [1m102.152.  Cbmtics[0m


        The [1mset cbmtics [22mcommand changes tics on the color box axis to
        months of the year. Please see [1mset xmtics [22mfor details.



        [1m102.153.  Cbrange[0m


        The [1mset cbrange [22mcommand sets the range of values which are col-
        ored using the current [1mpalette [22mby styles [1mwith pm3d[22m, [1mwith image[0m
        and [1mwith palette[22m.  Values outside of the color range use color
        of the nearest extreme.

        If the cb-axis is autoscaled in [1msplot[22m, then the colorbox range
        is taken from [1mzrange[22m.  Points drawn in [1msplot ... pm3d|palette[0m
        can be filtered by using different [1mzrange [22mand [1mcbrange[22m.

        Please see [1mset xrange [22mfor details on [1mset cbrange [22msyntax. See
        also [1mset palette [22mand [1mset colorbox[22m.



        [1m102.154.  Cbtics[0m


        The [1mset cbtics [22mcommand controls major (labeled) tics on the
        color box axis.  Please see [1mset xtics [22mfor details.



   [1m103.  Shell[0m


   The [1mshell [22mcommand spawns an interactive shell.  To return to [1mgnu-[0m
   [1mplot[22m, type [1mlogout [22mif using VMS, [1mexit [22mor the END-OF-FILE character if
   using Unix, or [1mexit [22mif using MS-DOS or OS/2.

   The [1mshell [22mcommand ignores anything else on the gnuplot command line.
   If instead you want to pass a command string to a shell for immedi-
   ate execution, use the [1msystem [22mfunction or the shortcut [1m![22m. See [1msys-[0m
   [1mtem[22m.

   Examples:

         shell










   GNUPLOT 5.4                                                      305


         system "print previous_plot.ps"
         ! print previous_plot.ps
         current_time = system("date")




   [1m104.  Splot[0m


   [1msplot [22mis the command for drawing 3D plots (well, actually projec-
   tions on a 2D surface, but you knew that).  It is the 3D equivalent
   of the [1mplot [22mcommand.  [1msplot [22mprovides only a single x, y, and z axis;
   there is no equivalent to the x2 and y2 secondary axes provided by
   [1mplot[22m.

   See the [1mplot [22mcommand for many options available in both 2D and 3D
   plots.

   Syntax:
         splot {<ranges>}
               {<iteration>}
               <function> | {{<file name> | <datablock name>}
   {datafile-modifiers}}
                          | <voxelgridname>
                          | keyentry
               {<title-spec>} {with <style>}
               {, {definitions{,}} <function> ...}

   The [1msplot [22mcommand operates on a data generated by a function, read
   from a data file, or stored previously in a named data block.  Data
   file names are usually provided as a quoted string.  The function
   can be a mathematical expression, or a triple of mathematical ex-
   pressions in parametric mode.

   A new feature in version 5.4 is that [1msplot [22mcan operate on voxel
   data.  See [1mvoxel-grids[22m, [1mset vgrid[22m, [1mvxrange[22m.  At present voxel grids
   can be be plotted using styles [1mwith dots[22m, [1mwith points[22m, or [1mwith iso-[0m
   [1msurface[22m.  Voxel grid values can also be referenced in the [1musing[0m
   specifiers of other plot styles, for example to assign colors.

   By default [1msplot [22mdraws the xy plane completely below the plotted
   data.  The offset between the lowest ztic and the xy plane can be
   changed by [1mset xyplane[22m.  The orientation of a [1msplot [22mprojection is
   controlled by [1mset view[22m.  See [1mset view [22mand [1mset xyplane [22mfor more in-
   formation.

   The syntax for setting ranges on the [1msplot [22mcommand is the same as
   for [1mplot[22m.  In non-parametric mode, ranges must be given in the order
         splot [<xrange>][<yrange>][<zrange>] ...
   In parametric mode, the order is
         splot [<urange>][<vrange>][<xrange>][<yrange>][<zrange>] ...











   GNUPLOT 5.4                                                      306


   The [1mtitle [22moption is the same as in [1mplot[22m.  The operation of [1mwith [22mis
   also the same as in [1mplot [22mexcept that not all 2D plotting styles are
   available.

   The [1mdatafile [22moptions have more differences.

   As an alternative to surfaces drawn using parametric or function
   mode, the pseudo-file '++' can be used to generate samples on a grid
   in the xy plane.

   See also [1mshow plot[22m, [1mset view map[22m, and [1msampling[22m.




        [1m104.1.  Data-file[0m


        [1mSplot[22m, like [1mplot[22m, can display from a file.

        Syntax:
              splot '<file_name>' {binary <binary list>}
                                  {{nonuniform} matrix}
                                  {index <index list>}
                                  {every <every list>}
                                  {using <using list>}

        The special filenames [1m"" [22mand [1m"-" [22mare permitted, as in [1mplot[22m.
        See [1mspecial-filenames[22m.

        In brief, [1mbinary [22mand [1mmatrix [22mindicate that the data are in a
        special form, [1mindex [22mselects which data sets in a multi-data-set
        file are to be plotted, [1mevery [22mspecifies which datalines (sub-
        sets) within a single data set are to be plotted, and [1musing [22mde-
        termines how the columns within a single record are to be in-
        terpreted.

        The options [1mindex [22mand [1mevery [22mbehave the same way as with [1mplot[22m;
        [1musing [22mdoes so also, except that the [1musing [22mlist must provide
        three entries instead of two.

        The [1mplot [22moption [1msmooth [22mis not available for [1msplot[22m, but [1mcntr-[0m
        [1mparam [22mand [1mdgrid3d [22mprovide limited smoothing capabilities.

        Data file organization is essentially the same as for [1mplot[22m, ex-
        cept that each point is an (x,y,z) triple.  If only a single
        value is provided, it will be used for z, the block number will
        be used for y, and the index of the data point in the block
        will be used for x.  If two or four values are provided, [1mgnu-[0m
        [1mplot [22muses the last value for calculating the color in pm3d
        plots.  Three values are interpreted as an (x,y,z) triple.  Ad-
        ditional values are generally used as errors, which can be used
        by [1mfit[22m.










   GNUPLOT 5.4                                                      307


        Single blank records separate blocks of data in a [1msplot[0m
        datafile; [1msplot [22mtreats blocks as the equivalent of function y-
        isolines.  No line will join points separated by a blank
        record.  If all blocks contain the same number of points, [1mgnu-[0m
        [1mplot [22mwill draw cross-isolines between points in the blocks,
        connecting corresponding points.  This is termed "grid data",
        and is required for drawing a surface, for contouring ([1mset con-[0m
        [1mtour[22m) and hidden-line removal ([1mset hidden3d[22m). See also [1msplot[0m
        [1mgrid_data[22m.

        It is no longer necessary to specify [1mparametric [22mmode for three-
        column [1msplot[22ms.




             [1m104.1.1.  Matrix[0m


             Gnuplot can interpret matrix data input in two different
             ways.

             The first of these assumes a uniform grid of x and y coor-
             dinates and assigns each value in the input matrix to one
             element M[i,j] of this uniform grid.  The assigned x coor-
             dinates are the integers [0:NCOLS-1].  The assigned y co-
             ordinates are the integers [0:NROWS-1].  This is the de-
             fault for text data input, but not for binary input.  See
             [1mmatrix uniform [22mfor examples and additional keywords.

             The second interpretation assumes a non-uniform grid with
             explicit x and y coordinates. The first row of input data
             contains the y coordinates; the first column of input data
             contains the x coordinates.  For binary input data, the
             first element of the first row must contain the number of
             columns.  This is the default for [1mbinary matrix [22minput, but
             requires an additional keyword [1mnonuniform [22mfor text input
             data.  See [1mmatrix nonuniform [22mfor examples.





                  [1m104.1.1.1.  Uniform[0m


                  Example commands for plotting uniform matrix data:
                       splot 'file' matrix using 1:2:3          # text
                  input
                       splot 'file' binary general using 1:2:3  # bi-
                  nary input

                  In a uniform grid matrix the z-values are read in a










   GNUPLOT 5.4                                                      308


                  row at a time, i. e.,
                      z11 z12 z13 z14 ...
                      z21 z22 z23 z24 ...
                      z31 z32 z33 z34 ...
                  and so forth.

                  For text input, if the first row contains column la-
                  bels rather than data, use the additional keyword
                  [1mcolumnheaders[22m.   Similarly if the first field in each
                  row contains a label rather than data, use the addi-
                  tional keyword [1mrowheaders[22m.  Here is an example that
                  uses both:
                      $DATA << EOD
                      xxx A   B   C   D
                      aa  z11 z12 z13 z14
                      bb  z21 z22 z23 z24
                      cc  z31 z32 z33 z34
                      EOD
                      plot $DATA matrix columnheaders rowheaders with
                  image

                  For text input, a blank line or comment line ends the
                  matrix, and starts a new surface mesh.  You can se-
                  lect among the meshes inside a file by the [1mindex [22mop-
                  tion to the [1msplot [22mcommand, as usual.



                  [1m104.1.1.2.  Nonuniform[0m


                  The first row of input data contains the y coordi-
                  nates.  The first column of input data contains the x
                  coordinates.  For binary input data, the first field
                  of the first row must contain the number of columns.
                  (This number is ignored for text input).

                  Example commands for plotting non-uniform matrix
                  data:
                       splot 'file' nonuniform matrix using 1:2:3  #
                  text input
                       splot 'file' binary matrix using 1:2:3      #
                  binary input

                  Thus the data organization for non-uniform matrix in-
                  put is

                        <N+1>  <x0>   <x1>   <x2>  ...  <xN>
                         <y0> <z0,0> <z0,1> <z0,2> ... <z0,N>
                         <y1> <z1,0> <z1,1> <z1,2> ... <z1,N>
                          :      :      :      :   ...    :

                  which is then converted into triplets:










   GNUPLOT 5.4                                                      309


                        <x0> <y0> <z0,0>
                        <x0> <y1> <z0,1>
                        <x0> <y2> <z0,2>
                         :    :     :
                        <x0> <yN> <z0,N>

                        <x1> <y0> <z1,0>
                        <x1> <y1> <z1,1>
                         :    :     :

                  These triplets are then converted into [1mgnuplot [22miso-
                  curves and then [1mgnuplot [22mproceeds in the usual manner
                  to do the rest of the plotting.



                  [1m104.1.1.3.  Every[0m


                  The [1mevery [22mkeyword has special meaning when used with
                  matrix data.  Rather than applying to blocks of sin-
                  gle points, it applies to rows and column values.
                  Note that matrix rows and columns are indexed start-
                  ing from 0, so the row with index N is the (N+1)th
                  row.  Syntax:
                        plot 'file' every {<column_incr>}
                                            {:{<row_incr>}
                                              {:{<start_column>}
                                                {:{<start_row>}
                                                  {:{<end_column>}
                                                    {:<end_row>}}}}}
                  Examples:
                        plot 'file' matrix every :::N::N   # plot all
                  values in row with index N
                        plot 'file' matrix every ::3::7    # plot col-
                  umns 3 to 7 for all rows
                        plot 'file' matrix every ::3:0:7:4 # submatrix
                  bounded by [3,0] and [7,4]



                  [1m104.1.1.4.  Examples[0m


                  A collection of matrix and vector manipulation rou-
                  tines (in C) is provided in [1mbinary.c[22m.  The routine to
                  write binary data is

                        int fwrite_ma-
                  trix(file,m,nrl,nrl,ncl,nch,row_title,column_title)

                  An example of using these routines is provided in the
                  file [1mbf_test.c[22m, which generates binary files for the










   GNUPLOT 5.4                                                      310


                  demo file [1mdemo/binary.dem[22m.

                  Usage in [1mplot[22m:
                      plot `a.dat` matrix
                      plot `a.dat` matrix using 1:3
                      plot 'a.gpbin' {matrix} binary using 1:3
                  will plot rows of the matrix, while using 2:3 will
                  plot matrix columns, and using 1:2 the point coordi-
                  nates (rather useless). Applying the [1mevery [22moption you
                  can specify explicit rows and columns.

                  Example -- rescale axes of a matrix in a text file:
                      splot `a.dat` matrix using (1+$1):(1+$2*10):3

                  Example -- plot the 3rd row of a matrix in a text
                  file:
                      plot 'a.dat' matrix using 1:3 every 1:999:1:2
                  (rows are enumerated from 0, thus 2 instead of 3).

                  Gnuplot can read matrix binary files by use of the
                  option [1mbinary [22mappearing without keyword qualifica-
                  tions unique to general binary, i.e., [1marray[22m, [1mrecord[22m,
                  [1mformat[22m, or [1mfiletype[22m.  Other general binary keywords
                  for translation should also apply to matrix binary.
                  (See [1mbinary general [22mfor more details.)



             [1m104.1.2.  Example datafile[0m


             A simple example of plotting a 3D data file is

                   splot 'datafile.dat'

             where the file "datafile.dat" might contain:

                   # The valley of the Gnu.
                      0 0 10
                      0 1 10
                      0 2 10

                      1 0 10
                      1 1 5
                      1 2 10

                      2 0 10
                      2 1 1
                      2 2 10

                      3 0 10
                      3 1 0
                      3 2 10










   GNUPLOT 5.4                                                      311


             Note that "datafile.dat" defines a 4 by 3 grid ( 4 rows of
             3 points each ).  Rows (blocks) are separated by blank
             records.

             Note also that the x value is held constant within each
             dataline.  If you instead keep y constant, and plot with
             hidden-line removal enabled, you will find that the sur-
             face is drawn 'inside-out'.

             Actually for grid data it is not necessary to keep the x
             values constant within a block, nor is it necessary to
             keep the same sequence of y values.  [1mgnuplot [22mrequires only
             that the number of points be the same for each block.
             However since the surface mesh, from which contours are
             derived, connects sequentially corresponding points, the
             effect of an irregular grid on a surface plot is unpre-
             dictable and should be examined on a case-by-case basis.



        [1m104.2.  Grid data[0m


        The 3D routines are designed for points in a grid format, with
        one sample, datapoint, at each mesh intersection; the data-
        points may originate from either evaluating a function, see [1mset[0m
        [1misosamples[22m, or reading a datafile, see [1msplot datafile[22m.  The
        term "isoline" is applied to the mesh lines for both functions
        and data.  Note that the mesh need not be rectangular in x and
        y, as it may be parameterized in u and v, see [1mset isosamples[22m.

        However, [1mgnuplot [22mdoes not require that format.  In the case of
        functions, 'samples' need not be equal to 'isosamples', i.e.,
        not every x-isoline sample need intersect a y-isoline. In the
        case of data files, if there are an equal number of scattered
        data points in each block, then "isolines" will connect the
        points in a block, and "cross-isolines" will connect the corre-
        sponding points in each block to generate a "surface".  In ei-
        ther case, contour and hidden3d modes may give different plots
        than if the points were in the intended format.  Scattered data
        can be converted to a {different} grid format with [1mset dgrid3d[22m.

        The contour code tests for z intensity along a line between a
        point on a y-isoline and the corresponding point in the next y-
        isoline.  Thus a [1msplot [22mcontour of a surface with samples on the
        x-isolines that do not coincide with a y-isoline intersection
        will ignore such samples. Try:
               set xrange [-pi/2:pi/2]; set yrange [-pi/2:pi/2]
               set style function lp
               set contour
               set isosamples 10,10; set samples 10,10;
               splot cos(x)*cos(y)
               set samples 4,10; replot










   GNUPLOT 5.4                                                      312


               set samples 10,4; replot




        [1m104.3.  Splot surfaces[0m


        [1msplot [22mcan display a surface as a collection of points, or by
        connecting those points.  As with [1mplot[22m, the points may be read
        from a data file or result from evaluation of a function at
        specified intervals, see [1mset isosamples[22m.  The surface may be
        approximated by connecting the points with straight line seg-
        ments, see [1mset surface[22m, in which case the surface can be made
        opaque with [1mset hidden3d.  [22mThe orientation from which the 3d
        surface is viewed can be changed with [1mset view[22m.

        Additionally, for points in a grid format, [1msplot [22mcan interpo-
        late points having a common amplitude (see [1mset contour[22m) and can
        then connect those new points to display contour lines, either
        directly with straight-line segments or smoothed lines (see [1mset[0m
        [1mcntrparam[22m).  Functions are already evaluated in a grid format,
        determined by [1mset isosamples [22mand [1mset samples[22m, while file data
        must either be in a grid format, as described in [1mdata-file[22m, or
        be used to generate a grid (see [1mset dgrid3d[22m).

        Contour lines may be displayed either on the surface or pro-
        jected onto the base.  The base projections of the contour
        lines may be written to a file, and then read with [1mplot[22m, to
        take advantage of [1mplot[22m's additional formatting capabilities.



        [1m104.4.  Voxel-grid[0m


        Syntax:
             splot $voxelgridname with {dots|points} {above <thresh-
        old>} ...
             splot $voxelgridname with isosurface {level <threshold>}
        ...

        Voxel data can be plotted with dots or points marking individ-
        ual voxels whose value is above the specified threshold value
        (default threshold = 0).  Color/pointtype/linewidth properties
        can be appended as usual.

        At many view angles the voxel grid points will occlude each
        other or create Moiré artifacts on the display. These effects
        can be avoided by introducing jitter so that the displayed dot
        or point is displaced randomly from the true voxel grid coordi-
        nate. See [1mset jitter[22m.











   GNUPLOT 5.4                                                      313


        Dense voxel grids can be down-sampled by using the [1mpointinter-[0m
        [1mval [22mproperty ([1mpi [22mfor short) to reduce the number of points
        drawn.
             splot $vgrid with points pointtype 6 pointinterval 2

        [1mwith isosurface [22mwill create a tessellated surface in 3D enclos-
        ing all voxels with value greater than the requested threshold.
        The surface placement is adjusted by linear interpolation to
        pass through the threshold value itself.

        See [1mset vgrid[22m, [1mvfill[22m.  See demos [1mvplot.dem[22m, [1misosurface.dem[22m.




   [1m105.  Stats (Statistical Summary)[0m


   Syntax:
        stats {<ranges>} 'filename' {matrix | using N{:M}} {name 'pre-
   fix'} {{no}output}

   This command prepares a statistical summary of the data in one or
   two columns of a file. The using specifier is interpreted in the
   same way as for plot commands. See [1mplot [22mfor details on the [1mindex[22m,
   [1mevery[22m, and [1musing [22mdirectives. Data points are filtered against both
   xrange and yrange before analysis. See [1mset xrange[22m. The summary is
   printed to the screen by default.  Output can be redirected to a
   file by prior use of the command [1mset print[22m, or suppressed altogether
   using the [1mnooutput [22moption.

   In addition to printed output, the program stores the individual
   statistics into three sets of variables.  The first set of variables
   reports how the data is laid out in the file: The array of column
   headers is generated only if option [1mset datafile columnheaders [22mis in
   effect.


   +----------------------------------------------------------------------+
   |Variable              Description                                     |
   +----------------------------------------------------------------------+
   |STATS_records         total number N of in-range data records         |
   |STATS_outofrange      number of records filtered out by range limits  |
   |STATS_invalid         number of invalid/incomplete/missing records    |
   |STATS_blank           number of blank lines in the file               |
   |STATS_blocks          number of indexable blocks of data in the file  |
   |STATS_columns         number of data columns in the first row of data |
   |STATS_column_header   array of strings holding column headers found   |
   +----------------------------------------------------------------------+


   The second set reports properties of the in-range data from a single
   column.  This column is treated as y. If the y axis is autoscaled










   GNUPLOT 5.4                                                      314


   then no range limits are applied. Otherwise only values in the range
   [ymin:ymax] are considered.

   If two columns are analysed jointly by a single [1mstats [22mcommand, the
   suffix "_x" or "_y" is appended to each variable name.  I.e.
   STATS_min_x is the minimum value found in the first column, while
   STATS_min_y is the minimum value found in the second column.  In
   this case points are filtered by testing against both xrange and
   yrange.



   +----------------------------------------------------------------------------------------+
   |Variable                            Description                                         |
   +----------------------------------------------------------------------------------------+
   |STATS_min               min([4my[24m)      minimum value of in-range data points               |
   |STATS_max               max([4my[24m)      maximum value of in-range data points               |
   |STATS_index_min      [4mi[24m|[4myi[24m=min([4my[24m)    index i for which data[i] == STATS_min              |
   |STATS_index_max      [4mi[24m|[4myi[24m=max([4my[24m)    index i for which data[i] == STATS_max              |
   |STATS_lo_quartile                   value of the lower (1st) quartile boundary          |
   |STATS_median                        median value                                        |
   |STATS_up_quartile                   value of the upper (3rd) quartile boundary          |
   |STATS_mean               [4m_y[24m=1[4mN_y[24m       mean value of the in-range data points              |
   |STATS_ssd            [4my[24m=[4mN_[24m1-[4m_[24m1[4m_[24m([4my[24m-[4m_y[24m)2    sample standard deviation of the in-range data      |
   |STATS_stddev         [4msy[24m=1[4mN_[24m([4my[24m-[4m_y[24m)2     population standard deviation of the in-range data  |
   |STATS_sum                 [4my[24m         sum                                                 |
   |STATS_sumsq               [4my[24m2        sum of squares                                      |
   |STATS_skewness         [4mN_[24m13[4m_[24m([4my[24m-[4m_y[24m)3     skewness of the in-range data points                |
   |STATS_kurtosis         [4mN_[24m14[4m_[24m([4my[24m-[4m_y[24m)4     kurtosis of the in-range data points                |
   |STATS_adev              1[4mN_[24m|[4my[24m-[4m_y[24m|      mean absolute deviation of the in-range data points |
   |STATS_mean_err           [4my[24m/[4mN[24m        standard error of the mean value                    |
   |STATS_stddev_err        [4my[24m/2[4mN[24m        standard error of the standard deviation            |
   |STATS_skewness_err       6/[4mN[24m        standard error of the skewness                      |
   |STATS_kurtosis_err       24/[4mN[24m       standard error of the kurtosis                      |
   +----------------------------------------------------------------------------------------+


   The third set of variables is only relevant to analysis of two data
   columns.
























   GNUPLOT 5.4                                                      315


   +----------------------------------------------------------------------------+
   |Variable              Description                                           |
   +----------------------------------------------------------------------------+
   |STATS_correlation     sample correlation coefficient between x and y values |
   |STATS_slope           A corresponding to a linear fit [4my[24m=[4mAx[24m+[4mB[24m                |
   |STATS_slope_err       uncertainty of A                                      |
   |STATS_intercept       B corresponding to a linear fit [4my[24m=[4mAx[24m+[4mB[24m                |
   |STATS_intercept_err   uncertainty of B                                      |
   |STATS_sumxy           sum of [4mx[24m[4my[24m,  [4mxy[24m                                       |
   |STATS_pos_min_y       x coordinate of a point with minimum y value          |
   |STATS_pos_max_y       x coordinate of a point with maximum y value          |
   +----------------------------------------------------------------------------+


   Keyword [1mmatrix [22mindicates that the input consists of a matrix (see
   [1mmatrix[22m); the usual statistics are generated by considering all ma-
   trix elements.  The matrix dimensions are saved in variables
   STATS_size_x and STATS_size_y.


                +----------------------------------------+
                |Variable       Description              |
                |STATS_size_x   number of matrix columns |
                |STATS_size_y   number of matrix rows    |
                +----------------------------------------+


   The index reported in STATS_index_xxx corresponds to the value of
   pseudo-column 0 ($0) in plot commands.  I.e. the first point has in-
   dex 0, the last point has index N-1.

   Data values are sorted to find the median and quartile boundaries.
   If the total number of points N is odd, then the median value is
   taken as the value of data point (N+1)/2. If N is even, then the me-
   dian is reported as the mean value of points N/2 and (N+2)/2. Equiv-
   alent treatment is used for the quartile boundaries.

   For an example of using the [1mstats [22mcommand to annotate a subsequent
   plot, see stats.dem.

   The [1mstats [22mcommand in this version of gnuplot can handle log-scaled
   data, but not the content of time/date fields ([1mset xdata time [22mor [1mset[0m
   [1mydata time[22m).  This restriction may be relaxed in a future version.




        [1m105.1.  Name[0m


        It may be convenient to track the statistics from more than one
        file or data column in parallel. The [1mname [22moption causes the de-
        fault prefix "STATS" to be replaced by a user-specified string.










   GNUPLOT 5.4                                                      316


        For example, the mean value of column 2 data from two different
        files could be compared by
             stats "file1.dat" using 2 name "A"
             stats "file2.dat" using 2 name "B"
             if (A_mean < B_mean) {...}

        Instead of providing a string constant as the name, the keyword
        [1mcolumnheader [22mor function [1mcolumnheader(N) [22mcan be used to gener-
        ate the name from whatever string is found in that column in
        the first row of the data file:
             do for [COL=5:8] { stats 'datafile' using COL name column-
        header }




   [1m106.  System[0m


   Syntax:
         system "command string"
         ! command string
         output = system("command string")
         show variable GPVAL_SYSTEM

   [1msystem "command" [22mexecutes "command" in a subprocess by invoking the
   operating system's default shell.  If called as a function, [1msys-[0m
   [1mtem("command") [22mreturns the character stream from the subprocess's
   stdout as a string.  One trailing newline is stripped from the re-
   sulting string if present.  See also [1mbackquotes[22m.

   The exit status of the subprocess is reported in variables GP-
   VAL_SYSTEM_ERRNO and GPVAL_SYSTEM_ERRMSG.  Note that if the command
   string invokes more than one programs, the subprocess may return
   "Success" even if one of the programs produced an error.  E.g. file
   = system("ls -1 *.plt | tail -1") will return "Success" even if
   there are no *.plt files because [1mtail [22msucceeds even if [1mls [22mdoes not.

   The system command can be used to import external functions into
   gnuplot as shown below, however this will force creation of a sepa-
   rate subprocess every time the function is invoked. For functions
   that will be invoked many times it would be better to import a di-
   rectly callable subroutine from a shared library.  See [1mimport [22mand
   [1mplugin.dem[22m.

         f(x) = real(system(sprintf("somecommand %f", x)))



   [1m107.  Test[0m













   GNUPLOT 5.4                                                      317


   This command graphically tests or presents terminal and palette ca-
   pabilities.

   Syntax:
         test {terminal | palette}

   [1mtest [22mor [1mtest terminal [22mcreates a display of line and point styles and
   other useful things supported by the [1mterminal [22myou are currently us-
   ing.

   [1mtest palette [22mplots profiles of R(z),G(z),B(z), where 0<=z<=1. These
   are the RGB components of the current color [1mpalette[22m. It also plots
   the apparent net intensity as calculated using NTSC coefficients to
   map RGB onto a grayscale.  The profile values are also loaded into a
   datablock named $PALETTE.



   [1m108.  Toggle[0m


   Syntax:
         toggle {<plotno> | "plottitle" | all}

   This command has the same effect as left-clicking on the key entry
   for a plot currently displayed by an interactive terminal (qt, wxt,
   x11). If the plot is showing, it is toggled off;  if it is currently
   hidden, it is toggled on.  [1mtoggle all [22macts on all active plots,
   equivalent to the hotkey "i".  [1mtoggle "title" [22mrequires an exact
   match to the plot title.  [1mtoggle "ti*" [22macts on the first plot whose
   title matches the characters before the final '*'.  If the current
   terminal is not interactive, the toggle command has no effect.



   [1m109.  Undefine[0m


   Clear one or more previously defined user variables.  This is useful
   in order to reset the state of a script containing an initialization
   test.

   A variable name can contain the wildcard character [1m* [22mas last charac-
   ter. If the wildcard character is found, all variables with names
   that begin with the prefix preceding the wildcard will be removed.
   This is useful to remove several variables sharing a common prefix.
   Note that the wildcard character is only allowed at the end of the
   variable name! Specifying the wildcard character as sole argument to
   [1mundefine [22mhas no effect.

   Example:

         undefine foo foo1 foo2










   GNUPLOT 5.4                                                      318


         if (!exists("foo")) load "initialize.gp"

         bar = 1; bar1 = 2; bar2 = 3
         undefine bar*                 # removes all three variables




   [1m110.  Unset[0m


   Options set using the [1mset [22mcommand may be returned to their default
   state by the corresponding [1munset [22mcommand.  The [1munset [22mcommand may
   contain an optional iteration clause. See [1mplot for[22m.

   Examples:
         set xtics mirror rotate by -45 0,10,100
         ...
         unset xtics

         # Unset labels numbered between 100 and 200
         unset for [i=100:200] label i




        [1m110.1.  Linetype[0m


        Syntax:
              unset linetype N
        Remove all characteristics previously associated with a single
        linetype.  Subsequent use of this linetype will use whatever
        characteristics and color that is native to the current termi-
        nal type (i.e. the default linetypes properties available in
        gnuplot versions prior to 4.6).



        [1m110.2.  Monochrome[0m


        Switches the active set of linetypes from monochrome to color.
        Equivalent to [1mset color[22m.



        [1m110.3.  Output[0m


        Because some terminal types allow multiple plots to be written
        into a single output file, the output file is not automatically
        closed after plotting.  In order to print or otherwise use the










   GNUPLOT 5.4                                                      319


        file safely, it should first be closed explicitly by using [1mun-[0m
        [1mset output [22mor by using [1mset output [22mto close the previous file
        and then open a new one.



        [1m110.4.  Terminal[0m


        The default terminal that is active at the time of program en-
        try depends on the system platform, gnuplot build options, and
        the environmental variable GNUTERM.  Whatever this default may
        be, gnuplot saves it to internal variable GNUTERM.  The [1munset[0m
        [1mterminal [22mcommand restores the initial terminal type.  It is
        equivalent to [1mset terminal GNUTERM[22m.  However if the string in
        GNUTERM contains terminal options in addition to the bare ter-
        minal name, you may want to instead use [1mset terminal @GNUTERM[22m.



   [1m111.  Update[0m


   Note: This command is DEPRECATED.  Use [1msave fit [22minstead.



   [1m112.  Vclear[0m


   Syntax:
        vclear {$gridname}
   Resets the value of all voxels in an existing grid to zero.  If no
   grid name is given, clears the currently active grid.



   [1m113.  Vfill[0m


   Syntax:
        vfill FILE using x:y:z:radius:(<expression>)

   The [1mvfill [22mcommand acts analogously to a [1mplot [22mcommand except that in-
   stead of creating a plot it modifies voxels in the currently active
   voxel grid.  For each point read from the input file, the voxel con-
   taining that point and also all other voxels within a sphere of
   given radius centered about (x,y,z) are incremented as follows: Ex-
   ample:
        vfill "file.dat" using 1:2:3:(3.0):(1.0)
   This command adds 1 to the value of every voxel within a sphere of
   radius 3.0 around each point in file.dat.











   GNUPLOT 5.4                                                      320


   Example:
        vfill "file.dat" using 1:2:3:4:(VoxelDistance < 1 ? 1 : 1/Vox-
   elDistance)
   This command modifies all voxels in a sphere whose radius is deter-
   mined for each point by the content of column 4.  The increment
   added to a voxel decreases with its distance from the data point.

   Note that [1mvfill [22malways increments existing values in the current
   voxel grid.  To reset them to zero, use [1mvclear[22m.



   [1m114.  While[0m


   Syntax:
         while (<expr>) {
             <commands>
         }
   Execute a block of commands repeatedly so long as <expr> evaluates
   to a non-zero value.  This command cannot be mixed with old-style
   (un-bracketed) if/else statements.  See also [1mdo[22m, [1mcontinue[22m, [1mbreak[22m.




   [1m115.  Terminal types[0m





   [1m116.  Complete list of terminals[0m


   Gnuplot supports a large number of output formats. These are se-
   lected by choosing an appropriate terminal type, possibly with addi-
   tional modifying options. See [1mset terminal[22m.

   This document may describe terminal types that are not available to
   you because they were not configured or installed on your system. To
   see a list of terminals available on a particular gnuplot installa-
   tion, type 'set terminal' with no modifiers.

   Terminals marked [1mlegacy [22mare not built by default in recent gnuplot
   versions and may not actually work.

















   GNUPLOT 5.4                                                      321


        [1m116.1.  Aifm[0m



        [1mNOTE: Legacy terminal[22m, originally written for Adobe Illustrator
        3.0+.  Since Adobe Illustrator understands PostScript level 1
        commands directly, you should use [1mset terminal post level1 [22min-
        stead.

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




        [1m116.2.  Aqua[0m


        This terminal relies on AquaTerm.app for display on Mac OS X.

        Syntax:
              set terminal aqua {<n>} {title "<wintitle>"} {size <x>
        <y>}
                                {font "<fontname>{,<fontsize>}"}
                                {linewidth <lw>}"}
                                {{no}enhanced} {solid|dashed} {dl
        <dashlength>}}

        where <n> is the number of the window to draw in (default is
        0), <wintitle> is the name shown in the title bar (default
        "Figure <n>"), <x> <y> is the size of the plot (default is
        846x594 pt = 11.75x8.25 in).

        Use <fontname> to specify the font (default is "Times-Roman"),
        and <fontsize> to specify the font size (default is 14.0 pt).

        The aqua terminal supports enhanced text mode (see [1menhanced[22m),
        except for overprint. Font support is limited to the fonts
        available on the system.  Character encoding can be selected by
        [1mset encoding [22mand currently supports iso_latin_1, iso_latin_2,
        cp1250, and UTF8 (default).

        Lines can be drawn either solid or dashed, (default is solid)
        and the dash spacing can be modified by <dashlength> which is a
        multiplier > 0.

















   GNUPLOT 5.4                                                      322


        [1m116.3.  Be[0m


        The [1mbe [22mterminal type is present if gnuplot is built for the
        [1mbeos [22moperating system and for use with X servers.  It is se-
        lected at program startup if the [1mDISPLAY [22menvironment variable
        is set, if the [1mTERM [22menvironment variable is set to [1mxterm[22m, or if
        the [1m-display [22mcommand line option is used.

        Syntax:
                  set terminal be {reset} {<n>}

        Multiple plot windows are supported: [1mset terminal be <n> [22mdi-
        rects the output to plot window number n.  If n>0, the terminal
        number will be appended to the window title and the icon will
        be labeled [1mgplt <n>[22m.  The active window may distinguished by a
        change in cursor (from default to crosshair.)

        Plot windows remain open even when the [1mgnuplot [22mdriver is
        changed to a different device.  A plot window can be closed by
        pressing the letter q while that window has input focus, or by
        choosing [1mclose [22mfrom a window manager menu.  All plot windows
        can be closed by specifying [1mreset[22m, which actually terminates
        the subprocess which maintains the windows (unless [1m-persist [22mwas
        specified).

        Plot windows will automatically be closed at the end of the
        session unless the [1m-persist [22moption was given.

        The size or aspect ratio of a plot may be changed by resizing
        the [1mgnuplot [22mwindow.

        Linewidths and pointsizes may be changed from within [1mgnuplot[0m
        with [1mset linestyle[22m.

        For terminal type [1mbe[22m, [1mgnuplot [22maccepts (when initialized) the
        standard X Toolkit options and resources such as geometry,
        font, and name from the command line arguments or a configura-
        tion file.  See the X(1) man page (or its equivalent) for a de-
        scription of such options.

        A number of other [1mgnuplot [22moptions are available for the [1mbe [22mter-
        minal.  These may be specified either as command-line options
        when [1mgnuplot [22mis invoked or as resources in the configuration
        file ".Xdefaults".  They are set upon initialization and cannot
        be altered during a [1mgnuplot [22msession.

















   GNUPLOT 5.4                                                      323


             [1m116.3.1.  Command-line_options[0m


             In addition to the X Toolkit options, the following op-
             tions may be specified on the command line when starting
             [1mgnuplot [22mor as resources in your ".Xdefaults" file:


   +---------------------------------------------------------------------------------+
   |    `-mono`        forces monochrome rendering on color displays.                |
   |    `-gray`        requests grayscale rendering on grayscale or color displays.  |
   |                   (Grayscale displays receive monochrome rendering by default.) |
   |    `-clear`       requests that the window be cleared momentarily before a      |
   |                   new plot is displayed.                                        |
   |    `-raise`       raises plot window after each plot                            |
   |   `-noraise`      does not raise plot window after each plot                    |
   |   `-persist`      plots windows survive after main gnuplot program exits        |
   +---------------------------------------------------------------------------------+

   The options are shown above in their command-line syntax.  When en-
   tered as resources in ".Xdefaults", they require a different syntax.

   Example:
             gnuplot*gray: on

   [1mgnuplot [22malso provides a command line option ([1m-pointsize <v>[22m) and a
   resource, [1mgnuplot*pointsize: <v>[22m, to control the size of points
   plotted with the [1mpoints [22mplotting style.  The value [1mv [22mis a real num-
   ber (greater than 0 and less than or equal to ten) used as a scaling
   factor for point sizes.  For example, [1m-pointsize 2 [22muses points twice
   the default size, and [1m-pointsize 0.5 [22muses points half the normal
   size.



             [1m116.3.2.  Monochrome_options[0m


             For monochrome displays, [1mgnuplot [22mdoes not honor foreground
             or background colors.  The default is black-on-white.  [1m-rv[0m
             or [1mgnuplot*reverseVideo: on [22mrequests white-on-black.




             [1m116.3.3.  Color_resources[0m


             For color displays, [1mgnuplot [22mhonors the following resources
             (shown here with their default values) or the greyscale
             resources.  The values may be color names as listed in the
             BE rgb.txt file on your system, hexadecimal RGB color
             specifications (see BE documentation), or a color name










   GNUPLOT 5.4                                                      324


             followed by a comma and an [1mintensity [22mvalue from 0 to 1.
             For example, [1mblue, 0.5 [22mmeans a half intensity blue.


                    +--------------------------------+
                    |    gnuplot*background: white   |
                    |    gnuplot*textColor: black    |
                    |    gnuplot*borderColor: black  |
                    |    gnuplot*axisColor: black    |
                    |    gnuplot*line1Color: red     |
                    |    gnuplot*line2Color: green   |
                    |    gnuplot*line3Color: blue    |
                    |    gnuplot*line4Color: magenta |
                    |    gnuplot*line5Color: cyan    |
                    |    gnuplot*line6Color: sienna  |
                    |    gnuplot*line7Color: orange  |
                    |    gnuplot*line8Color: coral   |
                    +--------------------------------+


   The command-line syntax for these is, for example,

   Example:
             gnuplot -background coral




             [1m116.3.4.  Grayscale_resources[0m


             When [1m-gray [22mis selected, [1mgnuplot [22mhonors the following re-
             sources for grayscale or color displays (shown here with
             their default values).  Note that the default background
             is black.


                     +-------------------------------+
                     |    gnuplot*background: black  |
                     |    gnuplot*textGray: white    |
                     |    gnuplot*borderGray: gray50 |
                     |    gnuplot*axisGray: gray50   |
                     |    gnuplot*line1Gray: gray100 |
                     |    gnuplot*line2Gray: gray60  |
                     |    gnuplot*line3Gray: gray80  |
                     |    gnuplot*line4Gray: gray40  |
                     |    gnuplot*line5Gray: gray90  |
                     |    gnuplot*line6Gray: gray50  |
                     |    gnuplot*line7Gray: gray70  |
                     |    gnuplot*line8Gray: gray30  |
                     +-------------------------------+












   GNUPLOT 5.4                                                      325


             [1m116.3.5.  Line_resources[0m


             [1mgnuplot [22mhonors the following resources for setting the
             width (in pixels) of plot lines (shown here with their de-
             fault values.)  0 or 1 means a minimal width line of 1
             pixel width.  A value of 2 or 3 may improve the appearance
             of some plots.


                       +---------------------------+
                       |    gnuplot*borderWidth: 2 |
                       |    gnuplot*axisWidth: 0   |
                       |    gnuplot*line1Width: 0  |
                       |    gnuplot*line2Width: 0  |
                       |    gnuplot*line3Width: 0  |
                       |    gnuplot*line4Width: 0  |
                       |    gnuplot*line5Width: 0  |
                       |    gnuplot*line6Width: 0  |
                       |    gnuplot*line7Width: 0  |
                       |    gnuplot*line8Width: 0  |
                       +---------------------------+


   [1mgnuplot [22mhonors the following resources for setting the dash style
   used for plotting lines.  0 means a solid line.  A two-digit number
   [1mjk [22m([1mj [22mand [1mk [22mare >= 1  and <= 9) means a dashed line with a repeated
   pattern of [1mj [22mpixels on followed by [1mk [22mpixels off.  For example, '16'
   is a "dotted" line with one pixel on followed by six pixels off.
   More elaborate on/off patterns can be specified with a four-digit
   value.  For example, '4441' is four on, four off, four on, one off.
   The default values shown below are for monochrome displays or mono-
   chrome rendering on color or grayscale displays.  For color dis-
   plays, the default for each is 0 (solid line) except for [1maxisDashes[0m
   which defaults to a '16' dotted line.


                     +------------------------------+
                     |    gnuplot*borderDashes: 0   |
                     |    gnuplot*axisDashes: 16    |
                     |    gnuplot*line1Dashes: 0    |
                     |    gnuplot*line2Dashes: 42   |
                     |    gnuplot*line3Dashes: 13   |
                     |    gnuplot*line4Dashes: 44   |
                     |    gnuplot*line5Dashes: 15   |
                     |    gnuplot*line6Dashes: 4441 |
                     |    gnuplot*line7Dashes: 42   |
                     |    gnuplot*line8Dashes: 13   |
                     +------------------------------+














   GNUPLOT 5.4                                                      326


        [1m116.4.  Caca[0m


        [EXPERIMENTAL] The [1mcaca [22mterminal is a mostly-for-fun output
        mode that uses [1mlibcaca [22mto plot using ascii characters.  In con-
        trast to the [1mdumb [22mterminal it includes support for color, box
        fill, images, rotated text, filled polygons, and mouse interac-
        tion.

        Syntax:
              set terminal caca {{driver | format} {default | <driver>
        | list}}
                                {color | monochrome}
                                {{no}inverted}
                                {enhanced | noenhanced}
                                {background <rgb color>}
                                {title "<plot window title>"}
                                {size <width>,<height>}
                                {charset ascii|blocks|unicode}

        The [1mdriver [22moption selects the [1mlibcaca [22mdisplay driver or export
        [1mformat[22m.  Use [1mdefault [22mis to let [1mlibcaca [22mchoose the platform de-
        fault display driver.  The default driver can be changed by
        setting the environment variable CACA_DRIVER before starting
        [1mgnuplot[22m.  Use [1mset term caca driver list [22mto print a list of sup-
        ported output modes.

        The [1mcolor [22mand [1mmonochrome [22moptions select colored or mono output.
        Note that this also changes line symbols.  Use the [1minverted [22mop-
        tion if you prefer a black background over the default white.
        This also changes the color of black default linetypes to
        white.

        Enhanced text support can be activated using the [1menhanced [22mop-
        tion, see [1menhanced text[22m.

        The title of the output window can be changed with the [1mtitle[0m
        option, if supported by the [1mlibcaca [22mdriver.

        The [1msize [22moption selects the size of the canvas in characters.
        The default is 80 by 25.  If supported by the backend, the can-
        vas size will be automatically adjusted to the current win-
        dow/terminal size.  The default size of the "x11" and "gl" win-
        dow can be controlled via the CACA_GEOMETRY environment vari-
        able.  The geometry of the window of the "win32" driver can be
        controlled and permanently changed via the app menu.

        The [1mcharset [22moption selects the character set used for lines,
        points, filling of polygons and boxes and dithering of images.
        Note that some backend/terminal/font combinations might not
        support some characters of the [1mblocks [22mor [1municode [22mcharacter set.
        On Windows it is recommend to use a non-raster font such as
        "Lucida Console" or "Consolas".










   GNUPLOT 5.4                                                      327


        The caca terminal supports mouse interaction. Please beware
        that some backends of [1mlibcaca [22m(e.g. slang, ncurses) only update
        the mouse position on mouse clicks.  Modifier keys (ctrl, alt,
        shift) are not supported by [1mlibcaca [22mand are thus unavailable.

        The default [1mencoding [22mof the [1mcaca [22mterminal is utf8. It also sup-
        ports the cp437 [1mencoding[22m.

        The number of colors supported by [1mlibcaca [22mbackends differs.
        Most backends support 16 foreground and 16 background colors
        only, whereas e.g. the "x11" backend supports truecolor.

        Depending on the terminal and [1mlibcaca [22mbackend, only 8 different
        background colors might be supported.  Bright colors (with the
        most most significant bit of the background color set) are then
        interpreted as indicator for blinking text.  Try using [1mback-[0m
        [1mground rgb "gray" [22min that case.

        See also the libcaca web site at
                  http://caca.zoy.org/wiki/libcaca
        and libcaca environment variables
                  http://caca.zoy.org/doxygen/libcaca/libcaca-env.html




             [1m116.4.1.  Caca limitations and bugs[0m


             The [1mcaca [22mterminal has known bugs and limitations:

             Unicode support depends on the driver and the terminal.
             The "x11" backend supports unicode since libcaca version
             0.99.beta17.  Due to a bug in [1mlibcaca [22m<0.99.beta20, the
             "slang" driver does not support unicode.  Note that [1mlib-[0m
             [1mcaca [22m<0.99.beta19 contains a bug which results in an end-
             less loop if you supply illegal 8bit sequences.

             Bright background colors may cause blinking.

             Modifier keys are not supported for mousing, see [1mterm[0m
             [1mcaca[22m.

             Rotated enhanced text, and transparency are not supported.
             The [1msize [22moption is not considered for on-screen display.

             In order to correctly draw the key box, use

                   set key width 1 height 1

             Alignment of enhanced text is wrong if it contains utf8
             characters.  Resizing of Windows console window does not
             work correctly due to a bug in libcaca.  Closing the










   GNUPLOT 5.4                                                      328


             terminal window by clicking the "X" on the title line will
             terminate wgnuplot. Press "q" to close the window.



        [1m116.5.  Cairolatex[0m


        The [1mcairolatex [22mterminal device generates encapsulated Post-
        Script (*.eps), PDF, or PNG output using the cairo and pango
        support libraries and uses LaTeX for text output using the same
        routines as the [1mepslatex [22mterminal.

        Syntax:
              set terminal cairolatex
                             {eps | pdf | png}
                             {standalone | input}
                             {blacktext | colortext | colourtext}
                             {header <header> | noheader}
                             {mono|color}
                             {{no}transparent} {{no}crop} {background
        <rgbcolor>}
                             {font <font>} {fontscale <scale>}
                             {linewidth <lw>} {rounded|butt|square}
        {dashlength <dl>}
                             {size <XX>{unit},<YY>{unit}}
                             {resolution <dpi>}

        The cairolatex terminal prints a plot like [1mterminal epscairo [22mor
        [1mterminal pdfcairo [22mbut transfers the texts to LaTeX instead of
        including them in the graph. For reference of options not ex-
        plained here see [1mpdfcairo[22m.

        [1meps[22m, [1mpdf[22m, or [1mpng [22mselect the type of graphics output. Use [1meps[0m
        with latex/dvips and [1mpdf [22mfor pdflatex.  If your plot has a huge
        number of points use [1mpng [22mto keep the filesize down.  When using
        the [1mpng [22moption, the terminal accepts an extra option [1mresolution[0m
        to control the pixel density of the resulting PNG.  The argu-
        ment of [1mresolution [22mis an integer with the implied unit of DPI.

        [1mblacktext [22mforces all text to be written in black even in color
        mode;

        The [1mcairolatex [22mdriver offers a special way of controlling text
        positioning: (a) If any text string begins with '{', you also
        need to include a '}' at the end of the text, and the whole
        text will be centered both horizontally and vertically by La-
        TeX.  (b) If the text string begins with '[', you need to con-
        tinue it with: a position specification (up to two out of
        t,b,l,r,c), ']{', the text itself, and finally, '}'. The text
        itself may be anything LaTeX can typeset as an LR-box.
        \rule{}{}'s may help for best positioning.  See also the docu-
        mentation for the [1mpslatex [22mterminal driver.  To create multiline










   GNUPLOT 5.4                                                      329


        labels, use \shortstack, for example
           set ylabel '[r]{\shortstack{first line \\ second line}}'

        The [1mback [22moption of [1mset label [22mcommands is handled slightly dif-
        ferent than in other terminals. Labels using 'back' are printed
        behind all other elements of the plot while labels using
        'front' are printed above everything else.

        The driver produces two different files, one for the eps, pdf,
        or png part of the figure and one for the LaTeX part. The name
        of the LaTeX file is taken from the [1mset output [22mcommand. The
        name of the eps/pdf/png file is derived by replacing the file
        extension (normally '.tex') with '.eps'/'.pdf'/'.png' instead.
        There is no LaTeX output if no output file is given!  Remember
        to close the [1moutput file [22mbefore next plot unless in [1mmultiplot[0m
        mode.

        In your LaTeX documents use '\input{filename}' to include the
        figure.  The '.eps'/'.pdf'/'.png' file is included by the com-
        mand \includegraphics{...}, so you must also include \usepack-
        age{graphicx} in the LaTeX preamble.  If you want to use
        coloured text (option [1mcolourtext[22m) you also have to include
        \usepackage{color} in the LaTeX preamble.

        The behaviour concerning font selection depends on the header
        mode.  In all cases, the given font size is used for the calcu-
        lation of proper spacing. When not using the [1mstandalone [22mmode
        the actual LaTeX font and font size at the point of inclusion
        is taken, so use LaTeX commands for changing fonts. If you use
        e.g. 12pt as font size for your LaTeX document, use '", 12"' as
        options. The font name is ignored. If using [1mstandalone [22mthe
        given font and font size are used, see below for a detailed de-
        scription.

        If text is printed coloured is controlled by the TeX booleans
        \ifGPcolor and \ifGPblacktext. Only if \ifGPcolor is true and
        \ifGPblacktext is false, text is printed coloured. You may ei-
        ther change them in the generated TeX file or provide them
        globally in your TeX file, for example by using
           \newif\ifGPblacktext
           \GPblacktexttrue
        in the preamble of your document. The local assignment is only
        done if no global value is given.

        When using the cairolatex terminal give the name of the TeX
        file in the [1mset output [22mcommand including the file extension
        (normally ".tex").  The graph filename is generated by replac-
        ing the extension.

        If using the [1mstandalone [22mmode a complete LaTeX header is added
        to the LaTeX file; and "-inc" is added to the filename of the
        gaph file.  The [1mstandalone [22mmode generates a TeX file that pro-
        duces output with the correct size when using dvips, pdfTeX, or










   GNUPLOT 5.4                                                      330


        VTeX.  The default, [1minput[22m, generates a file that has to be in-
        cluded into a LaTeX document using the \input command.

        If a font other than "" or "default" is given it is interpreted
        as LaTeX font name.  It contains up to three parts, separated
        by a comma: 'fontname,fontseries,fontshape'.  If the default
        fontshape or fontseries are requested, they can be omitted.
        Thus, the real syntax for the fontname is '{font-
        name}{,fontseries}{,fontshape}'.  The naming convention for all
        parts is given by the LaTeX font scheme.  The fontname is 3 to
        4 characters long and is built as follows: One character for
        the font vendor, two characters for the name of the font, and
        optionally one additional character for special fonts, e.g.,
        'j' for fonts with old-style numerals or 'x' for expert fonts.
        The names of many fonts is described in
                  http://www.tug.org/fontname/fontname.pdf
        For example, 'cmr' stands for Computer Modern Roman, 'ptm' for
        Times-Roman, and 'phv' for Helvetica.  The font series denotes
        the thickness of the glyphs, in most cases 'm' for normal
        ("medium") and 'bx' or 'b' for bold fonts.  The font shape is
        'n' for upright, 'it' for italics, 'sl' for slanted, or 'sc'
        for small caps, in general.  Some fonts may provide different
        font series or shapes.

        Examples:

        Use Times-Roman boldface (with the same shape as in the sur-
        rounding text):
              set terminal cairolatex font 'ptm,bx'
        Use Helvetica, boldface, italics:
              set terminal cairolatex font 'phv,bx,it'
        Continue to use the surrounding font in slanted shape:
              set terminal cairolatex font ',,sl'
        Use small capitals:
              set terminal cairolatex font ',,sc'

        By this method, only text fonts are changed. If you also want
        to change the math fonts you have to use the "gnuplot.cfg" file
        or the [1mheader [22moption, described below.

        In [1mstandalone [22mmode, the font size is taken from the given font
        size in the [1mset terminal [22mcommand. To be able to use a specified
        font size, a file "size<size>.clo" has to reside in the LaTeX
        search path.  By default, 10pt, 11pt, and 12pt are supported.
        If the package "extsizes" is installed, 8pt, 9pt, 14pt, 17pt,
        and 20pt are added.

        The [1mheader [22moption takes a string as argument.  This string is
        written into the generated LaTeX file.  If using the [1mstandalone[0m
        mode, it is written into the preamble, directly before the \be-
        gin{document} command.  In the [1minput [22mmode, it is placed di-
        rectly after the \begingroup command to ensure that all set-
        tings are local to the plot.










   GNUPLOT 5.4                                                      331


        Examples:

        Use T1 fontencoding, change the text and math font to Times-Ro-
        man as well as the sans-serif font to Helvetica:
            set terminal cairolatex standalone header \
            "\\usepackage[T1]{fontenc}\n\\usepackage{mathptmx}\n\\usep-
        ackage{helvet}"
        Use a boldface font in the plot, not influencing the text out-
        side the plot:
            set terminal cairolatex input header "\\bfseries"

        If the file "gnuplot.cfg" is found by LaTeX it is input in the
        preamble the LaTeX document, when using [1mstandalone [22mmode.  It
        can be used for further settings, e.g., changing the document
        font to Times-Roman, Helvetica, and Courier, including math
        fonts (handled by "mathptmx.sty"):
              \usepackage{mathptmx}
              \usepackage[scaled=0.92]{helvet}
              \usepackage{courier}
        The file "gnuplot.cfg" is loaded before the header information
        given by the [1mheader [22mcommand.  Thus, you can use [1mheader [22mto over-
        write some of settings performed using "gnuplot.cfg"




        [1m116.6.  Canvas[0m



        The [1mcanvas [22mterminal creates a set of javascript commands that
        draw onto the HTML5 canvas element.  Syntax:
              set terminal canvas {size <xsize>, <ysize>} {background
        <rgb_color>}
                                  {font {<fontname>}{,<fontsize>}} |
        {fsize <fontsize>}
                                  {{no}enhanced} {linewidth <lw>}
                                  {rounded | butt | square}
                                  {dashlength <dl>}
                                  {standalone {mousing} | name '<func-
        name>'}
                                  {jsdir 'URL/for/javascripts'}
                                  {title '<some string>'}

        where <xsize> and <ysize> set the size of the plot area in pix-
        els.  The default size in standalone mode is 600 by 400 pixels.
        The default font size is 10.

        NB: Only one font is available, the ascii portion of Hershey
        simplex Roman provided in the file canvastext.js. You can re-
        place this with the file canvasmath.js, which contains also
        UTF-8 encoded Hershey simplex Greek and math symbols. For con-
        sistency with other terminals, it is also possible to use [1mfont[0m










   GNUPLOT 5.4                                                      332


        [1m"name,size"[22m. Currently the font [1mname [22mis ignored, but browser
        support for named fonts is likely to arrive eventually.

        The default [1mstandalone [22mmode creates an html page containing
        javascript code that renders the plot using the HTML 5 canvas
        element.  The html page links to two required javascript files
        'canvastext.js' and 'gnuplot_common.js'.  An additional file
        'gnuplot_dashedlines.js' is needed to support dashed lines.  By
        default these point to local files, on unix-like systems usu-
        ally in directory /usr/local/share/gnuplot/<version>/js.  See
        installation notes for other platforms. You can change this by
        using the [1mjsdir [22moption to specify either a different local di-
        rectory or a general URL.  The latter is usually appropriate if
        the plot is exported for viewing on remote client machines.

        All plots produced by the canvas terminal are mouseable.  The
        additional keyword [1mmousing [22mcauses the [1mstandalone [22mmode to add a
        mouse-tracking box underneath the plot. It also adds a link to
        a javascript file 'gnuplot_mouse.js' and to a stylesheet for
        the mouse box 'gnuplot_mouse.css' in the same local or URL di-
        rectory as 'canvastext.js'.

        The [1mname [22moption creates a file containing only javascript. Both
        the javascript function it contains and the id of the canvas
        element that it draws onto are taken from the following string
        parameter.  The commands
              set term canvas name 'fishplot'
              set output 'fishplot.js'
        will create a file containing a javascript function fishplot()
        that will draw onto a canvas with id=fishplot.  An html page
        that invokes this javascript function must also load the can-
        vastext.js function as described above.  A minimal html file to
        wrap the fishplot created above might be:

              <html>
              <head>
                  <script src="canvastext.js"></script>
                  <script src="gnuplot_common.js"></script>
              </head>
              <body onload="fishplot();">
                  <script src="fishplot.js"></script>
                  <canvas id="fishplot" width=600 height=400>
                      <div id="err_msg">No support for HTML 5 canvas
        element</div>
                  </canvas>
              </body>
              </html>

        The individual plots drawn on this canvas will have names fish-
        plot_plot_1, fishplot_plot_2, and so on. These can be refer-
        enced by external javascript routines, for example gnuplot.tog-
        gle_visibility("fishplot_plot_2").











   GNUPLOT 5.4                                                      333


        [1m116.7.  Cgm[0m


        The [1mcgm [22mterminal generates a Computer Graphics Metafile, Ver-
        sion 1.  This file format is a subset of the ANSI X3.122-1986
        standard entitled "Computer Graphics - Metafile for the Storage
        and Transfer of Picture Description Information".

        Syntax:
              set terminal cgm {color | monochrome} {solid | dashed}
        {{no}rotate}
                               {<mode>} {width <plot_width>} {linewidth
        <line_width>}
                               {font "<fontname>,<fontsize>"}
                               {background <rgb_color>}
          [deprecated]         {<color0> <color1> <color2> ...}

        [1msolid [22mdraws all curves with solid lines, overriding any dashed
        patterns; <mode> is [1mlandscape[22m, [1mportrait[22m, or [1mdefault[22m;
        <plot_width> is the assumed width of the plot in points;
        <line_width> is the line width in points (default 1); <font-
        name> is the name of a font (see list of fonts below) <font-
        size> is the size of the font in points (default 12).

        The first six options can be in any order.  Selecting [1mdefault[0m
        sets all options to their default values.

        The mechanism of setting line colors in the [1mset term [22mcommand is
        deprecated.  Instead you should set the background using a sep-
        arate keyword and set the line colors using [1mset linetype[22m.  The
        deprecated mechanism accepted colors of the form 'xrrggbb',
        where x is the literal character 'x' and 'rrggbb' are the red,
        green and blue components in hex. The first color was used for
        the background, subsequent colors are assigned to successive
        line types.

        Examples:
              set terminal cgm landscape color rotate dashed width 432
        \
                             linewidth 1  'Helvetica Bold' 12       #
        defaults
              set terminal cgm linewidth 2  14  # wider lines & larger
        font
              set terminal cgm portrait "Times Italic" 12
              set terminal cgm color solid      # no pesky dashes!




             [1m116.7.1.  Cgm font[0m













   GNUPLOT 5.4                                                      334


             The first part of a Computer Graphics Metafile, the
             metafile description, includes a font table.  In the pic-
             ture body, a font is designated by an index into this ta-
             ble.  By default, this terminal generates a table with the
             following 35 fonts, plus six more with [1mitalic [22mreplaced by
             [1moblique[22m, or vice-versa (since at least the Microsoft Of-
             fice and Corel Draw CGM import filters treat [1mitalic [22mand
             [1moblique [22mas equivalent):



                   +-----------------------------------+
                   |        CGM fonts                  |
                   +-----------------------------------+
                   |        Helvetica                  |
                   |        Helvetica Bold             |
                   |        Helvetica Oblique          |
                   |        Helvetica Bold Oblique     |
                   |        Times Roman                |
                   |        Times Bold                 |
                   |        Times Italic               |
                   |        Times Bold Italic          |
                   |        Courier                    |
                   |        Courier Bold               |
                   |        Courier Oblique            |
                   |        Courier Bold Oblique       |
                   |        Symbol                     |
                   |        Hershey/Cartographic_Roman |
                   |        Hershey/Cartographic_Greek |
                   |        Hershey/Simplex_Roman      |
                   |        Hershey/Simplex_Greek      |
                   |        Hershey/Simplex_Script     |
                   |        Hershey/Complex_Roman      |
                   |        Hershey/Complex_Greek      |
                   |        Hershey/Complex_Script     |
                   |        Hershey/Complex_Italic     |
                   |        Hershey/Complex_Cyrillic   |
                   |        Hershey/Duplex_Roman       |
                   |        Hershey/Triplex_Roman      |
                   |        Hershey/Triplex_Italic     |
                   |        Hershey/Gothic_German      |
                   |        Hershey/Gothic_English     |
                   |        Hershey/Gothic_Italian     |
                   |        Hershey/Symbol_Set_1       |
                   |        Hershey/Symbol_Set_2       |
                   |        Hershey/Symbol_Math        |
                   |        ZapfDingbats               |
                   |        Script                     |
                   |        15                         |
                   +-----------------------------------+


   The first thirteen of these fonts are required for WebCGM.  The










   GNUPLOT 5.4                                                      335


   Microsoft Office CGM import filter implements the 13 standard fonts
   listed above, and also 'ZapfDingbats' and 'Script'.  However, the
   script font may only be accessed under the name '15'.  For more on
   Microsoft import filter font substitutions, check its help file
   which you may find here:
     C:\Program Files\Microsoft Office\Office\Cgmimp32.hlp
   and/or its configuration file, which you may find here:
     C:\Program Files\Common Files\Microsoft Shared\Grphflt\Cg-
   mimp32.cfg

   In the [1mset term [22mcommand, you may specify a font name which does not
   appear in the default font table.  In that case, a new font table is
   constructed with the specified font as its first entry. You must en-
   sure that the spelling, capitalization, and spacing of the name are
   appropriate for the application that will read the CGM file.  (Gnu-
   plot and any MIL-D-28003A compliant application ignore case in font
   names.)  If you need to add several new fonts, use several [1mset term[0m
   commands.

   Example:
         set terminal cgm 'Old English'
         set terminal cgm 'Tengwar'
         set terminal cgm 'Arabic'
         set output 'myfile.cgm'
         plot ...
         set output

   You cannot introduce a new font in a [1mset label [22mcommand.



             [1m116.7.2.  Cgm fontsize[0m


             Fonts are scaled assuming the page is 6 inches wide.  If
             the [1msize [22mcommand is used to change the aspect ratio of the
             page or the CGM file is converted to a different width,
             the resulting font sizes will be scaled up or down accord-
             ingly.  To change the assumed width, use the [1mwidth [22moption.



             [1m116.7.3.  Cgm linewidth[0m


             The [1mlinewidth [22moption sets the width of lines in pt.  The
             default width is 1 pt.  Scaling is affected by the actual
             width of the page, as discussed under the [1mfontsize [22mand
             [1mwidth [22moptions.














   GNUPLOT 5.4                                                      336


             [1m116.7.4.  Cgm rotate[0m


             The [1mnorotate [22moption may be used to disable text rotation.
             For example, the CGM input filter for Word for Windows
             6.0c can accept rotated text, but the DRAW editor within
             Word cannot.  If you edit a graph (for example, to label a
             curve), all rotated text is restored to horizontal.  The Y
             axis label will then extend beyond the clip boundary.
             With [1mnorotate[22m, the Y axis label starts in a less attrac-
             tive location, but the page can be edited without damage.
             The [1mrotate [22moption confirms the default behavior.



             [1m116.7.5.  Cgm solid[0m


             The [1msolid [22moption may be used to disable dashed line styles
             in the plots.  This is useful when color is enabled and
             the dashing of the lines detracts from the appearance of
             the plot. The [1mdashed [22moption confirms the default behavior,
             which gives a different dash pattern to each line type.



             [1m116.7.6.  Cgm size[0m


             Default size of a CGM plot is 32599 units wide and 23457
             units high for landscape, or 23457 units wide by 32599
             units high for portrait.



             [1m116.7.7.  Cgm width[0m


             All distances in the CGM file are in abstract units.  The
             application that reads the file determines the size of the
             final plot.  By default, the width of the final plot is
             assumed to be 6 inches (15.24 cm).  This distance is used
             to calculate the correct font size, and may be changed
             with the [1mwidth [22moption.  The keyword should be followed by
             the width in points.  (Here, a point is 1/72 inch, as in
             PostScript.  This unit is known as a "big point" in TeX.)
             Gnuplot [1mexpressions [22mcan be used to convert from other
             units.

             Example:
                   set terminal cgm width 432            # default
                   set terminal cgm width 6*72           # same as
             above










   GNUPLOT 5.4                                                      337


                   set terminal cgm width 10/2.54*72     # 10 cm wide



             [1m116.7.8.  Cgm nofontlist[0m


             The default font table includes the fonts recommended for
             WebCGM, which are compatible with the Computer Graphics
             Metafile input filter for Microsoft Office and Corel Draw.
             Another application might use different fonts and/or dif-
             ferent font names, which may not be documented.  The [1mno-[0m
             [1mfontlist [22m(synonym [1mwinword6[22m) option deletes the font table
             from the CGM file.  In this case, the reading application
             should use a default table.  Gnuplot will still use its
             own default font table to select font indices.  Thus,
             'Helvetica' will give you an index of 1, which should get
             you the first entry in your application's default font ta-
             ble. 'Helvetica Bold' will give you its second entry, etc.




        [1m116.8.  Context[0m


        ConTeXt is a macro package for TeX, highly integrated with
        Metapost (for drawing figures) and intended for creation of
        high-quality PDF documents.  The terminal outputs Metafun
        source, which can be edited manually, but you should be able to
        configure most things from outside.

        For an average user of ConTeXt + gnuplot module it's recom-
        mended to refer to [1mUsing ConTeXt [22mrather than reading this page
        or to read the manual of the gnuplot module for ConTeXt.

        The [1mcontext [22mterminal supports the following options:

        Syntax:
             set term context {default}
                     {defaultsize | size <scale> | size <xsize>{in|cm},
        <ysize>{in|cm}}
                     {input | standalone}
                     {timestamp | notimestamp}
                     {noheader | header "<header>"}
                     {color | colour | monochrome}
                     {rounded | mitered | beveled} {round | butt |
        squared}
                     {dashed | solid} {dashlength | dl <dl>}
                     {linewidth | lw <lw>}
                     {fontscale <fontscale>}
                     {mppoints | texpoints}
                     {inlineimages | externalimages}










   GNUPLOT 5.4                                                      338


                     {defaultfont | font "{<fontname>}{,<fontsize>}"}

        In non-standalone ([1minput[22m) graphic only parameters [1msize [22mto se-
        lect graphic size, [1mfontscale [22mto scale all the labels for a fac-
        tor <fontscale> and font size, make sense, the rest is silently
        ignored and should be configured in the .tex file which inputs
        the graphic.  It's highly recommended to set the proper font-
        size if document font differs from 12pt, so that gnuplot will
        know how much space to reserve for labels.

        [1mdefault [22mresets all the options to their default values.

        [1mdefaultsize [22msets the plot size to 5in,3in.  [1msize [22m<scale> sets
        the plot size to <scale> times <default value>.  If two argu-
        ments are given (separated with ','), the first one sets the
        horizontal size and the second one the vertical size.  Size may
        be given without units (in which case it means relative to the
        default value), with inches ('in') or centimeters ('cm').

        [1minput [22m(default) creates a graphic that can be included into an-
        other ConTeXt document.  [1mstandalone [22madds some lines, so that
        the document might be compiled as-is.  You might also want to
        add [1mheader [22min that case.

        Use [1mheader [22mfor any additional settings/definitions/macros that
        you might want to include in a standalone graphic. [1mnoheader [22mis
        the default.

        [1mnotimestamp [22mprevents printing creation time in comments (if
        version control is used, one may prefer not to commit new ver-
        sion when only date changes).

        [1mcolor [22mto make color plots is the default, but [1mmonochrome[0m
        doesn't do anything special yet.  If you have any good ideas
        how the behaviour should differ to suit the monochrome printers
        better, your suggestions are welcome.

        [1mrounded [22m(default), [1mmitered [22mand [1mbeveled [22mcontrol the shape of
        line joins.  [1mround [22m(default), [1mbutt [22mand [1msquared [22mcontrol the
        shape of line caps.  See PostScript or PDF Reference Manual for
        explanation. For wild-behaving functions and thick lines it is
        better to use [1mrounded [22mand [1mround [22mto prevent sharp corners in
        line joins.  (Some general support for this should be added to
        Gnuplot, so that the same options could be set for each line
        (style) separately).

        [1mdashed [22m(default) uses different dash patterns for different
        line types, [1msolid [22mdraws all plots with solid lines.

        [1mdashlength [22mor [1mdl [22mscales the length of the dashed-line segments
        by <dl>.  [1mlinewidth [22mor [1mlw [22mscales all linewidths by <lw>.  (lw 1
        stands for 0.5bp, which is the default line width when drawing
        with Metapost.)  [1mfontscale [22mscales text labels for factor










   GNUPLOT 5.4                                                      339


        <fontscale> relative to default document font.

        [1mmppoints [22muses predefined point shapes, drawn in Metapost.  [1mtex-[0m
        [1mpoints [22muses easily configurable set of symbols, defined with
        ConTeXt in the following way:
             \defineconversion[my own points][+,{\ss x},\mathemat-
        ics{\circ}]
             \setupGNUPLOTterminal[context][points=tex,pointset=my own
        points]

        [1minlineimages [22mwrites binary images to a string and only works in
        ConTeXt MKIV.  [1mexternalimages [22mwrites PNG files to disk and also
        works with ConTeXt MKII.  Gnuplot needs to have support for PNG
        images built in for this to work.

        With [1mfont [22myou can set font name and size in standalone graph-
        ics.  In non-standalone ([1minput[22m) mode only the font size is im-
        portant to reserve enough space for text labels.  The command
             set term context font "myfont,ss,10"
        will result in
             \setupbodyfont[myfont,ss,10pt]
        If you additionally set [1mfontscale [22mto 0.8 for example, then the
        resulting font will be 8pt big and
             set label ... font "myfont,12"
        will come out as 9.6pt.

        It is your own responsibility to provide proper typescripts
        (and header), otherwise switching the font will have no effect.
        For a standard font in ConTeXt MKII (pdfTeX) you could use:
             set terminal context standalone header '\usetype-
        script[iwona][ec]' \
                 font "iwona,ss,11"
        Please take a look into ConTeXt documentation, wiki or mailing
        list (archives) for any up-to-date information about font us-
        age.

        Examples:
             set terminal context size 10cm, 5cm     # 10cm, 5cm
             set terminal context size 4in, 3in      # 4in, 3in
        For standalone (whole-page) plots with labels in UTF-8 encod-
        ing:
             set terminal context standalone header '\en-
        ableregime[utf-8]'





             [1m116.8.1.  Requirements[0m


             You need gnuplot module for ConTeXt
                  http://ctan.org/pkg/context-gnuplot










   GNUPLOT 5.4                                                      340


             and a recent version of ConTeXt.  If you want to call gnu-
             plot on-the-fly, you also need write18 enabled.  In most
             TeX distributions this can be set with shell_escape=t in
             texmf.cnf.

             See
                       http://wiki.contextgarden.net/Gnuplot
             for details about this terminal and for more exhaustive
             help & examples.




             [1m116.8.2.  Calling gnuplot from ConTeXt[0m


             The easiest way to make plots in ConTeXt documents is
                  \usemodule[gnuplot]
                  \starttext
                  \title{How to draw nice plots with {\sc gnuplot}?}
                  \startGNUPLOTscript[sin]
                  set format y "%.1f"
                  plot sin(x) t '$\sin(x)$'
                  \stopGNUPLOTscript
                  \useGNUPLOTgraphic[sin]
                  \stoptext
             This will run gnuplot automatically and include the re-
             sulting figure in the document.



        [1m116.9.  Corel[0m


        Legacy terminal for CorelDraw (circa 1995).

        Syntax:
              set terminal corel {monochrome | color} {"<font>" {<font-
        size>}}
                                 {<xsize> <ysize> {<linewidth> }}

        where the fontsize and linewidth are specified in points and
        the sizes in inches.  The defaults are monochrome, "Switzer-
        landLight", 22, 8.2, 10 and 1.2.



        [1m116.10.  Debug[0m


        This terminal is provided to allow for the debugging of [1mgnu-[0m
        [1mplot[22m.  It is likely to be of use only for users who are modify-
        ing the source code.










   GNUPLOT 5.4                                                      341


        [1m116.11.  Domterm[0m


        The [1mdomterm [22mterminal device runs on the DomTerm terminal emula-
        tor including the domterm and qtdomterm programs.  It supports
        SVG graphics embedded directly in the terminal output.  See
        http://domterm.org .

        Please read the help for the [1msvg [22mterminal.




        [1m116.12.  Dumb[0m


        The [1mdumb [22mterminal driver plots into a text block using ascii
        characters.  It has an optional size specification and a trail-
        ing linefeed flag.

        Syntax:
              set terminal dumb {size <xchars>,<ychars>} {[no]feed}
                                {aspect <htic>{,<vtic>}}
                                {[no]enhanced}
                                {mono|ansi|ansi256|ansirgb}

        where <xchars> and <ychars> set the size of the text block. The
        default is 79 by 24. The last newline is printed only if [1mfeed[0m
        is enabled.

        The [1maspect [22moption can be used to control the aspect ratio of
        the plot by setting the length of the horizontal and vertical
        tic marks. Only integer values are allowed. Default is 2,1 --
        corresponding to the aspect ratio of common screen fonts.

        The [1mansi[22m, [1mansi256[22m, and [1mansirgb [22moptions will include escape se-
        quences in the output to handle colors.  Note that these might
        not be handled by your terminal.  Default is [1mmono[22m.  To obtain
        the best color match in [1mansi [22mmode, you should use [1mset colorse-[0m
        [1mquence classic[22m.  Depending on the mode, the [1mdumb [22mterminal will
        emit the following sequences (without the additional white-
        space):

              ESC [ 0 m           reset attributes to defaults
              foreground color:
              ESC [ 1 m           set intense/bold
              ESC [ 22 m          intense/bold off
              ESC [ <fg> m        with color code 30 <= <fg> <= 37
              ESC [ 39 m          reset to default
              ESC [ 38; 5; <c> m  with palette index 16 <= <c> <= 255
              ESC [ 38; 2; <r>; <g>; <b> m  with components 0 <=
        <r,g,b> <= 255
              background color:










   GNUPLOT 5.4                                                      342


              ESC [ <bg> m        with color code 40 <= <bg> <= 47
              ESC [ 49 m          reset to default
              ESC [ 48; 5; <c> m  with palette index 16 <= <c> <= 231
              ESC [ 48; 2; <r>; <g>; <b> m  with components 0 <=
        <r,g,b> <= 255

        See also e.g. the description at
                  https://en.wikipedia.org/wiki/ANSI_escape_code#Colors

        Example:
              set term dumb mono size 60,15 aspect 1
              set tics nomirror scale 0.5
              plot [-5:6.5] sin(x) with impulse ls -1

                  1 +-------------------------------------------------+
                0.8 +|||++                   ++||||++                 |
                0.6 +|||||+                 ++|||||||+  sin(x) +----+ |
                0.4 +||||||+               ++|||||||||+               |
                0.2 +|||||||+             ++|||||||||||+             +|
                  0 ++++++++++++++++++++++++++++++++++++++++++++++++++|
               -0.2 +        +|||||||||||+              +|||||||||||+ |
               -0.4 +         +|||||||||+                +|||||||||+  |
               -0.6 +          +|||||||+                  +|||||||+   |
               -0.8 +           ++||||+                    ++||||+    |
                 -1 +---+--------+--------+-------+--------+--------+-+
                       -4       -2        0       2        4        6



        [1m116.13.  Dxf[0m


        Terminal driver [1mdxf [22mfor export to  AutoCad (Release 10.x).  It
        has no options. The default size is 120x80 AutoCad units.  [1mdxf[0m
        uses seven colors (white, red, yellow, green, cyan, blue and
        magenta) that can be changed only by modifying the source file.
        If a black-and-white plotting device is used the colors are
        mapped to differing line thicknesses.  Note: someone please up-
        date this terminal to the 2012 DXF standard!



        [1m116.14.  Dxy800a[0m


        Note: legacy terminal.  This terminal driver supports the
        Roland DXY800A plotter.  It has no options.
















   GNUPLOT 5.4                                                      343


        [1m116.15.  Eepic[0m


        Note: Legacy terminal (not built by default).  The latex, em-
        tex, eepic, and tpic terminals in older versions of gnuplot
        provided minimal support for graphics styles beyond simple
        lines and points.  They have been directly superseded by the
        [1mpict2e [22mterminal.  For more capable TeX/LaTeX compatible termi-
        nal types see [1mcairolatex[22m, [1mcontext[22m, [1mepslatex[22m, [1mmp[22m, [1mpstricks[22m, and
        [1mtikz[22m.

        The output of this terminal is intended for use with the
        "eepic.sty" macro package for LaTeX.  To use it, you need
        "eepic.sty", "epic.sty" and a DVI driver that supports the
        "tpic" \specials.  If your driver doesn't support those \spe-
        cials, "eepicemu.sty" will enable you to use some of them.
        dvips and dvipdfm do support the "tpic" \specials, pdflatex
        does not.

        Syntax:
           set terminal eepic {default} {color|monochrome|dashed}
                              {rotate} {size XX,YY}
                              {small|tiny|<fontsize>}

        [1mcolor [22mcauses gnuplot to produce \color{...} commands so that
        the graphs are colored. Using this option, you must include
        \usepackage{color} in the preamble of your latex document.

        [1mdashed [22mwill allow dashed line types; without this option, only
        solid lines with varying thickness will be used.  [1mdashed [22mand
        [1mcolor [22mare mutually exclusive; if [1mcolor [22mis specified, then
        [1mdashed [22mwill be ignored.

        [1mrotate [22mwill enable true rotated text (by 90 degrees). Other-
        wise, rotated text will be typeset with letters stacked above
        each other. If you use this option you must include \usepack-
        age{graphicx} in the preamble.

        [1msmall [22mwill use \scriptsize symbols as point markers. Default is
        to use the default math size. [1mtiny [22muses \scriptscriptstyle sym-
        bols.

        The default size of an eepic plot is 5x3 inches. You can change
        this using the [1msize [22mterminal option.

        <fontsize> is a number which specifies the font size inside the
        picture environment; the unit is pt (points), i.e., 10 pt
        equals approx. 3.5 mm.  If fontsize is not specified, then all
        text inside the picture will be set in \footnotesize.

        [1mdefault [22mresets all options to their defaults = no color, no
        dashed lines, pseudo-rotated (stacked) text, large point sym-
        bols.










   GNUPLOT 5.4                                                      344


        Notes:

        Remember to escape the # character (or other chars meaningful
        to (La-)TeX) by \\ (2 backslashes).

        It seems that dashed lines become solid lines when the vertices
        of a plot are too close. (I do not know if that is a general
        problem with the tpic specials, or if it is caused by a bug in
        eepic.sty or dvips/dvipdfm.)

        Points, among other things, are drawn using the LaTeX commands
        "\Diamond", "\Box", etc.  These commands no longer belong to
        the LaTeX2e core; they are included in the latexsym package,
        which is part of the base distribution and thus part of any La-
        TeX implementation. Please do not forget to use this package.
        Instead of latexsym, you can also include the amssymb package.

        All drivers for LaTeX offer a special way of controlling text
        positioning: If any text string begins with '{', you also need
        to include a '}' at the end of the text, and the whole text
        will be centered both horizontally and vertically.  If the text
        string begins with '[', you need to follow this with a position
        specification (up to two out of t,b,l,r), ']{', the text it-
        self, and finally '}'.  The text itself may be anything LaTeX
        can typeset as an LR-box.  '\rule{}{}'s may help for best posi-
        tioning.

        Examples:
               set term eepic
        output graphs as eepic macros inside a picture environment;
        \input the resulting file in your LaTeX document.
               set term eepic color tiny rotate 8
        eepic macros with \color macros, \scripscriptsize point mark-
        ers, true rotated text, and all text set with 8pt.

        About label positioning: Use gnuplot defaults (mostly sensible,
        but sometimes not really best):
               set title '\LaTeX\ -- $ \gamma $'
        Force centering both horizontally and vertically:
               set label '{\LaTeX\ -- $ \gamma $}' at 0,0
        Specify own positioning (top here):
               set xlabel '[t]{\LaTeX\ -- $ \gamma $}'
        The other label -- account for long ticlabels:
               set ylabel '[r]{\LaTeX\ -- $ \gamma $\rule{7mm}{0pt}}'



        [1m116.16.  Emf[0m


        The [1memf [22mterminal generates an Enhanced Metafile Format file.
        This file format is recognized by many Windows applications.











   GNUPLOT 5.4                                                      345


        Syntax:
              set terminal emf {color | monochrome}
                               {enhanced {noproportional}}
                               {rounded | butt}
                               {linewidth <LW>} {dashlength <DL>}
                               {size XX,YY} {background <rgb_color>}
                               {font "<fontname>{,<fontsize>}"}
                               {fontscale <scale>}

        In [1mmonochrome [22mmode successive line types cycle through dash
        patterns.  [1mlinewidth <factor> [22mmultiplies all line widths by
        this factor.  [1mdashlength <factor> [22mis useful for thick lines.
        <fontname> is the name of a font; and [1m<fontsize> [22mis the size of
        the font in points.

        The nominal size of the output image defaults to 1024x768 in
        arbitrary units. You may specify a different nominal size using
        the [1msize [22moption.

        Enhanced text mode tries to approximate proportional character
        spacing.  If you are using a monospaced font, or don't like the
        approximation, you can turn off this correction using the [1mno-[0m
        [1mproportional [22moption.

        The default settings are [1mcolor font "Arial,12" size 1024,768[0m
        Selecting [1mdefault [22msets all options to their default values.

        Examples:
              set terminal emf 'Times Roman Italic, 12'



        [1m116.17.  Emxvga[0m


        Note: legacy terminal.  The [1memxvga [22mand [1memxvesa [22mterminal drivers
        support PCs with SVGA, VESA SVGA and VGA graphics boards, re-
        spectively.  They are intended to be compiled with "emx-gcc"
        under either DOS or OS/2.  They also need VESA and SVGAKIT
        maintained by Johannes Martin (JMARTIN@GOOFY.ZDV.UNI-MAINZ.DE)
        with additions by David J. Liu (liu@phri.nyu.edu).

        Syntax:
              set terminal emxvga
              set terminal emxvesa {vesa-mode}

        The only option is the vesa mode for [1memxvesa[22m, which defaults to
        G640x480x256.















   GNUPLOT 5.4                                                      346


        [1m116.18.  Epscairo[0m


        The [1mepscairo [22mterminal device generates encapsulated PostScript
        (*.eps) using the cairo and pango support libraries.  cairo
        version >= 1.6 is required.

        Please read the help for the [1mpdfcairo [22mterminal.



        [1m116.19.  Epslatex[0m


        The [1mepslatex [22mdriver generates output for further processing by
        LaTeX.

        Syntax:
              set terminal epslatex   {default}
              set terminal epslatex   {standalone | input}
                                      {oldstyle | newstyle}
                                      {level1 | leveldefault | level3}
                                      {color | colour | monochrome}
                                      {background <rgbcolor> | noback-
        ground}
                                      {dashlength | dl <DL>}
                                      {linewidth | lw <LW>} {pointscale
        | ps <PS>}
                                      {rounded | butt}
                                      {clip | noclip}
                                      {palfuncparam <samples>{,<maxde-
        viation>}}
                                      {size <XX>{unit},<YY>{unit}}
                                      {header <header> | noheader}
                                      {blacktext | colortext | colour-
        text}
                                      {{font} "fontname{,fontsize}"
        {<fontsize>}}
                                      {fontscale <scale>}

        The epslatex terminal prints a plot as [1mterminal postscript eps[0m
        but transfers the texts to LaTeX instead of including in the
        PostScript code. Thus, many options are the same as in the
        [1mpostscript terminal[22m.

        The appearance of the epslatex terminal changed between ver-
        sions 4.0 and 4.2 to reach better consistency with the post-
        script terminal: The plot size has been changed from 5 x 3
        inches to 5 x 3.5 inches; the character width is now estimated
        to be 60% of the font size while the old epslatex terminal used
        50%;  now, the larger number of postscript linetypes and sym-
        bols are used.  To reach an appearance that is nearly identical
        to the old one specify the option [1moldstyle[22m. (In fact some small










   GNUPLOT 5.4                                                      347


        differences remain: the symbol sizes are slightly different,
        the tics are half as large as in the old terminal which can be
        changed using [1mset tics scale[22m, and the arrows have all features
        as in the postscript terminal.)

        If you see the error message
              "Can't find PostScript prologue file ... "
        Please see and follow the instructions in [1mpostscript prologue[22m.

        The option [1mcolor [22menables color, while [1mmonochrome [22mprefers black
        and white drawing elements. Further, [1mmonochrome [22muses gray [1mpal-[0m
        [1mette [22mbut it does not change color of objects specified with an
        explicit [1mcolorspec[22m.  [1mdashlength [22mor [1mdl [22mscales the length of
        dashed-line segments by <DL>, which is a floating-point number
        greater than zero.  [1mlinewidth [22mor [1mlw [22mscales all linewidths by
        <LW>.

        By default the generated PostScript code uses language features
        that were introduced in PostScript Level 2, notably filters and
        pattern-fill of irregular objects such as filledcurves.  Post-
        Script Level 2 features are conditionally protected so that
        PostScript Level 1 interpreters do not issue errors but,
        rather, display a message or a PostScript Level 1 approxima-
        tion.  The [1mlevel1 [22moption substitutes PostScript Level 1 approx-
        imations of these features and uses no PostScript Level 2 code.
        This may be required by some old printers and old versions of
        Adobe Illustrator.  The flag [1mlevel1 [22mcan be toggled later by
        editing a single line in the PostScript output file to force
        PostScript Level 1 interpretation.  In the case of files con-
        taining level 2 code, the above features will not appear or
        will be replaced by a note when this flag is set or when the
        interpreting program does not indicate that it understands
        level 2 PostScript or higher. The flag [1mlevel3 [22menables PNG en-
        coding for bitmapped images, which can reduce the output size
        considerably.

        [1mrounded [22msets line caps and line joins to be rounded; [1mbutt [22mis
        the default, butt caps and mitered joins.

        [1mclip [22mtells PostScript to clip all output to the bounding box;
        [1mnoclip [22mis the default.

        [1mpalfuncparam [22mcontrols how [1mset palette functions [22mare encoded as
        gradients in the output. Analytic color component functions
        (set via [1mset palette functions[22m) are encoded as linear interpo-
        lated gradients in the postscript output:  The color component
        functions are sampled at <samples> points and all points are
        removed from this gradient which can be removed without chang-
        ing the resulting colors by more than <maxdeviation>. For al-
        most every useful palette you may safely leave the defaults of
        <samples>=2000 and <maxdeviation>=0.003 untouched.

        The default size for postscript output is 10 inches x 7 inches.










   GNUPLOT 5.4                                                      348


        The default for eps output is 5 x 3.5 inches.  The [1msize [22moption
        changes this to whatever the user requests. By default the X
        and Y sizes are taken to be in inches, but other units are pos-
        sibly (currently only cm). The BoundingBox of the plot is cor-
        rectly adjusted to contain the resized image.  Screen coordi-
        nates always run from 0.0 to 1.0 along the full length of the
        plot edges as specified by the [1msize [22moption.  NB: [1mthis is a[0m
        [1mchange from the previously recommended method of using the set[0m
        [1msize command prior to setting the terminal type[22m.  The old
        method left the BoundingBox unchanged and screen coordinates
        did not correspond to the actual limits of the plot.

        [1mblacktext [22mforces all text to be written in black even in color
        mode;

        The epslatex driver offers a special way of controlling text
        positioning: (a) If any text string begins with '{', you also
        need to include a '}' at the end of the text, and the whole
        text will be centered both horizontally and vertically by La-
        TeX.  (b) If the text string begins with '[', you need to con-
        tinue it with: a position specification (up to two out of
        t,b,l,r,c), ']{', the text itself, and finally, '}'. The text
        itself may be anything LaTeX can typeset as an LR-box.
        \rule{}{}'s may help for best positioning.  See also the docu-
        mentation for the [1mpslatex [22mterminal driver.  To create multiline
        labels, use \shortstack, for example
           set ylabel '[r]{\shortstack{first line \\ second line}}'

        The [1mback [22moption of [1mset label [22mcommands is handled slightly dif-
        ferent than in other terminals. Labels using 'back' are printed
        behind all other elements of the plot while labels using
        'front' are printed above everything else.

        The driver produces two different files, one for the eps part
        of the figure and one for the LaTeX part. The name of the LaTeX
        file is taken from the [1mset output [22mcommand. The name of the eps
        file is derived by replacing the file extension (normally [1m.tex[22m)
        with [1m.eps [22minstead.  There is no LaTeX output if no output file
        is given!  Remember to close the [1moutput file [22mbefore next plot
        unless in [1mmultiplot [22mmode.

        In your LaTeX documents use '\input{filename}' to include the
        figure.  The [1m.eps [22mfile is included by the command \include-
        graphics{...}, so you must also include \usepackage{graphicx}
        in the LaTeX preamble.  If you want to use coloured text (op-
        tion [1mtextcolour[22m) you also have to include \usepackage{color} in
        the LaTeX preamble.

        Pdf files can be made from the eps file using 'epstopdf'. If
        the graphics package is properly configured, the LaTeX files
        can also be processed by pdflatex without changes, using the
        pdf files instead of the eps files.  The behaviour concerning
        font selection depends on the header mode.  In all cases, the










   GNUPLOT 5.4                                                      349


        given font size is used for the calculation of proper spacing.
        When not using the [1mstandalone [22mmode the actual LaTeX font and
        font size at the point of inclusion is taken, so use LaTeX com-
        mands for changing fonts. If you use e.g. 12pt as font size for
        your LaTeX document, use '"" 12' as options. The font name is
        ignored. If using [1mstandalone [22mthe given font and font size are
        used, see below for a detailed description.

        If text is printed coloured is controlled by the TeX booleans
        \ifGPcolor and \ifGPblacktext. Only if \ifGPcolor is true and
        \ifGPblacktext is false, text is printed coloured. You may ei-
        ther change them in the generated TeX file or provide them
        globally in your TeX file, for example by using
           \newif\ifGPblacktext
           \GPblacktexttrue
        in the preamble of your document. The local assignment is only
        done if no global value is given.

        When using the epslatex terminal give the name of the TeX file
        in the [1mset output [22mcommand including the file extension (nor-
        mally ".tex").  The eps filename is generated by replacing the
        extension by ".eps".

        If using the [1mstandalone [22mmode a complete LaTeX header is added
        to the LaTeX file; and "-inc" is added to the filename of the
        eps file.  The [1mstandalone [22mmode generates a TeX file that pro-
        duces output with the correct size when using dvips, pdfTeX, or
        VTeX.  The default, [1minput[22m, generates a file that has to be in-
        cluded into a LaTeX document using the \input command.

        If a font other than "" or "default" is given it is interpreted
        as LaTeX font name.  It contains up to three parts, separated
        by a comma: 'fontname,fontseries,fontshape'.  If the default
        fontshape or fontseries are requested, they can be omitted.
        Thus, the real syntax for the fontname is '[font-
        name][,fontseries][,fontshape]'.  The naming convention for all
        parts is given by the LaTeX font scheme.  The fontname is 3 to
        4 characters long and is built as follows: One character for
        the font vendor, two characters for the name of the font, and
        optionally one additional character for special fonts, e.g.,
        'j' for fonts with old-style numerals or 'x' for expert fonts.
        The names of many fonts is described in
                  http://www.tug.org/fontname/fontname.pdf
        For example, 'cmr' stands for Computer Modern Roman, 'ptm' for
        Times-Roman, and 'phv' for Helvetica.  The font series denotes
        the thickness of the glyphs, in most cases 'm' for normal
        ("medium") and 'bx' or 'b' for bold fonts.  The font shape is
        'n' for upright, 'it' for italics, 'sl' for slanted, or 'sc'
        for small caps, in general.  Some fonts may provide different
        font series or shapes.

        Examples:











   GNUPLOT 5.4                                                      350


        Use Times-Roman boldface (with the same shape as in the sur-
        rounding text):
              set terminal epslatex 'ptm,bx'
        Use Helvetica, boldface, italics:
              set terminal epslatex 'phv,bx,it'
        Continue to use the surrounding font in slanted shape:
              set terminal epslatex ',,sl'
        Use small capitals:
              set terminal epslatex ',,sc'

        By this method, only text fonts are changed. If you also want
        to change the math fonts you have to use the "gnuplot.cfg" file
        or the [1mheader [22moption, described below.

        In standalone mode, the font size is taken from the given font
        size in the [1mset terminal [22mcommand. To be able to use a specified
        font size, a file "size<size>.clo" has to reside in the LaTeX
        search path.  By default, 10pt, 11pt, and 12pt are supported.
        If the package "extsizes" is installed, 8pt, 9pt, 14pt, 17pt,
        and 20pt are added.

        The [1mheader [22moption takes a string as argument.  This string is
        written into the generated LaTeX file.  If using the [1mstandalone[0m
        mode, it is written into the preamble, directly before the \be-
        gin{document} command.  In the [1minput [22mmode, it is placed di-
        rectly after the \begingroup command to ensure that all set-
        tings are local to the plot.

        Examples:

        Use T1 fontencoding, change the text and math font to Times-Ro-
        man as well as the sans-serif font to Helvetica:
            set terminal epslatex standalone header \
            "\\usepackage[T1]{fontenc}\n\\usepackage{mathptmx}\n\\usep-
        ackage{helvet}"
        Use a boldface font in the plot, not influencing the text out-
        side the plot:
            set terminal epslatex input header "\\bfseries"

        If the file "gnuplot.cfg" is found by LaTeX it is input in the
        preamble the LaTeX document, when using [1mstandalone [22mmode.  It
        can be used for further settings, e.g., changing the document
        font to Times-Roman, Helvetica, and Courier, including math
        fonts (handled by "mathptmx.sty"):
              \usepackage{mathptmx}
              \usepackage[scaled=0.92]{helvet}
              \usepackage{courier}
        The file "gnuplot.cfg" is loaded before the header information
        given by the [1mheader [22mcommand.  Thus, you can use [1mheader [22mto over-
        write some of settings performed using "gnuplot.cfg"













   GNUPLOT 5.4                                                      351


        [1m116.20.  Epson_180dpi[0m


        Note: only available if gnuplot is configured --with-bitmap-
        terminals.  This driver supports a family of Epson printers and
        derivatives.

        [1mepson_180dpi [22mand [1mepson_60dpi [22mare drivers for Epson LQ-style
        24-pin printers with resolutions of 180 and 60 dots per inch,
        respectively.

        [1mepson_lx800 [22mis a generic 9-pin driver appropriate for printers
        like the Epson LX-800, the Star NL-10 and NX-1000, the PRO-
        PRINTER, and so forth.

        [1mnec_cp6 [22mis generic 24-pin driver that can be used for printers
        like the NEC CP6 and the Epson LQ-800.

        The [1mokidata [22mdriver supports the 9-pin OKIDATA 320/321 Standard
        printers.

        The [1mstarc [22mdriver is for the Star Color Printer.

        The [1mtandy_60dpi [22mdriver is for the Tandy DMP-130 series of
        9-pin, 60-dpi printers.

        The [1mdpu414 [22mdriver is for the Seiko DPU-414 thermal printer.

        [1mnec_cp6 [22mhas the options:

        Syntax:
              set terminal nec_cp6 {monochrome | colour | draft}

        which defaults to monochrome.

        [1mdpu414 [22mhas the options:

        Syntax:
              set terminal dpu414 {small | medium | large} {normal |
        draft}

        which defaults to medium (=font size) and normal.  Preferred
        combinations are [1mmedium normal [22mand [1msmall draft[22m.




        [1m116.21.  Excl[0m


        Note: legacy terminal.  The [1mexcl [22mterminal driver supports Ta-
        laris printers such as the EXCL Laser printer and the 1590.  It
        has no options.










   GNUPLOT 5.4                                                      352


        [1m116.22.  Fig[0m


        The [1mfig [22mterminal device generates output in the Fig graphics
        language for import into the xfig interactive drawing tool.
        Notes:
              The fig terminal was significantly revised in gnuplot
        version 5.3.
              Currently only version 3.2 of the fig file format is sup-
        ported.
              Use of dash patterns may require Xfig 3.2.6 or newer.

        Syntax:
              set terminal fig {monochrome | color}
                               {small | big | size
        <xsize>{in|cm},<ysize>{in|cm}}
                               {landscape | portrait}
                               {font "<fontname>{,<fontsize>}"} {font-
        size <size>}
                               {textnormal | {textspecial texthidden
        textrigid}}
                               {{linewidth|lw} <multiplier>}

        The default settings are
              set term fig color small landscape font "Times Roman,10"
        lw 1.0

        [1msize [22msets the size of the drawing area to <xsize>*<ysize> in
        units of inches (default) or centimeters. The default is [1msize[0m
        [1m5in,3in[22m.  [1msmall [22mis shorthand for [1msize 5in,3in [22m(3in,5in in por-
        trait mode).  [1mbig [22mis shorthand for [1msize 8in,5in[22m.

        [1mfont [22msets the text font face to <fontname> and its size to
        <fontsize> points. Choice is limited to the 35 standard Post-
        Script fonts.  [1mtextnormal [22mresets the text flags and selects
        postscript fonts, [1mtextspecial [22msets the text flags for LaTeX
        specials, [1mtexthidden [22msets the hidden flag and [1mtextrigid [22mthe
        rigid flag.

        [1mlinewidth [22mis a multiplier for the linewidth property of all
        lines.

        Additional point-plot symbols are also available in the [1mfig[0m
        driver. The symbols can be used through [1mpointtype [22mvalues % 100
        above 50, with different fill intensities controlled by <point-
        type> % 5 and outlines in black (for <pointtype> % 10 < 5) or
        in the current color.  Available symbols are
                50 - 59:  circles
                60 - 69:  squares
                70 - 79:  diamonds
                80 - 89:  upwards triangles
                90 - 99:  downwards triangles
        The size of these symbols scales with the font size.










   GNUPLOT 5.4                                                      353


        RGB colors will be replaced with gray unless they have been de-
        fined in a linetype prior to plotting or match a known named
        color or palette value.  See [1mcolornames[22m.  E.g.
              set linetype 999 lc rgb '#aabbcc'
              plot $data with fillecurve fillcolor rgb '#aabbcc'




        [1m116.23.  Ggi[0m


        Legacy terminal driver for the GGI (General Graphics Interface)
        project.  Syntax:
           set terminal ggi [acceleration <integer>] [[mode] {mode}]

        In X the window cannot be resized using window manager handles,
        but the mode can be given with the mode option, e.g.:
         - V1024x768
         - V800x600
         - V640x480
         - V320x200
        Please refer to the ggi documentation for other modes. The
        'mode' keyword is optional. It is recommended to select the
        target by environment variables as explained in the libggi man-
        ual page. To get DGA on X, you should for example
           bash> export GGI_DISPLAY=DGA
           csh>  setenv GGI_DISPLAY DGA

        'acceleration' is only used for targets which report relative
        pointer motion events (e.g. DGA) and is a strictly positive in-
        teger multiplication factor for the relative distances.  The
        default for acceleration is 7.

        Examples:
           set term ggi acc 10
           set term ggi acc 1 mode V1024x768
           set term ggi V1024x768



        [1m116.24.  Gif[0m


        Syntax:
              set terminal gif
                     {{no}enhanced}
                     {{no}transparent} {rounded|butt}
                     {linewidth <lw>} {dashlength <dl>}
                     {tiny | small | medium | large | giant}
                     {font "<face> {,<pointsize>}"} {fontscale <scale>}
                     {size <x>,<y>} {{no}crop}
                     {background <rgb_color>}










   GNUPLOT 5.4                                                      354


                     {animate {delay <d>} {loop <n>} {optimize}}

        PNG, JPEG and GIF images are created using the external library
        libgd.  GIF plots may be viewed interactively by piping the
        output to the 'display' program from the ImageMagick package as
        follows:
                       set term gif
                       set output '| display gif:-'
        You can view the output from successive plot commands interac-
        tively by typing <space> in the display window.  To save the
        current plot to a file, left click in the display window and
        choose [1msave[22m.

        [1mtransparent [22minstructs the driver to make the background color
        transparent.  Default is [1mnotransparent[22m.

        The [1mlinewidth [22mand [1mdashlength [22moptions are scaling factors that
        affect all lines drawn, i.e. they are multiplied by values re-
        quested in various drawing commands.

        [1mbutt [22minstructs the driver to use a line drawing method that
        does not overshoot the desired end point of a line.  This set-
        ting is only applicable for line widths greater than 1.  This
        setting is most useful when drawing horizontal or vertical
        lines.  Default is [1mrounded[22m.

        The output plot size <x,y> is given in pixels---it defaults to
        640x480.  Please see additional information under [1mcanvas [22mand
        [1mset size[22m.  Blank space at the edges of the finished plot may be
        trimmed using the [1mcrop [22moption, resulting in a smaller final im-
        age size. Default is [1mnocrop[22m.





             [1m116.24.1.  Animate[0m



                   set term gif animate {delay <d>} {loop <n>} {{no}op-
             timize}}

             The gif terminal [1manimate [22moption creates a single gif file
             containing multiple frames. The delay between display of
             successive frames may be specified in units of 1/100 sec-
             ond (default 5), but this value may or may not be honored
             accurately by a program used to view the animation later.
             The number of animation loops during playback can be spec-
             ified, with the default of 0 meaning unlimited looping.
             Again this value may or may not be honored by the program
             later used for viewing.  An animation sequence is termi-
             nated by the next [1mset output [22mor [1mset term [22mcommand.










   GNUPLOT 5.4                                                      355


             The [1moptimize [22moption [DEPRECATED] is passed to the gd li-
             brary when the output file is opened. It has two effects
             on the animation.

             1) A single color map is used for the entire animation.
             This requires that all colors used in any frame of the an-
             imation are already defined in the first frame.

             2) If possible, only the portions of a frame that differ
             from the previous frame are stored in the animation file.
             This space saving may not be possible if the animation
             uses transparency.

             Both of these optimizations are intended to produce a
             smaller output file, but the decrease in size is probably
             only significant for long animations.  Caveat: The imple-
             mentation of optimization in libgd is known to be buggy.
             Therefore use of this option in gnuplot is not recom-
             mended.

             Example showing continuous rotation:
                  set term gif animate loop 0
                  set output 'rotating_surface.gif'
                  do for [ang=1:359] {
                      set view 60, ang
                      splot f(x,y) with pm3d
                  }
                  unset output




             [1m116.24.2.  Fonts[0m



             The details of font selection are complicated.  For more
             information please see the separate section under [1mfonts[0m
             [1mgd[22m.

             Examples:

                   set terminal gif medium noenhanced size 640,480
             background '#ffffff'

             Use the medium size built-in non-scaleable, non-rotatable
             font.  Enhanced text mode will not work with this font.
             Use white (24 bit RGB in hexadecimal) for the non-trans-
             parent background.

                   set terminal gif font arial 14

             Searches for a font with face name 'arial' and sets the










   GNUPLOT 5.4                                                      356


             font size to 14pt.




        [1m116.25.  Gpic[0m


        The [1mgpic [22mterminal driver generates GPIC graphs in the Free
        Software Foundations's "groff" package.  The default size is 5
        x 3 inches.  The only option is the origin, which defaults to
        (0,0).

        Syntax:
              set terminal gpic {<x> <y>}

        where [1mx [22mand [1my [22mare in inches.

        A simple graph can be formatted using

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

        The output from pic can be pipe-lined into eqn, so it is possi-
        ble to put complex functions in a graph with the [1mset label [22mand
        [1mset {x/y}label [22mcommands.  For instance,

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

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

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

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

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










   GNUPLOT 5.4                                                      357


              .PE

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

        One can also achieve the same thing by specifying x and y in
        the command

              set terminal gpic x y




        [1m116.26.  Grass[0m


        Note: legacy terminal.  The [1mgrass [22mterminal driver gives [1mgnuplot[0m
        capabilities to users of the GRASS geographic information sys-
        tem.  Contact grassp-list@moon.cecer.army.mil for more informa-
        tion.  Pages are written to the current frame of the GRASS
        Graphics Window.  There are no options.



        [1m116.27.  Hp2623a[0m


        The [1mhp2623a [22mterminal driver supports the Hewlett Packard
        HP2623A.  It has no options.



        [1m116.28.  Hp2648[0m


        The [1mhp2648 [22mterminal driver supports the Hewlett Packard HP2647
        and HP2648.  It has no options.



        [1m116.29.  Hp500c[0m


        Note: only available if gnuplot is configured --with-bitmap-
        terminals.  The [1mhp500c [22mterminal driver supports the Hewlett
        Packard HP DeskJet 500c.  It has options for resolution and
        compression.

        Syntax:
              set terminal hp500c {<res>} {<comp>}

        where [1mres [22mcan be 75, 100, 150 or 300 dots per inch and [1mcomp [22mcan
        be "rle", or "tiff".  Any other inputs are replaced by the










   GNUPLOT 5.4                                                      358


        defaults, which are 75 dpi and no compression.  Rasterization
        at the higher resolutions may require a large amount of memory.



        [1m116.30.  Hpgl[0m


        The [1mhpgl [22mdriver produces HPGL output for devices like the
        HP7475A plotter.  There are two options which can be set: the
        number of pens and [1meject[22m, which tells the plotter to eject a
        page when done.  The default is to use 6 pens and not to eject
        the page when done.

        The international character sets ISO-8859-1 and CP850 are rec-
        ognized via [1mset encoding iso_8859_1 [22mor [1mset encoding cp850 [22m(see
        [1mset encoding [22mfor details).

        Syntax:
              set terminal hpgl {<number_of_pens>} {eject}

        The selection

              set terminal hpgl 8 eject

        is equivalent to the previous [1mhp7550 [22mterminal, and the selec-
        tion

              set terminal hpgl 4

        is equivalent to the previous [1mhp7580b [22mterminal.  HPGL graphics
        can be imported by many software packages.



        [1m116.31.  Hpljii[0m


        Note: only available if gnuplot is configured --with-bitmap-
        terminals.  The [1mhpljii [22mterminal driver supports the HP Laserjet
        Series II printer.  The [1mhpdj [22mdriver supports the HP DeskJet 500
        printer.  These drivers allow a choice of resolutions.

        Syntax:
              set terminal hpljii | hpdj {<res>}

        where [1mres [22mmay be 75, 100, 150 or 300 dots per inch; the default
        is 75.  Rasterization at the higher resolutions may require a
        large amount of memory.

        The [1mhp500c [22mterminal is similar to [1mhpdj[22m; [1mhp500c [22madditionally
        supports color and compression.











   GNUPLOT 5.4                                                      359


        [1m116.32.  Hppj[0m


        Note: only available if gnuplot is configured --with-bitmap-
        terminals.  The [1mhppj [22mterminal driver supports the HP PaintJet
        and HP3630 printers.  The only option is the choice of font.

        Syntax:
              set terminal hppj {FNT5X9 | FNT9X17 | FNT13X25}

        with the middle-sized font (FNT9X17) being the default.



        [1m116.33.  Imagen[0m


        The [1mimagen [22mterminal driver supports Imagen laser printers.  It
        is capable of placing multiple graphs on a single page.

        Syntax:
              set terminal imagen {<fontsize>} {portrait | landscape}
                                  {[<horiz>,<vert>]}

        where [1mfontsize [22mdefaults to 12 points and the layout defaults to
        [1mlandscape[22m.  [1m<horiz> [22mand [1m<vert> [22mare the number of graphs in the
        horizontal and vertical directions; these default to unity.

        Example:
              set terminal imagen portrait [2,3]

        puts six graphs on the page in three rows of two in portrait
        orientation.



        [1m116.34.  Jpeg[0m


        Syntax:
              set terminal jpeg
                     {{no}enhanced}
                     {{no}interlace}
                     {linewidth <lw>} {dashlength <dl>} {rounded|butt}
                     {tiny | small | medium | large | giant}
                     {font "<face> {,<pointsize>}"} {fontscale <scale>}
                     {size <x>,<y>} {{no}crop}
                     {background <rgb_color>}

        PNG, JPEG and GIF images are created using the external library
        libgd.  In most cases, PNG is to be preferred for single plots,
        and GIF for animations.  Both are loss-less image formats, and
        produce better image quality than the lossy JPEG format. This










   GNUPLOT 5.4                                                      360


        is in particular noticeable for solid color lines against a
        solid background, i.e. exactly the sort of image typically cre-
        ated by gnuplot.

        The [1minterlace [22moption creates a progressive JPEG image.  Default
        is [1mnointerlace[22m.

        The [1mlinewidth [22mand [1mdashlength [22moptions are scaling factors that
        affect all lines drawn, i.e. they are multiplied by values re-
        quested in various drawing commands.

        [1mbutt [22minstructs the driver to use a line drawing method that
        does not overshoot the desired end point of a line.  This set-
        ting is only applicable for line widths greater than 1.  This
        setting is most useful when drawing horizontal or vertical
        lines.  Default is [1mrounded[22m.

        The details of font selection are complicated.  Two equivalent
        simple examples are given below:
             set term jpeg font arial 11
             set term jpeg font "arial,11"
        For more information please see the separate section under
        [1mfonts[22m.

        The output plot size <x,y> is given in pixels---it defaults to
        640x480.  Please see additional information under [1mcanvas [22mand
        [1mset size[22m.  Blank space at the edges of the finished plot may be
        trimmed using the [1mcrop [22moption, resulting in a smaller final im-
        age size. Default is [1mnocrop[22m.




        [1m116.35.  Kyo[0m


        The [1mkyo [22mand [1mprescribe [22mterminal drivers support the Kyocera
        laser printer.  The only difference between the two is that [1mkyo[0m
        uses "Helvetica" whereas [1mprescribe [22muses "Courier".  There are
        no options.



        [1m116.36.  Latex[0m


        Note: Legacy terminal (not built by default).  The latex, em-
        tex, eepic, and tpic terminals in older versions of gnuplot
        provided minimal support for graphics styles beyond simple
        lines and points.  They have been directly superseded by the
        [1mpict2e [22mterminal.  For more capable TeX/LaTeX compatible termi-
        nal types see [1mcairolatex[22m, [1mcontext[22m, [1mepslatex[22m, [1mmp[22m, [1mpstricks[22m, and
        [1mtikz[22m.










   GNUPLOT 5.4                                                      361


        Syntax:
              set terminal {latex | emtex} {default | {courier|roman}
        {<fontsize>}}
                           {size <XX>{unit}, <YY>{unit}} {rotate |
        norotate}
                           {color | monochrome}

        By default the plot will inherit font settings from the embed-
        ding document.  You have the option of forcing either Courier
        (cmtt) or Roman (cmr) fonts instead. In this case you may also
        specify a fontsize.  Unless your driver is capable of building
        fonts at any size (e.g. dvips), stick to the standard 10, 11
        and 12 point sizes.

        METAFONT users beware: METAFONT does not like odd sizes.

        All drivers for LaTeX offer a special way of controlling text
        positioning: If any text string begins with '{', you also need
        to include a '}' at the end of the text, and the whole text
        will be centered both horizontally and vertically.  If the text
        string begins with '[', you need to follow this with a position
        specification (up to two out of t,b,l,r), ']{', the text it-
        self, and finally '}'.  The text itself may be anything LaTeX
        can typeset as an LR-box.  '\rule{}{}'s may help for best posi-
        tioning.

        Points, among other things, are drawn using the LaTeX commands
        "\Diamond" and "\Box".  These commands no longer belong to the
        LaTeX2e core; they are included in the latexsym package, which
        is part of the base distribution and thus part of any LaTeX im-
        plementation.  Please do not forget to use this package.  Other
        point types use symbols from the amssymb package.

        The default size for the plot is 5 inches by 3 inches. The [1msize[0m
        option changes this to whatever the user requests. By default
        the X and Y sizes are taken to be in inches, but other units
        are possible (currently only cm).

        If [1mrotate [22mis specified, rotated text, especially a rotated y-
        axis label, is possible (the packages graphics or graphicx are
        needed). The 'stacked' y-axis label mechanism is then deacti-
        vated. This will also significantly improve the quality of line
        drawing, and is default since version 5.3.

        The option [1mcolor [22menables color, while [1mmonochrome [22muses only
        black and white drawing elements. You need to load the color or
        xcolor package in the preamble of your latex document.

        Examples: About label positioning: Use gnuplot defaults (mostly
        sensible, but sometimes not really best):
               set title '\LaTeX\ -- $ \gamma $'
        Force centering both horizontally and vertically:
               set label '{\LaTeX\ -- $ \gamma $}' at 0,0










   GNUPLOT 5.4                                                      362


        Specify own positioning (top here):
               set xlabel '[t]{\LaTeX\ -- $ \gamma $}'
        The other label -- account for long ticlabels:
               set ylabel '[r]{\LaTeX\ -- $ \gamma $\rule{7mm}{0pt}}'



        [1m116.37.  Linux console[0m


        Older gnuplot versions required special terminals [1mlinux [22mor
        [1mvgagl [22min order to display graphics on the linux console, i.e.
        in the absence of X11 or other windowing environment.  These
        terminals have been deprecated.

        The recommended way to run gnuplot from the linux console is
        now to use a console terminal emulator such as yaft
        (https://github.com/uobikiemukot/yaft) that supports sixel
        graphics.  With yaft as your console terminal you can run gnu-
        plot and select a terminal with sixel output. See [1msixelgd[22m.  As
        a fall-back option you could use [1mset term dumb[22m, but sixel
        graphics are much nicer.



        [1m116.38.  Lua[0m


        The [1mlua [22mgeneric terminal driver works in conjunction with an
        external Lua script to create a target-specific plot file.
        Currently the only supported target is TikZ -> pdflatex.

        Information about Lua is available at http://www.lua.org .

        Syntax:
           set terminal lua <target name> | "<file name>"
                               {<script_args> ...}
                               {help}

        A 'target name' or 'file name' (in quotes) for a script is
        mandatory.  If a 'target name' for the script is given, the
        terminal will look for "gnuplot-<target name>.lua" in the local
        directory and on failure in the environmental variable GNU-
        PLOT_LUA_DIR.

        All arguments will be provided to the selected script for fur-
        ther evaluation. E.g. 'set term lua tikz help' will cause the
        script itself to print additional help on options and choices
        for the script.














   GNUPLOT 5.4                                                      363


             [1m116.38.1.  Lua tikz[0m


             The TikZ driver is one output mode of the generic Lua ter-
             minal.

             Syntax:
                 set terminal lua tikz

                  {latex | tex | context}
                  {color | monochrome}
                  {nooriginreset | originreset}
                  {nogparrows | gparrows}
                  {nogppoints | gppoints}
                  {picenvironment | nopicenvironment}
                  {noclip | clip}
                  {butt}
                  {notightboundingbox | tightboundingbox}
                  {background "<colorpec>"}
                  {size <x>{unit},<y>{unit}}
                  {scale <x>,<y>}
                  {plotsize <x>{unit},<y>{unit}}
                  {charsize <x>{unit},<y>{unit}}
                  {font "<fontdesc>"}
                  {{fontscale | textscale} <scale>}
                  {dashlength | dl <DL>}
                  {linewidth | lw <LW>}
                  {nofulldoc | nostandalone | fulldoc | standalone}
                  {{preamble | header} "<preamble_string>"}
                  {tikzplot <ltn>,...}
                  {notikzarrows | tikzarrows}
                  {rgbimages | cmykimages}
                  {noexternalimages|externalimages}
                  {bitmap | nobitmap}
                  {providevars <var name>,...}
                  {createstyle}
                  {help}

             For all options that expect lengths as their arguments
             they will default to 'cm' if no unit is specified. For all
             lengths the following units may be used: 'cm', 'mm', 'in'
             or 'inch', 'pt', 'pc', 'bp', 'dd', 'cc'. Blanks between
             numbers and units are not allowed.

             'monochrome' disables line coloring and switches to
             grayscaled fills.

             'originreset' moves the origin of the TikZ picture to the
             lower left corner of the plot. It may be used to align
             several plots within one tikzpicture environment. This is
             not tested with multiplots and pm3d plots!

             'gparrows' use gnuplot's internal arrow drawing function










   GNUPLOT 5.4                                                      364


             instead of the ones provided by TikZ.

             'gppoints' use gnuplot's internal plotmark drawing func-
             tion instead of the ones provided by TikZ.

             'nopicenvironment' omits the declaration of the 'tikzpic-
             ture' environment in order to set it manually. This per-
             mits putting some PGF/TikZ code directly before or after
             the plot.

             'clip' crops the plot at the defined canvas size. Default
             is 'noclip' by which only a minimum bounding box of the
             canvas size is set. Neither a fixed bounding box nor a
             crop box is set if the 'plotsize' or 'tightboundingbox'
             option is used.

             'butt' changes the linecap property to "butt" and the
             linejoin property to "miter".  The defaults are "round"
             and "round".

             If 'tightboundingbox' is set the 'clip' option is ignored
             and the final bounding box is the natural bounding box
             calculated by tikz.

             'background' sets the background color to the value speci-
             fied in the <colorpec> argument. <colorspec> must be a
             valid color name or a 3 byte RGB code as a hexadecimal
             number with a preceding number sign ('#'). E.g. '#ff0000'
             specifies pure red. If omitted the background is transpar-
             ent.

             The 'size' option expects two lengths <x> and <y> as the
             canvas size. The default size of the canvas is 12.5cm x
             8.75cm.

             The 'scale' option works similar to the 'size' option but
             expects scaling factors <x> and <y> instead of lengths.

             The 'plotsize' option permits setting the size of the plot
             area instead of the canvas size, which is the usual gnu-
             plot behaviour.  Using this option may lead to slightly
             asymmetric tic lengths.  Like 'originreset' this option
             may not lead to convenient results if used with multiplots
             or pm3d plots. An alternative approach is to set all mar-
             gins to zero and to use the 'noclip' option.  The plot
             area has then the dimensions of the given canvas sizes.

             The 'charsize' option expects the average horizontal and
             vertical size of the used font. Look at the generated
             style file for an example of how to use it from within
             your TeX document.

             'fontscale' or 'textscale' expects a scaling factor as a










   GNUPLOT 5.4                                                      365


             parameter.  All texts in the plot are scaled by this fac-
             tor then.

             'dashlength' or 'dl' scales the length of dashed-line seg-
             ments by <DL>, which is a floating-point number greater
             than zero. 'linewidth' or 'lw' scales all linewidths by
             <LW>.

             The options 'tex', 'latex' and 'context' choose the TeX
             output format. LaTeX is the default. To load the style
             file put the according line at the beginning of your docu-
             ment:
               \input gnuplot-lua-tikz.tex    % (for plain TeX)
               \usepackage{gnuplot-lua-tikz}  % (for LaTeX)
               \usemodule[gnuplot-lua-tikz]   % (for ConTeXt)

             'createstyle' derives the TeX/LaTeX/ConTeXt styles from
             the script and writes them to the appropriate files.

             'fulldoc' or 'standalone' produces a full LaTeX document
             for direct compilation.

             'preamble' or 'header' may be used to put any additional
             LaTeX code into the document preamble in standalone mode.

             With the 'tikzplot' option the '\path plot' command will
             be used instead of only '\path'. The following list of
             numbers of linetypes (<ltn>,...) defines the affected
             plotlines. There exists a plotstyle for every linetype.
             The default plotstyle is 'smooth' for every linetype >= 1.

             By default the tikz terminal produces simple LaTeX arrows.
             To produce arrows in accord with gnuplot's 'arrowstyle'
             settings, use the 'gparrows' option.  The 'tikzarrows' op-
             tion is a third alternative that bypasses both of these.
             Instead the arrowstyle 'angle' parameter is used to index
             a set of 12 pre-defined TikZ arrow styles.  E.g. an arrow
             style with the angle '7' will be mapped to the TikZ style
             'gp arrow 7' ignoring all other arrowstyle settings.

             With 'cmykimages' the CMYK color model will be used for
             inline image data instead of the RGB model. All other col-
             ors (like line colors etc.) are not affected by this op-
             tion, since they are handled e.g. by LaTeX's xcolor pack-
             age. This option is ignored if images are externalized.

             By using the 'externalimages' option all bitmap images
             will be written as external PNG images and included at
             compile time of the document.  Generating DVI and later
             postscript files requires to convert the PNGs into EPS
             files in a separate step e.g. by using ImageMagick's [1mcon-[0m
             [1mvert[22m.  Transparent bitmap images are always generated as
             an external PNGs.










   GNUPLOT 5.4                                                      366


             The 'nobitmap' option let images be rendered as filled
             rectangles instead of the nativ PS or PDF inline image
             format. This option is ignored if images are externalized.

             The 'providevars' options makes gnuplot's internal and
             user variables available by using the '\gpgetvar{<var
             name>}' command within the TeX script. Use gnuplot's 'show
             variables all' command to see the list of valid variables.

             The <fontdesc> string may contain any valid TeX/LaTeX/Con-
             TeXt font commands like e.g. '\small'. It is passed di-
             rectly as a node parameter in form of "font={<fontdesc>}".
             This can be 'misused' to add further code to a node, e.g.
             '\small,yshift=1ex' or ',yshift=1ex' are also valid while
             the latter does not change the current font settings. One
             exception is the second argument of the list. If it is a
             number of the form <number>{unit} it will be interpreted
             as a fontsize like in other terminals and will be appended
             to the first argument. If the unit is omitted the value is
             interpreted as 'pt'. As an example the string '\sffam-
             ily,12,fill=red' sets the font to LaTeX's sans serif font
             at a size of 12pt and red background color.  The same ap-
             plies to ConTeXt, e.g. '\switchtobodyfont[iwona],10'
             changes the font to Iwona at a size of 10pt.  Plain TeX
             users have to change the font size explicitly within the
             first argument. The second should be set to the same value
             to get proper scaling of text boxes.

             Strings have to be put in single or double quotes. Double
             quoted strings may contain special characters like new-
             lines '\n' etc.




        [1m116.39.  Mf[0m


        The [1mmf [22mterminal driver creates an input file to the METAFONT
        program.  Thus a figure may be used in the TeX document in the
        same way as is a character.

        To use a picture in a document, the METAFONT program must be
        run with the output file from [1mgnuplot [22mas input.  Thus, the user
        needs a basic knowledge of the font creating process and the
        procedure for including a new font in a document.  However, if
        the METAFONT program is set up properly at the local site, an
        unexperienced user could perform the operation without much
        trouble.

        The text support is based on a METAFONT character set.  Cur-
        rently the Computer Modern Roman font set is input, but the
        user is in principal free to choose whatever fonts he or she










   GNUPLOT 5.4                                                      367


        needs.  The METAFONT source files for the chosen font must be
        available.  Each character is stored in a separate picture
        variable in METAFONT.  These variables may be manipulated (ro-
        tated, scaled etc.) when characters are needed.  The drawback
        is the interpretation time in the METAFONT program.  On some
        machines (i.e. PC) the limited amount of memory available may
        also cause problems if too many pictures are stored.

        The [1mmf [22mterminal has no options.




             [1m116.39.1.  METAFONT Instructions[0m



             - Set your terminal to METAFONT:
               set terminal mf
             - Select an output-file, e.g.:
               set output "myfigures.mf"
             - Create your pictures. Each picture will generate a sepa-
             rate character. Its default size will be 5*3 inches. You
             can change the size by saying [1mset size 0.5,0.5 [22mor whatever
             fraction of the default size you want to have.

             - Quit [1mgnuplot[22m.

             - Generate a TFM and GF file by running METAFONT on the
             output of [1mgnuplot[22m.  Since the picture is quite large (5*3
             in), you will have to use a version of METAFONT that has a
             value of at least 150000 for memmax.  On Unix systems
             these are conventionally installed under the name bigmf.
             For the following assume that the command virmf stands for
             a big version of METAFONT.  For example:

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










   GNUPLOT 5.4                                                      368


             myfigures.tfm and myfigures.300gf.

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

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

             This conversion saves you a lot of time once you have gen-
             erated the font; TeX handles the pictures as characters
             and uses minimal time to place them, and the documents you
             make change more often than the pictures do.  It also
             saves a lot of TeX memory.  One last advantage of using
             the METAFONT driver is that the DVI file really remains
             device independent, because no \special commands are used
             as in the eepic and tpic drivers.



        [1m116.40.  Mif[0m


        Note: Legacy terminal.  The [1mmif [22mterminal driver produces Frame
        Maker MIF format version 3.00.  It plots in MIF Frames with the
        size 15*10 cm, and plot primitives with the same pen will be
        grouped in the same MIF group.  Plot primitives in a [1mgnuplot[0m
        page will be plotted in a MIF Frame, and several MIF Frames are
        collected in one large MIF Frame.  The MIF font used for text
        is "Times".

        Several options may be set in the MIF 3.00 driver.










   GNUPLOT 5.4                                                      369


        Syntax:
              set terminal mif {color | colour | monochrome} {polyline
        | vectors}
                               {help | ?}

        [1mcolour [22mplots lines with line types >= 0 in colour (MIF sep.
        2--7) and [1mmonochrome [22mplots all line types in black (MIF sep.
        0).  [1mpolyline [22mplots curves as continuous curves and [1mvectors[0m
        plots curves as collections of vectors.  [1mhelp [22mand [1m? [22mprint on-
        line help on standard error output---both print a short de-
        scription of the usage; [1mhelp [22malso lists the options.

        Examples:
              set term mif colour polylines    # defaults
              set term mif                     # defaults
              set term mif vectors
              set term mif help



        [1m116.41.  Mp[0m



        The [1mmp [22mdriver produces output intended to be input to the Meta-
        post program.  Running Metapost on the file creates EPS files
        containing the plots. By default, Metapost passes all text
        through TeX.  This has the advantage of allowing essentially
        any TeX symbols in titles and labels.

        Syntax:
           set term mp {color | colour | monochrome}
                       {solid | dashed}
                       {notex | tex | latex}
                       {magnification <magsize>}
                       {psnfss | psnfss-version7 | nopsnfss}
                       {prologues <value>}
                       {a4paper}
                       {amstex}
                       {"<fontname> {,<fontsize>}"}

        The option [1mcolor [22mcauses lines to be drawn in color (on a
        printer or display that supports it), [1mmonochrome [22m(or nothing)
        selects black lines.  The option [1msolid [22mdraws solid lines, while
        [1mdashed [22m(or nothing) selects lines with different patterns of
        dashes.  If [1msolid [22mis selected but [1mcolor [22mis not, nearly all
        lines will be identical.  This may occasionally be useful, so
        it is allowed.

        The option [1mnotex [22mbypasses TeX entirely, therefore no TeX code
        can be used in labels under this option.  This is intended for
        use on old plot files or files that make frequent use of common
        characters like [1m$ [22mand [1m% [22mthat require special handling in TeX.










   GNUPLOT 5.4                                                      370


        The option [1mtex [22msets the terminal to output its text for TeX to
        process.

        The option [1mlatex [22msets the terminal to output its text for pro-
        cessing by LaTeX. This allows things like \frac for fractions
        which LaTeX knows about but TeX does not.  Note that you must
        set the environment variable TEX to the name of your LaTeX exe-
        cutable (normally latex) if you use this option or use [1mmpost[0m
        [1m--tex=<name of LaTeX executable> ...[22m. Otherwise metapost will
        try and use TeX to process the text and it won't work.

        Changing font sizes in TeX has no effect on the size of mathe-
        matics, and there is no foolproof way to make such a change,
        except by globally  setting a magnification factor. This is the
        purpose of the [1mmagnification [22moption. It must be followed by a
        scaling factor. All text (NOT the graphs) will be scaled by
        this factor. Use this if you have math that you want at some
        size other than the default 10pt. Unfortunately, all math will
        be the same size, but see the discussion below on editing the
        MP output. [1mmag [22mwill also work under [1mnotex [22mbut there seems no
        point in using it as the font size option (below) works as
        well.

        The option [1mpsnfss [22muses postscript fonts in combination with La-
        TeX. Since this option only makes sense, if LaTeX is being
        used, the [1mlatex [22moption is selected automatically. This option
        includes the following packages for LaTeX: inputenc(latin1),
        fontenc(T1), mathptmx, helvet(scaled=09.2), courier, latexsym
        and textcomp.

        The option [1mpsnfss-version7 [22muses also postscript fonts in LaTeX
        (option [1mlatex [22mis also automatically selected), but uses the
        following packages with LaTeX: inputenc(latin1), fontenc(T1),
        times, mathptmx, helvet and courier.

        The option [1mnopsnfss [22mis the default and uses the standard font
        (cmr10 if not otherwise specified).

        The option [1mprologues [22mtakes a value as an additional argument
        and adds the line [1mprologues:=<value> [22mto the metapost file. If a
        value of [1m2 [22mis specified metapost uses postscript fonts to gen-
        erate the eps-file, so that the result can be viewed using e.g.
        ghostscript. Normally the output of metapost uses TeX fonts and
        therefore has to be included in a (La)TeX file before you can
        look at it.

        The option [1mnoprologues [22mis the default. No additional line spec-
        ifying the prologue will be added.

        The option [1ma4paper [22madds a [1m[a4paper] [22mto the documentclass. Nor-
        mally letter paper is used (default). Since this option is only
        used in case of LaTeX, the [1mlatex [22moption is selected automati-
        cally.










   GNUPLOT 5.4                                                      371


        The option [1mamstex [22mautomatically selects the [1mlatex [22moption and
        includes the following LaTeX packages: amsfonts, ams-
        math(intlimits). By default these packages are not included.

        A name in quotes selects the font that will be used when no ex-
        plicit font is given in a [1mset label [22mor [1mset title[22m.  A name rec-
        ognized by TeX (a TFM file exists) must be used.  The default
        is "cmr10" unless [1mnotex [22mis selected, then it is "pcrr8r"
        (Courier).  Even under [1mnotex[22m, a TFM file is needed by Metapost.
        The file [1mpcrr8r.tfm [22mis the name given to Courier in LaTeX's
        psnfss package.  If you change the font from the [1mnotex [22mdefault,
        choose a font that matches the ASCII encoding at least in the
        range 32-126.  [1mcmtt10 [22malmost works, but it has a nonblank char-
        acter in position 32 (space).

        The size can be any number between 5.0 and 99.99.  If it is
        omitted, 10.0 is used.  It is advisable to use [1mmagstep [22msizes:
        10 times an integer or half-integer power of 1.2, rounded to
        two decimals, because those are the most available sizes of
        fonts in TeX systems.

        All the options are optional.  If font information is given, it
        must be at the end, with size (if present) last.  The size is
        needed to select a size for the font, even if the font name in-
        cludes size information.  For example, [1mset term mp "cmtt12" [22mse-
        lects cmtt12 shrunk to the default size 10.  This is probably
        not what you want or you would have used cmtt10.

        The following common ascii characters need special treatment in
        TeX:
           $, &, #, %, _;  |, <, >;  ^, ~,  \, {, and }
        The five characters $, #, &, _, and % can simply be escaped,
        e.g., [1m\$[22m.  The three characters <, >, and | can be wrapped in
        math mode, e.g., [1m$<$[22m.  The remainder require some TeX work-
        arounds.  Any good book on TeX will give some guidance.

        If you type your labels inside double quotes, backslashes in
        TeX code need to be escaped (doubled). Using single quotes will
        avoid having to do this, but then you cannot use [1m\n [22mfor line
        breaks.  As of this writing, version 3.7 of gnuplot processes
        titles given in a [1mplot [22mcommand differently than in other
        places, and backslashes in TeX commands need to be doubled re-
        gardless of the style of quotes.

        Metapost pictures are typically used in TeX documents.  Meta-
        post deals with fonts pretty much the same way TeX does, which
        is different from most other document preparation programs.  If
        the picture is included in a LaTeX document using the graphics
        package, or in a plainTeX document via epsf.tex, and then con-
        verted to PostScript with dvips (or other dvi-to-ps converter),
        the text in the plot will usually be handled correctly.  How-
        ever, the text may not appear if you send the Metapost output
        as-is to a PostScript interpreter.










   GNUPLOT 5.4                                                      372


             [1m116.41.1.  Metapost Instructions[0m



             - Set your terminal to Metapost, e.g.:
                set terminal mp mono "cmtt12" 12

             - Select an output-file, e.g.:
                set output "figure.mp"

             - Create your pictures.  Each plot (or multiplot group)
             will generate a separate Metapost beginfig...endfig group.
             Its default size will be 5 by 3 inches.  You can change
             the size by saying [1mset size 0.5,0.5 [22mor whatever fraction
             of the default size you want to have.

             - Quit gnuplot.

             - Generate EPS files by running Metapost on the output of
             gnuplot:
                mpost figure.mp  OR  mp figure.mp
             The name of the Metapost program depends on the system,
             typically [1mmpost [22mfor a Unix machine and [1mmp [22mon many others.
             Metapost will generate one EPS file for each picture.

             - To include your pictures in your document you can use
             the graphics package in LaTeX or epsf.tex in plainTeX:
                \usepackage{graphics} % LaTeX
                \input epsf.tex       % plainTeX
             If you use a driver other than dvips for converting TeX
             DVI output to PS, you may need to add the following line
             in your LaTeX document:
                \DeclareGraphicsRule{*}{eps}{*}{}
             Each picture you made is in a separate file.  The first
             picture is in, e.g., figure.0, the second in figure.1, and
             so on....  To place the third picture in your document,
             for example, all you have to do is:
                \includegraphics{figure.2} % LaTeX
                \epsfbox{figure.2}         % plainTeX

             The advantage, if any, of the mp terminal over a post-
             script terminal is editable output.  Considerable effort
             went into making this output as clean as possible.  For
             those knowledgeable in the Metapost language, the default
             line types and colors can be changed by editing the arrays
             [1mlt[] [22mand [1mcol[][22m.  The choice of solid vs dashed lines, and
             color vs black lines can be change by changing the values
             assigned to the booleans [1mdashedlines [22mand [1mcolorlines[22m.  If
             the default [1mtex [22moption was in effect, global changes to
             the text of labels can be achieved by editing the [1mvebatim-[0m
             [1mtex...etex [22mblock.  In particular, a LaTeX preamble can be
             added if desired, and then LaTeX's built-in size changing
             commands can be used for maximum flexibility. Be sure to










   GNUPLOT 5.4                                                      373


             set the appropriate MP configuration variable to force
             Metapost to run LaTeX instead of plainTeX.



        [1m116.42.  Pbm[0m


        Note: only available if gnuplot is configured --with-bitmap-
        terminals.  Syntax:
              set terminal pbm {<fontsize>} {<mode>} {size <x>,<y>}

        where <fontsize> is [1msmall[22m, [1mmedium[22m, or [1mlarge [22mand <mode> is [1mmono-[0m
        [1mchrome[22m, [1mgray [22mor [1mcolor[22m.  The default plot size is 640 pixels
        wide and 480 pixels high. The output size is white-space padded
        to the nearest multiple of 8 pixels on both x and y. This empty
        space may be cropped later if needed.

        The output of the [1mpbm [22mdriver depends upon <mode>: [1mmonochrome[0m
        produces a portable bitmap (one bit per pixel), [1mgray [22ma portable
        graymap (three bits per pixel) and [1mcolor [22ma portable pixmap
        (color, four bits per pixel).

        The output of this driver can be used with various image con-
        version and manipulation utilities provided by NETPBM.  Based
        on Jef Poskanzer's PBMPLUS package, NETPBM provides programs to
        convert the above PBM formats to GIF, TIFF, MacPaint, Macintosh
        PICT, PCX, X11 bitmap and many others.  Complete information is
        available at http://netpbm.sourceforge.net/.

        Examples:
              set terminal pbm small monochrome                # de-
        faults
              set terminal pbm color medium size 800,600
              set output '| pnmrotate 45 | pnmtopng > tilted.png'  #
        uses NETPBM



        [1m116.43.  Pcl5[0m


        The [1mpcl5 [22mdriver supports PCL5e/PCL5c printers.  It (mostly)
        uses the HP-GL/2 vector format.

        Syntax:
              set terminal pcl5 {<mode>} {{no}enhanced}
                  {size <plotsize> | size <width>{unit},<height>{unit}}
                  {font "<fontname>,<size>"} {pspoints | nopspoints}
                  {fontscale <scale>} {pointsize <scale>} {linewidth
        <scale}
                  {rounded|butt} {color <number_of_pens>}











   GNUPLOT 5.4                                                      374


        <mode> is [1mlandscape [22mor [1mportrait[22m. <plotsize> is the physical
        plotting size of the plot, which can be one of the following
        formats: [1mletter [22mfor standard (8 1/2" X 11") displays, [1mlegal [22mfor
        (8 1/2" X 14") displays, [1mnoextended [22mfor (36" X 48") displays (a
        letter size ratio), [1mextended [22mfor (36" X 55") displays (almost a
        legal size ratio), or [1ma4 [22mfor (296mm X 210mm) displays.  You can
        also explicitly specify the canvas size using the [1mwidth [22mand
        [1mheight [22moptions. Default unit is [1min[22m.  Default size is [1mletter[22m.

        <fontname> can be one of stick, univers (default), albertus,
        antique_olive, arial, avant_garde_gothic, bookman, zapf_chan-
        cery, clarendon, coronet, courier courier_ps, cg_times, gara-
        mond_antigua, helvetica, helvetica_narrow, letter_gothic,
        marigold, new_century_schlbk, cg_omega, palatino, times_new_ro-
        man, times_roman, zapf_dingbats, truetype_symbols, or
        wingdings.  Font names are case-insensitive and underscores may
        be replaced by spaces or dashes or may be left out.  <fontsize>
        is the font size in points.

        The point type selection can be the a limited default set by
        specifying [1mnopspoints[22m, or the same set of point types as pro-
        vided by the postscript terminal by specifying [1mpspoints [22m(de-
        fault).

        The [1mbutt [22moption selects lines with butt ends and mitered joins
        (default), whereas [1mrounded [22mselects rounded line ends and joins.

        Line widths, and point and font sizes can be scaled using the
        [1mlinewidth[22m, [1mpointscale[22m, or [1mfontscale [22moptions, respectively.
        [1mcolor [22mselects the number of pens <number_of_pens> used in
        plots.  Default is 8, minimum 2.

        Note that built-in support of some of these options is printer
        device dependent. For instance, all the fonts are supposedly
        supported by the HP Laserjet IV, but only a few (e.g. univers,
        stick) may be supported by the HP Laserjet III and the Design-
        jet 750C. Also, color obviously won't work on monochrome de-
        vices, but newer ones will do grey-scale.

        Defaults: landscape, a4, 8 pens, univers, 12 point, pspoints,
        butt, no scaling

        The [1mpcl5 [22mterminal will try to request fonts which match your
        [1mencoding[22m.  Note that this has highest priority, so you might
        end up with a different font face.  The terminal's default [1men-[0m
        [1mcoding [22mis [1mHP Roman-8[22m.

        Limitations:

        This terminal does not support alpha transparency. Transparent
        filling is emulated using shading patterns. Boxed text is not
        implemented.











   GNUPLOT 5.4                                                      375


        The support for UTF-8 is limited.  Lacking the label mode for
        UTF-8 output in HP-GL/2, the driver reverts to PCL for strings
        containing 8bit characters.  UTF-8 text is limited to angles of
        0, 90, 180, and 270 degrees. Also vertical alignment might be
        off depending on the font.

        Some enhanced text features (phantom box, overprinting) require
        using PCL features in addition to HP-GL/2. This conforms to the
        specs but may not work with your printer or software.



        [1m116.44.  Pdf[0m


        [DEPRECATED] This terminal uses the non-free library PDFlib
        (GmbH Munchen) to produce files in Portable Document Format.
        Unless you have a commercial license for PDFlib and need some
        special feature it provides you would do better to use the
        cairo pdf terminal instead.  Gnuplot can also export PDF files
        from wxt or qt interactive terminal sessions.

        Syntax:
              set terminal pdf {monochrome|color|colour}
                               {{no}enhanced}
                               {fname "<font>"} {fsize <fontsize>}
                               {font "<fontname>{,<fontsize>}"}
        {fontscale <scale>}
                               {linewidth <lw>} {rounded|butt}
                               {dl <dashlength>}}
                               {size <XX>{unit},<YY>{unit}}

        The default is to use a different color for each line type. Se-
        lecting [1mmonochome [22mwill use black for all linetypes, Even in in
        mono mode you can still use explicit colors for filled areas or
        linestyles.

        where <font> is the name of the default font to use (default
        Helvetica) and <fontsize> is the font size (in points, default
        12).  For help on which fonts are available or how to install
        new ones, please see the documentation for your local installa-
        tion of pdflib.

        The [1menhanced [22moption enables enhanced text processing features
        (subscripts, superscripts and mixed fonts). See [1menhanced[22m.

        The width of all lines in the plot can be increased by the fac-
        tor <n> specified in [1mlinewidth[22m. Similarly [1mdashlength [22mis a mul-
        tiplier for the default dash spacing.

        [1mrounded [22msets line caps and line joins to be rounded; [1mbutt [22mis
        the default, butt caps and mitered joins.











   GNUPLOT 5.4                                                      376


        The default size for PDF output is 5 inches by 3 inches. The
        [1msize [22moption changes this to whatever the user requests. By de-
        fault the X and Y sizes are taken to be in inches, but other
        units are possible (currently only cm).




        [1m116.45.  Pdfcairo[0m


        The [1mpdfcairo [22mterminal device generates output in pdf. The ac-
        tual drawing is done via cairo, a 2D graphics library, and
        pango, a library for laying out and rendering text.

        Syntax:
                set term pdfcairo
                             {{no}enhanced} {mono|color}
                             {font <font>} {fontscale <scale>}
                             {linewidth <lw>} {rounded|butt|square}
        {dashlength <dl>}
                             {background <rgbcolor>}
                             {size <XX>{unit},<YY>{unit}}

        This terminal supports an enhanced text mode, which allows font
        and other formatting commands (subscripts, superscripts, etc.)
        to be embedded in labels and other text strings. The enhanced
        text mode syntax is shared with other gnuplot terminal types.
        See [1menhanced [22mfor more details.

        The width of all lines in the plot can be modified by the fac-
        tor <lw> specified in [1mlinewidth[22m. The default linewidth is 0.5
        points.  (1 "PostScript" point = 1/72 inch = 0.353 mm)

        [1mrounded [22msets line caps and line joins to be rounded; [1mbutt [22mis
        the default, butt caps and mitered joins.

        The default size for the output is 5 inches x 3 inches. The
        [1msize [22moption changes this to whatever the user requests. By de-
        fault the X and Y sizes are taken to be in inches, but other
        units are possible (currently only cm).  Screen coordinates al-
        ways run from 0.0 to 1.0 along the full length of the plot
        edges as specified by the [1msize [22moption.

        <font> is in the format "FontFace,FontSize", i.e. the face and
        the size comma-separated in a single string. FontFace is a
        usual font face name, such as 'Arial'. If you do not provide
        FontFace, the pdfcairo terminal will use 'Sans'. FontSize is
        the font size, in points. If you do not provide it, the pdf-
        cairo terminal will use a nominal font size of 12 points.  How-
        ever, the default fontscale parameter for this terminal is 0.5,
        so the apparent font size is smaller than this if the pdf out-
        put is viewed at full size.










   GNUPLOT 5.4                                                      377


           For example :
              set term pdfcairo font "Arial,12"
              set term pdfcairo font "Arial" # to change the font face
        only
              set term pdfcairo font ",12" # to change the font size
        only
              set term pdfcairo font "" # to reset the font name and
        size

        The fonts are retrieved from the usual fonts subsystems. Under
        Windows, those fonts are to be found and configured in the en-
        try "Fonts" of the control panel. Under UNIX, they are handled
        by "fontconfig".

        Pango, the library used to layout the text, is based on utf-8.
        Thus, the pdfcairo terminal has to convert from your encoding
        to utf-8. The default input encoding is based on your 'locale'.
        If you want to use another encoding, make sure gnuplot knows
        which one you are using. See [1mencoding [22mfor more details.

        Pango may give unexpected results with fonts that do not re-
        spect the unicode mapping. With the Symbol font, for example,
        the pdfcairo terminal will use the map provided by
        http://www.unicode.org/ to translate character codes to uni-
        code.  Note that "the Symbol font" is to be understood as the
        Adobe Symbol font, distributed with Acrobat Reader as
        "SY______.PFB".  Alternatively, the OpenSymbol font, distrib-
        uted with OpenOffice.org as "opens___.ttf", offers the same
        characters. Microsoft has distributed a Symbol font ("sym-
        bol.ttf"), but it has a different character set with several
        missing or moved mathematic characters. If you experience prob-
        lems with your default setup (if the demo enhancedtext.dem is
        not displayed properly for example), you probably have to in-
        stall one of the Adobe or OpenOffice Symbol fonts, and remove
        the Microsoft one.  Other non-conform fonts, such as
        "wingdings" have been observed working.

        The rendering of the plot cannot be altered yet. To obtain the
        best output possible, the rendering involves two mechanisms :
        antialiasing and oversampling.  Antialiasing allows to display
        non-horizontal and non-vertical lines smoother.  Oversampling
        combined with antialiasing provides subpixel accuracy, so that
        gnuplot can draw a line from non-integer coordinates. This
        avoids wobbling effects on diagonal lines ('plot x' for exam-
        ple).




        [1m116.46.  Pict2e[0m













   GNUPLOT 5.4                                                      378


        The [1mpict2e [22mterminal uses the LaTeX2e variant of the picture en-
        vironment.  It replaces terminals which were based on the orig-
        inal LaTeX picture environment: [1mlatex[22m, [1memtex[22m, [1mtpic[22m, and [1meepic[22m.
        (EXPERIMENTAL)

        Alternatives to this terminal with a more complete support of
        gnuplot's features are [1mtikz[22m, [1mpstricks[22m, [1mcairolatex[22m, [1mpslatex[22m, [1mep-[0m
        [1mslatex [22mand [1mmp[22m.

        Syntax:
              set terminal pict2e
                           {font "{<fontname>}{,<fontsize>}"}
                           {size <XX>{unit}, <YY>{unit}}
                           {color | monochrome}
                           {linewidth <lw>} {rounded | butt}
                           {texarrows | gparrows} {texpoints | gp-
        points}
                           {smallpoints | tinypoints | normalpoints}

        This terminal requires the following standard LaTeX packages:
        [1mpict2e[22m, [1mxcolor[22m, [1mgraphics[22m/[1mgraphicx [22mand [1mamssymb[22m. For pdflatex,
        the [1mtransparent [22mpackage is used to support transparency.

        By default the plot will inherit font settings from the embed-
        ding document.  You have the option to force a font with the
        [1mfont [22moption, like cmtt (Courier) or cmr (Roman), instead. In
        this case you may also force a specific fontsize. Otherwise the
        fontsize argument is used to estimate the required space for
        text.  Unless your driver is capable of building fonts at any
        size (e.g. dvips), stick to the standard 10, 11 and 12 point
        sizes.

        The default size for the plot is 5 inches by 3 inches. The [1msize[0m
        option changes this to whatever the user requests. By default
        the X and Y sizes are taken to be in inches, but other units
        are possible (currently only cm).

        With [1mtexpoints[22m, points are drawn using LaTeX commands like
        "\Diamond" and "\Box".  These are provided by the the latexsym
        package, which is part of the base distribution and thus part
        of any LaTeX implementation.  Other point types use symbols
        from the amssymb package.  With [1mgppoints[22m, the terminal will use
        gnuplot's internal routines for drawing point symbols instead.

        With the [1mtexpoints [22moption, you can select three different point
        sizes: [1mnormalpoints[22m, [1msmallpoints[22m, and [1mtinypoints[22m.

        [1mcolor [22mcauses gnuplot to produce \color{...} commands so that
        the graphs are colored. Using this option, you must include
        \usepackage{xcolor} in the preamble of your LaTeX document.
        [1mmonochrome [22mwill avoid the use of any color commands in the out-
        put.  Transparent color fill is available if pdflatex is used.











   GNUPLOT 5.4                                                      379


        [1mlinewidth [22msets the scale factor for the width of lines.
        [1mrounded [22msets line caps and line joins to be rounded. [1mbutt [22msets
        butt caps and mitered joins and is the default.

        [1mpict2e [22monly supports dotted lines, but not dashed lines.  All
        default line types are solid. Use [1mset linetype [22mwith the
        [1mdashtype [22mproperty to change.

        [1mtexarrows [22mdraws [1marrow[22ms using LaTeX commands which are shorter
        but do not offer all options. [1mgparrows [22mselects drawing arrows
        using gnuplot's own routine for full functionality instead.




        [1m116.47.  Pm[0m


        The [1mpm [22mterminal driver provides an OS/2 Presentation Manager
        window in which the graph is plotted.  The window is opened
        when the first graph is plotted.  This window has its own on-
        line help as well as facilities for printing and copying to the
        clipboard.

        Syntax:
              set terminal pm      {{server} {n} | noserver}
                                   {nopersist | persist}
                                   {enhanced | noenhanced}
                                   {font <fontspec>}
                                   {nowidelines | widelines}
                                   {{title} "title"}

        If [1mpersist [22mis specified, each graph appears in its own window
        and all windows remain open after [1mgnuplot [22mexits.  If [1mserver [22mis
        specified, all graphs appear in the same window, which remains
        open when [1mgnuplot [22mexits.  This option takes an optional numeri-
        cal argument which specifies an instance of the server process.
        Thus multiple server windows can be in use at the same time.

        If [1mwidelines [22mis specified, all plots will be drawn with wide
        lines.  If [1menhanced [22mis specified, sub- and superscripts and
        multiple fonts are enabled (see [1menhanced text [22mfor details).
        Font names for the core PostScript fonts may be abbreviated to
        a single letter (T/H/C/S for Times/Helvetica/Courier/Symbol).

        If [1mtitle [22mis specified, it will be used as the title of the plot
        window.  It will also be used as the name of the server in-
        stance, and will override the optional numerical argument.

        The gnuplot outboard driver, gnupmdrv.exe, is searched in the
        same directory as gnuplot itself.  You can override that by
        defining one of the environment variables GNUPLOT_DRIVER_DIR or
        GNUPLOT.  As a last resort the current directory and the PATH










   GNUPLOT 5.4                                                      380


        are tried to locate gnupmdrv.exe.



        [1m116.48.  Png[0m


        Syntax:
              set terminal png
                     {{no}enhanced}
                     {{no}transparent} {{no}interlace}
                     {{no}truecolor} {rounded|butt}
                     {linewidth <lw>} {dashlength <dl>}
                     {tiny | small | medium | large | giant}
                     {font "<face> {,<pointsize>}"} {fontscale <scale>}
                     {size <x>,<y>} {{no}crop}
                     {background <rgb_color>}

        PNG, JPEG and GIF images are created using the external library
        libgd.  PNG plots may be viewed interactively by piping the
        output to the 'display' program from the ImageMagick package as
        follows:
                       set term png
                       set output '| display png:-'
        You can view the output from successive plot commands interac-
        tively by typing <space> in the display window.  To save the
        current plot to a file, left click in the display window and
        choose [1msave[22m.

        [1mtransparent [22minstructs the driver to make the background color
        transparent.  Default is [1mnotransparent[22m.

        [1minterlace [22minstructs the driver to generate interlaced PNGs.
        Default is [1mnointerlace[22m.

        The [1mlinewidth [22mand [1mdashlength [22moptions are scaling factors that
        affect all lines drawn, i.e. they are multiplied by values re-
        quested in various drawing commands.

        By default output png images use 256 indexed colors. The [1mtrue-[0m
        [1mcolor [22moption instead creates TrueColor images with 24 bits of
        color information per pixel.  Transparent fill styles require
        the [1mtruecolor [22moption. See [1mfillstyle[22m.  A transparent background
        is possible in either indexed or TrueColor images.

        [1mbutt [22minstructs the driver to use a line drawing method that
        does not overshoot the desired end point of a line.  This set-
        ting is only applicable for line widths greater than 1.  This
        setting is most useful when drawing horizontal or vertical
        lines.  Default is [1mrounded[22m.

        The details of font selection are complicated.  Two equivalent
        simple examples are given below:










   GNUPLOT 5.4                                                      381


             set term png font arial 11
             set term png font "arial,11"
        For more information please see the separate section under
        [1mfonts[22m.

        The output plot size <x,y> is given in pixels---it defaults to
        640x480.  Please see additional information under [1mcanvas [22mand
        [1mset size[22m.  Blank space at the edges of the finished plot may be
        trimmed using the [1mcrop [22moption, resulting in a smaller final im-
        age size. Default is [1mnocrop[22m.





             [1m116.48.1.  Examples[0m


                   set terminal png medium size 640,480 background
             '#ffffff'

             Use the medium size built-in non-scaleable, non-rotatable
             font.  Use white (24-bit RGB in hexadecimal) for the non-
             transparent background.

                   set terminal png font arial 14 size 800,600

             Searches for a scalable font with face name 'arial' and
             sets the font size to 14pt.  Please see [1mfonts [22mfor details
             of how the font search is done.

                   set terminal png transparent truecolor enhanced

             Use 24 bits of color information per pixel, with a trans-
             parent background.  Use the [1menhanced text [22mmode to control
             the layout of strings to be printed.




        [1m116.49.  Pngcairo[0m


        The [1mpngcairo [22mterminal device generates output in png. The ac-
        tual drawing is done via cairo, a 2D graphics library, and
        pango, a library for laying out and rendering text.

        Syntax:
                set term pngcairo
                             {{no}enhanced} {mono|color}
                             {{no}transparent} {{no}crop} {background
        <rgbcolor>
                             {font <font>} {fontscale <scale>}










   GNUPLOT 5.4                                                      382


                             {linewidth <lw>} {rounded|butt|square}
        {dashlength <dl>}
                             {pointscale <ps>}
                             {size <XX>{unit},<YY>{unit}}

        This terminal supports an enhanced text mode, which allows font
        and other formatting commands (subscripts, superscripts, etc.)
        to be embedded in labels and other text strings. The enhanced
        text mode syntax is shared with other gnuplot terminal types.
        See [1menhanced [22mfor more details.

        The width of all lines in the plot can be modified by the fac-
        tor <lw>.

        [1mrounded [22msets line caps and line joins to be rounded; [1mbutt [22mis
        the default, butt caps and mitered joins.

        The default size for the output is 640 x 480 pixels. The [1msize[0m
        option changes this to whatever the user requests. By default
        the X and Y sizes are taken to be in pixels, but other units
        are possible (currently cm and inch).  A size given in centime-
        ters or inches will be converted into pixels assuming a resolu-
        tion of 72 dpi. Screen coordinates always run from 0.0 to 1.0
        along the full length of the plot edges as specified by the
        [1msize [22moption.

        <font> is in the format "FontFace,FontSize", i.e. the face and
        the size comma-separated in a single string. FontFace is a
        usual font face name, such as 'Arial'. If you do not provide
        FontFace, the pngcairo terminal will use 'Sans'. FontSize is
        the font size, in points. If you do not provide it, the png-
        cairo terminal will use a size of 12 points.
           For example :
              set term pngcairo font "Arial,12"
              set term pngcairo font "Arial" # to change the font face
        only
              set term pngcairo font ",12" # to change the font size
        only
              set term pngcairo font "" # to reset the font name and
        size

        The fonts are retrieved from the usual fonts subsystems. Under
        Windows, those fonts are to be found and configured in the en-
        try "Fonts" of the control panel. Under UNIX, they are handled
        by "fontconfig".

        Pango, the library used to layout the text, is based on utf-8.
        Thus, the pngcairo terminal has to convert from your encoding
        to utf-8. The default input encoding is based on your 'locale'.
        If you want to use another encoding, make sure gnuplot knows
        which one you are using. See [1mencoding [22mfor more detail.

        Pango may give unexpected results with fonts that do not










   GNUPLOT 5.4                                                      383


        respect the unicode mapping. With the Symbol font, for example,
        the pngcairo terminal will use the map provided by
        http://www.unicode.org/ to translate character codes to uni-
        code.  Note that "the Symbol font" is to be understood as the
        Adobe Symbol font, distributed with Acrobat Reader as
        "SY______.PFB".  Alternatively, the OpenSymbol font, distrib-
        uted with OpenOffice.org as "opens___.ttf", offers the same
        characters. Microsoft has distributed a Symbol font ("sym-
        bol.ttf"), but it has a different character set with several
        missing or moved mathematic characters. If you experience prob-
        lems with your default setup (if the demo enhancedtext.dem is
        not displayed properly for example), you probably have to in-
        stall one of the Adobe or OpenOffice Symbol fonts, and remove
        the Microsoft one.

        Rendering uses oversampling, antialiasing, and font hinting to
        the extent supported by the cairo and pango libraries.




        [1m116.50.  Postscript[0m


        Several options may be set in the [1mpostscript [22mdriver.

        Syntax:
              set terminal postscript {default}
              set terminal postscript {landscape | portrait | eps}
                                      {enhanced | noenhanced}
                                      {defaultplex | simplex | duplex}
                                      {fontfile {add | delete} "<file-
        name>"
                                       | nofontfiles} {{no}adobeglyph-
        names}
                                      {level1 | leveldefault | level3}
                                      {color | colour | monochrome}
                                      {background <rgbcolor> | noback-
        ground}
                                      {dashlength | dl <DL>}
                                      {linewidth | lw <LW>} {pointscale
        | ps <PS>}
                                      {rounded | butt}
                                      {clip | noclip}
                                      {palfuncparam <samples>{,<maxde-
        viation>}}
                                      {size <XX>{unit},<YY>{unit}}
                                      {blacktext | colortext | colour-
        text}
                                      {{font} "fontname{,fontsize}"
        {<fontsize>}}
                                      {fontscale <scale>}
        If you see the error message










   GNUPLOT 5.4                                                      384


              "Can't find PostScript prologue file ... "
        Please see and follow the instructions in [1mpostscript prologue[22m.


        [1mlandscape [22mand [1mportrait [22mchoose the plot orientation.  [1meps [22mmode
        generates EPS (Encapsulated PostScript) output, which is just
        regular PostScript with some additional lines that allow the
        file to be imported into a variety of other applications.  (The
        added lines are PostScript comment lines, so the file may still
        be printed by itself.)  To get EPS output, use the [1meps [22mmode and
        make only one plot per file.  In [1meps [22mmode the whole plot, in-
        cluding the fonts, is reduced to half of the default size.

        [1menhanced [22menables enhanced text mode features (subscripts, su-
        perscripts and mixed fonts). See [1menhanced [22mfor more information.
        [1mblacktext [22mforces all text to be written in black even in color
        mode;

        Duplexing in PostScript is the ability of the printer to print
        on both sides of the same sheet of paper.  With [1mdefaultplex[22m,
        the default setting of the printer is used; with [1msimplex [22monly
        one side is printed; [1mduplex [22mprints on both sides (ignored if
        your printer can't do it).

        [1m"<fontname>" [22mis the name of a valid PostScript font; and [1m<font-[0m
        [1msize> [22mis the size of the font in PostScript points.  In addi-
        tion to the standard postscript fonts, an oblique version of
        the Symbol font, useful for mathematics, is defined. It is
        called "Symbol-Oblique".

        [1mdefault [22msets all options to their defaults: [1mlandscape[22m, [1mmono-[0m
        [1mchrome[22m, [1mdl 1.0[22m, [1mlw 1.0[22m, [1mdefaultplex[22m, [1menhanced[22m, "Helvetica" and
        14pt.  Default size of a PostScript plot is 10 inches wide and
        7 inches high.  The option [1mcolor [22menables color, while [1mmono-[0m
        [1mchrome [22mprefers black and white drawing elements. Further, [1mmono-[0m
        [1mchrome [22muses gray [1mpalette [22mbut it does not change color of ob-
        jects specified with an explicit [1mcolorspec[22m.  [1mdashlength [22mor [1mdl[0m
        scales the length of dashed-line segments by <DL>, which is a
        floating-point number greater than zero.  [1mlinewidth [22mor [1mlw[0m
        scales all linewidths by <LW>.

        By default the generated PostScript code uses language features
        that were introduced in PostScript Level 2, notably filters and
        pattern-fill of irregular objects such as filledcurves.  Post-
        Script Level 2 features are conditionally protected so that
        PostScript Level 1 interpreters do not issue errors but,
        rather, display a message or a PostScript Level 1 approxima-
        tion.  The [1mlevel1 [22moption substitutes PostScript Level 1 approx-
        imations of these features and uses no PostScript Level 2 code.
        This may be required by some old printers and old versions of
        Adobe Illustrator.  The flag [1mlevel1 [22mcan be toggled later by
        editing a single line in the PostScript output file to force
        PostScript Level 1 interpretation.  In the case of files










   GNUPLOT 5.4                                                      385


        containing level 2 code, the above features will not appear or
        will be replaced by a note when this flag is set or when the
        interpreting program does not indicate that it understands
        level 2 PostScript or higher. The flag [1mlevel3 [22menables PNG en-
        coding for bitmapped images, which can reduce the output size
        considerably.

        [1mrounded [22msets line caps and line joins to be rounded; [1mbutt [22mis
        the default, butt caps and mitered joins.

        [1mclip [22mtells PostScript to clip all output to the bounding box;
        [1mnoclip [22mis the default.

        [1mpalfuncparam [22mcontrols how [1mset palette functions [22mare encoded as
        gradients in the output. Analytic color component functions
        (set via [1mset palette functions[22m) are encoded as linear interpo-
        lated gradients in the postscript output:  The color component
        functions are sampled at <samples> points and all points are
        removed from this gradient which can be removed without chang-
        ing the resulting colors by more than <maxdeviation>. For al-
        most every useful palette you may safely leave the defaults of
        <samples>=2000 and <maxdeviation>=0.003 untouched.

        The default size for postscript output is 10 inches x 7 inches.
        The default for eps output is 5 x 3.5 inches.  The [1msize [22moption
        changes this to whatever the user requests. By default the X
        and Y sizes are taken to be in inches, but other units are pos-
        sibly (currently only cm). The BoundingBox of the plot is cor-
        rectly adjusted to contain the resized image.  Screen coordi-
        nates always run from 0.0 to 1.0 along the full length of the
        plot edges as specified by the [1msize [22moption.  NB: [1mthis is a[0m
        [1mchange from the previously recommended method of using the set[0m
        [1msize command prior to setting the terminal type[22m.  The old
        method left the BoundingBox unchanged and screen coordinates
        did not correspond to the actual limits of the plot.

        Fonts listed by [1mfontfile [22mor [1mfontfile add [22mencapsulate the font
        definitions of the listed font from a postscript Type 1 or
        TrueType font file directly into the gnuplot output postscript
        file.  Thus, the enclosed font can be used in labels, titles,
        etc.  See the section [1mpostscript fontfile [22mfor more details.
        With [1mfontfile delete[22m, a fontfile is deleted from the list of
        embedded files.  [1mnofontfiles [22mcleans the list of embedded fonts.

        Examples:
              set terminal postscript default       # old postscript
              set terminal postscript enhanced      # old enhpost
              set terminal postscript landscape 22  # old psbig
              set terminal postscript eps 14        # old epsf1
              set terminal postscript eps 22        # old epsf2
              set size 0.7,1.4; set term post portrait color "Times-Ro-
        man" 14
              set term post "VAGRoundedBT_Regular" 14 fontfile










   GNUPLOT 5.4                                                      386


        "bvrr8a.pfa"

        Linewidths and pointsizes may be changed with [1mset style line[22m.

        The [1mpostscript [22mdriver supports about 70 distinct pointtypes,
        selectable through the [1mpointtype [22moption on [1mplot [22mand [1mset style[0m
        [1mline[22m.

        Several possibly useful files about [1mgnuplot[22m's PostScript are
        included in the /docs/psdoc subdirectory of the [1mgnuplot [22mdistri-
        bution and at the distribution sites.  These are "ps_sym-
        bols.gpi" (a [1mgnuplot [22mcommand file that, when executed, creates
        the file "ps_symbols.ps" which shows all the symbols available
        through the [1mpostscript [22mterminal), "ps_guide.ps" (a PostScript
        file that contains a summary of the enhanced syntax and a page
        showing what the octal codes produce with text and symbol
        fonts), "ps_file.doc" (a text file that contains a discussion
        of the organization of a PostScript file written by [1mgnuplot[22m),
        and "ps_fontfile_doc.tex" (a LaTeX file which contains a short
        documentation concerning the encapsulation of LaTeX fonts with
        a glyph table of the math fonts).

        A PostScript file is editable, so once [1mgnuplot [22mhas created one,
        you are free to modify it to your heart's desire.  See the
        [1mediting postscript [22msection for some hints.




             [1m116.50.1.  Editing postscript[0m


             The PostScript language is a very complex language---far
             too complex to describe in any detail in this document.
             Nevertheless there are some things in a PostScript file
             written by [1mgnuplot [22mthat can be changed without risk of in-
             troducing fatal errors into the file.

             For example, the PostScript statement "/Color true def"
             (written into the file in response to the command [1mset ter-[0m
             [1mminal postscript color[22m), may be altered in an obvious way
             to generate a black-and-white version of a plot.  Simi-
             larly line colors, text colors, line weights and symbol
             sizes can also be altered in straight-forward ways.  Text
             (titles and labels) can be edited to correct misspellings
             or to change fonts.  Anything can be repositioned, and of
             course anything can be added or deleted, but modifications
             such as these may require deeper knowledge of the Post-
             Script language.

             The organization of a PostScript file written by [1mgnuplot[0m
             is discussed in the text file "ps_file.doc" in the docs/ps
             subdirectory of the gnuplot source distribution.










   GNUPLOT 5.4                                                      387


             [1m116.50.2.  Postscript fontfile[0m


                   set term postscript ... fontfile {add|delete} <file-
             name>
             The [1mfontfile [22mor [1mfontfile add [22moption takes one file name as
             argument and encapsulates this file into the postscript
             output in order to make this font available for text ele-
             ments (labels, tic marks, titles, etc.).  The [1mfontfile[0m
             [1mdelete [22moption also takes one file name as argument. It
             deletes this file name from the list of encapsulated
             files.

             The postscript terminal understands some font file for-
             mats: Type 1 fonts in ASCII file format (extension
             ".pfa"), Type 1 fonts in binary file format (extension
             ".pfb"), and TrueType fonts (extension ".ttf"). pfa files
             are understood directly, pfb and ttf files are converted
             on the fly if appropriate conversion tools are installed
             (see below). You have to specify the full filename includ-
             ing the extension. Each [1mfontfile [22moption takes exact one
             font file name. This option can be used multiple times in
             order to include more than one font file.

             The search order used to find font files is (1) absolute
             pathname or current working directory (2) any of the di-
             rectories specified by [1mset loadpath [22m(3) the directory
             specified by [1mset fontpath [22m(4) the directory given in envi-
             ronmental variable GNUPLOT_FONTPATH.  NB: This is a CHANGE
             from earlier versions of gnuplot.

             For using the encapsulated font file you have to specify
             the font name (which normally is not the same as the file
             name). When embedding a font file by using the [1mfontfile[0m
             option in interactive mode, the font name is printed on
             the screen. E.g.
                Font file 'p052004l.pfb' contains the font 'URWPalla-
             dioL-Bold'. Location:
                /usr/lib/X11/fonts/URW/p052004l.pfb

             When using pfa or pfb fonts, you can also find it out by
             looking into the font file. There is a line similar to
             "/FontName /URWPalladioL-Bold def".  The middle string
             without the slash is the fontname, here "URWPalladioL-
             Bold".  For TrueType fonts, this is not so easy since the
             font name is stored in a binary format. In addition, they
             often have spaces in the font names which is not supported
             by Type 1 fonts (in which a TrueType is converted on the
             fly). The font names are changed in order to eliminate the
             spaces in the fontnames. The easiest way to find out which
             font name is generated for use with gnuplot, start gnuplot
             in interactive mode and type in "set terminal postscript
             fontfile '<filename.ttf>'".










   GNUPLOT 5.4                                                      388


             For converting font files (either ttf or pfb) to pfa for-
             mat, the conversion tool has to read the font from a file
             and write it to standard output. If the output cannot be
             written to standard output, on-the-fly conversion is not
             possible.

             For pfb files "pfbtops" is a tool which can do this. If
             this program is installed on your system the on the fly
             conversion should work.  Just try to encapsulate a pfb
             file. If the compiled in program call does not work cor-
             rectly you can specify how this program is called by
             defining the environment variable GNUPLOT_PFBTOPFA e.g. to
             "pfbtops %s". The [1m%s [22mwill be replaced by the font file
             name and thus has to exist in the string.

             If you don't want to do the conversion on the fly but get
             a pfa file of the font you can use the tool "pfb2pfa"
             which is written in simple c and should compile with any c
             compiler.  It is available from many ftp servers, e.g.
                       ftp://ftp.dante.de/tex-archive/fonts/utili-
             ties/ps2mf/
             In fact, "pfbtopfa" and "pfb2ps" do the same job. "pf-
             btopfa" puts the resulting pfa code into a file, whereas
             "pfbtops" writes it to standard output.

             TrueType fonts are converted into Type 1 pfa format, e.g.
             by using the tool "ttf2pt1" which is available from
                       http://ttf2pt1.sourceforge.net/
             If the builtin conversion does not work, the conversion
             command can be changed by the environment variable GNU-
             PLOT_TTFTOPFA. For usage with ttf2pt1 it may be set to
             "ttf2pt1 -a -e -W 0 %s - ". Here again, [1m%s [22mstands for the
             file name.

             For special purposes you also can use a pipe (if available
             for your operating system). Therefore you start the file
             name definition with the character "<" and append a pro-
             gram call. This program has to write pfa data to standard
             output. Thus, a pfa file may be accessed by [1mset fontfile[0m
             [1m"< cat garamond.pfa"[22m.

             For example, including Type 1 font files can be used for
             including the postscript output in LaTeX documents. The
             "european computer modern" font (which is a variant of the
             "computer modern" font) is available in pfb format from
             any CTAN server, e.g.
                       ftp://ftp.dante.de/tex-archive/fonts/ps-
             type1/cm-super/
             For example, the file "sfrm1000.pfb" contains the normal
             upright fonts with serifs in the design size 10pt (font
             name "SFRM1000").  The computer modern fonts, which are
             still necessary for mathematics, are available from
                       ftp://ftp.dante.de/tex-archive/fonts/cm/ps-










   GNUPLOT 5.4                                                      389


             type1/bluesky
             With these you can use any character available in TeX.
             However, the computer modern fonts have a strange encod-
             ing. (This is why you should not use cmr10.pfb for text,
             but sfrm1000.pfb instead.)  The usage of TeX fonts is
             shown in one of the demos.  The file "ps_fontfile_doc.tex"
             in the /docs/psdoc subdirectory of the [1mgnuplot [22msource dis-
             tribution contains a table with glyphs of the TeX math-
             fonts.

             If the font "CMEX10" is embedded (file "cmex10.pfb") gnu-
             plot defines the additional font "CMEX10-Baseline". It is
             shifted vertically in order to fit better to the other
             glyphs (CMEX10 has its baseline at the top of the sym-
             bols).



             [1m116.50.3.  Postscript prologue[0m


             Each PostScript output file includes a %%Prolog section
             and possibly some additional user-defined sections con-
             taining, for example, character encodings.  These sections
             are copied from a set of PostScript prologue files that
             are either compiled into the gnuplot executable or stored
             elsewhere on your computer. A default directory where
             these files live is set at the time gnuplot is built. How-
             ever, you can override this default either by using the
             gnuplot command [1mset psdir [22mor by defining an environment
             variable GNUPLOT_PS_DIR. See [1mset psdir[22m.



             [1m116.50.4.  Postscript adobeglyphnames[0m


             This setting is only relevant to PostScript output with
             UTF-8 encoding.  It controls the names used to describe
             characters with Unicode entry points higher than 0x00FF.
             That is, all characters outside of the Latin1 set.  In
             general unicode characters do not have a unique name; they
             have only a unicode identification code.  However, Adobe
             have a recommended scheme for assigning names to certain
             ranges of characters (extended Latin, Greek, etc).  Some
             fonts use this scheme, others do not.  By default, gnuplot
             will use the Adobe glyph names.  E.g. the lower case Greek
             letter alpha will be called /alpha.  If you specific [1mnoad-[0m
             [1mobeglyphnames [22mthen instead gnuplot will use /uni03B1 to
             describe this character.  If you get this setting wrong,
             the character may not be found even if it is present in
             the font.  It is probably always correct to use the de-
             fault for Adobe fonts, but for other fonts you may have to










   GNUPLOT 5.4                                                      390


             try both settings.  See also [1mfontfile[22m.





        [1m116.51.  Pslatex and pstex[0m


        The [1mpslatex [22mdriver generates output for further processing by
        LaTeX, while the [1mpstex [22mdriver generates output for further pro-
        cessing by TeX. [1mpslatex [22muses \specials understandable by dvips
        and xdvi. Figures generated by [1mpstex [22mcan be included in any
        plain-based format (including LaTeX).

        Syntax:
              set terminal [pslatex | pstex] {default}
              set terminal [pslatex | pstex]
                                      {rotate | norotate}
                                      {oldstyle | newstyle}
                                      {auxfile | noauxfile}
                                      {level1 | leveldefault | level3}
                                      {color | colour | monochrome}
                                      {background <rgbcolor> | noback-
        ground}
                                      {dashlength | dl <DL>}
                                      {linewidth | lw <LW>} {pointscale
        | ps <PS>}
                                      {rounded | butt}
                                      {clip | noclip}
                                      {palfuncparam <samples>{,<maxde-
        viation>}}
                                      {size <XX>{unit},<YY>{unit}}
                                      {<font_size>}

        If you see the error message
              "Can't find PostScript prologue file ... "
        Please see and follow the instructions in [1mpostscript prologue[22m.

        The option [1mcolor [22menables color, while [1mmonochrome [22mprefers black
        and white drawing elements. Further, [1mmonochrome [22muses gray [1mpal-[0m
        [1mette [22mbut it does not change color of objects specified with an
        explicit [1mcolorspec[22m.  [1mdashlength [22mor [1mdl [22mscales the length of
        dashed-line segments by <DL>, which is a floating-point number
        greater than zero.  [1mlinewidth [22mor [1mlw [22mscales all linewidths by
        <LW>.

        By default the generated PostScript code uses language features
        that were introduced in PostScript Level 2, notably filters and
        pattern-fill of irregular objects such as filledcurves.  Post-
        Script Level 2 features are conditionally protected so that
        PostScript Level 1 interpreters do not issue errors but,
        rather, display a message or a PostScript Level 1










   GNUPLOT 5.4                                                      391


        approximation.  The [1mlevel1 [22moption substitutes PostScript Level
        1 approximations of these features and uses no PostScript Level
        2 code.  This may be required by some old printers and old ver-
        sions of Adobe Illustrator.  The flag [1mlevel1 [22mcan be toggled
        later by editing a single line in the PostScript output file to
        force PostScript Level 1 interpretation.  In the case of files
        containing level 2 code, the above features will not appear or
        will be replaced by a note when this flag is set or when the
        interpreting program does not indicate that it understands
        level 2 PostScript or higher. The flag [1mlevel3 [22menables PNG en-
        coding for bitmapped images, which can reduce the output size
        considerably.

        [1mrounded [22msets line caps and line joins to be rounded; [1mbutt [22mis
        the default, butt caps and mitered joins.

        [1mclip [22mtells PostScript to clip all output to the bounding box;
        [1mnoclip [22mis the default.

        [1mpalfuncparam [22mcontrols how [1mset palette functions [22mare encoded as
        gradients in the output. Analytic color component functions
        (set via [1mset palette functions[22m) are encoded as linear interpo-
        lated gradients in the postscript output:  The color component
        functions are sampled at <samples> points and all points are
        removed from this gradient which can be removed without chang-
        ing the resulting colors by more than <maxdeviation>. For al-
        most every useful palette you may safely leave the defaults of
        <samples>=2000 and <maxdeviation>=0.003 untouched.

        The default size for postscript output is 10 inches x 7 inches.
        The default for eps output is 5 x 3.5 inches.  The [1msize [22moption
        changes this to whatever the user requests. By default the X
        and Y sizes are taken to be in inches, but other units are pos-
        sibly (currently only cm). The BoundingBox of the plot is cor-
        rectly adjusted to contain the resized image.  Screen coordi-
        nates always run from 0.0 to 1.0 along the full length of the
        plot edges as specified by the [1msize [22moption.  NB: [1mthis is a[0m
        [1mchange from the previously recommended method of using the set[0m
        [1msize command prior to setting the terminal type[22m.  The old
        method left the BoundingBox unchanged and screen coordinates
        did not correspond to the actual limits of the plot.

        if [1mrotate [22mis specified, the y-axis label is rotated.
        <font_size> is the size (in pts) of the desired font.

        If [1mauxfile [22mis specified, it directs the driver to put the Post-
        Script commands into an auxiliary file instead of directly into
        the LaTeX file.  This is useful if your pictures are large
        enough that dvips cannot handle them.  The name of the auxil-
        iary PostScript file is derived from the name of the TeX file
        given on the [1mset output [22mcommand; it is determined by replacing
        the trailing [1m.tex [22m(actually just the final extent in the file
        name) with [1m.ps [22min the output file name, or, if the TeX file has










   GNUPLOT 5.4                                                      392


        no extension, [1m.ps [22mis appended.  The [1m.ps [22mis included into the
        [1m.tex [22mfile by a \special{psfile=...} command.  Remember to close
        the [1moutput file [22mbefore next plot unless in [1mmultiplot [22mmode.

        Gnuplot versions prior to version 4.2 generated plots of the
        size 5 x 3 inches using the ps(la)tex terminal while the cur-
        rent version generates 5 x 3.5 inches to be consistent with the
        postscript eps terminal.  In addition, the character width is
        now estimated to be 60% of the font size while the old epslatex
        terminal used 50%. To reach the old format specify the option
        [1moldstyle[22m.

        The pslatex driver offers a special way of controlling text po-
        sitioning: (a) If any text string begins with '{', you also
        need to include a '}' at the end of the text, and the whole
        text will be centered both horizontally and vertically by La-
        TeX.  (b) If the text string begins with '[', you need to con-
        tinue it with: a position specification (up to two out of
        t,b,l,r), ']{', the text itself, and finally, '}'. The text it-
        self may be anything LaTeX can typeset as an LR-box.
        \rule{}{}'s may help for best positioning.

        The options not described here are identical to the [1mPostscript[0m
        [1mterminal[22m.  Look there if you want to know what they do.

        Examples:
              set term pslatex monochrome rotate       # set to de-
        faults
        To write the PostScript commands into the file "foo.ps":
              set term pslatex auxfile
              set output "foo.tex"; plot ...; set output
        About label positioning: Use gnuplot defaults (mostly sensible,
        but sometimes not really best):
               set title '\LaTeX\ -- $ \gamma $'
        Force centering both horizontally and vertically:
               set label '{\LaTeX\ -- $ \gamma $}' at 0,0
        Specify own positioning (top here):
               set xlabel '[t]{\LaTeX\ -- $ \gamma $}'
        The other label -- account for long ticlabels:
               set ylabel '[r]{\LaTeX\ -- $ \gamma $\rule{7mm}{0pt}}'

        Linewidths and pointsizes may be changed with [1mset style line[22m.



        [1m116.52.  Pstricks[0m


        The [1mpstricks [22mdriver is intended for use with the "pstricks.sty"
        macro package for LaTeX.  It is an alternative to the [1meepic [22mand
        [1mlatex [22mdrivers.  You need "pstricks.sty", and, of course, a
        printer that understands PostScript, or a converter such as
        Ghostscript.










   GNUPLOT 5.4                                                      393


        PSTricks is available at
                  http://tug.org/PSTricks/.
        This driver definitely does not come close to using the full
        capability of the PSTricks package.

        Syntax:
              set terminal pstricks
                             {unit | size <XX>{unit},<YY>{unit}}
                             {standalone | input}
                             {blacktext | colortext | colourtext}
                             {linewidth <lw>} {rounded | butt}
                             {pointscale <ps>}
                             {psarrows | gparrows}
                             {background <rgbcolor>}

        The [1munit [22moption produces a plot with internal dimensions 1x1.
        The default is a plot of [1msize 5in,3in[22m.

        [1mstandalone [22mproduces a LaTeX file with possibly multiple plots,
        ready to be compiled.  The default is [1minput [22mto produce a TeX
        file which can be included.

        [1mblacktext [22mforces all text to be written in black. [1mcolortext [22men-
        ables colored text. The default is [1mblacktext[22m.

        [1mrounded [22msets line caps and line joins to be rounded. [1mbutt [22msets
        butt caps and mitered joins and is the default.

        [1mlinewidth [22mand [1mpointscale [22mscale the width of lines and the size
        of point symbols, respectively.

        [1mpsarrows [22mdraws [1marrow[22ms using PSTricks commands which are shorter
        but do not offer all options. [1mgparrows [22mselects drawing arrows
        using gnuplot's own routine for full functionality instead.

        The old [1mhacktext [22moption has been replaced by the new default
        format (%h), see [1mformat specifiers[22m.

        Transparency requires support by Ghostscript or conversion to
        PDF.



        [1m116.53.  Qms[0m


        The [1mqms [22mterminal driver supports the QMS/QUIC Laser printer,
        the Talaris 1200 and others.  It has no options.















   GNUPLOT 5.4                                                      394


        [1m116.54.  Qt[0m


        The [1mqt [22mterminal device generates output in a separate window
        with the Qt library.  Syntax:
                set term qt {<n>}
                            {size <width>,<height>}
                            {position <x>,<y>}
                            {title "title"}
                            {font <font>} {{no}enhanced}
                            {linewidth <lw>} {dashlength <dl>}
                            {{no}persist} {{no}raise} {{no}ctrl}
                            {close}
                            {widget <id>}

        Multiple plot windows are supported: [1mset terminal qt <n> [22mdi-
        rects the output to plot window number n.

        The default window title is based on the window number. This
        title can also be specified with the keyword "title".

        Plot windows remain open even when the [1mgnuplot [22mdriver is
        changed to a different device. A plot window can be closed by
        pressing the letter 'q' while that window has input focus, by
        choosing [1mclose [22mfrom a window manager menu, or with [1mset term qt[0m
        [1m<n> close[22m.

        The size of the plot area is given in pixels, it defaults to
        640x480.  In addition to that, the actual size of the window
        also includes the space reserved for the toolbar and the status
        bar.  When you resize a window, the plot is immediately scaled
        to fit in the new size of the window. The [1mqt [22mterminal scales
        the whole plot, including fonts and linewidths, and keeps its
        global aspect ratio constant.  If you type [1mreplot[22m, click the
        [1mreplot [22micon in the terminal toolbar or type a new [1mplot [22mcommand,
        the new plot will completely fit in the window and the font
        size and the linewidths will be reset to their defaults.

        The position option can be used to set the position of the plot
        window.  The position option only applies to the first plot af-
        ter the [1mset term [22mcommand.


        The active plot window (the one selected by [1mset term qt <n>[22m) is
        interactive. Its behaviour is shared with other terminal types.
        See [1mmouse [22mfor details. It also has some extra icons, which are
        supposed to be self-explanatory.

        This terminal supports an enhanced text mode, which allows font
        and other formatting commands (subscripts, superscripts, etc.)
        to be embedded in labels and other text strings. The enhanced
        text mode syntax is shared with other gnuplot terminal types.
        See [1menhanced [22mfor more details.










   GNUPLOT 5.4                                                      395


        <font> is in the format "FontFace,FontSize", i.e. the face and
        the size comma-separated in a single string. FontFace is a
        usual font face name, such as 'Arial'. If you do not provide
        FontFace, the qt terminal will use 'Sans'. FontSize is the font
        size, in points. If you do not provide it, the qt terminal will
        use a size of 9 points.
           For example :
              set term qt font "Arial,12"
              set term qt font "Arial" # to change the font face only
              set term qt font ",12" # to change the font size only
              set term qt font "" # to reset the font name and size

        The dashlength affects only custom dash patterns, not Qt's
        built-in set.

        To obtain the best output possible, the rendering involves
        three mechanisms : antialiasing, oversampling and hinting.
        Oversampling combined with antialiasing provides subpixel accu-
        racy, so that gnuplot can draw a line from non-integer coordi-
        nates. This avoids wobbling effects on diagonal lines ('plot x'
        for example).  Hinting avoids the blur on horizontal and verti-
        cal lines caused by oversampling. The terminal will snap these
        lines to integer coordinates so that a one-pixel-wide line will
        actually be drawn on one and only one pixel.

        By default, the window is raised to the top of your desktop
        when a plot is drawn. This can be controlled with the keyword
        "raise".  The keyword "persist" will prevent gnuplot from exit-
        ing before you explicitly close all the plot windows.

        The <space> key raises the gnuplot console window [MS Windows
        only].  The 'q' key closes the plot window. These hot keys can
        be changed to ctrl-space and ctrl-q using the terminal option
        keyword "{no}ctrl".  However the preferred way to select ctrl-q
        rather than 'q' is to use the toggle in the tools widget of the
        plot window.

        The gnuplot outboard driver, gnuplot_qt, is searched in a de-
        fault place chosen when the program is compiled.  You can over-
        ride that by defining the environment variable GNU-
        PLOT_DRIVER_DIR.



        [1m116.55.  Regis[0m


        Note: legacy terminal.  The [1mregis [22mterminal device generates
        output in the REGIS graphics language.  It has the option of
        using 4 (the default) or 16 colors.

        Syntax:
              set terminal regis {4 | 16}










   GNUPLOT 5.4                                                      396


        [1m116.56.  Sixelgd[0m


        Syntax:
              set terminal sixelgd
                     {{no}enhanced} {{no}truecolor}
                     {{no}transparent} {rounded|butt}
                     {linewidth <lw>} {dashlength <dl>}
                     {tiny | small | medium | large | giant}
                     {font "<face> {,<pointsize>}"} {fontscale <scale>}
                     {size <x>,<y>} {{no}crop} {animate}
                     {background <rgb_color>}

        The [1msixel [22moutput format was originally used by DEC terminals
        and printers.  This driver produces a sixel output stream by
        converting a PNG image created internally using the gd library.
        The sixel output stream can be viewed in the terminal as it is
        created or it can be written to a file so that it can be re-
        played later by echoing the file to the terminal.

        The [1manimate [22moption resets the cursor position to the terminal
        top left at the start of every plot so that successive plots
        overwrite the same area on the screen rather than having ear-
        lier plots scroll off the top. This may be desirable in order
        to create an in-place animation.

        [1mtransparent [22minstructs the driver to make the background color
        transparent.  Default is [1mnotransparent[22m.

        The [1mlinewidth [22mand [1mdashlength [22moptions are scaling factors that
        affect all lines drawn, i.e. they are multiplied by values re-
        quested in various drawing commands.

        By default the sixel output uses 16 indexed colors. The [1mtrue-[0m
        [1mcolor [22moption instead creates a TrueColor png image that is
        mapped down onto 256 colors in the output sixel image. Trans-
        parent fill styles require the [1mtruecolor [22moption. See [1mfillstyle[22m.
        A [1mtransparent [22mbackground is possible in either indexed or True-
        Color images.

        [1mbutt [22minstructs the driver to use a line drawing method that
        does not overshoot the desired end point of a line.  This set-
        ting is only applicable for line widths greater than 1.  This
        setting is most useful when drawing horizontal or vertical
        lines.  Default is [1mrounded[22m.

        The details of font selection are complicated.  For more infor-
        mation please see [1mfonts[22m.

        The output plot size <x,y> is given in pixels---it defaults to
        640x480.  Please see additional information under [1mcanvas [22mand
        [1mset size[22m.  Blank space at the edges of the finished plot may be
        trimmed using the [1mcrop [22moption, resulting in a smaller final










   GNUPLOT 5.4                                                      397


        image size. Default is [1mnocrop[22m.  The terminal has been success-
        fully tested with the xterm, mlterm and mintty terminals.  The
        later two support the [1mtruecolor [22mmode using 256 sixel colors out
        of box. Distributed copies of xterm may or may not have been
        configured to support sixel graphics and may be limited to 16
        colors.



        [1m116.57.  Svg[0m


        This terminal produces files in the W3C Scalable Vector Graph-
        ics format.

        Syntax:
              set terminal svg {size <x>,<y> {|fixed|dynamic}}
                               {mouse} {standalone | jsdir <dirname>}
                               {name <plotname>}
                               {font "<fontname>{,<fontsize>}"}
        {{no}enhanced}
                               {fontscale <multiplier>}
                               {rounded|butt|square} {solid|dashed}
        {linewidth <lw>}
                               {background <rgb_color>}

        where <x> and <y> are the size of the SVG plot to generate, [1mdy-[0m
        [1mnamic [22mallows a svg-viewer to resize plot, whereas the default
        setting, [1mfixed[22m, will request an absolute size.

        [1mlinewidth <w> [22mincreases the width of all lines used in the fig-
        ure by a factor of <w>.

        <font> is the name of the default font to use (default Arial)
        and <fontsize> is the font size (in points, default 12). SVG
        viewing programs may substitute other fonts when the file is
        displayed.

        The enhanced text mode syntax is shared with other gnuplot ter-
        minal types.  See [1menhanced [22mfor more details.

        The [1mmouse [22moption tells gnuplot to add support for mouse track-
        ing and for toggling individual plots on/off by clicking on the
        corresponding key entry.  By default this is done by including
        a link that points to a script in a local directory, usually
        /usr/local/share/gnuplot/<version>/js.  You can change this by
        using the [1mjsdir [22moption to specify either a different local di-
        rectory or a general URL. The latter is usually appropriate if
        you are embedding the svg into a web page.  Alternatively, the
        [1mstandalone [22moption embeds the mousing code in the svg document
        itself rather than linking to an external resource.

        When an SVG file will be used in conjunction with external










   GNUPLOT 5.4                                                      398


        files, e.g. if it is referenced by javascript code in a web
        page or parent document, then a unique name is required to
        avoid potential conflicting references to other SVG plots.  Use
        the [1mname [22moption to ensure uniqueness.




        [1m116.58.  Svga[0m


        Legacy terminal. The [1msvga [22mterminal driver supports PCs with
        SVGA graphics.  It is typically only compiled with DJGPP and
        uses the GRX graphics library.  There is also a variant for
        Windows 32bit, which is mainly used for debugging. The underly-
        ing library also supports X11, Linux console and SDL, but these
        targets are currently not supported.

        Syntax:
              set terminal svga {font "<fontname>"}
                                {{no}enhanced}
                                {background <rgb color>}
                                {linewidth|lw <lw>}
                                {pointscale|ps <scale>}
                                {fontscale|fs <scale>}

        Enhanced text support can be activated using the [1menhanced [22mop-
        tion, see [1menhanced text[22m.  Note that changing the font size in
        enhanced text is currently not supported. Hence, super- and
        subscripts will have the same size.

        The [1mlinewidth [22mparameter scales the width of lines. The
        [1mpointscale [22mparameter sets the scale factor for point symbols.
        You can use [1mfontscale [22mto scale the bitmap font. This might be
        useful if you have a hi-res display.  Note that integer factors
        give best results.



        [1m116.59.  Tek40[0m


        This family of terminal drivers supports a variety of VT-like
        terminals.  [1mtek40xx [22msupports Tektronix 4010 and others as well
        as most TEK emulators.  [1mvttek [22msupports VT-like tek40xx terminal
        emulators.  The following are present only if selected when
        gnuplot is built: [1mkc-tek40xx [22msupports MS-DOS Kermit Tek4010
        terminal emulators in color; [1mkm-tek40xx [22msupports them in mono-
        chrome. [1mselanar [22msupports Selanar graphics.  [1mbitgraph [22msupports
        BBN Bitgraph terminals.  None have any options.













   GNUPLOT 5.4                                                      399


        [1m116.60.  Tek410x[0m


        The [1mtek410x [22mterminal driver supports the 410x and 420x family
        of Tektronix terminals.  It has no options.



        [1m116.61.  Texdraw[0m


        The [1mtexdraw [22mterminal driver supports the (La)TeX texdraw envi-
        ronment.  It is intended for use with the texdraw package, see
        https://www.ctan.org/tex-archive/graphics/texdraw/ .

              set terminal texdraw
                             {size <XX>{unit},<YY>{unit}}
                             {standalone | input}
                             {blacktext | colortext | colourtext}
                             {linewidth <lw>} {rounded | butt}
                             {pointscale <ps>}
                             {psarrows | gparrows} {texpoints | gp-
        points}
                             {background <rgbcolor>}

        Note: Graphics are in grayscale only. Text is always black.
        Boxes and polygons are filled using solid gray levels only.
        Patterns are not available.

        Points, among other things, are drawn using the LaTeX commands
        "\Diamond" and "\Box".  These commands no longer belong to the
        LaTeX2e core; they are included in the latexsym package, which
        is part of the base distribution and thus part of any LaTeX im-
        plementation.  Please do not forget to use this package.  Other
        point types use symbols from the amssymb package. For compati-
        bility with plain TeX you need to specify the [1mgppoints [22moption.

        [1mstandalone [22mproduces a LaTeX file with possibly multiple plots,
        ready to be compiled.  The default is [1minput [22mto produce a TeX
        file which can be included.

        [1mblacktext [22mforces all text to be written in black. [1mcolortext [22men-
        ables "colored" text. The default is [1mblacktext [22mand "color"
        means grayscale really.

        [1mrounded [22msets line caps and line joins to be rounded; [1mbutt [22msets
        butt caps and mitered joins and is the default.

        [1mlinewidth [22mand [1mpointscale [22mscale the width of lines and the size
        of point symbols, respectively. [1mpointscale[22monly applies to [1mgp-[0m
        [1mpoints[22m.

        [1mpsarrows [22mdraws [1marrow[22ms using TeXdraw commands which are shorter










   GNUPLOT 5.4                                                      400


        but do not offer all options. [1mgparrows [22mselects drawing drawing
        arrows using gnuplot's own routine for full functionality in-
        stead.  Similarly, [1mtexpoints[22m, and [1mgppoints [22mselect LaTeX symbols
        or gnuplot's point drawing routines.



        [1m116.62.  Tgif[0m


        Legacy terminal (present only if gnuplot was configured --with-
        tgif).  Tgif is/was an Xlib based interactive 2-D vector graph-
        ics drawing tool also capable of importing and marking up bit-
        map images.

        The [1mtgif [22mdriver supports a choice of font and font size and
        multiple graphs on the page.  The proportions of the axes are
        not changed.

        Syntax:
              set terminal tgif {portrait | landscape | default}
        {<[x,y]>}
                                {monochrome | color}
                                {{linewidth | lw} <LW>}
                                {solid | dashed}
                                {font "<fontname>{,<fontsize>}"}

        where <[x,y]> specifies the number of graphs in the x and y di-
        rections on the page, [1mcolor [22menables color, [1mlinewidth [22mscales all
        linewidths by <LW>, "<fontname>" is the name of a valid Post-
        Script font, and <fontsize> specifies the size of the Post-
        Script font.  [1mdefaults [22msets all options to their defaults: [1mpor-[0m
        [1mtrait[22m, [1m[1,1][22m, [1mcolor[22m, [1mlinewidth 1.0[22m, [1mdashed[22m, [1m"Helvetica,18"[22m.

        The [1msolid [22moption is usually preferred if lines are colored, as
        they often are in the editor.  Hardcopy will be black-and-
        white, so [1mdashed [22mshould be chosen for that.

        Multiplot is implemented in two different ways.

        The first multiplot implementation is the standard gnuplot mul-
        tiplot feature:

              set terminal tgif
              set output "file.obj"
              set multiplot
              set origin x01,y01
              set size  xs,ys
              plot ...
                   ...
              set origin x02,y02
              plot ...
              unset multiplot










   GNUPLOT 5.4                                                      401


        See [1mset multiplot [22mfor further information.

        The second version is the [x,y] option for the driver itself.
        The advantage of this implementation is that everything is
        scaled and placed automatically without the need for setting
        origins and sizes; the graphs keep their natural x/y propor-
        tions of 3/2 (or whatever is fixed by [1mset size[22m).

        If both multiplot methods are selected, the standard method is
        chosen and a warning message is given.

        Examples of single plots (or standard multiplot):
              set terminal tgif                  # defaults
              set terminal tgif "Times-Roman,24"
              set terminal tgif landscape
              set terminal tgif landscape solid

        Examples using the built-in multiplot mechanism:
              set terminal tgif portrait [2,4]  # portrait; 2 plots in
        the x-
                                                # and 4 in the y-direc-
        tion
              set terminal tgif [1,2]           # portrait; 1 plot in
        the x-
                                                # and 2 in the y-direc-
        tion
              set terminal tgif landscape [3,3] # landscape; 3 plots in
        both
                                                # directions



        [1m116.63.  Tikz[0m


        This driver creates output for use with the TikZ package of
        graphics macros in TeX.  It is currently implemented via an ex-
        ternal lua script, and [1mset term tikz [22mis a short form of the
        command [1mset term lua tikz[22m.  See [1mterm lua [22mfor more information.
        Use the command [1mset term tikz help [22mto print terminal options.



        [1m116.64.  Tkcanvas[0m


        This terminal driver generates Tk canvas widget commands in one
        of the following scripting languages: Tcl (default), Perl,
        Python, Ruby, or REXX.

        Syntax:
              set terminal tkcanvas {tcl | perl | perltkx | python |
        ruby | rexx}










   GNUPLOT 5.4                                                      402


                                    {standalone | input}
                                    {interactive}
                                    {rounded | butt}
                                    {nobackground | background <rgb
        color>}
                                    {{no}rottext}
                                    {size <width>,<height>}
                                    {{no}enhanced}
                                    {externalimages | pixels}

        Execute the following sequence of Tcl/Tk commands to display
        the result:

              package require Tk
              # the following two lines are only required to support
        external images
              package require img::png
              source resize.tcl
              source plot.tcl
              canvas .c -width 800 -height 600
              pack .c
              gnuplot .c

        Or, for Perl/Tk use a program like this:

              use Tk;
              my $top = MainWindow->new;
              my $c = $top->Canvas(-width => 800, -height =>
        600)->pack;
              my $gnuplot = do "plot.pl";
              $gnuplot->($c);
              MainLoop;

        Or, for Perl/Tkx use a program like this:

              use Tkx;
              my $top = Tkx::widget->new(".");
              my $c = $top->new_tk__canvas(-width => 800, -height =>
        600);
              $c->g_pack;
              my $gnuplot = do "plot.pl";
              $gnuplot->($c);
              Tkx::MainLoop();

        Or, for Python/Tkinter use a program like this:

              from tkinter import *
              from tkinter import font
              root = Tk()
              c = Canvas(root, width=800, height=600)
              c.pack()
              exec(open('plot.py').read())
              gnuplot(c)










   GNUPLOT 5.4                                                      403


              root.mainloop()

        Or, for Ruby/Tk use a program like this:

              require 'tk'
              root = TkRoot.new { title 'Ruby/Tk' }
              c = TkCanvas.new(root, 'width'=>800, 'height'=>600) {
        pack  { } }
              load('plot.rb')
              gnuplot(c)
              Tk.mainloop

        Or, for Rexx/Tk use a program like this:

              /**/
              call RxFuncAdd 'TkLoadFuncs', 'rexxtk', 'TkLoadFuncs'
              call TkLoadFuncs
              cv = TkCanvas('.c', '-width', 800, '-height', 600)
              call TkPack cv
              call 'plot.rex' cv
              do forever
                  cmd = TkWait()
                  if cmd = 'AWinClose' then leave
                  interpret 'call' cmd
              end

        The code generated by [1mgnuplot [22m(in the above examples, this code
        is written to "plot.<ext>") contains the following procedures:

        gnuplot(canvas)
           takes the name of a canvas as its argument.
           When called, it clears the canvas, finds the size of the
        canvas and
           draws the plot in it, scaled to fit.

        gnuplot_plotarea()
           returns a list containing the borders of the plotting area
           (xleft, xright, ytop, ybot) in canvas screen coordinates.
        It works only for 2-dimensional plotting (`plot`).

        gnuplot_axisranges()
           returns the ranges of the two axes in plot coordinates
           (x1min, x1max, y1min, y1max, x2min, x2max, y2min, y2max).
           It works only for 2-dimensional plotting (`plot`).

        You can create self-contained, minimal scripts using the [1mstand-[0m
        [1malone [22moption.  The default is [1minput [22mwhich creates scripts which
        have to be source'd (or loaded or called or whatever the ade-
        quate term is for the language selected).

        If the [1minteractive [22moption is specified, mouse clicking on a
        line segment will print the coordinates of its midpoint to std-
        out.  The user can supersede this behavior by supplying a










   GNUPLOT 5.4                                                      404


        procedure user_gnuplot_coordinates which takes the following
        arguments:
          win id x1s y1s x2s y2s x1e y1e x2e y2e x1m y1m x2m y2m,
        i.e. the name of the canvas and the id of the line segment fol-
        lowed by the coordinates of its start and end point in the two
        possible axis ranges; the coordinates of the midpoint are only
        filled for logarithmic axes.

        By default the canvas is [1mtransparent[22m, but an explicit back-
        ground color can be set with the [1mbackground [22moption.

        [1mrounded [22msets line caps and line joins to be rounded; [1mbutt [22mis
        the default:  butt caps and mitered joins.

        Text at arbitrary angles can be activated with the [1mrottext [22mop-
        tion, which requires Tcl/Tk 8.6 or later. The default is [1mnorot-[0m
        [1mtext[22m.

        The [1msize [22moption tries to optimize the tic and font sizes for
        the given canvas size.  By default an output size of 800 x 600
        pixels is assumed.

        [1menhanced [22mselects [1menhanced text [22mprocessing (default), but is
        currently only available for Tcl.

        The [1mpixels [22m(default) option selects the failsafe pixel-by-pixel
        image handler, see also [1mimage pixels[22m.  The [1mexternalimages [22mop-
        tion saves images as external png images, which are later
        loaded and scaled by the tkcanvas code.  This option is only
        available for Tcl and display may be slow in some situations
        since the Tk image handler does not provide arbitrary scaling.
        Scripts need to source the provided rescale.tcl.

        Interactive mode is not yet implemented for Python/Tk and
        Rexx/Tk.  Interactive mode for Ruby/Tk does not yet support
        user_gnuplot_coordinates.



        [1m116.65.  Tpic[0m


        Note: Legacy terminal (not built by default).  The latex, em-
        tex, eepic, and tpic terminals in older versions of gnuplot
        provided minimal support for graphics styles beyond simple
        lines and points.  They have been directly superseded by the
        [1mpict2e [22mterminal.  For more capable TeX/LaTeX compatible termi-
        nal types see [1mcairolatex[22m, [1mcontext[22m, [1mepslatex[22m, [1mmp[22m, [1mpstricks[22m, and
        [1mtikz[22m.

        The [1mtpic [22mterminal driver supports the LaTeX picture environment
        with tpic \specials. Options are the point size, line width,
        and dot-dash interval.










   GNUPLOT 5.4                                                      405


        Syntax:
              set terminal tpic <pointsize> <linewidth> <interval>

        where [1mpointsize [22mand [1mlinewidth [22mare integers in milli-inches and
        [1minterval [22mis a float in inches.  If a non-positive value is
        specified, the default is chosen: pointsize = 40, linewidth =
        6, interval = 0.1.

        All drivers for LaTeX offer a special way of controlling text
        positioning: If any text string begins with '{', you also need
        to include a '}' at the end of the text, and the whole text
        will be centered both horizontally and vertically by LaTeX. ---
        If the text string begins with '[', you need to continue it
        with: a position specification (up to two out of t,b,l,r),
        ']{', the text itself, and finally, '}'. The text itself may be
        anything LaTeX can typeset as an LR-box. \rule{}{}'s may help
        for best positioning.

        Examples: About label positioning: Use gnuplot defaults (mostly
        sensible, but sometimes not really best):
               set title '\LaTeX\ -- $ \gamma $'
        Force centering both horizontally and vertically:
               set label '{\LaTeX\ -- $ \gamma $}' at 0,0
        Specify own positioning (top here):
               set xlabel '[t]{\LaTeX\ -- $ \gamma $}'
        The other label -- account for long ticlabels:
               set ylabel '[r]{\LaTeX\ -- $ \gamma $\rule{7mm}{0pt}}'



        [1m116.66.  VWS[0m


        Note: legacy terminal.  The [1mVWS [22mterminal driver supports the
        VAX Windowing System.  It has no options.  It will sense the
        display type (monochrome, gray scale, or color.)  All line
        styles are plotted as solid lines.



        [1m116.67.  Windows[0m


        The [1mwindows [22mterminal is a fast interactive terminal driver that
        uses the Windows GDI to draw and write text. The cross-platform
        [1mterminal wxt [22mand [1mterminal qt [22mare also supported on Windows.

        Syntax:
              set terminal windows {<n>}
                                   {color | monochrome}
                                   {solid | dashed}
                                   {rounded | butt}
                                   {enhanced | noenhanced}










   GNUPLOT 5.4                                                      406


                                   {font <fontspec>}
                                   {fontscale <scale>}
                                   {linewidth <scale>}
                                   {pointscale <scale>}
                                   {background <rgb color>}
                                   {title "Plot Window Title"}
                                   {{size | wsize} <width>,<height>}
                                   {position <x>,<y>}
                                   {docked {layout <rows>,<cols>} |
        standalone}
                                   {close}

        Multiple plot windows are supported: [1mset terminal win <n> [22mdi-
        rects the output to plot window number n.

        [1mcolor [22mand [1mmonochrome [22mselect colored or mono output, [1mdashed [22mand
        [1msolid [22mselect dashed or solid lines. Note that [1mcolor [22mdefaults to
        [1msolid[22m, whereas [1mmonochrome [22mdefaults to [1mdashed[22m.  [1mrounded [22msets
        line caps and line joins to be rounded; [1mbutt [22mis the default,
        butt caps and mitered joins.  [1menhanced [22menables enhanced text
        mode features (subscripts, superscripts and mixed fonts, see
        [1menhanced text [22mfor more information).  [1m<fontspec> [22mis in the for-
        mat "<fontface>,<fontsize>", where "<fontface>" is the name of
        a valid Windows font, and <fontsize> is the size of the font in
        points and both components are optional.  Note that in previous
        versions of gnuplot the [1mfont [22mstatement could be left out and
        <fontsize> could be given as a number without double quotes.
        This is no longer supported.  [1mlinewidth[22m, [1mfontscale[22m, [1mpointscale[0m
        can be used to scale the width of lines, the size of text, or
        the size of the point symbols.  [1mtitle [22mchanges the title of the
        graph window.  [1msize [22mdefines the width and height of the win-
        dow's drawing area in pixels, [1mwsize [22mdefines the actual size of
        the window itself and [1mposition [22mdefines the origin of the window
        i.e. the position of the top left corner on the screen (again
        in pixel). These options override any default settings from the
        [1mwgnuplot.ini [22mfile.

        [1mdocked [22membeds the graph window in the wgnuplot text window and
        the [1msize [22mand [1mposition [22moptions are ignored.  Note that [1mdocked [22mis
        not available for console-mode gnuplot.  Setting this option
        changes the default for new windows.  The initial default is
        [1mstandalone[22m.  The [1mlayout [22moption allows to reserve a minimal num-
        ber of columns and rows for graphs in docked mode.  If there
        are more graphs than fit the given layout, additional rows will
        be added.  Graphs are sorted by the numerical id, filling rows
        first.

        Other options may be changed using the [1mgraph-menu [22mor the ini-
        tialization file [1mwgnuplot.ini[22m.

        The Windows version normally terminates immediately as soon as
        the end of any files given as command line arguments is reached
        (i.e. in non-interactive mode), unless you specify [1m- [22mas the










   GNUPLOT 5.4                                                      407


        last command line option.  It will also not show the text-win-
        dow at all, in this mode, only the plot.  By giving the op-
        tional argument [1m-persist [22m(same as for gnuplot under x11; former
        Windows-only options [1m/noend [22mor [1m-noend [22mare still accepted as
        well), will not close gnuplot. Contrary to gnuplot on other op-
        erating systems, gnuplot's interactive command line is accessi-
        ble after the -persist option.

        The plot window remains open when the gnuplot terminal is
        changed with a [1mset term [22mcommand. The plot window can be closed
        with [1mset term windows close[22m.

        [1mgnuplot [22msupports different methods to create printed output on
        Windows, see [1mwindows printing[22m. The windows terminal supports
        data exchange with other programs via clipboard and EMF files,
        see [1mgraph-menu[22m. You can also use the [1mterminal emf [22mto create EMF
        files.




             [1m116.67.1.  Graph-menu[0m


             The [1mgnuplot graph [22mwindow has the following options on a
             pop-up menu accessed by pressing the right mouse button(*)
             or selecting [1mOptions [22mfrom the system menu or the toolbar:

             [1mCopy to Clipboard [22mcopies a bitmap and an enhanced metafile
             picture.

             [1mSave as EMF... [22mallows the user to save the current graph
             window as enhanced metafile (EMF or EMF+).

             [1mSave as Bitmap... [22mallows the user to save a copy of the
             graph as bitmap file.

             [1mPrint... [22mprints the graphics windows using a Windows
             printer driver and allows selection of the printer and
             scaling of the output. See also [1mwindows printing[22m.

             [1mBring to Top [22mwhen checked raises the graph window to the
             top after every plot.

             [1mColor [22mwhen checked enables color output.  When unchecked
             it forces all grayscale output.  This is e.g. useful to
             test appearance of monochrome printouts.

             The [1mGDI backend [22mwhich uses the classic GDI API is depre-
             cated and has been disabled in this version.

             [1mGDI+ backend [22mdraws to the screen using the GDI+ Windows
             API. It supports full antialiasing, oversampling,










   GNUPLOT 5.4                                                      408


             transparency and custom dash patterns.  This was the de-
             fault in versions 5.0 and 5.2.

             [1mDirect2D backend [22muses Direct2D & DirectWrite APIs to draw.
             It uses graphic card acceleration and is hence typically
             much faster.  Since Direct2D can not create EMF data, sav-
             ing and copying to clipboard of EMF data fall back to GDI+
             while bitmap data is generated by D2d.  This is the recom-
             mended and default backend since version 5.3.

             [1mOversampling [22mdraws diagonal lines at fractional pixel po-
             sitions to avoid "wobbling" effects.  Vertical or horizon-
             tal lines are still snapped to integer pixel positions to
             avoid blurry lines.

             [1mAntialiasing [22menables smoothing of lines and edges. Note
             that this slows down drawing.  [1mAntialiasing of polygons [22mis
             enabled by default but might slow down drawing with the
             GDI+ backend.

             [1mFast rotation [22mswitches antialiasing temporarily off while
             rotating the graph with the mouse. This speeds up drawing
             considerably at the expense of an additional redraw after
             releasing the mouse button.

             [1mBackground... [22msets the window background color.

             [1mChoose Font... [22mselects the font used in the graphics win-
             dow.

             [1mUpdate wgnuplot.ini [22msaves the current window locations,
             window sizes, text window font, text window font size,
             graph window font, graph window font size, background
             color to the initialization file [1mwgnuplot.ini[22m.

             (*) Note that this menu is only available by pressing the
             right mouse button with [1munset mouse[22m.



             [1m116.67.2.  Printing[0m


             In order of preference, graphs may be printed in the fol-
             lowing ways:

             [1m1. [22mUse the [1mgnuplot [22mcommand [1mset terminal [22mto select a
             printer and [1mset output [22mto redirect output to a file.

             [1m2. [22mSelect the [1mPrint... [22mcommand from the [1mgnuplot graph [22mwin-
             dow.  An extra command [1mscreendump [22mdoes this from the text
             window.











   GNUPLOT 5.4                                                      409


             [1m3. [22mIf [1mset output "PRN" [22mis used, output will go to a tempo-
             rary file.  When you exit from [1mgnuplot [22mor when you change
             the output with another [1mset output [22mcommand, a dialog box
             will appear for you to select a printer port.  If you
             choose OK, the output will be printed on the selected
             port, passing unmodified through the print manager.  It is
             possible to accidentally (or deliberately) send printer
             output meant for one printer to an incompatible printer.




             [1m116.67.3.  Text-menu[0m


             The [1mgnuplot text [22mwindow has the following options on a
             pop-up menu accessed by pressing the right mouse button or
             selecting [1mOptions [22mfrom the system menu:

             [1mCopy to Clipboard [22mcopies marked text to the clipboard.

             [1mPaste [22mcopies text from the clipboard as if typed by the
             user.

             [1mChoose Font... [22mselects the font used in the text window.

             [1mSystem Colors [22mwhen selected makes the text window honor
             the System Colors set using the Control Panel.  When unse-
             lected, text is black or blue on a white background.

             [1mWrap long lines [22mwhen selected lines longer than the cur-
             rent window width are wrapped.

             [1mUpdate wgnuplot.ini [22msaves the current settings to the ini-
             tialisation file [1mwgnuplot.ini[22m, which is located in the
             user's application data directory.




             [1m116.67.4.  Wgnuplot.mnu[0m


             If the menu file [1mwgnuplot.mnu [22mis found in the same direc-
             tory as [1mgnuplot[22m, then the menu specified in [1mwgnuplot.mnu[0m
             will be loaded.  Menu commands:

              [Menu]      starts a new menu with the name on the fol-
             lowing line.
              [EndMenu]   ends the current menu.
              [--]        inserts a horizontal menu separator.
              [|]         inserts a vertical menu separator.
              [Button]    puts the next macro on a push button instead










   GNUPLOT 5.4                                                      410


             of a menu.

             Macros take two lines with the macro name (menu entry) on
             the first line and the macro on the second line.  Leading
             spaces are ignored.  Macro commands:

              [INPUT]     Input string with prompt terminated by [EOS]
             or {ENTER}
              [EOS]       End Of String terminator. Generates no out-
             put.
              [OPEN]      Get name of a file to open, with the title of
             the dialog
                          terminated by [EOS], followed by a default
             filename terminated
                          by [EOS] or {ENTER}.
              [SAVE]      Get name of a file to save.  Parameters like
             [OPEN]
              [DIRECTORY] Get name of a directory, with the title of
             the dialog
                          terminated by [EOS] or {ENTER}

             Macro character substitutions:

              {ENTER}     Carriage Return '\r'
              {TAB}       Tab '\011'
              {ESC}       Escape '\033'
              {^A}        '\001'
              ...
              {^_}        '\031'

             Macros are limited to 256 characters after expansion.




             [1m116.67.5.  Wgnuplot.ini[0m


             The Windows text window and the [1mwindows [22mterminal will read
             some of their options from the [1m[WGNUPLOT] [22msection of [1mwgnu-[0m
             [1mplot.ini[22m.  This file is located in the user's application
             data directory. Here's a sample [1mwgnuplot.ini [22mfile:

                   [WGNUPLOT]
                   TextOrigin=0 0
                   TextSize=640 150
                   TextFont=Consolas,9
                   TextWrap=1
                   TextLines=400
                   TextMaximized=0
                   SysColors=0
                   GraphOrigin=0 150
                   GraphSize=640 330










   GNUPLOT 5.4                                                      411


                   GraphFont=Tahoma,10
                   GraphColor=1
                   GraphToTop=1
                   GraphGDI+=1
                   GraphD2D=0
                   GraphGDI+Oversampling=1
                   GraphAntialiasing=1
                   GraphPolygonAA=1
                   GraphFastRotation=1
                   GraphBackground=255 255 255
                   DockVerticalTextFrac=350
                   DockHorizontalTextFrac=400


             These settings apply to the wgnuplot text-window only.
             The [1mTextOrigin [22mand [1mTextSize [22mentries specify the location
             and size of the text window. If [1mTextMaximized [22mis non-zero,
             the window will be maximized.

             The [1mTextFont [22mentry specifies the text window font and
             size.

             The [1mTextWrap [22mentry selects wrapping of long text lines.

             The [1mTextLines [22mentry specifies the number of (unwrapped)
             lines the internal buffer of the text window can hold.
             This value currently cannot be changed from within wgnu-
             plot.

             See [1mtext-menu[22m.


             [1mDockVerticalTextFrac [22mand [1mDockHorizontalTextFrac [22mset the
             fraction of the window reserved for the text window in
             permille of the vertical or horizontal layout.


             The [1mGraphFont [22mentry specifies the font name and size in
             points.

             See [1mgraph-menu[22m.



        [1m116.68.  Wxt[0m


        The [1mwxt [22mterminal device generates output in a separate window.
        The window is created by the wxWidgets library, where the 'wxt'
        comes from. The actual drawing is done via cairo, a 2D graphics
        library, and pango, a library for laying out and rendering
        text.











   GNUPLOT 5.4                                                      412


        Syntax:
                set term wxt {<n>}
                             {size <width>,<height>} {position <x>,<y>}
                             {background <rgb_color> | nobackground}
                             {{no}enhanced}
                             {font <font>} {fontscale <scale>}
                             {title "title"}
                             {linewidth <lw>} {butt|rounded|square}
                             {dashlength <dl>}
                             {{no}persist}
                             {{no}raise}
                             {{no}ctrl}
                             {close}

        Multiple plot windows are supported: [1mset terminal wxt <n> [22mdi-
        rects the output to plot window number n.

        The default window title is based on the window number. This
        title can also be specified with the keyword "title".

        Plot windows remain open even when the [1mgnuplot [22mdriver is
        changed to a different device.  A plot window can be closed by
        pressing the letter 'q' while that window has input focus, by
        choosing [1mclose [22mfrom a window manager menu, or with [1mset term wxt[0m
        [1m<n> close[22m.

        The size of the plot area is given in pixels, it defaults to
        640x384.  In addition to that, the actual size of the window
        also includes the space reserved for the toolbar and the status
        bar.  When you resize a window, the plot is immediately scaled
        to fit in the new size of the window. Unlike other interactive
        terminals, the [1mwxt [22mterminal scales the whole plot, including
        fonts and linewidths, and keeps its global aspect ratio con-
        stant, leaving an empty space painted in gray.  If you type [1mre-[0m
        [1mplot[22m, click the [1mreplot [22micon in the terminal toolbar or type a
        new [1mplot [22mcommand, the new plot will completely fit in the win-
        dow and the font size and the linewidths will be reset to their
        defaults.

        The position option can be used to set the position of the plot
        window.  The position option only applies to the first plot af-
        ter the [1mset term [22mcommand.

        The active plot window (the one selected by [1mset term wxt <n>[22m)
        is interactive. Its behaviour is shared with other terminal
        types. See [1mmouse [22mfor details. It also has some extra icons,
        which are supposed to be self-explanatory.

        This terminal supports an enhanced text mode, which allows font
        and other formatting commands (subscripts, superscripts, etc.)
        to be embedded in labels and other text strings. The enhanced
        text mode syntax is shared with other gnuplot terminal types.
        See [1menhanced [22mfor more details.










   GNUPLOT 5.4                                                      413


        <font> is in the format "FontFace,FontSize", i.e. the face and
        the size comma-separated in a single string. FontFace is a
        usual font face name, such as 'Arial'. If you do not provide
        FontFace, the wxt terminal will use 'Sans'. FontSize is the
        font size, in points. If you do not provide it, the wxt termi-
        nal will use a size of 10 points.
           For example :
              set term wxt font "Arial,12"
              set term wxt font "Arial" # to change the font face only
              set term wxt font ",12" # to change the font size only
              set term wxt font "" # to reset the font name and size

        The fonts are retrieved from the usual fonts subsystems. Under
        Windows, those fonts are to be found and configured in the en-
        try "Fonts" of the control panel. Under UNIX, they are handled
        by "fontconfig".

        Pango, the library used to layout the text, is based on utf-8.
        Thus, the wxt terminal has to convert from your encoding to
        utf-8. The default input encoding is based on your 'locale'. If
        you want to use another encoding, make sure gnuplot knows which
        one you are using. See [1mencoding [22mfor more details.

        Pango may give unexpected results with fonts that do not re-
        spect the unicode mapping. With the Symbol font, for example,
        the wxt terminal will use the map provided by http://www.uni-
        code.org/ to translate character codes to unicode.  Pango will
        do its best to find a font containing this character, looking
        for your Symbol font, or other fonts with a broad unicode cov-
        erage, like the DejaVu fonts. Note that "the Symbol font" is to
        be understood as the Adobe Symbol font, distributed with Acro-
        bat Reader as "SY______.PFB".  Alternatively, the OpenSymbol
        font, distributed with OpenOffice.org as "opens___.ttf", offers
        the same characters. Microsoft has distributed a Symbol font
        ("symbol.ttf"), but it has a different character set with sev-
        eral missing or moved mathematic characters. If you experience
        problems with your default setup (if the demo enhancedtext.dem
        is not displayed properly for example), you probably have to
        install one of the Adobe or OpenOffice Symbol fonts, and remove
        the Microsoft one.  Other non-conform fonts, such as
        "wingdings" have been observed working.

        The rendering of the plot can be altered with a dialog avail-
        able from the toolbar. To obtain the best output possible, the
        rendering involves three mechanisms : antialiasing, oversam-
        pling and hinting.  Antialiasing allows to display non-horizon-
        tal and non-vertical lines smoother.  Oversampling combined
        with antialiasing provides subpixel accuracy, so that gnuplot
        can draw a line from non-integer coordinates. This avoids wob-
        bling effects on diagonal lines ('plot x' for example).  Hint-
        ing avoids the blur on horizontal and vertical lines caused by
        oversampling. The terminal will snap these lines to integer co-
        ordinates so that a one-pixel-wide line will actually be drawn










   GNUPLOT 5.4                                                      414


        on one and only one pixel.

        By default, the window is raised to the top of your desktop
        when a plot is drawn. This can be controlled with the keyword
        "raise".  The keyword "persist" will prevent gnuplot from exit-
        ing before you explicitly close all the plot windows.  Finally,
        by default the key <space> raises the gnuplot console window,
        and 'q' closes the plot window. The keyword "ctrl" allows you
        to replace those bindings by <ctrl>+<space> and <ctrl>+'q', re-
        spectively.  These three keywords (raise, persist and ctrl) can
        also be set and remembered between sessions through the config-
        uration dialog.



        [1m116.69.  X11[0m



        Syntax:
           set terminal x11 {<n> | window "<string>"}
                            {title "<string>"}
                            {{no}enhanced} {font <fontspec>}
                            {linewidth LW}
                            {{no}persist} {{no}raise} {{no}ctrlq}
                            {{no}replotonresize}
                            {close}
                            {size XX,YY} {position XX,YY}
           set terminal x11 {reset}

        Multiple plot windows are supported: [1mset terminal x11 <n> [22mdi-
        rects the output to plot window number n.  If n is not 0, the
        terminal number will be appended to the window title (unless a
        title has been supplied manually) and the icon will be labeled
        [1mGnuplot <n>[22m.  The active window may be distinguished by a
        change in cursor (from default to crosshair).

        The [1mx11 [22mterminal can connect to X windows previously created by
        an outside application via the option [1mwindow [22mfollowed by a
        string containing the X ID for the window in hexadecimal for-
        mat.  Gnuplot uses that external X window as a container since
        X does not allow for multiple clients selecting the ButtonPress
        event.  In this way, gnuplot's mouse features work within the
        contained plot window.

           set term x11 window "220001e"

        The x11 terminal supports enhanced text mode (see [1menhanced[22m),
        subject to the available fonts. In order for font size commands
        embedded in text to have any effect, the default x11 font must
        be scalable. Thus the first example below will work as ex-
        pected, but the second will not.











   GNUPLOT 5.4                                                      415


           set term x11 enhanced font "arial,15"
           set title '{/=20 Big} Medium {/=5 Small}'

           set term x11 enhanced font "terminal-14"
           set title '{/=20 Big} Medium {/=5 Small}'

        Plot windows remain open even when the [1mgnuplot [22mdriver is
        changed to a different device.  A plot window can be closed by
        pressing the letter q while that window has input focus, or by
        choosing [1mclose [22mfrom a window manager menu.  All plot windows
        can be closed by specifying [1mreset[22m, which actually terminates
        the subprocess which maintains the windows (unless [1m-persist [22mwas
        specified).  The [1mclose [22mcommand can be used to close individual
        plot windows by number.  However, after a [1mreset[22m, those plot
        windows left due to persist cannot be closed with the command
        [1mclose[22m.  A [1mclose [22mwithout a number closes the current active plot
        window.

        The gnuplot outboard driver, gnuplot_x11, is searched in a de-
        fault place chosen when the program is compiled.  You can over-
        ride that by defining the environment variable GNU-
        PLOT_DRIVER_DIR to point to a different location.

        Plot windows will automatically be closed at the end of the
        session unless the [1m-persist [22moption was given.

        The options [1mpersist [22mand [1mraise [22mare unset by default, which means
        that the defaults (persist == no and raise == yes) or the com-
        mand line options -persist / -raise or the Xresources are
        taken.  If [no]persist or [no]raise are specified, they will
        override command line options and Xresources.  Setting one of
        these options takes place immediately, so the behaviour of an
        already running driver can be modified.  If the window does not
        get raised, see discussion in [1mraise[22m.

        The option [1mreplotonresize [22m(active by default) replots the data
        when the plot window is resized. Without this option, the even-
        aspect-ratio scaling may result in the plot filling only part
        of the window after resizing.  With this option, gnuplot does a
        full replot on each resize event, resulting in better space
        utilization. This option is generally desirable, unless the po-
        tentially CPU-intensive replotting during resizing is a con-
        cern. Replots can be manually initiated with hotkey 'e' or the
        'replot' command.

        The option [1mtitle "<title name>" [22mwill supply the title name of
        the window for the current plot window or plot window <n> if a
        number is given.  Where (or if) this title is shown depends on
        your X window manager.

        The size option can be used to set the size of the plot window.
        The size option will only apply to newly created windows.











   GNUPLOT 5.4                                                      416


        The position option can be used to set the position of the plot
        window.  The position option will only apply to newly created
        windows.

        The size or aspect ratio of a plot may be changed by resizing
        the [1mgnuplot [22mwindow.

        Linewidths and pointsizes may be changed from within [1mgnuplot[0m
        with [1mset linestyle[22m.

        For terminal type [1mx11[22m, [1mgnuplot [22maccepts (when initialized) the
        standard X Toolkit options and resources such as geometry,
        font, and name from the command line arguments or a configura-
        tion file.  See the X(1) man page (or its equivalent) for a de-
        scription of such options.

        A number of other [1mgnuplot [22moptions are available for the [1mx11[0m
        terminal.  These may be specified either as command-line op-
        tions when [1mgnuplot [22mis invoked or as resources in the configura-
        tion file ".Xdefaults".  They are set upon initialization and
        cannot be altered during a [1mgnuplot [22msession.  (except [1mpersist[0m
        and [1mraise[22m)




             [1m116.69.1.  X11_fonts[0m


             Upon initial startup, the default font is taken from the
             X11 resources as set in the system or user .Xdefaults file
             or on the command line.

             Example:
                   gnuplot*font: lucidasans-bold-12
             A new default font may be specified to the x11 driver from
             inside gnuplot using
                  `set term x11 font "<fontspec>"`
             The driver first queries the X-server for a font of the
             exact name given.  If this query fails, then it tries to
             interpret <fontspec> as "<font>,<size>,<slant>,<weight>"
             and to construct a full X11 font name of the form
                   -*-<font>-<weight>-<s>-*-*-<size>-*-*-*-*-*-<encod-
             ing>

              <font> is the base name of the font (e.g. Times or Sym-
             bol)
              <size> is the point size (defaults to 12 if not speci-
             fied)
              <s> is `i` if <slant>=="italic" `o` if <slant>=="oblique"
             `r` otherwise
              <weight> is `medium` or `bold` if explicitly requested,
             otherwise `*`










   GNUPLOT 5.4                                                      417


              <encoding> is set based on the current character set (see
             `set encoding`).
             So [1mset term x11 font "arial,15,italic" [22mwill be translated
             to -*-arial-*-i-*-*-15-*-*-*-*-*-iso8859-1 (assuming de-
             fault encoding).  The <size>, <slant>, and <weight> speci-
             fications are all optional.  If you do not specify <slant>
             or <weight> then you will get whatever font variant the
             font server offers first.  You may set a default encoding
             via the corresponding X11 resource. E.g.
                   gnuplot*encoding: iso8859-15
             The driver also recognizes some common PostScript font
             names and replaces them with possible X11 or TrueType
             equivalents.  This same sequence is used to process font
             requests from [1mset label[22m.

             If your gnuplot was built with configuration option --en-
             able-x11-mbfonts, you can specify multi-byte fonts by us-
             ing the prefix "mbfont:" on the font name. An additional
             font may be given, separated by a semicolon.  Since multi-
             byte font encodings are interpreted according to the lo-
             cale setting, you must make sure that the environmental
             variable LC_CTYPE is set to some appropriate locale value
             such as ja_JP.eucJP, ko_KR.EUC, or zh_CN.EUC.

             Example:
                   set term x11 font 'mbfont:kana14;k14'
                         # 'kana14' and 'k14' are Japanese X11 font
             aliases, and ';'
                         # is the separator of font names.
                   set term x11 font 'mbfont:fixed,16,r,medium'
                         # <font>,<size>,<slant>,<weight> form is also
             usable.
                   set title '(mb strings)' font 'mbfont:*-fixed-
             medium-r-normal--14-*'

             The same syntax applies to the default font in Xresources
             settings, for example,
                   gnuplot*font: \
                       mbfont:-misc-fixed-medium-r-nor-
             mal--14-*-*-*-c-*-jisx0208.1983-0

             If gnuplot is built with --enable-x11-mbfonts, you can use
             two special PostScript font names 'Ryumin-Light-*' and
             'GothicBBB-Medium-*' (standard Japanese PS fonts) without
             the prefix "mbfont:".




             [1m116.69.2.  Command-line_options[0m













   GNUPLOT 5.4                                                      418


             In addition to the X Toolkit options, the following op-
             tions may be specified on the command line when starting
             [1mgnuplot [22mor as resources in your ".Xdefaults" file (note
             that [1mraise [22mand [1mpersist [22mcan be overridden later by [1mset term[0m
             [1mx11 [no]raise [no]persist)[22m:


   +-----------------------------------------------------------------------------+
   |  `-mono`      forces monochrome rendering on color displays.                |
   |  `-gray`      requests grayscale rendering on grayscale or color displays.  |
   |               (Grayscale displays receive monochrome rendering by default.) |
   |  `-clear`     requests that the window be cleared momentarily before a      |
   |               new plot is displayed.                                        |
   |  `-tvtwm`     requests that geometry specifications for position of the     |
   |               window be made relative to the currently displayed portion    |
   |               of the virtual root.                                          |
   |  `-raise`     raises plot window after each plot                            |
   | `-noraise`    does not raise plot window after each plot                    |
   |`-novevents`   does not process mouse and key events                         |
   |  `-ctrlq`     closes window on ctrl-q rather than q                         |
   | `-persist`    plot windows survive after main gnuplot program exits         |
   +-----------------------------------------------------------------------------+

   The options are shown above in their command-line syntax.  When en-
   tered as resources in ".Xdefaults", they require a different syntax.

   Example:
         gnuplot*gray:  on
         gnuplot*ctrlq: on

   [1mgnuplot [22malso provides a command line option ([1m-pointsize <v>[22m) and a
   resource, [1mgnuplot*pointsize: <v>[22m, to control the size of points
   plotted with the [1mpoints [22mplotting style.  The value [1mv [22mis a real num-
   ber (greater than 0 and less than or equal to ten) used as a scaling
   factor for point sizes.  For example, [1m-pointsize 2 [22muses points twice
   the default size, and [1m-pointsize 0.5 [22muses points half the normal
   size.

   The [1m-ctrlq [22mswitch changes the hot-key that closes a plot window from
   [1mq [22mto [1m<ctrl>q[22m. This is useful is you are using the keystroke-capture
   feature [1mpause mouse keystroke[22m, since it allows the character [1mq [22mto be
   captured just as all other alphanumeric characters. The [1m-ctrlq[0m
   switch similarly replaces the <space> hot-key with <ctrl><space> for
   the same reason.




             [1m116.69.3.  Color_resources[0m


             NB: THIS SECTION IS LARGELY IRRELEVANT IN GNUPLOT VERSION
             5 The X11 terminal honors the following resources (shown










   GNUPLOT 5.4                                                      419


             here with their default values) or the greyscale re-
             sources.  The values may be color names as listed in the
             X11 rgb.txt file on your system, hexadecimal RGB color
             specifications (see X11 documentation), or a color name
             followed by a comma and an [1mintensity [22mvalue from 0 to 1.
             For example, [1mblue, 0.5 [22mmeans a half intensity blue.


                    +--------------------------------+
                    |    gnuplot*background: white   |
                    |    gnuplot*textColor: black    |
                    |    gnuplot*borderColor: black  |
                    |    gnuplot*axisColor: black    |
                    |    gnuplot*line1Color: red     |
                    |    gnuplot*line2Color: green   |
                    |    gnuplot*line3Color: blue    |
                    |    gnuplot*line4Color: magenta |
                    |    gnuplot*line5Color: cyan    |
                    |    gnuplot*line6Color: sienna  |
                    |    gnuplot*line7Color: orange  |
                    |    gnuplot*line8Color: coral   |
                    +--------------------------------+


   The command-line syntax for these is simple only for background,
   which maps directly to the usual X11 toolkit option "-bg".  All oth-
   ers can only be set on the command line by use of the generic "-xrm"
   resource override option

   Examples:

         gnuplot -background coral
   to change the background color.

         gnuplot -xrm 'gnuplot*line1Color:blue'
   to override the first linetype color.




             [1m116.69.4.  Grayscale_resources[0m


             When [1m-gray [22mis selected, [1mgnuplot [22mhonors the following re-
             sources for grayscale or color displays (shown here with
             their default values).  Note that the default background
             is black.
















   GNUPLOT 5.4                                                      420


                     +-------------------------------+
                     |    gnuplot*background: black  |
                     |    gnuplot*textGray: white    |
                     |    gnuplot*borderGray: gray50 |
                     |    gnuplot*axisGray: gray50   |
                     |    gnuplot*line1Gray: gray100 |
                     |    gnuplot*line2Gray: gray60  |
                     |    gnuplot*line3Gray: gray80  |
                     |    gnuplot*line4Gray: gray40  |
                     |    gnuplot*line5Gray: gray90  |
                     |    gnuplot*line6Gray: gray50  |
                     |    gnuplot*line7Gray: gray70  |
                     |    gnuplot*line8Gray: gray30  |
                     +-------------------------------+





             [1m116.69.5.  Line_resources[0m


             NB: THIS SECTION IS LARGELY IRRELEVANT IN GNUPLOT VERSION
             5 [1mgnuplot [22mhonors the following resources for setting the
             width (in pixels) of plot lines (shown here with their de-
             fault values.)  0 or 1 means a minimal width line of 1
             pixel width.  A value of 2 or 3 may improve the appearance
             of some plots.


                       +---------------------------+
                       |    gnuplot*borderWidth: 1 |
                       |    gnuplot*axisWidth: 0   |
                       |    gnuplot*line1Width: 0  |
                       |    gnuplot*line2Width: 0  |
                       |    gnuplot*line3Width: 0  |
                       |    gnuplot*line4Width: 0  |
                       |    gnuplot*line5Width: 0  |
                       |    gnuplot*line6Width: 0  |
                       |    gnuplot*line7Width: 0  |
                       |    gnuplot*line8Width: 0  |
                       +---------------------------+


   [1mgnuplot [22mhonors the following resources for setting the dash style
   used for plotting lines.  0 means a solid line.  A two-digit number
   [1mjk [22m([1mj [22mand [1mk [22mare >= 1 and <= 9) means a dashed line with a repeated
   pattern of [1mj [22mpixels on followed by [1mk [22mpixels off.  For example, '16'
   is a dotted line with one pixel on followed by six pixels off.  More
   elaborate on/off patterns can be specified with a four-digit value.
   For example, '4441' is four on, four off, four on, one off.  The de-
   fault values shown below are for monochrome displays or monochrome
   rendering on color or grayscale displays.  Color displays default to










   GNUPLOT 5.4                                                      421


   dashed:off


                     +------------------------------+
                     |    gnuplot*dashed: off       |
                     |    gnuplot*borderDashes: 0   |
                     |    gnuplot*axisDashes: 16    |
                     |    gnuplot*line1Dashes: 0    |
                     |    gnuplot*line2Dashes: 42   |
                     |    gnuplot*line3Dashes: 13   |
                     |    gnuplot*line4Dashes: 44   |
                     |    gnuplot*line5Dashes: 15   |
                     |    gnuplot*line6Dashes: 4441 |
                     |    gnuplot*line7Dashes: 42   |
                     |    gnuplot*line8Dashes: 13   |
                     +------------------------------+





             [1m116.69.6.  X11 pm3d_resources[0m


             NB: THIS SECTION IS LARGELY IRRELEVANT IN GNUPLOT VERSION
             5 Choosing the appropriate visual class and number of col-
             ors is a crucial point in X11 applications and a bit awk-
             ward, since X11 supports six visual types in different
             depths.

             By default [1mgnuplot [22muses the default visual of the screen.
             The number of colors which can be allocated depends on the
             visual class chosen. On a visual class with a depth >
             12bit, gnuplot starts with a maximal number of 0x200 col-
             ors.  On a visual class with a depth > 8bit (but <= 12
             bit) the maximal number of colors is 0x100, on <= 8bit
             displays the maximum number of colors is 240 (16 are left
             for line colors).

             Gnuplot first starts to allocate the maximal number of
             colors as stated above.  If this fails, the number of col-
             ors is reduced by the factor 2 until gnuplot gets all col-
             ors which are requested. If dividing [1mmaxcolors [22mby 2 re-
             peatedly results in a number which is smaller than [1mmincol-[0m
             [1mors gnuplot [22mtries to install a private colormap. In this
             case the window manager is responsible for swapping col-
             ormaps when the pointer is moved in and out the x11
             driver's window.

             The default for [1mmincolors [22mis maxcolors / (num_colormaps >
             1 ? 2 : 8), where num_colormaps is the number of colormaps
             which are currently used by gnuplot (usually 1, if only
             one x11 window is open).










   GNUPLOT 5.4                                                      422


             Some systems support multiple (different) visual classes
             together on one screen. On these systems it might be nec-
             essary to force gnuplot to use a specific visual class,
             e.g. the default visual might be 8bit PseudoColor but the
             screen would also support 24bit TrueColor which would be
             the preferred choice.

             The information about an Xserver's capabilities can be ob-
             tained with the program [1mxdpyinfo[22m.  For the visual names
             below you can choose one of StaticGray, GrayScale, Static-
             Color, PseudoColor, TrueColor, DirectColor.  If an Xserver
             supports a requested visual type at different depths, [1mgnu-[0m
             [1mplot [22mchooses the visual class with the highest depth
             (deepest).  If the requested visual class matches the de-
             fault visual and multiple classes of this type are sup-
             ported, the default visual is preferred.

             Example: on an 8bit PseudoColor visual you can force a
             private color map by specifying [1mgnuplot*maxcolors: 240 [22mand
             [1mgnuplot*mincolors: 240[22m.



                +-----------------------------------------+
                |    gnuplot*maxcolors:  <integer number> |
                |    gnuplot*mincolors:  <integer number> |
                |    gnuplot*visual:     <visual name>    |
                +-----------------------------------------+





             [1m116.69.7.  X11 other_resources[0m


             By default the contents of the current plot window are ex-
             ported to the X11 clipboard in response to X events in the
             window. Setting the resource 'gnuplot*exportselection' to
             'off' or 'false' will disable this.

             By default text rotation is done using a method that is
             fast, but can corrupt nearby colors depending on the back-
             ground.  If this is a problem, you can set the resource
             'gnuplot.fastrotate' to 'off'


















   GNUPLOT 5.4                                                      423


                   +----------------------------------+
                   |    gnuplot*exportselection:  off |
                   |    gnuplot*fastrotate:  on       |
                   |    gnuplot*ctrlq:  off           |
                   +----------------------------------+




        [1m116.70.  Xlib[0m


        The [1mxlib [22mterminal driver supports the X11 Windows System.  It
        generates gnuplot_x11 commands, but sends them to the output
        file specified by [1mset output '<filename>'[22m. [1mset term x11 [22mis
        equivalent to [1mset output "|gnuplot_x11 -noevents"; set term[0m
        [1mxlib[22m.  [1mxlib [22mtakes the same set of options as [1mx11[22m.




        [1m117.  Bugs[0m


        Please e-mail bug reports to the gnuplot-bugs mailing list or
        upload the report to the gnuplot web site on SourceForge.
        Please give complete information on the version of gnuplot you
        are using and, if possible, a test script that demonstrates the
        bug.  See [1mseeking-assistance[22m.




        [1m118.  Known limitations[0m


        It is not possible to use inline data (e.g. plot '-' ...) in-
        side the curly brackets of a [1mdo [22mor [1mwhile [22mloop.

        X11 terminal: It is difficult to select UTF-8 fonts.  Only one
        color palette at a time is active for any given x11 plot win-
        dow.  This means that multiplots whose constituent plots use
        different palettes will not display correctly in x11.

        Qt terminal: 3D rotation of polygons and surfaces can be slow;
        this is strongly affected by the Qt rendering mode (see Qt doc-
        umentation).

        The [1mraise [22mand [1mlower [22mcommands are unreliable.














   GNUPLOT 5.4                                                      424


        [1m119.  External libraries[0m


        External library GD (used by PNG/JPEG/GIF/sixelgd terminals,
        pixmap): Versions of libgd through 2.0.33 had various bugs in
        mapping the characters of Adobe's Symbol font.  Dot-dash pat-
        terns are not supported for these terminals.

        External library PDFlib (used by PDF terminal, but not by pdf-
        cairo): Gnuplot can be linked against libpdf versions 4, 5, or
        6. However, these versions differ in their handling of piped
        I/O.  Therefore gnuplot scripts using piped output to PDF may
        work only for some versions of PDFlib.

        Internationalization (locale settings): Gnuplot uses the C run-
        time library routine setlocale() to control locale-specific
        formatting of input and output number, times, and date strings.
        The locales available, and the level of support for locale fea-
        tures such as "thousands' grouping separator", depend on the
        internationalization support provided by your individual ma-
        chine.

        External library libcerf versions 1.8 1.9 1.10 return incorrect
        results for the voigt function. Do not use.







































   GNUPLOT 5.4                                                        i



                               [1mTable of Contents[0m


        Gnuplot . . . . . . . . . . . . . . . . . . . . . . . . . .   2
        Copyright . . . . . . . . . . . . . . . . . . . . . . . . .   2
        Introduction  . . . . . . . . . . . . . . . . . . . . . . .   1
        Seeking-assistance  . . . . . . . . . . . . . . . . . . . .   3
        New features  . . . . . . . . . . . . . . . . . . . . . . .   3
        Features introduced in version 5.4  . . . . . . . . . . . .   4
        Support for 64-bit integer arithmetic . . . . . . . . . . .   4
        Voxel grids . . . . . . . . . . . . . . . . . . . . . . . .   4
        New plot styles and style options . . . . . . . . . . . . .   4
        New data pre-processing filters . . . . . . . . . . . . . .   4
        New commands and command options  . . . . . . . . . . . . .   4
        New terminals and terminal options  . . . . . . . . . . . .   4
        Pixmaps as objects  . . . . . . . . . . . . . . . . . . . .   5
        Other new features  . . . . . . . . . . . . . . . . . . . .   5
        Changes . . . . . . . . . . . . . . . . . . . . . . . . . .   5
        Features introduced in version 5.2  . . . . . . . . . . . .   5
        New plot styles and style options . . . . . . . . . . . . .   5
        New data pre-processing filters . . . . . . . . . . . . . .   5
        Polar mode improvements and extensions  . . . . . . . . . .   5
        Nonlinear coordinates systems . . . . . . . . . . . . . . .   5
        New commands and command options  . . . . . . . . . . . . .   6
        New data type "array" . . . . . . . . . . . . . . . . . . .   6
        New terminals and terminal options  . . . . . . . . . . . .   6
        Other new features  . . . . . . . . . . . . . . . . . . . .   6
        Features introduced in version 5.0  . . . . . . . . . . . .   6
        Differences between versions 4 and 5  . . . . . . . . . . .   6
        Deprecated syntax . . . . . . . . . . . . . . . . . . . . .   7
        Demos and Online Examples . . . . . . . . . . . . . . . . .   8
        Batch/Interactive Operation . . . . . . . . . . . . . . . .   8
        Command line options  . . . . . . . . . . . . . . . . . . .   9
        Examples  . . . . . . . . . . . . . . . . . . . . . . . . .   9
        Canvas size . . . . . . . . . . . . . . . . . . . . . . . .  10
        Command-line-editing  . . . . . . . . . . . . . . . . . . .  10
        Comments  . . . . . . . . . . . . . . . . . . . . . . . . .  11
        Coordinates . . . . . . . . . . . . . . . . . . . . . . . .  12
        Datastrings . . . . . . . . . . . . . . . . . . . . . . . .  12
        Enhanced text mode  . . . . . . . . . . . . . . . . . . . .  13
        Escape sequences  . . . . . . . . . . . . . . . . . . . . .  15
        Environment . . . . . . . . . . . . . . . . . . . . . . . .  16
        Expressions . . . . . . . . . . . . . . . . . . . . . . . .  17
        Complex arithmetic  . . . . . . . . . . . . . . . . . . . .  18
        Constants . . . . . . . . . . . . . . . . . . . . . . . . .  18
        Functions . . . . . . . . . . . . . . . . . . . . . . . . .  19
        Elliptic integrals  . . . . . . . . . . . . . . . . . . . .  22
        Random number generator . . . . . . . . . . . . . . . . . .  23
        Value . . . . . . . . . . . . . . . . . . . . . . . . . . .  23
        Counting and extracting words . . . . . . . . . . . . . . .  23
        Operators . . . . . . . . . . . . . . . . . . . . . . . . .  24
        Unary . . . . . . . . . . . . . . . . . . . . . . . . . . .  24










   GNUPLOT 5.4                                                       ii


        Binary  . . . . . . . . . . . . . . . . . . . . . . . . . .  25
        Ternary . . . . . . . . . . . . . . . . . . . . . . . . . .  26
        Summation . . . . . . . . . . . . . . . . . . . . . . . . .  27
        Gnuplot-defined variables . . . . . . . . . . . . . . . . .  28
        User-defined variables and functions  . . . . . . . . . . .  29
        Arrays  . . . . . . . . . . . . . . . . . . . . . . . . . .  30
        Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . .  31
        Cairo (pdfcairo, pngcairo, epscairo, wxt terminals) . . . .  31
        Gd (png, gif, jpeg, sixel terminals)  . . . . . . . . . . .  32
        Postscript  (also encapsulated postscript *.eps)  . . . . .  32
        Glossary  . . . . . . . . . . . . . . . . . . . . . . . . .  33
        Inline data and datablocks  . . . . . . . . . . . . . . . .  34
        Iteration . . . . . . . . . . . . . . . . . . . . . . . . .  35
        Linetypes, colors, and styles . . . . . . . . . . . . . . .  36
        Colorspec . . . . . . . . . . . . . . . . . . . . . . . . .  37
        Background color  . . . . . . . . . . . . . . . . . . . . .  38
        Linecolor variable  . . . . . . . . . . . . . . . . . . . .  38
        Rgbcolor variable . . . . . . . . . . . . . . . . . . . . .  39
        Dashtype  . . . . . . . . . . . . . . . . . . . . . . . . .  40
        Linestyles vs linetypes . . . . . . . . . . . . . . . . . .  41
        Layers  . . . . . . . . . . . . . . . . . . . . . . . . . .  41
        Mouse input . . . . . . . . . . . . . . . . . . . . . . . .  42
        Bind  . . . . . . . . . . . . . . . . . . . . . . . . . . .  42
        Bind space  . . . . . . . . . . . . . . . . . . . . . . . .  44
        Mouse variables . . . . . . . . . . . . . . . . . . . . . .  44
        Persist . . . . . . . . . . . . . . . . . . . . . . . . . .  45
        Plotting  . . . . . . . . . . . . . . . . . . . . . . . . .  45
        Start-up (initialization) . . . . . . . . . . . . . . . . .  46
        String constants, string variables, and string functions  .  47
        Substrings  . . . . . . . . . . . . . . . . . . . . . . . .  47
        String operators  . . . . . . . . . . . . . . . . . . . . .  48
        String functions  . . . . . . . . . . . . . . . . . . . . .  48
        String encoding . . . . . . . . . . . . . . . . . . . . . .  48
        Substitution and Command line macros  . . . . . . . . . . .  48
        Substitution of system commands in backquotes . . . . . . .  49
        Substitution of string variables as macros  . . . . . . . .  49
        String variables, macros, and command line substitution . .  50
        Syntax  . . . . . . . . . . . . . . . . . . . . . . . . . .  51
        Quote Marks . . . . . . . . . . . . . . . . . . . . . . . .  52
        Time/Date data  . . . . . . . . . . . . . . . . . . . . . .  53
        Plotting styles . . . . . . . . . . . . . . . . . . . . . .  54
        Arrows  . . . . . . . . . . . . . . . . . . . . . . . . . .  55
        Bee swarm plots . . . . . . . . . . . . . . . . . . . . . .  55
        Boxerrorbars  . . . . . . . . . . . . . . . . . . . . . . .  56
        Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . .  56
        2D boxes  . . . . . . . . . . . . . . . . . . . . . . . . .  57
        3D boxes  . . . . . . . . . . . . . . . . . . . . . . . . .  58
        Boxplot . . . . . . . . . . . . . . . . . . . . . . . . . .  58
        Boxxyerror  . . . . . . . . . . . . . . . . . . . . . . . .  60
        Candlesticks  . . . . . . . . . . . . . . . . . . . . . . .  60
        Circles . . . . . . . . . . . . . . . . . . . . . . . . . .  61
        Ellipses  . . . . . . . . . . . . . . . . . . . . . . . . .  63
        Dots  . . . . . . . . . . . . . . . . . . . . . . . . . . .  64










   =1 .if 0 .tl 'GNUPLOT 5.4''%'


        Filledcurves  . . . . . . . . . . . . . . . . . . . . . . .  64
        Fill properties . . . . . . . . . . . . . . . . . . . . . .  65
        Financebars . . . . . . . . . . . . . . . . . . . . . . . .  65
        Fsteps  . . . . . . . . . . . . . . . . . . . . . . . . . .  66
        Fillsteps . . . . . . . . . . . . . . . . . . . . . . . . .  66
        Histeps . . . . . . . . . . . . . . . . . . . . . . . . . .  66
        Histograms  . . . . . . . . . . . . . . . . . . . . . . . .  67
        Newhistogram  . . . . . . . . . . . . . . . . . . . . . . .  69
        Automated iteration over multiple columns . . . . . . . . .  71
        Image . . . . . . . . . . . . . . . . . . . . . . . . . . .  71
        Transparency  . . . . . . . . . . . . . . . . . . . . . . .  72
        Image pixels  . . . . . . . . . . . . . . . . . . . . . . .  72
        Impulses  . . . . . . . . . . . . . . . . . . . . . . . . .  73
        Labels  . . . . . . . . . . . . . . . . . . . . . . . . . .  73
        Lines . . . . . . . . . . . . . . . . . . . . . . . . . . .  74
        Linespoints . . . . . . . . . . . . . . . . . . . . . . . .  74
        Parallelaxes  . . . . . . . . . . . . . . . . . . . . . . .  75
        Polar plots . . . . . . . . . . . . . . . . . . . . . . . .  76
        Points  . . . . . . . . . . . . . . . . . . . . . . . . . .  76
        Polygons  . . . . . . . . . . . . . . . . . . . . . . . . .  77
        Spiderplot  . . . . . . . . . . . . . . . . . . . . . . . .  77
        Newspiderplot . . . . . . . . . . . . . . . . . . . . . . .  78
        Steps . . . . . . . . . . . . . . . . . . . . . . . . . . .  78
        Rgbalpha  . . . . . . . . . . . . . . . . . . . . . . . . .  79
        Rgbimage  . . . . . . . . . . . . . . . . . . . . . . . . .  79
        Vectors . . . . . . . . . . . . . . . . . . . . . . . . . .  79
        Xerrorbars  . . . . . . . . . . . . . . . . . . . . . . . .  80
        Xyerrorbars . . . . . . . . . . . . . . . . . . . . . . . .  80
        Yerrorbars  . . . . . . . . . . . . . . . . . . . . . . . .  81
        Xerrorlines . . . . . . . . . . . . . . . . . . . . . . . .  81
        Xyerrorlines  . . . . . . . . . . . . . . . . . . . . . . .  81
        Yerrorlines . . . . . . . . . . . . . . . . . . . . . . . .  82
        3D plots  . . . . . . . . . . . . . . . . . . . . . . . . .  82
        Surface plots . . . . . . . . . . . . . . . . . . . . . . .  83
        2D projection (set view map)  . . . . . . . . . . . . . . .  83
        PM3D plots  . . . . . . . . . . . . . . . . . . . . . . . .  83
        Fence plots . . . . . . . . . . . . . . . . . . . . . . . .  83
        Isosurface  . . . . . . . . . . . . . . . . . . . . . . . .  84
        Zerrorfill  . . . . . . . . . . . . . . . . . . . . . . . .  84
        Commands  . . . . . . . . . . . . . . . . . . . . . . . . .  85
        Break . . . . . . . . . . . . . . . . . . . . . . . . . . .  85
        Cd  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  86
        Call  . . . . . . . . . . . . . . . . . . . . . . . . . . .  86
        Argv[ ] . . . . . . . . . . . . . . . . . . . . . . . . . .  87
        Example . . . . . . . . . . . . . . . . . . . . . . . . . .  87
        Old-style . . . . . . . . . . . . . . . . . . . . . . . . .  88
        Clear . . . . . . . . . . . . . . . . . . . . . . . . . . .  88
        Continue  . . . . . . . . . . . . . . . . . . . . . . . . .  89
        Do  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  89
        Evaluate  . . . . . . . . . . . . . . . . . . . . . . . . .  90
        Exit  . . . . . . . . . . . . . . . . . . . . . . . . . . .  90
        Fit . . . . . . . . . . . . . . . . . . . . . . . . . . . .  91
        Adjustable parameters . . . . . . . . . . . . . . . . . . .  94










   GNUPLOT 5.4                                                       iv


        Short introduction  . . . . . . . . . . . . . . . . . . . .  95
        Error estimates . . . . . . . . . . . . . . . . . . . . . .  96
        Statistical overview  . . . . . . . . . . . . . . . . . . .  97
        Practical guidelines  . . . . . . . . . . . . . . . . . . .  98
        Control . . . . . . . . . . . . . . . . . . . . . . . . . . 100
        Control variables . . . . . . . . . . . . . . . . . . . . . 100
        Environment variables . . . . . . . . . . . . . . . . . . . 101
        Multi-branch  . . . . . . . . . . . . . . . . . . . . . . . 101
        Starting values . . . . . . . . . . . . . . . . . . . . . . 102
        Tips  . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
        Help  . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
        History . . . . . . . . . . . . . . . . . . . . . . . . . . 104
        If  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
        If-old  . . . . . . . . . . . . . . . . . . . . . . . . . . 105
        For . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
        Import  . . . . . . . . . . . . . . . . . . . . . . . . . . 106
        Load  . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
        Lower . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
        Pause . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
        Pause mouse close . . . . . . . . . . . . . . . . . . . . . 109
        Plot  . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
        Axes  . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
        Binary  . . . . . . . . . . . . . . . . . . . . . . . . . . 111
        General . . . . . . . . . . . . . . . . . . . . . . . . . . 112
        Array . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
        Record  . . . . . . . . . . . . . . . . . . . . . . . . . . 113
        Skip  . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
        Format  . . . . . . . . . . . . . . . . . . . . . . . . . . 113
        Endian  . . . . . . . . . . . . . . . . . . . . . . . . . . 114
        Filetype  . . . . . . . . . . . . . . . . . . . . . . . . . 114
        Avs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
        Edf . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
        Png . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
        Keywords  . . . . . . . . . . . . . . . . . . . . . . . . . 115
        Scan  . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
        Transpose . . . . . . . . . . . . . . . . . . . . . . . . . 116
        Dx, dy, dz  . . . . . . . . . . . . . . . . . . . . . . . . 116
        Flipx, flipy, flipz . . . . . . . . . . . . . . . . . . . . 117
        Origin= . . . . . . . . . . . . . . . . . . . . . . . . . . 117
        Center  . . . . . . . . . . . . . . . . . . . . . . . . . . 117
        Rotate  . . . . . . . . . . . . . . . . . . . . . . . . . . 118
        Perpendicular . . . . . . . . . . . . . . . . . . . . . . . 118
        Data  . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
        Bins  . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
        Columnheaders . . . . . . . . . . . . . . . . . . . . . . . 121
        Csv files . . . . . . . . . . . . . . . . . . . . . . . . . 122
        Every . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
        Example datafile  . . . . . . . . . . . . . . . . . . . . . 123
        Index . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
        Skip  . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
        Smooth  . . . . . . . . . . . . . . . . . . . . . . . . . . 126
        Acsplines . . . . . . . . . . . . . . . . . . . . . . . . . 127
        Bezier  . . . . . . . . . . . . . . . . . . . . . . . . . . 127










   GNUPLOT 5.4                                                        v


        Bins  . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
        Csplines  . . . . . . . . . . . . . . . . . . . . . . . . . 128
        Mcsplines . . . . . . . . . . . . . . . . . . . . . . . . . 128
        Sbezier . . . . . . . . . . . . . . . . . . . . . . . . . . 128
        Unique  . . . . . . . . . . . . . . . . . . . . . . . . . . 128
        Unwrap  . . . . . . . . . . . . . . . . . . . . . . . . . . 128
        Frequency . . . . . . . . . . . . . . . . . . . . . . . . . 129
        Fnormal . . . . . . . . . . . . . . . . . . . . . . . . . . 129
        Cumulative  . . . . . . . . . . . . . . . . . . . . . . . . 129
        Cnormal . . . . . . . . . . . . . . . . . . . . . . . . . . 130
        Kdensity  . . . . . . . . . . . . . . . . . . . . . . . . . 130
        Zsort . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
        Special-filenames . . . . . . . . . . . . . . . . . . . . . 131
        Piped-data  . . . . . . . . . . . . . . . . . . . . . . . . 133
        Using . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
        Using_examples  . . . . . . . . . . . . . . . . . . . . . . 135
        Pseudocolumns . . . . . . . . . . . . . . . . . . . . . . . 136
        Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
        Xticlabels  . . . . . . . . . . . . . . . . . . . . . . . . 137
        X2ticlabels . . . . . . . . . . . . . . . . . . . . . . . . 138
        Yticlabels  . . . . . . . . . . . . . . . . . . . . . . . . 138
        Y2ticlabels . . . . . . . . . . . . . . . . . . . . . . . . 138
        Zticlabels  . . . . . . . . . . . . . . . . . . . . . . . . 138
        Cbticlabels . . . . . . . . . . . . . . . . . . . . . . . . 139
        Volatile  . . . . . . . . . . . . . . . . . . . . . . . . . 139
        Errorbars . . . . . . . . . . . . . . . . . . . . . . . . . 139
        Errorlines  . . . . . . . . . . . . . . . . . . . . . . . . 140
        Functions . . . . . . . . . . . . . . . . . . . . . . . . . 141
        Parametric  . . . . . . . . . . . . . . . . . . . . . . . . 141
        Ranges  . . . . . . . . . . . . . . . . . . . . . . . . . . 142
        Sampling  . . . . . . . . . . . . . . . . . . . . . . . . . 143
        1D sampling (x or t axis) . . . . . . . . . . . . . . . . . 143
        2D sampling (u and v axes)  . . . . . . . . . . . . . . . . 144
        For loops in plot command . . . . . . . . . . . . . . . . . 145
        Title . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
        With  . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
        Print . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
        Printerr  . . . . . . . . . . . . . . . . . . . . . . . . . 152
        Pwd . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
        Quit  . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
        Raise . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
        Refresh . . . . . . . . . . . . . . . . . . . . . . . . . . 153
        Replot  . . . . . . . . . . . . . . . . . . . . . . . . . . 153
        Reread  . . . . . . . . . . . . . . . . . . . . . . . . . . 154
        Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
        Save  . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
        Set-show  . . . . . . . . . . . . . . . . . . . . . . . . . 156
        Angles  . . . . . . . . . . . . . . . . . . . . . . . . . . 156
        Arrow . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
        Autoscale . . . . . . . . . . . . . . . . . . . . . . . . . 159
        Noextend  . . . . . . . . . . . . . . . . . . . . . . . . . 160
        Examples  . . . . . . . . . . . . . . . . . . . . . . . . . 160
        Polar mode  . . . . . . . . . . . . . . . . . . . . . . . . 161










   GNUPLOT 5.4                                                       vi


        Bind  . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
        Bmargin . . . . . . . . . . . . . . . . . . . . . . . . . . 161
        Border  . . . . . . . . . . . . . . . . . . . . . . . . . . 161
        Boxwidth  . . . . . . . . . . . . . . . . . . . . . . . . . 164
        Boxdepth  . . . . . . . . . . . . . . . . . . . . . . . . . 165
        Color . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
        Colorsequence . . . . . . . . . . . . . . . . . . . . . . . 165
        Clabel  . . . . . . . . . . . . . . . . . . . . . . . . . . 165
        Clip  . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
        Cntrlabel . . . . . . . . . . . . . . . . . . . . . . . . . 167
        Cntrparam . . . . . . . . . . . . . . . . . . . . . . . . . 167
        Examples  . . . . . . . . . . . . . . . . . . . . . . . . . 169
        Color box . . . . . . . . . . . . . . . . . . . . . . . . . 170
        Colornames  . . . . . . . . . . . . . . . . . . . . . . . . 171
        Contour . . . . . . . . . . . . . . . . . . . . . . . . . . 172
        Dashtype  . . . . . . . . . . . . . . . . . . . . . . . . . 173
        Data style  . . . . . . . . . . . . . . . . . . . . . . . . 173
        Datafile  . . . . . . . . . . . . . . . . . . . . . . . . . 173
        Set datafile columnheaders  . . . . . . . . . . . . . . . . 174
        Set datafile fortran  . . . . . . . . . . . . . . . . . . . 174
        Set datafile nofpe_trap . . . . . . . . . . . . . . . . . . 174
        Set datafile missing  . . . . . . . . . . . . . . . . . . . 174
        Set datafile separator  . . . . . . . . . . . . . . . . . . 176
        Set datafile commentschars  . . . . . . . . . . . . . . . . 176
        Set datafile binary . . . . . . . . . . . . . . . . . . . . 177
        Decimalsign . . . . . . . . . . . . . . . . . . . . . . . . 177
        Dgrid3d . . . . . . . . . . . . . . . . . . . . . . . . . . 178
        Dummy . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
        Encoding  . . . . . . . . . . . . . . . . . . . . . . . . . 181
        Errorbars . . . . . . . . . . . . . . . . . . . . . . . . . 182
        Fit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
        Fontpath  . . . . . . . . . . . . . . . . . . . . . . . . . 185
        Format  . . . . . . . . . . . . . . . . . . . . . . . . . . 185
        Gprintf . . . . . . . . . . . . . . . . . . . . . . . . . . 186
        Format specifiers . . . . . . . . . . . . . . . . . . . . . 186
        Time/date specifiers  . . . . . . . . . . . . . . . . . . . 188
        Examples  . . . . . . . . . . . . . . . . . . . . . . . . . 190
        Function style  . . . . . . . . . . . . . . . . . . . . . . 190
        Functions . . . . . . . . . . . . . . . . . . . . . . . . . 191
        Grid  . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
        Hidden3d  . . . . . . . . . . . . . . . . . . . . . . . . . 192
        Historysize . . . . . . . . . . . . . . . . . . . . . . . . 195
        History . . . . . . . . . . . . . . . . . . . . . . . . . . 195
        Isosamples  . . . . . . . . . . . . . . . . . . . . . . . . 195
        Isosurface  . . . . . . . . . . . . . . . . . . . . . . . . 196
        Jitter  . . . . . . . . . . . . . . . . . . . . . . . . . . 196
        Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
        3D key  . . . . . . . . . . . . . . . . . . . . . . . . . . 200
        Key examples  . . . . . . . . . . . . . . . . . . . . . . . 200
        Extra key entries . . . . . . . . . . . . . . . . . . . . . 200
        Key autotitle . . . . . . . . . . . . . . . . . . . . . . . 201
        Key placement . . . . . . . . . . . . . . . . . . . . . . . 202
        Key samples . . . . . . . . . . . . . . . . . . . . . . . . 203










   GNUPLOT 5.4                                                      vii


        Multiple keys . . . . . . . . . . . . . . . . . . . . . . . 204
        Label . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
        Examples  . . . . . . . . . . . . . . . . . . . . . . . . . 206
        Hypertext . . . . . . . . . . . . . . . . . . . . . . . . . 208
        Linetype  . . . . . . . . . . . . . . . . . . . . . . . . . 208
        Link  . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
        Lmargin . . . . . . . . . . . . . . . . . . . . . . . . . . 210
        Loadpath  . . . . . . . . . . . . . . . . . . . . . . . . . 210
        Locale  . . . . . . . . . . . . . . . . . . . . . . . . . . 211
        Logscale  . . . . . . . . . . . . . . . . . . . . . . . . . 211
        Macros  . . . . . . . . . . . . . . . . . . . . . . . . . . 212
        Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . 212
        Margin  . . . . . . . . . . . . . . . . . . . . . . . . . . 213
        Micro . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
        Minussign . . . . . . . . . . . . . . . . . . . . . . . . . 214
        Monochrome  . . . . . . . . . . . . . . . . . . . . . . . . 215
        Mouse . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
        Doubleclick . . . . . . . . . . . . . . . . . . . . . . . . 217
        Format  . . . . . . . . . . . . . . . . . . . . . . . . . . 217
        Mouseformat . . . . . . . . . . . . . . . . . . . . . . . . 217
        Scrolling . . . . . . . . . . . . . . . . . . . . . . . . . 218
        X11 mouse . . . . . . . . . . . . . . . . . . . . . . . . . 218
        Zoom  . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
        Mttics  . . . . . . . . . . . . . . . . . . . . . . . . . . 219
        Multiplot . . . . . . . . . . . . . . . . . . . . . . . . . 219
        Mx2tics . . . . . . . . . . . . . . . . . . . . . . . . . . 222
        Mxtics  . . . . . . . . . . . . . . . . . . . . . . . . . . 222
        My2tics . . . . . . . . . . . . . . . . . . . . . . . . . . 223
        Mytics  . . . . . . . . . . . . . . . . . . . . . . . . . . 224
        Mztics  . . . . . . . . . . . . . . . . . . . . . . . . . . 224
        Nonlinear . . . . . . . . . . . . . . . . . . . . . . . . . 224
        Object  . . . . . . . . . . . . . . . . . . . . . . . . . . 225
        Rectangle . . . . . . . . . . . . . . . . . . . . . . . . . 226
        Ellipse . . . . . . . . . . . . . . . . . . . . . . . . . . 227
        Circle  . . . . . . . . . . . . . . . . . . . . . . . . . . 228
        Polygon . . . . . . . . . . . . . . . . . . . . . . . . . . 229
        Depthorder  . . . . . . . . . . . . . . . . . . . . . . . . 229
        Offsets . . . . . . . . . . . . . . . . . . . . . . . . . . 229
        Origin  . . . . . . . . . . . . . . . . . . . . . . . . . . 230
        Output  . . . . . . . . . . . . . . . . . . . . . . . . . . 230
        Overflow  . . . . . . . . . . . . . . . . . . . . . . . . . 231
        Float . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
        NaN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
        Undefined . . . . . . . . . . . . . . . . . . . . . . . . . 232
        Affected operations . . . . . . . . . . . . . . . . . . . . 233
        Palette . . . . . . . . . . . . . . . . . . . . . . . . . . 233
        Rgbformulae . . . . . . . . . . . . . . . . . . . . . . . . 235
        Defined . . . . . . . . . . . . . . . . . . . . . . . . . . 236
        Functions . . . . . . . . . . . . . . . . . . . . . . . . . 238
        Gray  . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
        Cubehelix . . . . . . . . . . . . . . . . . . . . . . . . . 239
        File  . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
        Gamma correction  . . . . . . . . . . . . . . . . . . . . . 240










   GNUPLOT 5.4                                                     viii


        Postscript  . . . . . . . . . . . . . . . . . . . . . . . . 240
        Parametric  . . . . . . . . . . . . . . . . . . . . . . . . 241
        Paxis . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
        Pixmap  . . . . . . . . . . . . . . . . . . . . . . . . . . 242
        Plot  . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
        Pm3d  . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
        Implicit  . . . . . . . . . . . . . . . . . . . . . . . . . 245
        Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . 245
        Lighting  . . . . . . . . . . . . . . . . . . . . . . . . . 247
        Position  . . . . . . . . . . . . . . . . . . . . . . . . . 247
        Scanorder . . . . . . . . . . . . . . . . . . . . . . . . . 248
        Clipping  . . . . . . . . . . . . . . . . . . . . . . . . . 249
        Color_assignment  . . . . . . . . . . . . . . . . . . . . . 249
        Corners2color . . . . . . . . . . . . . . . . . . . . . . . 250
        Border  . . . . . . . . . . . . . . . . . . . . . . . . . . 250
        Fillcolor . . . . . . . . . . . . . . . . . . . . . . . . . 251
        Interpolate . . . . . . . . . . . . . . . . . . . . . . . . 251
        Deprecated_options  . . . . . . . . . . . . . . . . . . . . 252
        Pointintervalbox  . . . . . . . . . . . . . . . . . . . . . 252
        Pointsize . . . . . . . . . . . . . . . . . . . . . . . . . 252
        Polar . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
        Print . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
        Psdir . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
        Raxis . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
        Rgbmax  . . . . . . . . . . . . . . . . . . . . . . . . . . 255
        Rlabel  . . . . . . . . . . . . . . . . . . . . . . . . . . 255
        Rmargin . . . . . . . . . . . . . . . . . . . . . . . . . . 255
        Rrange  . . . . . . . . . . . . . . . . . . . . . . . . . . 255
        Rtics . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
        Samples . . . . . . . . . . . . . . . . . . . . . . . . . . 256
        Size  . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
        Spiderplot  . . . . . . . . . . . . . . . . . . . . . . . . 258
        Style . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
        Set style arrow . . . . . . . . . . . . . . . . . . . . . . 259
        Boxplot . . . . . . . . . . . . . . . . . . . . . . . . . . 260
        Set style data  . . . . . . . . . . . . . . . . . . . . . . 262
        Set style fill  . . . . . . . . . . . . . . . . . . . . . . 262
        Set style fill border . . . . . . . . . . . . . . . . . . . 263
        Set style fill transparent  . . . . . . . . . . . . . . . . 264
        Set style function  . . . . . . . . . . . . . . . . . . . . 264
        Set style increment . . . . . . . . . . . . . . . . . . . . 265
        Set style line  . . . . . . . . . . . . . . . . . . . . . . 265
        Set style circle  . . . . . . . . . . . . . . . . . . . . . 268
        Set style rectangle . . . . . . . . . . . . . . . . . . . . 268
        Set style ellipse . . . . . . . . . . . . . . . . . . . . . 269
        Set style parallelaxis  . . . . . . . . . . . . . . . . . . 270
        Set style spiderplot  . . . . . . . . . . . . . . . . . . . 270
        Set style textbox . . . . . . . . . . . . . . . . . . . . . 270
        Surface . . . . . . . . . . . . . . . . . . . . . . . . . . 271
        Table . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
        Plot with table . . . . . . . . . . . . . . . . . . . . . . 272
        Terminal  . . . . . . . . . . . . . . . . . . . . . . . . . 273
        Termoption  . . . . . . . . . . . . . . . . . . . . . . . . 274










   GNUPLOT 5.4                                                       ix


        Theta . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
        Tics  . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
        Ticslevel . . . . . . . . . . . . . . . . . . . . . . . . . 276
        Ticscale  . . . . . . . . . . . . . . . . . . . . . . . . . 276
        Timestamp . . . . . . . . . . . . . . . . . . . . . . . . . 277
        Timefmt . . . . . . . . . . . . . . . . . . . . . . . . . . 277
        Title . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
        Tmargin . . . . . . . . . . . . . . . . . . . . . . . . . . 280
        Trange  . . . . . . . . . . . . . . . . . . . . . . . . . . 280
        Ttics . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
        Urange  . . . . . . . . . . . . . . . . . . . . . . . . . . 280
        Variables . . . . . . . . . . . . . . . . . . . . . . . . . 281
        Version . . . . . . . . . . . . . . . . . . . . . . . . . . 281
        Vgrid . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
        View  . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
        Azimuth . . . . . . . . . . . . . . . . . . . . . . . . . . 283
        Equal_axes  . . . . . . . . . . . . . . . . . . . . . . . . 283
        Projection  . . . . . . . . . . . . . . . . . . . . . . . . 283
        Vrange  . . . . . . . . . . . . . . . . . . . . . . . . . . 284
        Vxrange . . . . . . . . . . . . . . . . . . . . . . . . . . 284
        Vyrange . . . . . . . . . . . . . . . . . . . . . . . . . . 284
        Vzrange . . . . . . . . . . . . . . . . . . . . . . . . . . 284
        Walls . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
        X2data  . . . . . . . . . . . . . . . . . . . . . . . . . . 285
        X2dtics . . . . . . . . . . . . . . . . . . . . . . . . . . 285
        X2label . . . . . . . . . . . . . . . . . . . . . . . . . . 285
        X2mtics . . . . . . . . . . . . . . . . . . . . . . . . . . 285
        X2range . . . . . . . . . . . . . . . . . . . . . . . . . . 285
        X2tics  . . . . . . . . . . . . . . . . . . . . . . . . . . 285
        X2zeroaxis  . . . . . . . . . . . . . . . . . . . . . . . . 286
        Xdata . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
        Time  . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
        Xdtics  . . . . . . . . . . . . . . . . . . . . . . . . . . 287
        Xlabel  . . . . . . . . . . . . . . . . . . . . . . . . . . 287
        Xmtics  . . . . . . . . . . . . . . . . . . . . . . . . . . 289
        Xrange  . . . . . . . . . . . . . . . . . . . . . . . . . . 289
        Xtics . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
        Xtics series  . . . . . . . . . . . . . . . . . . . . . . . 294
        Xtics list  . . . . . . . . . . . . . . . . . . . . . . . . 295
        Xtics timedata  . . . . . . . . . . . . . . . . . . . . . . 296
        Geographic  . . . . . . . . . . . . . . . . . . . . . . . . 297
        Xtics logscale  . . . . . . . . . . . . . . . . . . . . . . 297
        Xtics rangelimited  . . . . . . . . . . . . . . . . . . . . 298
        Xyplane . . . . . . . . . . . . . . . . . . . . . . . . . . 298
        Xzeroaxis . . . . . . . . . . . . . . . . . . . . . . . . . 299
        Y2data  . . . . . . . . . . . . . . . . . . . . . . . . . . 299
        Y2dtics . . . . . . . . . . . . . . . . . . . . . . . . . . 299
        Y2label . . . . . . . . . . . . . . . . . . . . . . . . . . 299
        Y2mtics . . . . . . . . . . . . . . . . . . . . . . . . . . 299
        Y2range . . . . . . . . . . . . . . . . . . . . . . . . . . 299
        Y2tics  . . . . . . . . . . . . . . . . . . . . . . . . . . 300
        Y2zeroaxis  . . . . . . . . . . . . . . . . . . . . . . . . 300
        Ydata . . . . . . . . . . . . . . . . . . . . . . . . . . . 300










   GNUPLOT 5.4                                                        x


        Ydtics  . . . . . . . . . . . . . . . . . . . . . . . . . . 300
        Ylabel  . . . . . . . . . . . . . . . . . . . . . . . . . . 300
        Ymtics  . . . . . . . . . . . . . . . . . . . . . . . . . . 300
        Yrange  . . . . . . . . . . . . . . . . . . . . . . . . . . 301
        Ytics . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
        Yzeroaxis . . . . . . . . . . . . . . . . . . . . . . . . . 301
        Zdata . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
        Zdtics  . . . . . . . . . . . . . . . . . . . . . . . . . . 301
        Zzeroaxis . . . . . . . . . . . . . . . . . . . . . . . . . 301
        Cbdata  . . . . . . . . . . . . . . . . . . . . . . . . . . 301
        Cbdtics . . . . . . . . . . . . . . . . . . . . . . . . . . 302
        Zero  . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
        Zeroaxis  . . . . . . . . . . . . . . . . . . . . . . . . . 302
        Zlabel  . . . . . . . . . . . . . . . . . . . . . . . . . . 303
        Zmtics  . . . . . . . . . . . . . . . . . . . . . . . . . . 303
        Zrange  . . . . . . . . . . . . . . . . . . . . . . . . . . 303
        Ztics . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
        Cblabel . . . . . . . . . . . . . . . . . . . . . . . . . . 304
        Cbmtics . . . . . . . . . . . . . . . . . . . . . . . . . . 304
        Cbrange . . . . . . . . . . . . . . . . . . . . . . . . . . 304
        Cbtics  . . . . . . . . . . . . . . . . . . . . . . . . . . 304
        Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
        Splot . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
        Data-file . . . . . . . . . . . . . . . . . . . . . . . . . 306
        Matrix  . . . . . . . . . . . . . . . . . . . . . . . . . . 307
        Uniform . . . . . . . . . . . . . . . . . . . . . . . . . . 307
        Nonuniform  . . . . . . . . . . . . . . . . . . . . . . . . 308
        Every . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
        Examples  . . . . . . . . . . . . . . . . . . . . . . . . . 309
        Example datafile  . . . . . . . . . . . . . . . . . . . . . 310
        Grid data . . . . . . . . . . . . . . . . . . . . . . . . . 311
        Splot surfaces  . . . . . . . . . . . . . . . . . . . . . . 312
        Voxel-grid  . . . . . . . . . . . . . . . . . . . . . . . . 312
        Stats (Statistical Summary) . . . . . . . . . . . . . . . . 313
        Name  . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
        System  . . . . . . . . . . . . . . . . . . . . . . . . . . 316
        Test  . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
        Toggle  . . . . . . . . . . . . . . . . . . . . . . . . . . 317
        Undefine  . . . . . . . . . . . . . . . . . . . . . . . . . 317
        Unset . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
        Linetype  . . . . . . . . . . . . . . . . . . . . . . . . . 318
        Monochrome  . . . . . . . . . . . . . . . . . . . . . . . . 318
        Output  . . . . . . . . . . . . . . . . . . . . . . . . . . 318
        Terminal  . . . . . . . . . . . . . . . . . . . . . . . . . 319
        Update  . . . . . . . . . . . . . . . . . . . . . . . . . . 319
        Vclear  . . . . . . . . . . . . . . . . . . . . . . . . . . 319
        Vfill . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
        While . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
        Terminal types  . . . . . . . . . . . . . . . . . . . . . . 320
        Complete list of terminals  . . . . . . . . . . . . . . . . 320
        Aifm  . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
        Aqua  . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
        Be  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322










   GNUPLOT 5.4                                                       xi


        Command-line_options  . . . . . . . . . . . . . . . . . . . 323
        Monochrome_options  . . . . . . . . . . . . . . . . . . . . 323
        Color_resources . . . . . . . . . . . . . . . . . . . . . . 323
        Grayscale_resources . . . . . . . . . . . . . . . . . . . . 324
        Line_resources  . . . . . . . . . . . . . . . . . . . . . . 325
        Caca  . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
        Caca limitations and bugs . . . . . . . . . . . . . . . . . 327
        Cairolatex  . . . . . . . . . . . . . . . . . . . . . . . . 328
        Canvas  . . . . . . . . . . . . . . . . . . . . . . . . . . 331
        Cgm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
        Cgm font  . . . . . . . . . . . . . . . . . . . . . . . . . 334
        Cgm fontsize  . . . . . . . . . . . . . . . . . . . . . . . 335
        Cgm linewidth . . . . . . . . . . . . . . . . . . . . . . . 335
        Cgm rotate  . . . . . . . . . . . . . . . . . . . . . . . . 336
        Cgm solid . . . . . . . . . . . . . . . . . . . . . . . . . 336
        Cgm size  . . . . . . . . . . . . . . . . . . . . . . . . . 336
        Cgm width . . . . . . . . . . . . . . . . . . . . . . . . . 336
        Cgm nofontlist  . . . . . . . . . . . . . . . . . . . . . . 337
        Context . . . . . . . . . . . . . . . . . . . . . . . . . . 337
        Requirements  . . . . . . . . . . . . . . . . . . . . . . . 339
        Calling gnuplot from ConTeXt  . . . . . . . . . . . . . . . 340
        Corel . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
        Debug . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
        Domterm . . . . . . . . . . . . . . . . . . . . . . . . . . 341
        Dumb  . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
        Dxf . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
        Dxy800a . . . . . . . . . . . . . . . . . . . . . . . . . . 342
        Eepic . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
        Emf . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
        Emxvga  . . . . . . . . . . . . . . . . . . . . . . . . . . 345
        Epscairo  . . . . . . . . . . . . . . . . . . . . . . . . . 346
        Epslatex  . . . . . . . . . . . . . . . . . . . . . . . . . 346
        Epson_180dpi  . . . . . . . . . . . . . . . . . . . . . . . 351
        Excl  . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
        Fig . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
        Ggi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
        Gif . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
        Animate . . . . . . . . . . . . . . . . . . . . . . . . . . 354
        Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
        Gpic  . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
        Grass . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
        Hp2623a . . . . . . . . . . . . . . . . . . . . . . . . . . 357
        Hp2648  . . . . . . . . . . . . . . . . . . . . . . . . . . 357
        Hp500c  . . . . . . . . . . . . . . . . . . . . . . . . . . 357
        Hpgl  . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
        Hpljii  . . . . . . . . . . . . . . . . . . . . . . . . . . 358
        Hppj  . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
        Imagen  . . . . . . . . . . . . . . . . . . . . . . . . . . 359
        Jpeg  . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
        Kyo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
        Latex . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
        Linux console . . . . . . . . . . . . . . . . . . . . . . . 362
        Lua . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362










   GNUPLOT 5.4                                                      xii


        Lua tikz  . . . . . . . . . . . . . . . . . . . . . . . . . 363
        Mf  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
        METAFONT Instructions . . . . . . . . . . . . . . . . . . . 367
        Mif . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
        Mp  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
        Metapost Instructions . . . . . . . . . . . . . . . . . . . 372
        Pbm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
        Pcl5  . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
        Pdf . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
        Pdfcairo  . . . . . . . . . . . . . . . . . . . . . . . . . 376
        Pict2e  . . . . . . . . . . . . . . . . . . . . . . . . . . 378
        Pm  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
        Png . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
        Examples  . . . . . . . . . . . . . . . . . . . . . . . . . 381
        Pngcairo  . . . . . . . . . . . . . . . . . . . . . . . . . 381
        Postscript  . . . . . . . . . . . . . . . . . . . . . . . . 383
        Editing postscript  . . . . . . . . . . . . . . . . . . . . 386
        Postscript fontfile . . . . . . . . . . . . . . . . . . . . 387
        Postscript prologue . . . . . . . . . . . . . . . . . . . . 389
        Postscript adobeglyphnames  . . . . . . . . . . . . . . . . 389
        Pslatex and pstex . . . . . . . . . . . . . . . . . . . . . 390
        Pstricks  . . . . . . . . . . . . . . . . . . . . . . . . . 392
        Qms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
        Qt  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
        Regis . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
        Sixelgd . . . . . . . . . . . . . . . . . . . . . . . . . . 396
        Svg . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
        Svga  . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
        Tek40 . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
        Tek410x . . . . . . . . . . . . . . . . . . . . . . . . . . 399
        Texdraw . . . . . . . . . . . . . . . . . . . . . . . . . . 399
        Tgif  . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
        Tikz  . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
        Tkcanvas  . . . . . . . . . . . . . . . . . . . . . . . . . 401
        Tpic  . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
        VWS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
        Windows . . . . . . . . . . . . . . . . . . . . . . . . . . 405
        Graph-menu  . . . . . . . . . . . . . . . . . . . . . . . . 407
        Printing  . . . . . . . . . . . . . . . . . . . . . . . . . 408
        Text-menu . . . . . . . . . . . . . . . . . . . . . . . . . 409
        Wgnuplot.mnu  . . . . . . . . . . . . . . . . . . . . . . . 409
        Wgnuplot.ini  . . . . . . . . . . . . . . . . . . . . . . . 410
        Wxt . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
        X11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
        X11_fonts . . . . . . . . . . . . . . . . . . . . . . . . . 416
        Command-line_options  . . . . . . . . . . . . . . . . . . . 418
        Color_resources . . . . . . . . . . . . . . . . . . . . . . 418
        Grayscale_resources . . . . . . . . . . . . . . . . . . . . 419
        Line_resources  . . . . . . . . . . . . . . . . . . . . . . 420
        X11 pm3d_resources  . . . . . . . . . . . . . . . . . . . . 421
        X11 other_resources . . . . . . . . . . . . . . . . . . . . 422
        Xlib  . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
        Bugs  . . . . . . . . . . . . . . . . . . . . . . . . . . . 423










   GNUPLOT 5.4                                                     xiii


        Known limitations . . . . . . . . . . . . . . . . . . . . . 423
        External libraries  . . . . . . . . . . . . . . . . . . . . 424

























































