





















                                    [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 [4m2022[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
                                 11 March 2026






             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 documenta-
   tion for any purpose with or without fee is hereby granted, provided that
   the above copyright notice appear in all copies and that both that copy-
   right notice and this permission notice appear in supporting documenta-
   tion.

   Permission to modify the software is granted, but not the right to dis-
   tribute the complete modified source code.  Modifications are to be dis-
   tributed 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 binaries,
     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 soft-
   ware.
   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 distributions.

   This software is provided "as is" without express or implied warranty 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 interactively, 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 active development since 1986.

   Gnuplot supports many types of plots in either 2D and 3D. It can draw us-
   ing 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 ter-
   minals (with mouse and hotkey input), direct output to pen plotters or
   modern printers, and output to many file formats (eps, emf, fig, jpeg,
   LaTeX, pdf, png, postscript, ...). Gnuplot is easily extensible to in-
   clude new output modes.  Recent additions include interactive terminals
   based on wxWidgets (usable on multiple platforms), and Qt.  Mouseable
   plots embedded in web pages can be generated using the svg or HTML5 can-
   vas 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 written in
   capitals. All command names may be abbreviated as long as the abbrevia-
   tion is not ambiguous. Any number of commands may appear on a line, sepa-
   rated by semicolons (;). Strings may be set off by either single or dou-
   ble quotes, although there are some subtle 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










   GNUPLOT 5.4                                                             2


   last with a backslash (\).  The backslash must be the _last_ character on
   each line.  The effect is as if the backslash and newline were not there.
   That is, no white space is implied, nor is a comment terminated.  There-
   fore, commenting out a continued line comments 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 ver-
   tical bar (|) separates mutually exclusive choices.  [1mGnuplot [22mkeywords or
   [1mhelp [22mtopics are indicated by backquotes or [1mboldface [22m(where available).
   Angle brackets (<>) are used to mark replaceable tokens.  In many cases,
   a default value of the token will be taken for optional arguments if the
   token is omitted, but these cases are not always denoted with braces
   around the angle brackets.

   For 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 op-
   tion, for example
         gnuplot   file1.in   -e "reset"   file2.in

   The special filename "-" is used to force reading from stdin.  [1mGnuplot[0m
   exits after the last file is processed.  If no load files are named, [1mGnu-[0m
   [1mplot [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-[0m
   [1massistance [22mwill help you to find further information, help and FAQ.



   [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










   GNUPLOT 5.4                                                             3


             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 details
   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






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


        These sections list new commands, plot styles, and other features
        introduced in version 5.4.




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















   GNUPLOT 5.4                                                             4


             [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






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






             [1m5.1.8.  Week-date time formats[0m


             The Covid-19 pandemic of 2020/2021 generated increased interest
             in plotting epidemiological data, which is often tabulated us-
             ing a "week date" reporting convention.  This revealed defi-
             ciencies with gnuplot support for this convention, including
             errors in time formats %W and %U.  These formats worked










   GNUPLOT 5.4                                                             5


             incorrectly prior to version 5.4.2.




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






             [1m5.1.10.  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 written
   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 [1mmissing [22mfor
   examples and figures.

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

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










   GNUPLOT 5.4                                                             7


   the new second parameter is not associated with any particular 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 timefmt "timeformat"[22m.  It allows
   combining time data read from multiple files with different formats
   within a single plot.

   * The [1mreverse [22mkeyword of the [1mset [axis]range [22mcommand affects only au-
   toscaling. 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 direction 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 directly 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 parameters as tokens $0 ... $9 is depre-
   cated.

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




   [1m7.  Deprecated syntax[0m


   Gnuplot version 4 deprecated certain syntax used in earlier versions but
   provided a configuration option that allowed backward compatibility.
   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
         set clabel










   GNUPLOT 5.4                                                             8


         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[0m
   directory. 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 [22mcommands.
   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 processed.  If no load files
   and no command strings are specified, [1mgnuplot [22maccepts interactive input
   from stdin.










   GNUPLOT 5.4                                                             9


        [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 initial-
        ization (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 before
        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 "in-
        put2":
              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)"

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













   GNUPLOT 5.4                                                            10


   [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 canvas 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.  Al-
   most 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 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 en-
   tire 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 pixels
   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.

   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.














   GNUPLOT 5.4                                                            11


   +----------------------------------------------------------------------------------+
   | 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 character
   for data files.



   [1m13.  Coordinates[0m


   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 position 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










   GNUPLOT 5.4                                                            12


   [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 [22mspeci-
   fies the screen area (the entire area---not just the portion selected by
   [1mset size[22m), with 0,0 at bottom left and 1,1 at top right. [1mcharacter [22mcoor-
   dinates are used primarily for offsets, not absolute positions.  The
   [1mcharacter [22mvertical 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 example, to
   place labels on a 2D plot in polar coordinates or a 3D plot in cylindri-
   cal 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 position.  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 [22mformat string.
   See [1mset xdata [22mand [1mset timefmt[22m.  [1mGnuplot [22mwill also accept an integer ex-
   pression, 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 arbitrary
   string of characters, possibly including whitespace, delimited by double
   quotes.  The following line from a datafile is interpreted 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 com-
   mands:










   GNUPLOT 5.4                                                            13


     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 position 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 example 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 ".columnhead(i)

   This use of column headings is automated by [1mset datafile columnheaders [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 additional
   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 super-
   script 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 'x_2' noenhanced".





















   GNUPLOT 5.4                                                            14


     +------------------------------------------------------------------+
     | 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 in-
   side 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 illus-
   trates the same markup applied to font "Times New Roman" 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 subscripts
   but does not work well for overwriting an accent on a letter.  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 diacriti-
   cal marks.  See [1mset encoding[22m. Since the box is non-spacing, it is sensi-
   ble 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 '&' charac-
   ter.  Thus
           'abc&{def}ghi'
   would produce
           'abc   ghi'.

   The '~' character causes the next character or bracketed text to be over-
   printed by the following character or bracketed text.  The second text
   will be horizontally centered on the first.  Thus '~a/' will result in an
   'a' with a slash through it.  You can also shift the second text verti-
   cally by preceding the second text with a number, which will define the
   fraction of the current fontsize by which the text will be raised or low-
   ered.  In this case the number and text must be enclosed in brackets be-
   cause more than one character is necessary.  If the overprinted text be-
   gins with a number, put a space between the vertical offset and the text










   GNUPLOT 5.4                                                            15


   ('~{abc}{.5 000}'); otherwise no space is needed ('~{abc}{.5---}').  You
   can change the font for one or both strings ('~a{.5 /*.2 o}'---an 'a'
   with a one-fifth-size 'o' on top---and the space between the number and
   the slash is necessary), but you can't change it after the beginning of
   the string.  Neither can you use any other special syntax within either
   string.  You can, of course, use control characters by 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 en-
   closed 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 gnuplot
   source distribution contains more examples of the enhanced syntax, as
   does the demo [1menhanced_utf8.dem[0m





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


        The backslash character \ is used to escape single byte character
        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 encoding.  For
        example the Adobe Symbol font uses a custom encoding in which octal
        245 represents the infinity symbol.  You could embed this in an en-
        hanced text string by giving the font name and the character code
        "{/Symbol \245}".  This is mostly useful for the PostScript termi-
        nal, 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 exam-
        ple 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 (e.g. an arrow over a letter to represent a vec-
        tor).  See [1mset encoding[22m, [1mutf8[22m, and the online unicode demo.

















   GNUPLOT 5.4                                                            16


   [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 [22mcommands.

   GNUHELP may be defined to be the pathname of the HELP file (gnuplot.gih).

   On VMS, the logical name GNUPLOT$HELP should be defined as the name of
   the help library for [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.  Additionally gnuplot
   searches for $XDG_CONFIG_HOME/gnuplot/gnuplotrc which is loaded after
   .gnuplot.  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, COM-
   SPEC 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 GNU-
   PLOT_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 li-
   brary.  For these drivers the font search path is controlled by the envi-
   ronmental variable GDFONTPATH.  Furthermore, a default font for these
   drivers may be set via the environmental variable GNUPLOT_DEFAULT_GDFONT.

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

   GNUPLOT_PS_DIR is used by the postscript driver to search for external
   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










   GNUPLOT 5.4                                                            17


   this variable have the postscript terminal use custom prologue files
   rather than the default files. See [1mpostscript prologue[22m.



   [1m17.  Expressions[0m


   In general, any mathematical expression accepted by C, FORTRAN, Pascal,
   or BASIC is valid.  The precedence of these operators is determined 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 truncates: 5/2 = 2; division of re-
   als does not: 5.0/2.0 = 2.5.  In mixed expressions, integers are "pro-
   moted" to reals before evaluation: 5/2e0 = 2.5.  The result of division
   of a negative integer by a positive 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 always 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 vari-
   able NaN to achieve the same result.  See [1musing [22mfor an example.

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

   A string which contains a numerical value is promoted to the correspond-
   ing 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 integers 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:*] == "DEF" The
   syntax "string"[beg:end] is exactly equivalent to calling 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










   GNUPLOT 5.4                                                            18


        {<real>,<imag>}, where <real> and <imag> must be numerical con-
        stants.  Thus {0,1} represents 'i'.  The real and imaginary compo-
        nents 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 str-
        toll().  This means that constants beginning with "0" are inter-
        preted as octal, and constants beginning with "0x" or "0X" are in-
        terpreted as hexadecimal.

        Floating point constants are interpreted via the C library routine
        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 ei-
        ther in single quotes or double quotes. The distinction between sin-
        gle 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 new-
        line)
             '123\n456'            # string constant (\ and n are ordinary
        characters)




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


        Arguments to math functions in [1mgnuplot [22mcan be integer, real, or com-
        plex unless otherwise noted.  Functions that accept or return 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                                                            19


   -------------------------------------------------------------------------------------------------------
        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)
         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)
         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)
      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                                                            20                             |
   |                                                                                                     |
   |                                                                                                     |
   |     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                                                            21


   +-----------------------------------------------------------------------------------------------------------+
   |          Function              Arguments      Returns                                                     |
   +-----------------------------------------------------------------------------------------------------------+
   |         column(x)            int or string    column [4mx[24m during datafile input                              |
   |       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(t)            time in sec     the hour (0..23)                                            |
   |         tm_mday(t)            time in sec     the day of the month (1..31)                                |
   |         tm_min(t)             time in sec     the minute (0..59)                                          |
   |         tm_mon(t)             time in sec     the month (0..11)                                           |
   |         tm_sec(t)             time in sec     the second (0..59)                                          |
   |         tm_wday(t)            time in sec     the day of the week (Sun..Sat) as (0..6)                    |
   |         tm_week(t)            time in sec     ISO 8601 week of year in ISO8601 "week date" system (1..53) |
   |         tm_yday(t)            time in sec     the day of the year (0..365)                                |
   |         tm_year(t)            time in sec     the year                                                    |
   |          time(x)                  any         the current system time in seconds                          |
   |          valid(x)                 int         test validity of column([4mx[24m) during datafile input            |
   |       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 inte-
             gral of the first 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 (exclusive).

             The [1mEllipticE(k) [22mfunction returns the complete elliptic inte-
             gral 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 in-
             tegral of the third kind, i.e. the definite integral between 0
             and pi/2 of the function
             [1m(1-(k*sin(p))**2)**(-0.5)/(1-n*sin(p)**2)[22m.  The parameter [1mn[0m
             must be less than 1, while [1mk [22mmust lie between -1 and 1 (exclu-
             sive).  Note that by definition EllipticPi(0,k) == EllipticK(k)
             for all possible values of [1mk[22m.













   GNUPLOT 5.4                                                            22


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


             The function [1mrand() [22mproduces a sequence of pseudo-random num-
             bers between 0 and 1 using an algorithm from P. L'Ecuyer and S.
             Cote, "Implementing a random number package with splitting fa-
             cilities", ACM Transactions on Mathematical 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 in-
             ternal
                               32-bit seeds.
                   rand(-1)    resets both seeds to a standard value.
                   rand(x)     for integer 0 < x < 2^31-1 sets both internal
             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.  Using specifier functions[0m


             These functions are valid only in the context of data input.
             Usually this means use in an expression that provides an input
             field of the [1musing [22mspecifier in a [1mplot[22m, [1msplot[22m, [1mfit[22m, or [1mstats[0m
             command.  However the scope of the functions is actually the
             full clause of the plot command, including for example use of
             [1mcolumnhead [22min constructing the plot title.





                  [1m17.3.3.1.  Column[0m


                  The [1mcolumn(x) [22mfunction may be used only in the [1musing [22mspec-
                  ifier of a plot, splot, fit, or stats command.  It evalu-
                  ates to the numerical value of the content of column x.
                  If the column is expected to hold a string, use instead
                  stringcolumn(x) or timecolumn(x, "timeformat").  See [1mplot[0m
                  [1mdatafile using[22m, [1mstringcolumn[22m, [1mtimecolumn[22m.















   GNUPLOT 5.4                                                            23


                  [1m17.3.3.2.  Columnhead[0m


                  The [1mcolumnhead(x) [22mfunction may only be used as part of a
                  plot, splot, or stats command.  It evaluates to a string
                  containing the content of column x in the first line of a
                  data file.  This is typically used to extract the column
                  header for use in a plot title.  See [1mplot datafile using[22m.
                  Example:
                       set datafile columnheader
                       plot for [i=2:4] DATA using 1:i title columnhead(i)



                  [1m17.3.3.3.  Stringcolumn[0m


                  The [1mstringcolumn(x) [22mfunction may be used only in the [1musing[0m
                  specification of a data plot or [1mfit [22mcommand.  It returns
                  the content of column x as a string.  [1mstrcol(x) [22mis short-
                  hand for [1mstringcolumn(x)[22m.  If the string is to be inter-
                  preted as a time or date, use instead timecolumn(x, "time-
                  format").  See [1mplot datafile using[22m.



                  [1m17.3.3.4.  Timecolumn[0m


                  [1mtimecolumn(N,"timeformat") [22mreads string data starting at
                  column N as a time/date value and uses "timeformat" to in-
                  terpret this as "seconds since the epoch" to millisecond
                  precision.  If no format parameter is given, the format
                  defaults to the string from [1mset timefmt[22m.  This function is
                  valid only in the [1musing [22mspecification of a plot or stats
                  command.  See [1mplot datafile using[22m.



                  [1m17.3.3.5.  Valid[0m


                  The [1mvalid(x) [22mfunction may be used only in expressions that
                  are part of a [1musing [22mspecification.  It can be used to de-
                  tect explicit NaN values or unexpected garbage in a field
                  of the input stream, perhaps to substitute a default value
                  or to prevent further arithmetic operations using NaN.
                  Both "missing" and NaN (not-a-number) data values are con-
                  sidered to be invalid, but it is important to note that if
                  the program recognizes that a field is truly missing or
                  contains a "missing" flag then the input line is discarded
                  before the expression invoking valid() would be called.
                  See [1mplot datafile using[22m, [1mmissing[22m.










   GNUPLOT 5.4                                                            24


                  Example:
                       # Treat an unrecognized bin value as contributing
                  some constant
                       # prior expectation to the bin total rather than ig-
                  noring it.
                       plot DATA using 1 : (valid(2) ? $2 : prior) smooth
                  unique




             [1m17.3.4.  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-[0m
             [1mdefined variables[22m.  It also allows you to read the name of a
             variable from a data file.  If the argument is a numerical ex-
             pression, 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.5.  Counting and extracting words[0m


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

             [1mwords("string") [22mreturns the number of words in string. For ex-
             ample, [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
             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 surrounded 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 neces-
             sary only for the string definition.

             [1mtrim("  padded string ") [22mreturns the original string stripped










   GNUPLOT 5.4                                                            25


             of leading and trailing whitespace.  This is useful for string
             comparisons of input data fields that may contain extra white-
             space. 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 operators
        in the C programming language, except that all operators accept in-
        teger, real, and complex arguments, unless otherwise 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:




     +------------------------------------------------------------------+
     | 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 integer
   argument.

   Operator precedence is the same as in Fortran and C.  As in those lan-
   guages, 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










   GNUPLOT 5.4                                                            26


   (N <= 20 for 64-bit integers). It returns a floating point approximation
   for larger values of N.

   This operator returns the number of elements |A| when applied to array 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:



               +---------------------------------------------+
               | 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 ar-
   guments.  Capital letters A and B indicate that the operator requires
   string arguments.

   Logical AND (&&) and OR (||) short-circuit the way they do in C.  That










   GNUPLOT 5.4                                                            27


   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 subexpression is re-
   turned.



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


             There is a single ternary operator:



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




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

   The ternary operator is very useful both in constructing piecewise func-
   tions 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 func-
   tions 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 using[22m.










   GNUPLOT 5.4                                                            28


        [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 successive in-
        tegral 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 expression.  Examples:
              print sum [i=1:10] i
                  55.
              # 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 variables or expres-
        sions, 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 vari-[0m
        [1mables all [22mto display the complete list and current 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 - GP-
        VAL_TERM_XMIN)
             SCREEN_Y = GPVAL_TERM_YMIN + GRAPH_Y * (GPVAL_TERM_YMAX - GP-
        VAL_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 GPVAL_ERRMSG.  Both
        GPVAL_ERRNO and GPVAL_ERRMSG can be cleared using the command [1mreset[0m
        [1merrors[22m.

        Interactive terminals with [1mmouse [22mfunctionality maintain read-only
        variables with the prefix "MOUSE_".  See [1mmouse variables [22mfor de-
        tails.











   GNUPLOT 5.4                                                            29


        The [1mfit [22mmechanism uses several variables with names that begin
        "FIT_".  It is safest to avoid using such names.  When using [1mset fit[0m
        [1merrorvariables[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.




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


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

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

        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 variable and
        a user-defined string function.

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

              NaN = GPVAL_NaN
              pi  = GPVAL_pi










   GNUPLOT 5.4                                                            30


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

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

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

        Each function definition is made available as a special string-val-
        ued 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 ele-
        ments in an array are not limited to a single type of variable.  Ar-
        rays must be created explicitly before being referenced. The size of
        an array cannot be changed after creation.  All elements are ini-
        tially undefined.  In most places an array element can be used in-
        stead of a named user variable.

        The cardinality (number of elements) of array A is given by the ex-
        pression |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>










   GNUPLOT 5.4                                                            31


                 8.0 8.0

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

        The name of an array can be used in a [1mplot[22m, [1msplot[22m, [1mfit[22m, or [1mstats[0m
        command.  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 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 com-
        mands 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 terminal 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 temporarily
   switching to a special font, e.g. the Adobe Symbol font, the preferred
   method is now to choose UTF-8 encoding and treat the symbol 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 sequences[22m.





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


        These terminals find and access fonts using the external fontconfig
        tool set.  Please see the It is usually sufficient in gnuplot to re-
        quest a font by a generic name and size, letting fontconfig substi-
        tute a similar font if necessary. The following will probably all










   GNUPLOT 5.4                                                            32


        work:
             set term pdfcairo font "sans,12"
             set term pdfcairo font "Times,12"
             set term pdfcairo font "Times-New-Roman,12"




        [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 directly by
        libgd. These are [1mtiny [22m(5x8 pixels), [1msmall [22m(6x12 pixels), [1mmedium[22m,
        (7x13 Bold), [1mlarge [22m(8x16) or [1mgiant [22m(9x15 pixels). These fonts cannot
        be scaled or rotated.  Use one of these keywords instead of the [1mfont[0m
        keyword. 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 <somedirec-
        tory>/Face.ttf or <somedirectory>/Face.pfa.  For example, if GDFONT-
        PATH contains [1m/usr/local/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 rotat-
        able.  If no specific font is requested in the "set term" command,
        gnuplot checks the environmental variable GNUPLOT_DEFAULT_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 program.
        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 program will know how to find or
        approximate a font by that name.











   GNUPLOT 5.4                                                            33


        All PostScript printers or viewers should know about the standard
        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. Gnu-
        plot does not know or care about this; the output *.ps or *.eps
        files that it creates will simply refer to whatever font names you
        request.

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

        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 requested.  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 [22mfor more detailed de-
        scription and examples.



   [1m19.  Glossary[0m


   Throughout this document an attempt has been made to maintain consistency
   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 contains explanations of the
   way some of these terms are used.

   A "page" or "screen" or "canvas" is the entire area addressable by [1mgnu-[0m
   [1mplot[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 ab-
   scissa 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 function 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 ambi-
   guity.











   GNUPLOT 5.4                                                            34


   The lines on a graph may have individual names.  These may be listed to-
   gether 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 docu-
   ment, it will always be preceded by the adjective "plot", "line", or
   "key" to differentiate among them.  A 2D graph may have up to four la-
   beled [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 be-
   cause you can change the direction from which the graph is seen with [1mset[0m
   [1mview[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 ex-
   tracted 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 con-
   text 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 [1mdata-[0m
   [1mblocks[22m).



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


   There are two mechanisms for embedding data into a stream of gnuplot com-
   mands.  If the special filename '-' appears in a plot command, then the
   lines immediately following the plot command are interpreted 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 impulses

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

   The storage associated with named data blocks can be released using










   GNUPLOT 5.4                                                            35


   [1mundefine [22mcommand. [1mundefine $* [22mfrees all named data blocks at once.



   [1m21.  Iteration[0m


   gnuplot supports command iteration and block-structured if/else/while/do
   constructs.  See [1mif[22m, [1mwhile[22m, and [1mdo[22m.  Simple iteration is possible inside
   [1mplot [22mor [1mset [22mcommands.  See [1mplot for[22m.  General iteration spanning multiple
   commands is possible using a block construct as shown below.  For a re-
   lated new feature, see the [1msummation [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 evaluates
   to single-word substrings 1 to N of the string in the iteration speci-
   fier.  In the second case <start>, <end>, and <increment> are integers or
   integer expressions.

   With one exception, gnuplot variables are global.  There is a single,
   persistent, list of active variables indexed by name.  Assignment to a
   variable creates or replaces an entry in that list.  The only way to re-
   move a variable from that list is the [1mundefine [22mcommand.

   The single exception to this is the variable used in an iteration speci-
   fier.  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 it-
   eration, that value will be retained or restored at the end of the itera-
   tion.  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 distinct
   "linetypes" that could differ in color, in thickness, in dot/dash pat-
   tern, 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 sequence red/green/blue/ma-
   genta/cyan/yellow.  You can select this old behaviour via the command [1mset[0m
   [1mcolorsequence 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 interac-
   tively or in an initialization file.  See [1mset linetype[22m.  Several sample
   initialization files are provided in the distribution package.

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

   Successive functions or datafiles plotted by a single command will be as-
   signed 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 linetypes
   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 coordi-
   nate along the current pm3d palette.

   Examples:

        plot sin(x) lt rgb "violet"       # one of gnuplot's named colors
        plot sin(x) lt rgb "#FF00FF"      # explicit RGB triple in hexadeci-
   mal
        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[0m
   [1mmonochrome[22m.

   Linetypes also have an associated dot-dash pattern although not all ter-
   minal 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.











   GNUPLOT 5.4                                                            37


        [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 con-
        stant
              rgbcolor "0xAARRGGBB"   # string containing hexadecimal con-
        stant
              rgbcolor "#RRGGBB"      # string containing hexadecimal in x11
        format
              rgbcolor "#AARRGGBB"    # string containing hexadecimal in x11
        format
              rgbcolor <integer val>  # integer value representing AARRGGBB
              rgbcolor variable       # integer value is read from input
        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 gnuplot.
        For a list of the available names, see [1mshow colornames[22m.

        Hexadecimal constants can be given in quotes as "#RRGGBB" or "0xR-
        RGGBB", where RRGGBB represents the red, green, and blue components
        of the color and must be between 00 and FF.  For example, magenta =
        full-scale red + full-scale blue could be represented by "0xFF00FF",
        which is the hexadecimal representation of (255 << 16) + (0 << 8) +
        (255).

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

        The color palette is a linear gradient of colors that smoothly maps










   GNUPLOT 5.4                                                            38


        a single numerical value onto a particular color.  Two such mappings
        are always in effect. [1mpalette frac  [22mmaps a fractional 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 con-
        stant color from the current palette.

        "palette z" maps the z value of each plot segment or plot element
        into the cbrange mapping of the palette. This allows smoothly-vary-
        ing color along a 3d line or surface. It also allows 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 the color
             belonging to that linetype.  This requires a corresponding ad-
             ditional 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 indi-
             vidual 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










   GNUPLOT 5.4                                                            39


             `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 seg-
             ment, or label in your plot.  [1mlc rgbcolor variable [22mtells the
             program to read RGB color information for each line in the data
             file. This requires a corresponding additional 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 evaluates to a 24-bit RGB color as in the exam-
             ple below.  Text colors are similarly set using [1mtc rgbcolor[0m
             [1mvariable[22m.

             Example:
                   # Place colored points in 3D at the x,y,z coordinates
             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




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


        In gnuplot version 5 the dash pattern ([1mdashtype[22m) is a separate prop-
        erty 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>[0m
        [1m{solid|dashed} [22mis now ignored.  If backwards 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 other-
        wise.  You can change the default for a particular linetype using
        the command [1mset linetype [22mso that it affects all subsequent commands,
        or you can include the desired dashtype as part of the [1mplot [22mor other










   GNUPLOT 5.4                                                            40


        command.

        Syntax:
              dashtype N          # predefined dashtype invoked by number
              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 specified
        by 1 to 4
                                  # numerical pairs <solid length>, <empty-
        space 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

        If you specify a dash pattern using a string the program will con-
        vert 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 ele-
        ments.  In other words, it is just like a linetype except for its
        lifetime.  Whereas [1mlinetypes [22mare permanent (they last until you ex-
        plicitly redefine them), [1mlinestyles [22mlast until the next reset of the
        graphics state.










   GNUPLOT 5.4                                                            41


        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 components to a spe-
   cific 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" be-
   hind
   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
        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 or-
   der applies separately to each component plot, not to the multiplot 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 func-
   tions by hitting a single key while the mouse focus is in the active plot
   window.  It is even possible to combine mouse input with [1mbatch [22mcommand
   scripts, by invoking the command [1mpause mouse [22mand then using the mouse
   variables returned by mouse clicking as parameters for subsequent
   scripted actions.  See [1mbind [22mand [1mmouse variables[22m.  See also the command
   [1mset mouse[22m.












   GNUPLOT 5.4                                                            42


        [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 sequence of
        gnuplot commands which will be executed when a certain key or key
        sequence is pressed while the driver's window has the input focus.
        Note that [1mbind [22mis only available if gnuplot was compiled with [1mmouse[0m
        support and it is used by all mouse-capable terminals. A user-speci-
        fied binding supersedes any builtin bindings, except that <space>
        and 'q' cannot normally be rebound. For an exception, see [1mbind[0m
        [1mspace[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.

        Normally hotkeys are only recognized when the currently active plot
        window has focus. [1mbind allwindows <key> ... [22m(short form: [1mbind all[0m
        [1m<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 removed)
            reset bind             # installs default (builtin) bindings











   GNUPLOT 5.4                                                            43


        - 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",
           "KP_PageDown", "KP_End", "KP_Begin", "KP_Insert", "KP_Delete",
        "KP_Equal",
           "KP_Multiply", "KP_Add", "KP_Separator", "KP_Subtract", "KP_Deci-
        mal",
           "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 gnu-
             plot's command window. This hotkey can be changed to ctrl-space
             by starting gnuplot as 'gnuplot -ctrlq', or by setting the XRe-
             source 'gnuplot*ctrlq'.  See [1mx11 command-line-options[22m.














   GNUPLOT 5.4                                                            44


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


        When [1mmousing [22mis active, clicking in the active window will set sev-
        eral 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 de-
        fined in the event of a mouse click in the active plot window. To
        determine from a script if the mouse has been clicked in the active
        plot window, it is sufficient to test for any one of these variables
        being defined.

              plot 'something'
              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 using the
        mousing code.

              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 abnormally (e.g. by
        ctrl-C or by externally closing the plot window) then MOUSE_KEY will
        equal -1.

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



   [1m25.  Persist[0m


   Many gnuplot terminals (aqua, pm, qt, x11, windows, wxt, ...) open sepa-
   rate display windows on the screen into which plots are drawn.  The [1mper-[0m
   [1msist [22moption tells gnuplot to leave these windows open when the main pro-
   gram exits.  It has no effect on non-interactive terminal 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










   GNUPLOT 5.4                                                            45


   also specify [1mpersist [22mor [1mnopersist [22mwhen you set a new terminal.

        set term qt persist size 700,500

   Depending on the terminal type, some mousing operations may still be pos-
   sible in the persistent window.  However operations like zoom/unzoom 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 af-
   ter creating the plot, for example when running gnuplot from a script
   file rather than interactively, see [1mpause mouse 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.  [1mplot [22mgenerates
   2D plots. [1msplot [22mgenerates 3D plots (actually 2D projections, of course).
   [1mreplot [22mreexecutes the previous [1mplot [22mor [1msplot [22mcommand.  [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 currently defined
   axes, labels, titles, and all of the various functions or data sources
   listed in the original plot command. If instead 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 dis-
   cussion of [1mplot[22m; information specific to 3D can be found in the [1msplot[0m
   section.

   [1mplot [22moperates in either rectangular or polar coordinates -- see [1mset po-[0m
   [1mlar[22m.  [1msplot [22moperates in Cartesian coordinates, but will accept azimuthal
   or cylindrical coordinates on input. See [1mset mapping[22m.  [1mplot [22malso 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 options, such as [1mset logscale xy[22m.  Commands and op-
   tions 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 func-
   tion.  See [1msplot datafile [22mfor information about the requisite file










   GNUPLOT 5.4                                                            46


   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 using [1mset view map[22m.



   [1m27.  Plugins[0m


   The set of functions available for plotting or for evaluating expressions
   can be extended through a plugin mechanism that imports executable func-
   tions from a shared library.  For example, gnuplot versions through 5.4
   do not provide a built-in implementation of the upper incomplete gamma
   function Q(a,x).  You could define an approximation directly in gnuplot
   like this:
         Q(a,x) = 1. - igamma(a,x)
   However this has inherently limited precision as igamma(a,x) approaches
   1.  If you need a more accurate implementation, it would be better to
   provide one via a plugin (see below).  Once imported, the function can be
   used just as any other built-in or user-defined function in gnuplot.  See
   [1mimport[22m.

   The gnuplot distribution includes source code and instructions for creat-
   ing a plugin library in the directory demo/plugin.  You can modify the
   simple example file [1mdemo_plugin.c [22mby replacing one or more of the toy ex-
   ample functions with an implementation of the function you are interested
   in.  This could include invocation of functions from an external mathe-
   matical library.

   The demo/plugin directory also contains source for a plugin that imple-
   ments Q(a,x). As noted above, this plugin allows earlier versions of gnu-
   plot to provide the same function [1muigamma [22mas the current development ver-
   sion.
        import Q(a,x) from "uigamma_plugin"
        uigamma(a,x) = ((x<1 || x<a) ? 1.0-igamma(a,x) : Q(a,x))




   [1m28.  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; Windows will use [1mAPPDATA[22m).  On
   Unix-like systems gnuplot additionally checks for the file $XDG_CON-
   FIG_HOME/gnuplot/gnuplotrc.  Note: The program can be configured to look










   GNUPLOT 5.4                                                            47


   first in the current directory, but this is not recommended because it is
   bad security practice.



   [1m29.  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 possi-
   ble string variables if they are not otherwise recognizable as part of
   the normal gnuplot syntax. So the following sequence of commands is le-
   gal, although probably should be avoided so as not to cause confusion:

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




        [1m29.1.  Substrings[0m


        Substrings can be specified by appending a range specifier to any
        string, string variable, or string-valued function.  The range spec-
        ifier 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 character has index 1.  The
        begin or end fields may be empty, or contain '*', to indicate the
        true start or end of the original string.  E.g.  str[:] and str[*:*]
        both describe the full string str.












   GNUPLOT 5.4                                                            48


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


        Three binary operators require string operands: the string concate-
        nation 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"



        [1m29.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 manipulation: see [1msubstr[0m
        [1mstrstrt trim word words[22m.



        [1m29.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




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


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




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


        Command-line substitution is specified by a system command enclosed
        in backquotes.  This command is spawned and the output it produces










   GNUPLOT 5.4                                                            49


        replaces the backquoted text on the command line.  Exit status of
        the system command is returned in variables GPVAL_SYSTEM_ERRNO and
        GPVAL_SYSTEM_ERRMSG.

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

        Command-line substitution can be used anywhere on the [1mgnuplot [22mcom-
        mand line except inside strings delimited by single quotes.

        Example:

        This will run the program [1mleastsq [22mand replace [1mleastsq [22m(including
        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`"



        [1m30.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 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 evalua-
        tion.  The following example checks that C can safely be expanded as
        the name of a user-defined variable:











   GNUPLOT 5.4                                                            50


              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 interpreter
        does when looking at a new line of commands and is only done once.
        Therefore, code like the following will execute correctly:

             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.



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


        The interaction of string variables, backquotes and macro substitu-
        tion is somewhat complicated.  Backquotes do not block macro substi-
        tution, so

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

        results in the number of lines in mydata.inp being stored in the in-
        teger variable lines. And double quotes do not block backquote sub-
        stitution, so

              mycomputer = "`uname -n`"

        results in the string returned by the system command [1muname -n [22mbeing
        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!!











   GNUPLOT 5.4                                                            51


        This fails because the double quotes prevent @machine_id from being
        interpreted as a macro. To store a system command as a macro and ex-
        ecute it later you must instead include the backquotes 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



   [1m31.  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[0m
   keyword on the [1mfit [22mcommand); lists of discrete contours or the loop para-
   meters which specify them on the [1mset cntrparam [22mcommand; the arguments of
   the [1mset [22mcommands [1mdgrid3d[22m, [1mdummy[22m, [1misosamples[22m, [1moffsets[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 functions) 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 notation.)

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

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

   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.














   GNUPLOT 5.4                                                            52


        [1m31.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 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 substitution
        into the command line.  See [1msubstitution[22m.



   [1m32.  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 ydata time[22m,
   etc.

   Internally all times and dates are converted to the number of seconds
   from the year 1970.  The command [1mset timefmt [22mdefines the default format
   for all inputs: data files, ranges, tics, label positions -- anything










   GNUPLOT 5.4                                                            53


   that accepts a time data value defaults to receiving 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 default can be replaced when reading any
   particular file or column of input using the [1mtimecolumn [22mfunction in the
   corresponding [1musing [22mspecifier.

   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 standard) you don't need to
   worry about these things.  But if the absolute 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 quantity 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 [22moption
   _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 separator, some trial-and-er-
   ror may be necessary to discover how your system 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, or it can
   be used in conjunction with [1mtimecolumn [22mto generate relative time/date
   plots.  The type of the argument determines what is returned. If the ar-
   gument 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 de-
   pends on your operating system. If the argument is a string, it is as-
   sumed 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"










   GNUPLOT 5.4                                                            54


         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 mod-
   ified 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.




   [1m33.  Plotting styles[0m



   Many plotting styles are available in gnuplot.  They are listed alphabet-
   ically below.  The commands [1mset style data [22mand [1mset style function [22mchange
   the default plotting style for subsequent [1mplot [22mand [1msplot [22mcommands.

   You can also specify the plot style explicitly as part of the [1mplot [22mor
   [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

   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 single column of
   y values (with implicit x ordering) or a pair of columns 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.




   [1m34.  Arrows[0m


   The 2D [1marrows [22mstyle draws an arrow with specified length and orientation
   angle at each point (x,y).  Additional input columns may be used to pro-
   vide 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[0m
   [1mvectors[22m.

        4 columns:  x  y  length  angle

   The keywords [1mwith arrows [22mmay be followed by inline arrow style










   GNUPLOT 5.4                                                            55


   properties, 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 in-
   terpreted in horizontal graph coordinates; i.e. |length| is a fraction of
   the total graph width.  The program will adjust for differences 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.



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


   "Bee swarm" plots result from applying jitter to separate overlapping
   points.  A typical use is to compare the distribution of y values exhib-
   ited by two or more categories of points, where the category 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



   [1m36.  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[0m
   and [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[0m
   [1m-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 cal-
   culated so that each box touches the adjacent boxes.  The width will also
   be calculated in cases where three-column data are used.











   GNUPLOT 5.4                                                            56


   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.



   [1m37.  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] coor-
   dinate that extends from the plane at z=0 to the given z coordinate.  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.




        [1m37.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 variable 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 boxwidth [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.  Alterna-
        tively a fillstyle may be specified in the plot command.  See [1mset[0m
        [1mstyle fill[22m.  If no fillcolor is given in the plot command, the cur-
        rent line color is used.

        Examples:

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

              set boxwidth 0.9 relative
              set style fill solid 1.0










   GNUPLOT 5.4                                                            57


              plot 'file.dat' with boxes

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

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

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

        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



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



        [1msplot with boxes [22mrequires at least 3 columns of input data.  Addi-
        tional 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 speci-
        fies 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 previ-
        ously 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 command reads box width
        from column 4 and interprets the value in column 5 as an integer
        linetype from which the color is derived.

        By default boxes have no thickness; they consist of a single rectan-
        gle parallel to the xz plane at the specified y coordinate.  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 surfaces.










   GNUPLOT 5.4                                                            58


        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 style fill border[22m.  See
        [1mset pm3d[22m.  For best results use a combination of [1mset pm3d depthorder[0m
        [1mbase [22mand [1mset pm3d lighting[22m.




   [1m38.  Boxplot[0m


   Boxplots are a common way to represent a statistical distribution of val-
   ues.  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 quartile (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.

   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 additional
   (fourth) column can be added to the specification. If present, the values
   of that column will be interpreted as the discrete levels of a factor
   variable.  As many boxplots will be drawn as there are levels in the fac-
   tor variable.  The separation between these boxplots is 1.0 by default,
   but it can be changed by [1mset style boxplot 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










   GNUPLOT 5.4                                                            59


   command.  The first and third columns (x coordinate and width) are nor-
   mally provided as constants rather than as data columns.

   By default the whiskers extend from the ends of the box to the most dis-
   tant 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 [22mcom-
   mand.  See [1mset style boxplot[22m, [1mbars[22m, [1mboxwidth[22m, [1mfillstyle[22m, [1mcandlesticks[22m.




   [1m39.  Boxxyerror[0m


   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 information such as vari-
   able 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 rec-
   tangles with arbitrary x and y bounds.

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

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



   [1m40.  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 coordinate and lim-
   ited vertically by the opening and closing prices.  A vertical line seg-
   ment 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










   GNUPLOT 5.4                                                            60


   unchanged if the low and high prices are interchanged.

   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 [22mcommand.
   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 be given
   in the same units as the x coordinate.

   An additional (6th, or 7th if the 6th column is used for width data) in-
   put column may be used to provide variable (per-datapoint) color informa-
   tion (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 command.  By
   default these whiskerbars extend the full horizontal width of the candle-
   stick, 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 pattern, 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 'Quartiles', \
          ''         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.
















   GNUPLOT 5.4                                                            61


   [1m41.  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 hori-
   zontal axis (x or x2).  The scale on y and the aspect ratio 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 possi-
   ble.  For 2D plots these include

       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 speci-
   fier.  In this case the plot command must include a corresponding vari-
   able color term such as [1mlc variable [22mor [1mfillcolor rgb variable[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 [22mand [1mset[0m
   [1mstyle fill[22m.

   Examples:

       # draws circles whose area is proportional to the value in column 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










   GNUPLOT 5.4                                                            62


       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.



   [1m42.  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 between its major diame-
   ter 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 coordinates
   of the centers, and the ellipses will be drawn with the default extent
   (see [1mset style ellipse[22m).  The orientation of the ellipse, which is de-
   fined as the angle between the major diameter and the plot's x axis, is
   taken from the default ellipse style (see [1mset style ellipse[22m).  If three
   input columns are provided, the third column 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 negative.

   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 verti-
   cal (y or y2).  If the x and y axis scales are not equal, the major/minor
   diameter ratio will no longer be correct after rotation.  This can be
   changed with the [1munits [22mkeyword, however.

   There are three alternatives: if [1munits xy [22mis included in the plot speci-
   fication, the axes will be scaled as described above. [1munits xx [22mensures
   that both diameters are interpreted in units of the x axis, while [1munits[0m
   [1myy [22mmeans that both diameters are interpreted in units of the y axis. In
   the latter two cases the ellipses will have the correct 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):










   GNUPLOT 5.4                                                            63


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

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




   [1m43.  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)




   [1m44.  Filledcurves[0m


   The [1mfilledcurves [22mstyle is only used for 2D plotting. It has three vari-
   ants.  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 polygon.
   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 radius 1.5










   GNUPLOT 5.4                                                            64


   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 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 incor-
   rect 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 op-
   tion xy=<x>,<y> will depend on xrange and yrange.




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


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

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
















   GNUPLOT 5.4                                                            65


   [1m45.  Financebars[0m


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

        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 variable[22m).

   The symbol is a vertical line segment, located horizontally at the x co-
   ordinate 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 [1mcandlesticks[22m, and also the finance demo.



   [1m46.  Fsteps[0m


   The [1mfsteps [22mstyle is only relevant to 2D plotting.  It connects consecu-
   tive 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 difference between [1mfsteps[0m
   and [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.



   [1m47.  Fillsteps[0m


        plot <data> with fillsteps [above|below] [y=<baseline>]

   The [1mfillsteps [22mstyle is only relvant to 2D plotting.  It is exactly like
   the style [1msteps [22mexcept that the area between the curve and the baseline
   (default y=0)  is filled in the current fill style.  The options [1mabove[0m
   and [1mbelow [22mfill only the portion to one side of the baseline. Note that in
   moving from one data point to the next, both [1msteps [22mand [1mfillsteps [22mfirst
   trace the change in x coordinate and then the change in y coordinate.
   See [1msteps[22m.
















   GNUPLOT 5.4                                                            66


   [1m48.  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-val-
   ues; 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 rather
   than the steps, so the end points will appear only half as wide as the
   others.  See also steps demo.




   [1m49.  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[0m
   command 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 supported.

         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 2[22m.  In
   this style, each set of parallel data values is collected into a group of
   boxes clustered at the x-axis coordinate corresponding to their sequen-
   tial position (row #) in the selected datafile columns.  Thus if <n> dat-
   acolumns are selected, the first cluster is centered about x=1, and con-
   tains <n> boxes whose heights are taken from the first entry in the cor-
   responding <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 columns, and so on.  The default gap width of 2 indi-
   cates 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 [1mxticlabels [22moption to
   [1musing[22m.











   GNUPLOT 5.4                                                            67


   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[0m
   style.
        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 [1mset[0m
   [1mstyle 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 results in a box
   a x=1, the second at x=2, and so on.  Boxes corresponding 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 representing the second data value from each col-
   umn, 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 speci-
   fied 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-histogram
   plot elements may use either the x1 or the x2 axis.

   One additional style option [1mset style histogram nokeyseparators [22mis rele-
   vant only to plots that contain multiple histograms.  See [1mnewhistogram[0m
   for additional discussion of this case.

   Examples: Suppose that the input file contains data values in columns 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 clustered 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










   GNUPLOT 5.4                                                            68


         plot for [COL=2:4:2] 'file.dat' using COL

   This will produce a plot with clusters of two boxes (vertical bars) cen-
   tered 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 value,
   then error bars can be added to the plot.  The following commands will
   add error bars extending from (y-<error>) to (y+<error>), capped by hori-
   zontal bar ends drawn the same width as the box itself. 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 explicitly 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 segments, corre-
   sponding 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 entry 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 labels must
   also be modified accordingly. See the comments given below.

         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 la-
   bels

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










   GNUPLOT 5.4                                                            69


        [1m49.1.  Newhistogram[0m


        Syntax:

             newhistogram {"<title>" {font "name,size"} {tc <colorspec>}}
                          {lt <linetype>} {fs <fillstyle>} {at <x-coord>}

        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 label for each
        set, by using the [1mnewhistogram [22mcommand.  For example

              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 respective
        sets of histograms, under the overall x axis label.

        The newhistogram command can also be used to force histogram color-
        ing to begin with a specific color (linetype). By default colors
        will continue to increment successively even across histogram bound-
        aries. Here is an example using the same coloring for multiple his-
        tograms
              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.

        Starting a new histogram will normally add a blank entry to the key,
        so that titles from this set of histogram components will be sepa-
        rated from those of the previous histogram.  This blank line may be
        undesirable if the components have no individual titles.  It can be
        suppressed by modifying the style with [1mset style histogram nokeysep-[0m
        [1marators[22m.

        The [1mat <x-coord> [22moption sets the x coordinate position of the fol-
        lowing 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











   GNUPLOT 5.4                                                            70


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



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


        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 fea-
        ture.  See [1mplot for[22m.  For example, to create stacked histograms of
        the data in columns 3 through 8

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



   [1m50.  Image[0m


   The [1mimage[22m, [1mrgbimage[22m, and [1mrgbalpha [22mplotting styles all project a uniformly
   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 as-
   signed 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 rectangle or
   parallelipiped in the plot. The coordinates of each data point will de-
   termine 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 rotate[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 build-
   ing used a mapping [1mdx=0.5 dy=0.35[22m.











   GNUPLOT 5.4                                                            71


   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).

   The [1mrgbimage [22mstyle handles input pixels that are described by three sepa-
   rate 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 con-
   vention 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 compo-
   nents.  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 rgb-[0m
   [1mmax 1.0[22m.

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




        [1m50.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 underlying contents
        of the plot. A pixel with alpha = 255 is purely opaque.  All termi-
        nal types can handle these two extreme cases.  A pixel with 0 < al-
        pha < 255 is partially transparent.  Terminal types that do not sup-
        port partial transparency will round this value to 0 or 255.



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


        Some terminals use device- or library-specific optimizations to ren-
        der image data within a rectangular 2D area.  This sometimes pro-
        duces undesirable output, e.g. bad clipping or scaling, missing










   GNUPLOT 5.4                                                            72


        edges.  The [1mpixels [22mkeyword tells gnuplot to use generic code that
        renders the image pixel-by-pixel instead.  This rendering mode is
        slower and may result in much larger output files, but should pro-
        duce a consistent rendered view on all terminals.  Example:
              plot 'data' with image pixels




   [1m51.  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 ap-
   proximates 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)




   [1m52.  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 columns may be used
   to provide properties that vary point by point such as text rotation an-
   gle (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 exam-
   ple 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 population.

     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                                                            73


   If the labels are marked as [1mhypertext [22mthen the text only appears if the
   mouse is hovering over the corresponding anchor point.  See [1mhypertext[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 sufficiently flex-
   ible.  For example, here we define a set of chosen single-character sym-
   bols 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



   [1m53.  Lines[0m


   The [1mlines [22mstyle connects adjacent points with straight line segments.  It
   may be used in either 2D or 3D plots. The basic form requires 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.



   [1m54.  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 point-[0m
   [1msize [22munless a specific point size is given in the plot command or a vari-
   able point size is provided in an additional column of input data.  Addi-
   tional input columns may also be used to provide information such as










   GNUPLOT 5.4                                                            74


   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 [22m(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 segment that passes
   underneath the symbol. The size of the erased portion 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.




   [1m55.  Parallelaxes[0m


   Parallel axis plots can highlight correlation in a multidimensional data
   set.  Individual columns of input data are each associated with a sepa-
   rately scaled vertical axis.  If all columns are drawn from a single file
   then each line on the plot represents values from a single 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 parallelaxes

   The new syntax also allows explicit placement of the parallel vertical
   axes along the x axis as in the example below.  If no explicit x coordi-
   nate 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]

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











   GNUPLOT 5.4                                                            75


   [1m56.  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 [1mfilled-[0m
   [1mcurves[22m.  See [1mset polar[22m, [1mset rrange[22m, [1mset size square[22m, [1mset theta[22m, [1mset[0m
   [1mttics[22m.



   [1m57.  Points[0m


   The [1mpoints [22mstyle displays a small symbol at each point. The command [1mset[0m
   [1mpointsize [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 correspond
   to additional plot properties [1mpointsize variable[22m, [1mpointtype variable[22m,
   etc.

   The first 8 point types are shared by all terminals. Individual terminals
   may provide a much larger number of distinct point types. Use the [1mtest[0m
   command 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 [1mescape sequences[22m.
   Longer strings may be plotted using plot style [1mlabels [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 com-
   mand, 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 [22mspec.  Variable color is
   always taken from the last additional column. See [1mcolorspec[22m. If all three
   properties are specified for each 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 [1mvariables[22m.












   GNUPLOT 5.4                                                            76


   [1m58.  Polygons[0m


   2D plots:

        plot DATA {using 1:2} with polygons

   [1mplot with polygons [22mis currently treated as [1mplot with filledcurves closed[22m.
   Each polygon may be assigned a separate color by providing a third using
   specifier and the keywords [1mlc variable [22m(value is interpreted as a line-
   type) or [1mlc rgb variable [22m(value is interpreted as a 24-bit RGB color).
   Only the color value from the first vertex of the polygon is used.  The
   border line type, if any, is taken from the fill style.

   3D plots:

        splot DATA {using x:y:z} with polygons
              {fillstyle <fillstyle spec>}
              {fillcolor <colorspec>}
   [1msplot with polygons [22muses pm3d to render individual triangles, quadran-
   gles, 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.  Ver-
   tices defining individual polygons are read from successive records of
   the input file.  A blank line separates one polygon from the next.  Due
   to limitations in the pm3d code, a single border line style from [1mset pm3d[0m
   [1mborder [22mis applied to all 3D polygons.  This restriction may be removed in
   a later gnuplot version.  pm3d sort order and lighting are applied to the
   faces. It is probably 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



   [1m59.  Spiderplot[0m


   Spider plots are essentially parallel axis plots in which the axes are
   arranged radially rather than vertically. Such plots are sometimes called
   [1mradar charts[22m.  In gnuplot this requires working within a coordinate sys-
   tem established by the command [1mset spiderplot[22m, analogous to [1mset polar [22mex-
   cept 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 style choices are controlled using [1mset[0m
   [1mstyle spiderplot[22m, [1mset grid[22m, and the individual components of the plot
   command.











   GNUPLOT 5.4                                                            77


   Because each spider plot corresponds to a row of data rather than a col-
   umn, 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 la-[0m
   [1mbel "Foo"[22m.  To place a title in the key, you can either use a separate
   [1mkeyentry [22mcommand or extract text from a column in the input file with the
   [1mkey(column) [22musing specifier.  See [1mkeyentry[22m, [1musing key[22m.

   In this figure a spiderplot with 5 axes is used to compare multiple enti-
   ties 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)





        [1m59.1.  Newspiderplot[0m


        Normally the sequential elements of a plot command [1mwith spiderplot[0m
        each correspond to one vertex of a single polygon.  In order to de-
        scribe multiple polygons in the same plot command, they must be sep-
        arated 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




   [1m60.  Steps[0m


   The [1msteps [22mstyle is only relevant to 2D plotting.  It connects consecutive
   points with two line segments: the first from (x1,y1) to (x2,y1) and the
   second from (x2,y1) to (x2,y2).  The input column requires are the same
   as for plot styles [1mlines [22mand [1mpoints[22m.  The difference 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.  To fill
   the area between the curve and the baseline at y=0, use [1mfillsteps[22m.  See
   also steps demo.











   GNUPLOT 5.4                                                            78


   [1m61.  Rgbalpha[0m


   See [1mimage[22m.



   [1m62.  Rgbimage[0m


   See [1mimage[22m.



   [1m63.  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 column (5th in 2D, 7th in 3D) may be
   used to provide variable (per-datapoint) color information.  (see [1mline-[0m
   [1mcolor [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 inline arrow style proper-
   ties, by reference to a predefined arrow style, or by a request to read
   the index of the desired arrow style for each vector from a separate in-
   put column.  See the first three examples below.

   Examples:

        plot ... using 1:2:3:4 with vectors filled heads
        plot ... using 1:2:3:4 with vectors arrowstyle 3
        plot ... using 1:2:3:4:5 with vectors arrowstyle variable
        splot 'file.dat' using 1:2:3:(1):(1):(1) with vectors filled head lw
   2

   Notes:  You cannot mix the [1marrowstyle [22mkeyword with other line style qual-
   ifiers in the plot command. An additional column of color values is re-
   quired if the arrow style includes [1mlc variable [22mor [1mlc rgb variable[22m.

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

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













   GNUPLOT 5.4                                                            79


   [1m64.  Xerrorbars[0m


   The [1mxerrorbars [22mstyle is only relevant to 2D data plots.  [1mxerrorbars [22mis
   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 columns are pro-
   vided.  The appearance of the tic mark at the ends of the bar is con-
   trolled 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 variable
   color.  This style does not permit variable point properties.




   [1m65.  Xyerrorbars[0m


   The [1mxyerrorbars [22mstyle is only relevant to 2D data plots.  [1mxyerrorbars [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 re-
   quired.

        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 ex-
   ample, 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 variable
   color.  This style does not permit variable point properties.




   [1m66.  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










   GNUPLOT 5.4                                                            80


   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.  The clearance between the point and
   the error bars is controlled by [1mset pointintervalbox[22m.

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

   Additional input columns may be used to provide information such as vari-
   able point size, point type, or color.

   See also errorbar demo.



   [1m67.  Xerrorlines[0m


   The [1mxerrorlines [22mstyle is only relevant to 2D data plots.  [1mxerrorlines [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 pro-
   vided.  The appearance of the tic mark at the ends of the bar is con-
   trolled 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 variable
   color.  This style does not permit variable point properties.




   [1m68.  Xyerrorlines[0m


   The [1mxyerrorlines [22mstyle is only relevant to 2D data plots.  [1mxyerrorlines[0m
   is 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 re-
   quired.

        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










   GNUPLOT 5.4                                                            81


   the [1mplot [22mcommand should be used to set up the appropriate form.  For ex-
   ample, 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 variable
   color.  This style does not permit variable point properties.




   [1m69.  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 re-
   quired.

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

   Additional input columns may be used to provide information such as vari-
   able point size, point type, or color.

   See also errorbar demo.



   [1m70.  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, vectors) 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 us-
   ing the [1msplot [22mcommand even if only a 2D projection is wanted.




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


        The styles [1msplot with lines [22mand [1msplot with surface [22mboth generate 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










   GNUPLOT 5.4                                                            82


        all visible in the plot.  The illusion of 3D is enhanced by choosing
        hidden line removal. See [1mhidden3d[22m.  The [1msplot [22mcommand can also cal-
        culate and draw contour lines corresponding to constant Z values.
        These contour lines may be drawn onto the surface itself, or pro-
        jected onto the XY plane. See [1mset contour[22m.



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


        An important special case of the [1msplot [22mcommand is to map the Z coor-
        dinate 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 contours plotted
        once with plot style [1mlines [22mand once with style [1mlabels[22m.



        [1m70.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 removal, 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 palette (see [1mset palette[22m), it
        is also possible to specify a solid color surface or to specify dis-
        tinct solid colors for the top and bottom surfaces as in the figure
        shown here.  See [1mpm3d fillcolor[22m.  Unlike the line-trimming in hid-
        den3d mode, pm3d surfaces can be smoothly clipped to the current
        zrange.  See [1mset pm3d clipping[22m.




   [1m71.  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. Filling the
   area between a base value and each plot's series of Z values enhances the
   visual impact of the alignment on Y and comparison on Z. There are sev-
   eral 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[0m
   [1mzerrorfill [22musing input columns
        i y z_base z_base Fi(y)















   GNUPLOT 5.4                                                            83


   [1m72.  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 estimate
   fractional grid coordinates corresponding to the requested isolevel.
   These points are then used to generate a tessellated surface.  The facets
   making up the surface are rendered as pm3d polygons, so the surface col-
   oring, transparency, and border properties are controlled by [1mset pm3d[22m.
   In general the surface is easier to interpret 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 trian-
   gle only, see [1mset isosurface[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"




   [1m73.  Zerrorfill[0m


   Syntax:

        splot DATA using 1:2:3:4[:5] with zerrorfill {fc|fillcolor <color-
   spec>}
                   {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[0m
   [1mfill[22m.

   If there are multiple curves in the splot command each new curve may oc-
   clude all previous curves.  To get proper depth sorting so that curves
   can only be occluded by curves closer to the viewer, use [1mset pm3d[0m
   [1mdepthorder base[22m.  Unfortunately this causes all the filled areas 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.










   GNUPLOT 5.4                                                            84


        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 zerrorfill
        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 [1mfenceplots[22m.





   [1m74.  Commands[0m


   This section lists the commands acceptable to [1mgnuplot [22min alphabetical or-
   der.  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 heading.

   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)[0m
   [1mwith lines[22m".

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



   [1m75.  Break[0m


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



   [1m76.  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 ".."











   GNUPLOT 5.4                                                            85


   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.



   [1m77.  Call[0m


   The [1mcall [22mcommand is identical to the [1mload [22mcommand with one exception: 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 parame-
   ters.  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 vari-
   ables they may be dereferenced by macro expansion (analogous to the older
   deprecated syntax).  However in many cases it is more natural to use them
   as you would any other variable.

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





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


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

             call 'routine_1.gp'  1 pi "title"










   GNUPLOT 5.4                                                            86


        The three arguments are available inside routine_1.gp as follows

             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".



        [1m77.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 (yielding a
        numerical constant) or a variable (yielding that same numerical
        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 -persist -c "script1.gp" "sin(x)" 1.23 "This is a plot
        title"




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


        This describes the deprecated call mechanism used by old versions 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










   GNUPLOT 5.4                                                            87


        is read from the input file, it is scanned for the following special
        character sequences: $0 $1 $2 $3 $4 $5 $6 $7 $8 $9 $#.  If found,
        the sequence [1m$[22m+digit is replaced by the corresponding parameter from
        the [1mcall [22mcommand line. Quote characters are not copied and string
        variable substitution is not performed. 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 gnuplot's own
        syntax for datafile columns and with the use of [1m$ [22mto indicate envi-
        ronmental variables in a unix-like shell. The special sequence [1m$#[0m
        was mis-interpreted as a comment delimiter in gnuplot versions 4.5
        through 4.6.3.  Quote characters are ignored during substitution, so
        string constants are easily corrupted.



   [1m78.  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.

   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 conjunction with [1mset[0m
   [1mmultiplot [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.












   GNUPLOT 5.4                                                            88


   [1m79.  Continue[0m


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



   [1m80.  Do[0m


   Syntax:
         do for <iteration-spec> {
              <commands>
              <commands>
         }
   Execute a sequence of commands multiple times.  The commands must be en-
   closed 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-brack-
   eted) if/else statements.  See [1mif[22m.  For examples of iteration 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.



   [1m81.  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')











   GNUPLOT 5.4                                                            89


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



   [1m82.  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: terminal session,
   pipe, or file input (pipe).  If input streams are nested (inherited [1mload[0m
   scripts), then reading will continue in the parent stream. When the top
   level stream is closed, the program itself will exit.

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

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

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

   When gnuplot exits to the controlling shell, the return value is not usu-
   ally informative. This variant of the command allows you to return a spe-
   cific value.

        exit status <value>

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



   [1m83.  Fit[0m


   The [1mfit [22mcommand fits a user-supplied real-valued expression to a set of
   data points, using the nonlinear least-squares Marquardt-Levenberg algo-
   rithm. There can be up to 12 independent variables, there is always 1 de-
   pendent variable, and any number of parameters can be fitted.  Option-
   ally, 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)










   GNUPLOT 5.4                                                            90


   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 com-
   mon 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 variables are set by
   the [1mset dummy [22mcommand, or in the <ranges> part of the command (see be-
   low); by default, the first two are called x and y.  Furthermore, the ex-
   pression should depend on one or more variables whose value is to be de-
   termined by the fitting procedure.

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

   The datafile contents can be interpreted flexibly by providing a [1musing[0m
   qualifier as with plot commands. For example to generate the independent
   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

   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 [22mspecification is given,
   there can be up to 12 independent variables (and more if specially con-
   figured 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 [22mkeyword 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 according 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 dependent vari-
   able z must always be among them, while independent variables are op-
   tional.  For each variable in this list, an additional column will be
   read from the file, containing that variable's error estimate. Again,










   GNUPLOT 5.4                                                            91


   flexible interpretation is possible by providing 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 de-
   pendent 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 [1mer-[0m
   [1mrors x,z [22mqualifier, and a [1musing [22mqualifier with 5 columns, which are in-
   terpreted as x:y:z:sx:sz (where x and y are the independent 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 [22m(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 variable.

   [1mxyerrors[22m, for the case of 1 independent variable, indicates that there
   are two extra columns, with errors of both the independent and the depen-
   dent 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 interpretation
   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 [22mqualifiers
   (z and s) than there are independent variables, unless there is only one
   variable.  [1mgnuplot [22mthen uses the following formats, depending on the num-
   ber of columns given in the [1musing [22mspecification:

         z                           # 1 independent variable (line number)
         x:z                         # 1 independent variable (1st column)
         x:z:s                       # 1 independent variable (3 columns to-
   tal)
         x:y:z:s                     # 2 independent variables (4 columns
   total)
         x1:x2:x3:z:s                # 3 independent variables (5 columns
   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 variable), 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










   GNUPLOT 5.4                                                            92


   independent variable by making y a 'pseudo-variable', e.g., the dataline
   number, and fitting as two independent variables.  See [1mfit multi-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

         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[0m
   [1mlogfile[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 parameter, but with
   "_err" appended.  Thus the errors can be used as input for further compu-
   tations.

   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 wgnuplot).
   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 fit script [22mor the envi-
   ronment variable [1mFIT_SCRIPT[22m.  The default is [1mreplot[22m, so if you had previ-
   ously plotted both the data and the fitting 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 final
   values in a file for subsequent use as a parameter file.   See [1msave fit[0m
   for details.











   GNUPLOT 5.4                                                            93


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


        There are two ways that [1mvia [22mcan specify the parameters to be ad-
        justed, either directly on the command line or indirectly, by refer-
        encing 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 al-
        ready 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 appropriate starting values.

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

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

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




        [1m83.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_esti-[0m
        [1mmates [22mfor details.

        That's why it is called 'least-squares fitting'.  Let's look at an
        example to see what is meant by 'non-linear', but first we had bet-
        ter go over some terms.  Here it is convenient to use z as the de-
        pendent variable for user-defined functions of either one indepen-
        dent 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-linear-
        ity refers to the relationship of the dependent variable, z, to the
        parameters which [1mfit [22mis adjusting, not of z to the independent










   GNUPLOT 5.4                                                            94


        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 multi-
        plied by one parameter.  NLLS handles more complicated functions in
        which parameters can be used in a large number of ways.  An example
        that illustrates the difference between linear and nonlinear least-
        squares is the Fourier series.  One member may be written as
             z=a*sin(c*x) + b*cos(c*x).
        If a and b are the unknown parameters and c is constant, then esti-
        mating 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 compara-
        tively simple linear algebra, in one direct step.  However LLS is a
        special case which is also solved along with more general NLLS prob-
        lems by the iterative procedure that [1mgnuplot [22muses.  [1mfit [22mattempts to
        find the minimum by doing a search.  Each step (iteration) calcu-
        lates WSSR with a new set of parameter values.  The Marquardt-Leven-
        berg algorithm selects the parameter values for the next iteration.
        The process continues until a preset criterion is met, either (1)
        the fit has "converged" (the relative change in WSSR is less than a
        certain limit, see [1mset fit limit[22m), or (2) it reaches a preset itera-
        tion 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 contains 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 parameters of the
        model, to determine how well the data fits the model, and to esti-
        mate an error range for each parameter.  See [1mfit error_estimates[22m.

        Alternatively, in curve-fitting, functions are selected independent
        of a model (on the basis of experience as to which are likely to de-
        scribe the trend of the data with the desired resolution and a mini-
        mum number of parameters*functions.)  The [1mfit [22msolution 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.
















   GNUPLOT 5.4                                                            95


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


        In [1mfit[22m, the term "error" is used in two different contexts, data er-
        ror 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 residu-
        als, WSSR or chisquare.  They can affect the parameter estimates,
        since they determine how much influence the deviation of each data
        point from the fitted function has on the final values.  Some of the
        [1mfit [22moutput information, including the parameter error estimates, is
        more meaningful if accurate data error estimates have been provided.

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




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


             The theory of non-linear least-squares (NLLS) is generally de-
             scribed in terms of a normal distribution of errors, that is,
             the input data is assumed to be a sample from a population hav-
             ing a given mean and a Gaussian (normal) distribution about the
             mean with a given standard deviation.  For a sample of suffi-
             ciently large size, and knowing the population standard devia-
             tion, one can use the statistics of the chisquare distribution
             to describe a "goodness of fit" by looking at the variable of-
             ten 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 para-
             meters 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 cur-
             rent value of the parameters and the given standard deviations.

             If the standard deviation for the population is not constant,
             as in counting statistics where variance = counts, then each
             point should be individually weighted when comparing the ob-
             served sum of deviations and the expected sum of deviations.

             At the conclusion [1mfit [22mreports 'stdfit', the standard deviation
             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 calcu-
             lating the residuals of the datapoints were obtained from the
             same data.  If the data points have weights, [1mgnuplot [22mcalculates










   GNUPLOT 5.4                                                            96


             the so-called p-value, i.e. one minus the cumulative distribu-
             tion function of the chisquare-distribution for the number of
             degrees of freedom and the resulting chisquare, see [1mpracti-[0m
             [1mcal_guidelines[22m.  These values are exported to the variables
                   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 sta-
             tistics to determine the value of chisquare corresponding to
             the desired confidence level, but considerably more calculation
             is required to determine the combinations of parameters which
             produce such values.

             Rather than determine confidence intervals, [1mfit [22mreports parame-
             ter error estimates which are readily obtained from the vari-
             ance-covariance matrix after the final iteration.  By conven-
             tion, these estimates are called "standard errors" or "asymp-
             totic standard errors", since they are calculated in the same
             way as the standard errors (standard deviation of each parame-
             ter) of a linear least-squares problem, even though the statis-
             tical conditions for designating the quantity calculated to be
             a standard deviation are not generally valid for the NLLS prob-
             lem.  The asymptotic standard errors are generally over-opti-
             mistic and should not be used for determining confidence lev-
             els, but are useful for qualitative purposes.

             The final solution also produces a correlation matrix indicat-
             ing correlation of parameters in the region of the solution;
             The main diagonal elements, autocorrelation, are always 1; if
             all parameters were independent, the off-diagonal elements
             would be nearly 0.  Two variables which completely compensate
             each other would have an off-diagonal element of unit magni-
             tude, with a sign depending on whether the relation is propor-
             tional or inversely proportional.  The smaller the magnitudes
             of the off-diagonal elements, the closer the estimates of the
             standard deviation of each parameter would be to the asymptotic
             standard error.



             [1m83.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










   GNUPLOT 5.4                                                            97


             additional [1mfit [22moutput after the last iteration.  Even if you
             weight each point equally, estimating an average standard devi-
             ation rather than using a weight of 1 makes WSSR a dimension-
             less variable, as chisquare is by definition.

             Each fit iteration will display information which can be used
             to evaluate the progress of the fit.  (An '*' indicates that it
             did not find a smaller WSSR and is trying again.)  The 'sum of
             squares of residuals', also called 'chisquare', is the WSSR be-
             tween the data and your fitted function; [1mfit [22mhas minimized
             that.  At this stage, with weighted data, chisquare is expected
             to approach the number 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 de-
             viation of the data from the fitted function, in user units.

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

             A reduced chisquare much larger than 1.0 may be due to incor-
             rect data error estimates, data errors not normally distrib-
             uted, systematic measurement errors, 'outliers', or an incor-
             rect model function.  A plot of the residuals, e.g., [1mplot[0m
             [1m'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 assumptions 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 distribution
             function of the chisquare-distribution for the number of de-
             grees 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 indi-
             cates that the model does not describe the data and its errors
             well.  As described 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 underes-
             timated and the errors of the final parameters should thus be










   GNUPLOT 5.4                                                            98


             scaled. See also [1mset fit errorscaling[22m.

             You'll have to get used to both [1mfit [22mand the kind of problems
             you apply it to before you can relate the standard errors to
             some more practical estimates of parameter uncertainties or
             evaluate the significance of the correlation matrix.

             Note that [1mfit[22m, in common with most NLLS implementations, mini-
             mizes the weighted sum of squared distances (y-f(x))**2.  It
             does not provide any means to account for "errors" in the val-
             ues of x, only in y.  Also, any "outliers" (data points outside
             the normal distribution of the model) will have an exaggerated
             effect on the solution.



        [1m83.4.  Control[0m


        There are a number of environment variables that can be defined to
        affect [1mfit [22mbefore starting [1mgnuplot[22m, see [1mfit control environment[22m. At
        run time adjustments to the [1mfit [22mcommand operation can be controlled
        by [1mset fit[22m.  See [1mfit control variables[22m.




             [1m83.4.1.  Control variables[0m


             DEPRECATED in version 5.  These user variables used to affect
             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`




             [1m83.4.2.  Environment variables[0m


             The environment variables must be defined before [1mgnuplot [22mis ex-
             ecuted; how to do so depends on your operating system.

                   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 overwritten using the










   GNUPLOT 5.4                                                            99


             command [1mset fit logfile[22m.

                   FIT_SCRIPT
             specifies a command that may be executed after an user inter-
             rupt. 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[0m
             [1mscript[22m.



        [1m83.5.  Multi-branch[0m


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

        Example:  Given two exponential decays of the form, z=f(x), each de-
        scribing a different data set but having a common decay time, esti-
        mate 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 separately, using the
        multi-branch solution as initial values, may give an indication as
        to the relative effect of each branch on the joint solution.



        [1m83.6.  Starting values[0m


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

        [1mfit [22mmay, and often will get "lost" if started far from a solution,
        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 "unde-
        fined value" message or [1mgnuplot [22mhalting.











   GNUPLOT 5.4                                                           100


        To improve the chances of finding the global optimum, you should set
        the starting values at least roughly in the vicinity of the solu-
        tion, e.g., within an order of magnitude, if possible.  The closer
        your starting values are to the solution, the less chance of stop-
        ping 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 reasonable 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 im-
        proved goodness-of-fit criterion, or a physical sense, with a solu-
        tion more consistent with the model.)  Depending on the problem, it
        may be desirable to [1mfit [22mwith various sets of starting values, cover-
        ing a reasonable range for each parameter.



        [1m83.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 distinct
        purposes.  The [1mvia "file" [22mform is best used for (possibly unat-
        tended) batch operation, where you supply the starting parameter
        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 para-
        meters, until the values are close enough to the goal that the final
        fit to all parameters at once will work.

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

        A technical issue: The larger the ratio of the largest and the
        smallest absolute parameter values, the slower the fit will con-
        verge.  If the ratio is close to or above the inverse of the machine
        floating point precision, it may take next to forever to converge,
        or refuse to converge at all.  You will either have to adapt your
        function to avoid this, e.g., replace 'parameter' by '1e9*parameter'
        in the function definition, and divide the starting value by 1e9 or
        use [1mset fit prescale [22mwhich does this internally according to the pa-
        rameter starting values.










   GNUPLOT 5.4                                                           101


        If you can write your function as a linear combination of simple
        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 experimen-
        tation courses, may have you first fit some functions to your data,
        perhaps in a multi-step process of accounting for several aspects of
        the underlying theory one by one, and then extract the information
        you really wanted from the fitting parameters of those functions.
        With [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 paragraph about simplifying the fit function, you are cor-
        rect.

        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 package
        (fudgit), that kind of summarizes all these issues:  "Nonlinear fit-
        ting is an art!"



   [1m84.  Help[0m


   The [1mhelp [22mcommand displays built-in help. To specify information on a par-
   ticular topic use the syntax:

         help {<topic>}

   If <topic> is not specified, a short message is printed about [1mgnuplot[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 cur-
   rently available is printed on the screen.



   [1m85.  History[0m













   GNUPLOT 5.4                                                           102


   The [1mhistory [22mcommand prints or saves previous commands in the history
   list, or reexecutes a previous entry in the list.  To modify the behavior
   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 numbers
         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



   [1m86.  If[0m


   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 statements. If
   the keyword [1mif [22mor [1melse [22mis immediately followed by an opening "{", then
   conditional execution applies to all statements, possibly on multiple in-
   put 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.













   GNUPLOT 5.4                                                           103


        [1m86.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 en-
        closed in curly brackets.  The old syntax is still honored but can-
        not be used inside a bracketed clause.

        If no opening "{" follows the [1mif [22mkeyword, the command(s) in <com-
        mand-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 occur-
        rence of [1melse[22m.  Note that use of [1m; [22mto allow multiple commands on the
        same line will _not_ end the conditionalized commands.

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

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



   [1m87.  For[0m


   The [1mplot[22m, [1msplot[22m, [1mset [22mand [1munset [22mcommands may optionally contain an itera-
   tion for clause.  This has the effect of executing the basic command mul-
   tiple 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










   GNUPLOT 5.4                                                           104


   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.



   [1m88.  Import[0m


   The [1mimport [22mcommand associates a user-defined function name with a func-
   tion exported by an external shared object.  This constitutes a plugin
   mechanism that extends the set of functions available in gnuplot. See
   [1mplugins[22m.

   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

         # make the function theirfun, defined in "theirlib.so" or "their-
   lib.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 current directory.
   The operating system itself may also search any directories in LD_LI-
   BRARY_PATH or DYLD_LIBRARY_PATH.




   [1m89.  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 [22mcommand can
   later be [1mload[22med.  Any text file containing valid commands can be created
   and then executed by the [1mload [22mcommand.  Files being [1mload[22med may themselves
   contain [1mload [22mor [1mcall [22mcommands.  See [1mcomments [22mfor information about com-
   ments in commands.  To [1mload [22mwith arguments, see [1mcall[22m.

   Syntax:
         load "<input-file>"











   GNUPLOT 5.4                                                           105


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

   The special filename "-" may be used to [1mload [22mcommands from standard in-
   put.  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 argu-
   ments to [1mgnuplot[22m.  These are loaded in the order specified, and then [1mgnu-[0m
   [1mplot [22mexits.



   [1m90.  Lower[0m


   See [1mraise[22m.



   [1m91.  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 [22mfiles.

   Syntax:
         pause <time> {"<string>"}
         pause mouse {<endcondition>}{, <endcondition>} {"<string>"}
         pause mouse close

   <time> may be any constant or floating-point expression.  [1mpause -1 [22mwill
   wait until a carriage return is hit, zero (0) won't pause at all, and a
   positive number will wait the specified number of seconds.

   If the current terminal supports [1mmousing[22m, then [1mpause mouse [22mwill terminate
   on either a mouse click or on ctrl-C.  For all other terminals, 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 re-
   turned in MOUSE_KEY.  The character itself is returned as a one character
   string in MOUSE_CHAR. Hotkeys (bind command) are disabled if keypress is










   GNUPLOT 5.4                                                           106


   one of the end conditions.  Zooming 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 drivers (de-
   pending 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"

   The variant "pause mouse key" will resume after any keypress in the ac-
   tive 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
         }




        [1m91.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 generate 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 unsure whether a suitable widget or hot-key
        is available to the user, you may also want to define a hot-key se-
        quence using gnuplot'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










   GNUPLOT 5.4                                                           107


   [1m92.  Plot[0m


   [1mplot [22mis the primary command for drawing plots with [1mgnuplot[22m.  It offers
   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-element>}

   Each plot element consists of a definition, a function, or a data source
   together with optional properties or modifiers:
         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 styles[22m.

   The data to be plotted is either generated by a function (two functions
   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 command separated by
   commas.  See [1mdata[22m, [1minline data[22m, [1mfunctions[22m.

   A plot-element that contains the definition of a function or variable
   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.




        [1m92.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










   GNUPLOT 5.4                                                           108


        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[0m
        command apply only to the first set of axes (bottom left).



        [1m92.2.  Binary[0m


        BINARY DATA FILES:

        It is necessary to provide the keyword [1mbinary [22mafter the filename.
        Adequate details of the file format must be given on the command
        line or extracted from the file itself for a supported binary [1mfile-[0m
        [1mtype[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 coordinate
        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 columns
        for which information must be specified at the command line.  For
        example, [1marray[22m, [1mrecord[22m, [1mformat [22mand [1musing [22mcan indicate the size, for-
        mat and dimension of data.  There are a variety of useful commands
        for skipping file headers and changing endianess.  There are a set
        of commands for positioning and translating data since often coordi-
        nates 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 [1mus-[0m
        [1ming [22mlist. Instead column 1 refers to column 1 of the file, or as
        specified in the [1mformat [22mlist.

        There are global default settings for the various binary options
        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-extracted 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, [1mformat[22m, [1mfiletype[22m.

        General binary data can be entered at the command line via the spe-
        cial 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 con-
        tinues reading from a pipe until it has read the number of points
        declared in the [1marray [22mqualifier.  See [1mbinary matrix [22mor [1mbinary gen-[0m
        [1meral [22mfor more details.










   GNUPLOT 5.4                                                           109


        The [1mindex [22mkeyword is not supported, since the file format allows
        only one surface per file.  The [1mevery [22mand [1musing [22mfilters are sup-
        ported.  [1musing [22moperates as if the data were read in the above
        triplet form.  Binary File Splot Demo.




             [1m92.2.1.  General[0m


             The [1mbinary [22mkeyword appearing alone indicates a binary data file
             that contains both coordinate information describing a non-uni-
             form 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 keywords 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 bi-
             nary format is assumed.  (See [1mbinary matrix [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[0m
             [1mbinary [22mat the command line for a list. Apart from these, you
             can think of binary data files as conceptually the same as text
             data.  Each point has columns of information which are selected
             via the [1musing [22mspecification.  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[0m
             [1m1:3 [22mwill result in three columns being read, of which the sec-
             ond will be ignored.  Certain plot types have an associated de-
             fault using specification.  For example, [1mwith image [22mhas a de-
             fault of [1musing 1[22m, while [1mwith rgbimage [22mhas a default of [1musing[0m
             [1m1:2:3[22m.



             [1m92.2.2.  Array[0m


             Describes the sampling array dimensions associated with the bi-
             nary 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 underlying sampling structure
             is two-dimensional with 10 points along the first (x) dimension










   GNUPLOT 5.4                                                           110


             and 20 points along the second (y) dimension.  A negative num-
             ber 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
             records.  For example, [1marray=25:35 [22mindicates there are two one-
             dimensional records in the file.



             [1m92.2.3.  Record[0m


             This keyword serves the same function as [1marray [22mand has the same
             syntax.  However, [1mrecord [22mcauses gnuplot to not generate coordi-
             nate information.  This is for the case where such information
             may be included in one of the columns of the binary data file.



             [1m92.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 before 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 ...



             [1m92.2.5.  Format[0m


             The default binary format is a float.  For more flexibility,
             the format can include details about variable sizes.  For exam-
             ple, [1mformat="%uchar%int%float" [22massociates an unsigned character
             with the first using column, an int with the second column and
             a float with the third column.  If the number of size specifi-
             cations is less than the greatest column number, the size is
             implicitly taken to be similar to the last given variable size.

             Furthermore, similar to the [1musing [22mspecification, the format can
             include discarded columns via the [1m* [22mcharacter and have implicit
             repetition via a numerical repeat-field.  For example, [1mfor-[0m
             [1mmat="%*2int%3float" [22mcauses gnuplot to discard two ints before
             reading three floats.  To list variable sizes, type [1mshow[0m
             [1mdatafile binary datasizes[22m.  There are a group of names that are
             machine dependent along with their sizes in bytes for the










   GNUPLOT 5.4                                                           111


             particular compilation.  There is also a group of names which
             attempt to be machine independent.



             [1m92.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 signifi-
             cance
                              big:  greatest significance to least signifi-
             cance
                          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 compiled
             with that option.



             [1m92.2.7.  Filetype[0m


             For some standard binary file formats gnuplot can extract all
             the necessary information from the file in question.  As an ex-
             ample, "format=edf" will read ESRF Header File format files.
             For a list of the currently supported file formats, type [1mshow[0m
             [1mdatafile 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-standard exten-
             sion for a supported format.

             Command line keywords may be used to override settings ex-
             tracted from the file.  The settings from the file override any
             defaults.  See [1mset datafile binary[22m.

















   GNUPLOT 5.4                                                           112


                  [1m92.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 applications. It
                  consists of 2 longs (xwidth, ywidth) followed by a stream
                  of pixels, each with four bytes of information al-
                  pha/red/green/blue.



                  [1m92.2.7.2.  Edf[0m


                  [1medf [22mis one of the automatically recognized binary file
                  types for images.  EDF stands for ESRF Data Format, 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



                  [1m92.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



             [1m92.2.8.  Keywords[0m


             The following keywords apply only when generating coordinates
             from binary data files.  That is, the control mapping the indi-
             vidual elements of a binary array, matrix, or image to specific
             x/y/z positions.

















   GNUPLOT 5.4                                                           113


                  [1m92.2.8.1.  Scan[0m


                  A great deal of confusion can arise concerning the rela-
                  tionship 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 key-
                  word is used to tell gnuplot how to map this scanning con-
                  vention 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 assigned
                  (third letter).  For example, [1mscan=yx [22mmeans the fastest,
                  point-by-point, increment should be mapped along the
                  Cartesian y dimension and the middle, line-by-line, incre-
                  ment should be mapped along the x dimension.

                  When the plotting mode is [1mplot[22m, the qualifier code can in-
                  clude 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 coordinates.
                  For this reason there are cylindrical coordinate synonyms
                  for the qualifier codes where t (theta), r and z are anal-
                  ogous to the x, y and z of Cartesian coordinates.



                  [1m92.2.8.2.  Transpose[0m


                  Shorthand notation for [1mscan=yx [22mor [1mscan=yxz[22m.  I.e. it af-
                  fects the assignment of pixels to scan lines during input.
                  To instead transpose an image when it is displayed try
                       plot 'imagefile' binary filetype=auto flipx ro-
                  tate=90deg with rgbimage



                  [1m92.2.8.3.  Dx, dy, dz[0m


                  When gnuplot generates coordinates, it uses the spacing
                  described by these keywords.  For example [1mdx=10 dy=20[0m
                  would mean space samples along the x dimension by 10 and
                  space samples along the y dimension by 20.  [1mdy [22mcannot ap-
                  pear if [1mdx [22mdoes not appear.  Similarly, [1mdz [22mcannot appear
                  if [1mdy [22mdoes not appear.  If the underlying dimensions are
                  greater than the keywords specified, the spacing of the
                  highest dimension given is extended to the other dimen-
                  sions.  For example, if an image is being read from a file










   GNUPLOT 5.4                                                           114


                  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 generating co-
                  ordinates.  However they may also be used with matrix bi-
                  nary files.



                  [1m92.2.8.4.  Flipx, flipy, flipz[0m


                  Sometimes the scanning directions in a binary datafile are
                  not consistent with that assumed by gnuplot.  These key-
                  words can flip the scanning direction along dimensions x,
                  y, z.



                  [1m92.2.8.5.  Origin=[0m


                  When gnuplot generates coordinates based upon transposi-
                  tion 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 trans-
                  pose 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, [1morigin=(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.



                  [1m92.2.8.6.  Center[0m


                  Similar to [1morigin[22m, this keyword will position the array
                  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.



                  [1m92.2.8.7.  Rotate[0m













   GNUPLOT 5.4                                                           115


                  The transpose and flip commands provide some flexibility
                  in generating and orienting coordinates.  However, for
                  full degrees of freedom, it is possible to apply a rota-
                  tional vector described by a rotational angle in two di-
                  mensions.

                  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 Cartesian plane.

                  The angle can be expressed in radians, radians as a multi-
                  ple of pi, or degrees.  For example, [1mrotate=1.5708[22m, [1mro-[0m
                  [1mtate=0.5pi [22mand [1mrotate=90deg [22mare equivalent.

                  If [1morigin [22mis specified, the rotation is done about the
                  lower left sample point before translation.  Otherwise,
                  the rotation is done about the array [1mcenter[22m.



                  [1m92.2.8.8.  Perpendicular[0m


                  For [1msplot[22m, the concept of a rotational vector is imple-
                  mented 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 per-
                  pendicular 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 ro-
                  tational 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 el-
                  ement 3,3 and zeros elsewhere.  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-dimen-
                  sional, 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.)



        [1m92.3.  Data[0m


        Discrete data contained in a file can be displayed by specifying the
        name of the data file (enclosed in single or double quotes) on the
        [1mplot [22mcommand line.

        Syntax:










   GNUPLOT 5.4                                                           116


              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[0m
        are 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 single data
        point.  See [1musing[22m.

        The individual records on a single line of data must be separated by
        white space (one or more blanks or tabs) a special field separator
        character is is specified by the [1mset datafile [22mcommand.  A single
        field may itself contain white space characters 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 specifiers d, D, q,
        and Q may also be used if the command [1mset datafile fortran [22mis in ef-
        fect.

        Blank records in a data file are significant.  Single blank records
        designate discontinuities in a [1mplot[22m; no line will join points sepa-
        rated by a blank records (if they are plotted with a line style).
        Two blank records in a row indicate a break between separate data
        sets.  See [1mindex[22m.

        If autoscaling has been enabled ([1mset autoscale[22m), the axes are auto-
        matically extended to include all datapoints, with a whole number of
        tic marks if tics are being drawn.  This has two consequences: i)
        For [1msplot[22m, the corner of the surface may not coincide with the










   GNUPLOT 5.4                                                           117


        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).




             [1m92.3.1.  Bins[0m


             Syntax:
                  plot 'DATA' using <XCOL> {:<YCOL>} bins{=<NBINS>}
                       {binrange [<LOW>:<HIGH>]} {binwidth=<width>}
                       {binvalue={sum|avg}

             The [1mbins [22moption to a [1mplot [22mcommand first assigns the original
             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 explicit number of bins in
             the command.

             If no binrange is given, the range is taken from the extremes
             of the x values found in 'DATA'.

             Given the range and the number of bins, bin width is calculated
             automatically and points are assigned to bins 0 to NBINS-1
                  BINWIDTH = (HIGH - LOW) / (NBINS-1)
                  xmin = LOW - BINWIDTH/2
                  xmax = HIGH + BINWIDTH/2
                  first bin holds points with (xmin <= x < xmin + BINWIDTH)
                  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










   GNUPLOT 5.4                                                           118


             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 coordi-
             nate 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 accumulation of to-
             tal 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)

             The y value plotted for each bin is the sum of the y values
             over all points in that bin.  This corresponds to [1mbinvalue=sum[22m.
             EXPERIMENTAL: [1mbinvalue=avg [22minstead plots the mean y value for
             that bin.

             For related plotting styles see [1msmooth frequency [22mand [1msmooth[0m
             [1mkdensity[22m.



             [1m92.3.2.  Columnheaders[0m


             Extra lines at the start of a data file may be explicitly ig-
             nored using the [1mskip [22mkeyword in the plot command. A single ad-
             ditional line containing text column headers may be present.
             It is skipped automatically if the plot command refers explic-
             itly to column headers, e.g. by using them for titles.  Other-
             wise you may need to skip it explicitly either by adding one to
             the skip count or by setting the attribute [1mset datafile column-[0m
             [1mheaders[22m.  See [1mskip[22m, [1mcolumnhead[22m, [1mautotitle columnheader[22m, [1mset[0m
             [1mdatafile[22m.



             [1m92.3.3.  Csv files[0m


             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 de-
             limited by a specific character, not necessarily a comma.  To
             read data from a csv file you must tell gnuplot what the field-










   GNUPLOT 5.4                                                           119


             delimiting character is.  For instance to read from a file us-
             ing 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 correspond-
             ing [1mseparator [22moption to [1mset table[22m.



             [1m92.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, 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










   GNUPLOT 5.4                                                           120


                   every 2:2        # selects every other point in every
             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 .



             [1m92.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" using
             1:2 with lines

                   # The data file header contains all details necessary for
             creating
                   # coordinates from an EDF file.
                   plot '<file_name>' binary filetype=edf with image
                   plot '<file_name>.edf' binary filetype=auto with image

                   # Selects three unsigned characters for components of a
             raw RGB image
                   # and flips the y-dimension so that typical image orien-
             tation (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.










   GNUPLOT 5.4                                                           121


                   plot '<file_name>' binary array=(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 dif-
             ferent from
                   # the system on which gnuplot is running.
                   splot '<file_name>' binary record=30:30:29:26 endian=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 en-
             dian=swap u 1:2:3


             See also [1mbinary matrix[22m.



             [1m92.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 <m>[0m
             selects only set <m>; [1mindex <m>:<n> [22mselects sets in the range
             <m> to <n>; and [1mindex <m>:<n>:<p> [22mselects indices <m>, <m>+<p>,
             <m>+2<p>, etc., but stopping at <n>.  Following C indexing, the
             index 0 is assigned to the first data set in the file.  Speci-
             fying too large an index results 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:
                   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 [1mcolumn(-2)[22m.  This
             leads to an alternative way of distinguishing 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 dif-
             ferent properties to each data set.  See [1mpseudocolumns[22m, [1mlc[0m
             [1mvariable[22m.










   GNUPLOT 5.4                                                           122


             Example:
                   plot 'file' using 1:(column(-2)==4 ? $2 : NaN)        #
             very awkward
                   plot 'file' using 1:2:(column(-2)) linecolor variable #
             very useful!

             [1mindex '<name>' [22mselects the data set with name '<name>'.  Names
             are assigned to data sets in comment lines.  The comment char-
             acter 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 use-
             ful to choose a naming scheme like '== Population ==' or '[Pop-
             ulation]'.




             [1m92.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 [22mskips lines at the start
             of every block of data in the file.  See also [1mbinary skip [22mfor a
             similar option that applies to binary data files.



             [1m92.3.8.  Smooth[0m


             [1mgnuplot [22mincludes a few general-purpose routines for filtering,
             interpolation and grouping data as it is input; these are
             grouped under the [1msmooth [22moption.  More sophisticated data pro-
             cessing may be performed by preprocessing the data externally
             or by using [1mfit [22mwith an appropriate model.

             Syntax:
                   smooth {unique | frequency | fnormal | cumulative | cnor-
             mal | bins
                                  | kdensity {bandwidth} {period}
                                  | csplines | acsplines | mcsplines |
             bezier | sbezier
                                  | unwrap | zsort}











   GNUPLOT 5.4                                                           123


             The [1munique[22m, [1mfrequency[22m, [1mfnormal[22m, [1mcumulative [22mand [1mcnormal [22msort the
             data on x and then plot some aspect of the distribution of x
             values.

             The spline and Bezier options determine coefficients describing
             a continuous curve between the endpoints of the data. This
             curve is then plotted in the same manner as a function, that
             is, by finding its value at uniform intervals along the ab-
             scissa (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 separate continuous curve is fit
             for each uninterrupted subset of the data.  Adjacent separately
             fit segments may be separated 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 plot-
             ting.

             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 gen-
             erated, sampling of the spline fit is done across the intersec-
             tion of the x range covered by the input data and the fixed ab-
             scissa range defined by [1mset xrange[22m.

             If too few points are available to apply the requested smooth-
             ing operation an error message is produced.

             The [1msmooth [22moptions have no effect on function plots.




                  [1m92.3.8.1.  Acsplines[0m


                  The [1msmooth acsplines [22moption approximates the data with a
                  natural smoothing spline.  After the data are made monoto-
                  nic in x (see [1msmooth unique[22m), a curve is piecewise con-
                  structed from segments of cubic polynomials whose coeffi-
                  cients 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 default is equivalent to
                        plot 'data-file' using 1:2:(1.0) smooth acsplines

                  Qualitatively, the absolute magnitude of the weights de-
                  termines 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 con-
                  necting consecutive points with natural cubic splines.  If










   GNUPLOT 5.4                                                           124


                  the weights are small, the curve is composed of fewer seg-
                  ments and thus is smoother; the limiting case is the sin-
                  gle segment produced by a weighted linear least squares
                  fit to all the data.  The smoothing weight can be ex-
                  pressed 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 smooth-
                  ing weights.

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



                  [1m92.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.



                  [1m92.3.8.3.  Bins[0m


                  [1msmooth bins [22mis the same as [1mbins[22m.  See [1mbins[22m.  For related
                  plotting styles see [1msmooth frequency [22mand [1msmooth kdensity[22m.



                  [1m92.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).



                  [1m92.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 convexity of the original
                  data points.  This reduces the effect of outliers.  FN
                  Fritsch & RE Carlson (1980) "Monotone Piecewise Cubic In-
                  terpolation", SIAM Journal on Numerical Analysis 17:
                  238246.











   GNUPLOT 5.4                                                           125


                  [1m92.3.8.6.  Sbezier[0m


                  The [1msmooth sbezier [22moption first renders the data monotonic
                  ([1munique[22m) and then applies the [1mbezier [22malgorithm.



                  [1m92.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 resulting points
                  are then connected by straight line segments.



                  [1m92.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 incre-
                  mented 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.



                  [1m92.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 implicitly if only a single column
                  is provided.  Example:
                       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 fre-
                  quency  # same result
                  See also smooth.dem














   GNUPLOT 5.4                                                           126


                  [1m92.3.8.10.  Fnormal[0m


                  The [1msmooth fnormal [22moption work just like the [1mfrequency [22mop-
                  tion, 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 oc-
                  currences in that bin. This is done implicitly if only a
                  single column is provided.  See also smooth.dem



                  [1m92.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-values 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 cumula-
                  tive distribution function from data.  See also smooth.dem



                  [1m92.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 con-
                  taining 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 normalised cumulative distribution
                  function from data (useful when comparing sets of samples
                  with differing numbers of members).  See also smooth.dem




                  [1m92.3.8.13.  Kdensity[0m


                  The [1msmooth kdensity [22moption generates and plots a kernel
                  density estimate using Gaussian kernels for the distribu-
                  tion 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










   GNUPLOT 5.4                                                           127


                  histogram, each weight should be 1/number-of-points.

                  Bandwidth: By default gnuplot calculates and uses the
                  bandwidth which would be optimal for normally distributed
                  data values.
                       default_bandwidth = sigma * (4/3N) ** (0.2)
                  This will usually be a very conservative, i.e. broad band-
                  width.  Alternatively, you can provide an explicit band-
                  width.
                       plot $DATA smooth kdensity bandwidth <value> with
                  boxes
                  The bandwidth used in the previous plot is stored in GP-
                  VAL_KDENSITY_BANDWIDTH.

                  Period: For periodic data individual Gaussian components
                  should be treated as repeating at intervals of one period.
                  One example is data measured as a function of angle, where
                  the period is 2pi.  Another example is data indexed by
                  day-of-year and measured over multiple years, where the
                  period is 365.  In such cases the period should be pro-
                  vided in the plot command:
                       plot $ANGULAR_DAT smooth kdensity period 2*pi with
                  lines




                  [1m92.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 distribu-
                  tion of high-scoring points remains evident. Sorting the
                  points on z guarantees that points with a high z-value
                  will not be obscured by points with lower z-values.  Lim-
                  ited to plot styles "with points" and "with linespoints".




             [1m92.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 in-
             put file in the same plot command. So to plot two columns from
             the same input file:











   GNUPLOT 5.4                                                           128


                   plot 'filename' using 1:2, '' using 1:3

             The filename can also be reused over subsequent plot commands,
             however [1msave [22mthen only records the name in a comment.

             The special filenames '+' and '++' are a mechanism to allow 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 ad-
             ditional column values to be specified via a [1musing [22mspecifica-
             tion, 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 ver-
             sions. It allows the sampling range to differ from the x axis
             range.

                   plot '+' using ($1):(sin($1)):(sin($1)**2) with filled-
             curves

             An independent sampling range can be provided immediately be-
             fore the '+'. As in normal function plots, a name can be as-
             signed 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 sam-
             pling increment.

                   plot $MYDATA, [t=-3:25:1] '+' using (t):(f(t))

             The pseudo-file '++' returns 2 columns of data forming a regu-
             lar grid of [u,v] coordinates with the number of points along u
             controlled by [1mset samples [22mand the number of points along v con-
             trolled by [1mset isosamples[22m.  You must set urange and vrange be-
             fore plotting '++'.  However the x and y ranges can be au-
             toscaled 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 Examples:

                   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 inline;
             i.e., they follow the command.  Only the data follow the com-
             mand; [1mplot [22moptions like filters, titles, and line styles remain
             on the [1mplot [22mcommand line.  This is similar to << in unix shell










   GNUPLOT 5.4                                                           129


             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 [1mdatablocks[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, ''
             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 example above.)




             [1m92.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 exe-
             cute this example, you have to delete all comments 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










   GNUPLOT 5.4                                                           130


             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'




             [1m92.3.11.  Using[0m


             The most common datafile modifier is [1musing[22m.  It tells the pro-
             gram which columns of data in the input file are to be plotted.

             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 columns (fields) of data
             separated by whitespace (spaces and/or tabs), but see [1mdatafile[0m
             [1mseparator[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 en-
             closed 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 short-
             hand for column(1), column(2) ...

             The special symbol $# evaluates to the total number of columns
             in the current line of input, so column($#) or stringcolumn($#)
             always returns the content of the final column even if the num-
             ber of columns is unknown or different lines in the file con-
             tain different numbers of columns.

             The function [1mvalid(N) [22mtests whether column N contains 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 leg-
             end. The column() function can be used to select an input col-
             umn by label rather than by column number.  For example, if the
             data file contains










   GNUPLOT 5.4                                                           131


                   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 autotitle[0m
             [1mcolumnhead[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 se-
             quence number of this data record within a dataset.  Please see
             [1mpseudocolumns[22m.

             An empty <entry> will default to its order in the list of en-
             tries.  For example, [1musing ::4 [22mis interpreted as [1musing 1:2:4[22m.

             If the [1musing [22mlist has only a single entry, that <entry> will be
             used for y and the data point number (pseudo-column $0) is used
             for x; for example, "[1mplot 'file' using 1[22m" is identical to "[1mplot[0m
             [1m'file' using 0:1[22m".  If the [1musing [22mlist 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 [1mgnuplot[0m
             requires all inputs to be double-precision floating-point vari-
             ables, so "%lf" is essentially the only permissible 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 dou-
             ble-quotes rather than single-quotes.




                  [1m92.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 separator[0m










   GNUPLOT 5.4                                                           132


                  [1mcomma[22m.
                        plot 'file' using 1:($2+$3) '%lf,%lf,%lf'

                  In this example the data are read from the file "MyData"
                  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 de-
                  fault)
                        %*20[^\n]   ignore 20 non-newline characters
                        %lf         read a double-precision number (y by de-
                  fault)

                  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 column
                  one provided the datum in column three exceeds ten.  [1m1/0[0m
                  is undefined; [1mgnuplot [22mquietly ignores undefined 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 paren-
                  thesis; constructs like [1musing 0+(complicated expression)[0m
                  can be used.  The crucial point is that the expression is
                  evaluated once if it doesn't start with a left parenthe-
                  sis, or once for each data point read if it does.

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

                  It should be noted that (a) [1mplot 'file'[22m, (b) [1mplot 'file'[0m
                  [1musing 1:2[22m, and (c) [1mplot 'file' using ($1):($2) [22mcan be sub-
                  tly 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










   GNUPLOT 5.4                                                           133


                  column of the text lines.



                  [1m92.3.11.2.  Pseudocolumns[0m


                  Expressions in the [1musing [22mclause of a plot statement can
                  refer to additional bookkeeping values in addition 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.
                        column(-1)  This counter starts at 0, increments on
                  a single blank line,
                                    and is reset by two sequential blank
                  lines.
                                    This corresponds to the data line in ar-
                  ray or grid data.
                                    It can also be used to distinguish sepa-
                  rate line segments
                                    or polygons within a data set.
                        column(-2)  Starts at 0 and increments on two se-
                  quential blank lines.
                                    This is the index number of the current
                  data set within a
                                    file that contains multiple data sets.
                  See `index`.
                        column($#)  The special symbol $# evaluates to the
                  total number of
                                    columns available, so column($#) refers
                  to the last
                                    (rightmost) field in the current input
                  line.
                                    column($# - 1) would refer to the last-
                  but-one column, etc.



                  [1m92.3.11.3.  Key[0m


                  The layout of certain plot styles (column-stacked his-
                  tograms, 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).










   GNUPLOT 5.4                                                           134


                  These plots styles instead use the form [1musing 2:3:key(1)[0m
                  to generate plot titles for the key from the text content
                  of a data column, usually a first column of row headers.
                  See the example given for [1mspiderplot[22m.



                  [1m92.3.11.4.  Xticlabels[0m


                  Axis tick labels can be generated via a string function,
                  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 xticlabels(stringcol-
                  umn(N)).  This example uses the contents of column 3 as x-
                  axis tick labels.

                        plot 'datafile' using <xcol>:<ycol>:xticlabels(3)
                  with <plotstyle>

                  Axis tick labels may be generated for any of the plot
                  axes: x x2 y y2 z.  The [1mticlabels(<labelcol>) [22mspecifiers
                  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] coordinates, the string
                  value given to xticlabels() is added to the list of xtic
                  labels at the same X coordinate 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 function to
                  generate x-axis tick labels. Each point in the data file
                  generates a tick mark on x labeled either "A" or "B" de-
                  pending on the value in column 3.



                  [1m92.3.11.5.  X2ticlabels[0m













   GNUPLOT 5.4                                                           135


                  See [1mplot using xticlabels[22m.



                  [1m92.3.11.6.  Yticlabels[0m


                  See [1mplot using xticlabels[22m.



                  [1m92.3.11.7.  Y2ticlabels[0m


                  See [1mplot using xticlabels[22m.



                  [1m92.3.11.8.  Zticlabels[0m


                  See [1mplot using xticlabels[22m.



                  [1m92.3.11.9.  Cbticlabels[0m


                  EXPERIMENTAL (details may change in a future release ver-
                  sion) 2D plots: colorbar labels are placed at the palette
                  coordinate used by the plot for variable coloring "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[0m
                  [1mxticlabels[22m.



             [1m92.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 avail-
             able for re-reading.  This tells the program to use [1mrefresh[0m
             rather than [1mreplot [22mcommands whenever possible.  See [1mrefresh[22m.



        [1m92.4.  Errorbars[0m













   GNUPLOT 5.4                                                           136


        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 xyerrorbars

        The last example is for a file containing an unsupported combination
        of relative x and absolute y errors.  The [1musing [22mentry generates ab-
        solute 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 [22mop-
        tion on one to avoid two entries in the key). Alternately, use the
        errorlines command (see [1merrorlines[22m).

        The tic marks at the ends of the bar are controlled by [1mset error-[0m
        [1mbars[22m.

        If autoscaling is on, the ranges will be adjusted to include the er-
        ror bars.

        See also errorbar demos.

        See [1mplot using[22m, [1mplot with[22m, and [1mset style [22mfor more information.



        [1m92.5.  Errorlines[0m


        Lines with error bars are supported for 2D data file plots by read-
        ing one to four additional columns (or [1musing [22mentries); these










   GNUPLOT 5.4                                                           137


        additional values are used in different ways by the various error-
        lines 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 xyerrorlines

        The last example is for a file containing an unsupported combination
        of relative x and absolute y errors. The [1musing [22mentry generates ab-
        solute 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 error-[0m
        [1mbars[22m.

        If autoscaling is on, the ranges will be adjusted to include the er-
        ror bars.

        See [1mplot using[22m, [1mplot with[22m, and [1mset style [22mfor more information.



        [1m92.6.  Functions[0m


        Built-in or user-defined functions can be displayed by the [1mplot [22mand
        [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[0m
        [1misosamples[22m.  Example:
              approx(ang) = ang - ang**3 / (3*2)
              plot sin(x) title "sin(x)", approx(x) title "approximation"

        To set a default plot style for functions, see [1mset style function[22m.










   GNUPLOT 5.4                                                           138


        For information on built-in functions, see [1mexpressions functions[22m.
        For information on defining your own functions, see [1muser-defined[22m.



        [1m92.7.  Parametric[0m


        When in parametric mode ([1mset parametric[22m) mathematical expressions
        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)

        Data files are plotted as before, except any preceding parametric
        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 er-
        ror 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 linespoints

        See also Parametric Mode Demos.



        [1m92.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 previous [1mset range [22mstate-
        ment.  For optional ranges elsewhere in a [1mplot [22mcommand that limit
        sampling of an individual plot component 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 depen-
        dent variables.  <dummy-var> optionally establishes a new name for
        the independent variable.  (The default name may be changed with [1mset[0m
        [1mdummy[22m.)

        In non-parametric mode, ranges must be given in the order
              plot [<xrange>][<yrange>][<x2range>][<y2range>] ...











   GNUPLOT 5.4                                                           139


        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[0m
        to [-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.

        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 timefmt[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'




        [1m92.9.  Sampling[0m















   GNUPLOT 5.4                                                           140


             [1m92.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 seen in all the ele-
             ments of this plot.  However, individual plot components can be
             assigned a more restricted sampling 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 func-
             tions 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 inter-
             preted as applying to the entire plot, not solely to the sam-
             pling of the first function as was probably the intent:
                   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)




             [1m92.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 commands
             generated the plot shown for plotstyle [1mwith vectors[22m.  See










   GNUPLOT 5.4                                                           141


             [1mvectors[22m.
                  set urange [ -2.0 : 2.0 ]
                  set vrange [ -2.0 : 2.0 ]
                  plot '++' using ($1):($2):($2*0.4):(-$1*0.4) with vectors

             Example of 2D sampling in a 3D [1msplot [22mcommand. These commands
             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 ex-
             plicit 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))




        [1m92.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 defin-
        itions 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" title
        dataset

        In this example iteration is used both to generate a file name and a
        corresponding title.

        Example:










   GNUPLOT 5.4                                                           142


              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.  Because
        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 example,
        but uses the string iterator form of the command rather than an in-
        teger iterator.

        If an iteration is to continue until all available data is consumed,
        use the symbol * instead of an integer <end>.  This can be used to
        process all columns in a line,  all datasets (separated by 2 blank
        lines) in a file,  or all files matching a template.

        Examples:
              plot for [file in "A.dat B.dat"] for [column=2:*] file using
        1:column
              splot for [i=0:*] 'datafile' index i using 1:2:3 with lines
              plot for [i=1:*] file=sprintf("File_%03d.dat",i) file using 2
        title file

        Caveat: You can nest iterations where one is open-ended, as in the
        first example above.  However nesting an open-ended iteration inside
        another open-ended iteration is probably not useful, since both will
        terminate at the same time when no data is found.  The program will
        issue a warning if this happens.











   GNUPLOT 5.4                                                           143


        [1m92.11.  Title[0m


        By default each plot is listed in the key by the corresponding func-
        tion or file name. You can give an explicit plot title instead 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 de-
        fault 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 [1mtitle[0m
        nor [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 included in the default ti-
        tle.

        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 immediately be-
        fore or after the line in the graph itself by using [1mat {begin-[0m
        [1mning|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 position is
        interpreted in screen coordinates; e.g. [1mat 0.5, 0.5 [22mis 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 op-
        tions.  See [1mset key[22m.

        Examples:










   GNUPLOT 5.4                                                           144


        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 corre-
        sponding 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 columnhead 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




        [1m92.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
             linespoints  labels     histeps   xerrorlines  xyerrorlines
             financebars  surface    arrows    yerrorbar    parallelaxes










   GNUPLOT 5.4                                                           145


        or
             boxes         boxplot        ellipses       histograms  rgbal-
        pha
             boxerrorbars  candlesticks   filledcurves   image       rgbim-
        age
             boxxyerror    circles        fillsteps      pm3d        poly-
        gons
             isosurface    zerrorfill
        or
             table

        The first group of styles have associated line, point, and text
        properties.  The second group of styles also have fill properties.
        See [1mfillstyle[22m.  Some styles have further sub-styles.  See [1mplotting[0m
        [1mstyles [22mfor details of each.  The [1mtable [22mstyle produces tabular output
        rather than a plot. See [1mset table[22m.

        A default style may be chosen by [1mset style function [22mand [1mset style[0m
        [1mdata[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 positive
        integer constants (or expressions) that specify the line type and
        point type to be used for the plot.  Use [1mtest [22mto display 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 relative 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 pointsize [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 col-
        umn 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.

        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.











   GNUPLOT 5.4                                                           146


        Both 2D and 3D plots ([1mplot [22mand [1msplot [22mcommands) can use colors from a
        smooth palette set previously with the command [1mset palette[22m. The
        color value corresponds to the z-value of the point itself or to a
        separate color coordinate provided in an optional additional [1musing[0m
        colymn.  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[0m
        [1mpalette[22m, [1mlinetype[22m.

        The keyword [1mnohidden3d [22mapplies only to plots made with the [1msplot[0m
        command.  Normally the global option [1mset hidden3d [22mapplies to all
        plots in the graph.  You can attach the [1mnohidden3d [22moption to any in-
        dividual plots that you want to exclude from the hidden3d process-
        ing.  The individual elements other than surfaces (i.e. lines, dots,
        labels, ...) of a plot marked [1mnohidden3d [22mwill all be drawn, even if
        they would normally be obscured 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 [22mis active.

        The keywords may be abbreviated as indicated.

        Note that the [1mlinewidth[22m, [1mpointsize [22mand [1mpalette [22moptions are not sup-
        ported by all terminals.

        Examples:

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

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

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

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

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

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

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










   GNUPLOT 5.4                                                           147


        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 variable

        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




   [1m93.  Print[0m


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

   The [1mprint [22mcommand prints the value of one or more expressions.  Output is
   to the screen unless it has been redirected using a prior [1mset print [22mcom-
   mand.  See [1mexpressions[22m.  See also [1mprinterr[22m.

   An <expression> may be any valid gnuplot expression, including numeric or
   string constants, a function returning a number or string, an array, or
   the name of a variable.  It is also possible to print a datablock.  The
   sprintf and gprintf functions can be used in conjunction with [1mprint [22mfor
   additional flexibility in formmating output.

   Examples:
        print 123 + 456
        print sinh(pi/2)
        print "rms of residuals (FIT_STDFIT) is ", FIT_STDFIT
        print sprintf("rms of residuals is %.3f after fit.", FIT_STDFIT)
        print $DATA











   GNUPLOT 5.4                                                           148


   [1m94.  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.



   [1m95.  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 vari-
   able or use it in string expressions, then you can use variable GP-
   VAL_PWD, see [1mshow variables all[22m.



   [1m96.  Quit[0m


   The [1mexit [22mand [1mquit [22mcommands and END-OF-FILE character will exit [1mgnuplot[22m.
   Each of these commands will clear the output device (as does the [1mclear[0m
   command) before exiting.



   [1m97.  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                                                           149


   [1m98.  Refresh[0m


   The [1mrefresh [22mcommand is similar to [1mreplot[22m, with two major differences.
   [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 ex-
   isting 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




   [1m99.  Replot[0m


   The [1mreplot [22mcommand without arguments repeats the last [1mplot [22mor [1msplot [22mcom-
   mand.  This can be useful for viewing a plot with different [1mset [22moptions,
   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 re-
   peated.  [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 previous 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 recent
   component plot, not the full set.

   See also [1mcommand-line-editing [22mfor ways to edit the last [1mplot [22m([1msplot[22m) com-
   mand.











   GNUPLOT 5.4                                                           150


   See also [1mshow plot [22mto show the whole current plotting command, and the
   possibility to copy it into the [1mhistory[22m.



   [1m100.  Reread[0m


   [DEPRECATED in version 5.4]

   This command is deprecated in favor of explicit iteration.  See [1miterate[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 com-
   mands are read from it.  This essentially implements an endless loop of
   the commands from the beginning of the command file to the [1mreread [22mcom-
   mand.  The [1mreread [22mcommand has no effect when reading interactively (from
   stdin).



   [1m101.  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 command 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 al-
   tered by commands in the initialization files gnuplotrc, $HOME/.gnuplot,
   or $XDG_CONFIG_HOME/gnuplot/gnuplotrc.  However, these commands can be
   re-executed by using the variant command [1mreset session[22m.

   [1mreset session [22mdeletes any user-defined variables and functions, restores
   default settings, and then re-executes the system-wide gnuplotrc initial-
   ization file and any private $HOME/.gnuplot or $XDG_CONFIG_HOME/gnu-
   plot/gnuplotrc preferences file.  See [1minitialization[22m.

   [1mreset errors [22mclears only the error state variables GPVAL_ERRNO and GP-
   VAL_ERRMSG.

   [1mreset bind [22mrestores all hotkey bindings to their default state.












   GNUPLOT 5.4                                                           151


   [1m102.  Save[0m


   Syntax:
         save  {functions | variables | terminal | set | fit} '<filename>'

   If no option is specified, [1mgnuplot [22msaves functions, variables, [1mset [22mop-
   tions and the last [1mplot [22m([1msplot[22m) command.

   [1msave[22md files are written in text format and may be read by the [1mload [22mcom-
   mand. For [1msave [22mwith the [1mset [22moption or without any option, the [1mterminal[0m
   choice and the [1moutput [22mfilename are written out as a comment, 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 com-
   ment marker in front of it. This is mainly useful for switching the [1mter-[0m
   [1mminal [22msetting for a short while, and getting back to the previously set
   terminal, afterwards, by loading the saved [1mterminal [22mstatus. Note that for
   a single gnuplot session you may rather use the other method of saving
   and restoring current terminal by the commands [1mset term push [22mand [1mset term[0m
   [1mpop[22m, see [1mset term[22m.

   [1msave fit [22msaves only the variables used in the most recent [1mfit [22mcommand.
   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 output of save can
   be piped through an external program by starting the file name with a
   '|'.  This provides a consistent interface to [1mgnuplot[22m's internal settings
   to programs which communicate with [1mgnuplot [22mthrough a pipe.  Please see
   help for [1mbatch/interactive [22mfor more details.

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



   [1m103.  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.











   GNUPLOT 5.4                                                           152


   The [1mshow [22mcommand shows their settings;  [1mshow all [22mshows all the settings.

   Options changed using [1mset [22mcan be returned to the default state by giving
   the corresponding [1munset [22mcommand.  See also the [1mreset [22mcommand, which re-
   turns all settable parameters to default values.

   The [1mset [22mand [1munset [22mcommands may optionally contain an iteration clause.
   See [1mplot for[22m.





        [1m103.1.  Angles[0m


        By default, [1mgnuplot [22massumes the independent variable in polar graphs
        is in units of radians.  If [1mset angles degrees [22mis specified before
        [1mset polar[22m, then the default range is [0:360] and the independent
        variable has units of degrees.  This is particularly 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 displayed in
        the units specified by [1mset angles[22m.

        [1mset angles [22malso affects the arguments of the machine-defined func-
        tions sin(x), cos(x) and tan(x), and the outputs of asin(x),
        acos(x), atan(x), atan2(x), and arg(x).  It has no effect on the ar-
        guments of hyperbolic functions or Bessel functions.  However, the
        output arguments of inverse hyperbolic functions of complex argu-
        ments are affected; if these functions are used, [1mset angles radians[0m
        must be in effect to maintain consistency between input and output
        arguments.

              x={1.0,0.1}
              set angles radians
              y=sinh(x)
              print y         #prints {1.16933, 0.154051}
              print asinh(y)  #prints {1.0, 0.1}
        but
              set angles degrees
              y=sinh(x)
              print y         #prints {1.16933, 0.154051}
              print asinh(y)  #prints {57.29578, 5.729578}
        See also poldat.dem: polar plot using [1mset angles [22mdemo.













   GNUPLOT 5.4                                                           153


        [1m103.2.  Arrow[0m


        Arbitrary arrows can be placed on a plot using the [1mset arrow [22mcom-
        mand.

        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>{,<backangle>}}
        {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 at-
        tribute of an existing arrow, use the [1mset arrow [22mcommand with the ap-
        propriate 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 using 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 [22mfor 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.  For
        linear axes, [1mgraph [22mand [1mscreen [22mcoordinates, the distance between the
        start and the end point corresponds to the given relative coordi-
        nate.  For logarithmic axes, the relative given coordinate corre-
        sponds to the factor of the coordinate between start and end point.
        Thus, a negative relative value or zero are not allowed for loga-
        rithmic axes.

        3) "length <coordinate> angle <angle>" specifies the orientation of
        the arrow in the plane of the graph.  Again any of the coordinate










   GNUPLOT 5.4                                                           154


        systems can be used to specify the length.  The angle 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 [22mcommand.  For
        a detailed explanation of arrow characteristics, see [1marrowstyle[22m.

        Examples:

        To set an arrow pointing from the origin to (1,2) with user-defined
        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 relative
        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

        To delete all arrows, use:
              unset arrow

        To show all arrows (in tag order), use:
              show arrow

        arrows demos.














   GNUPLOT 5.4                                                           155


        [1m103.3.  Autoscale[0m


        Autoscaling may be set individually on the x, y or z axis or glob-
        ally 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 {<axis>{|min|max|fixmin|fixmax|fix} | fix |
        keepfix}
              set autoscale noextend
              unset autoscale {<axis>}
              show autoscale

        where <axis> is [1mx[22m, [1my[22m, [1mz[22m, [1mcb[22m, [1mx2[22m, [1my2[22m, [1mxy[22m, or [1mpaxis <p>[22m.  Appending
        [1mmin [22mor [1mmax [22mto the axis name tells [1mgnuplot [22mto autoscale only the min-
        imum or maximum of that axis.

        If no axis name is given, all axes are autoscaled.

        Autoscaling the independent axes (x for [1mplot [22mand x,y for [1msplot[22m) ad-
        justs the axis range to match the data being plotted.  If the plot
        contains only functions (no input data), autoscaling these axes has
        no effect.

        Autoscaling the dependent axis (y for a [1mplot [22mand z for [1msplot[22m) ad-
        justs the axis range to match the data or function being plotted.

        Adjustment of the axis range includes extending it to the next tic
        mark; i.e. unless the extreme data coordinate exactly matches a tic
        mark, there will be some blank space between the data and the plot
        border.  Addition of this extra space can be suppressed by [1mnoextend[22m.
        It can be further increased by the command [1mset offset[22m.  Please see
        [1mset xrange [22mand [1mset offsets [22mfor additional information.

        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, 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 speci-
        fied 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 re-
        sults.  To prevent this you can explicitly link the secondary axis
        range to the primary axis range.  See [1mset link[22m.














   GNUPLOT 5.4                                                           156


             [1m103.3.1.  Noextend[0m


                  set autoscale noextend

             By default autoscaling sets the axis range limits to the near-
             est tic label position that includes all the plot data. Key-
             words [1mfixmin[22m, [1mfixmax[22m, [1mfix [22mor [1mnoextend [22mtell gnuplot to disable
             extension of the axis range to the next tic mark position. In
             this case the axis range limit exactly matches the coordinate
             of the most extreme data point.  [1mset autoscale noextend [22mis a
             synonym for [1mset autoscale fix[22m.  Range extension for a single
             axis can be disabled by appending the [1mnoextend [22mkeyword to the
             corresponding range command, e.g.
                  set yrange [0:*] noextend

             [1mset autoscale keepfix [22mautoscales all axes while leaving the fix
             settings unchanged.




             [1m103.3.2.  Examples[0m


             Examples:

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

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

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

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

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

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

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











   GNUPLOT 5.4                                                           157


             [1m103.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, explicit xrange and yrange
             commands can later be used to make further adjustments.  See
             [1mset rrange[22m.

             See also polar demos.



        [1m103.4.  Bind[0m


        [1mshow bind [22mshows the current state of all hotkey bindings. See [1mbind[22m.



        [1m103.5.  Bmargin[0m


        The command [1mset bmargin [22msets the size of the bottom margin.  Please
        see [1mset margin [22mfor details.



        [1m103.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 the bor-
        ders 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 view[0m
        [1m56,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,










   GNUPLOT 5.4                                                           158


        say, the back and right corners of the x-y plane is the "bottom
        right back" border, and the border connecting the top and bottom
        front corners is the "front vertical".  (This nomenclature is de-
        fined solely to allow the reader to figure out the table that fol-
        lows.)

        The borders are encoded in a 12-bit integer: the four low bits con-
        trol 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 border 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      |
                  +---------------------------------------+




   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 elements
   ([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 subject to
   the same hidden3d processing as the plot elements. [1mset border behind [22mwill
   override this default.

   Using the optional <linestyle>, <linetype>, <linewidth>, <linecolor>, and
   <dashtype> specifiers, the way the border lines are drawn can be influ-
   enced (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










   GNUPLOT 5.4                                                           159


   enabling the second axes -- see [1mset xtics [22mfor details.

   If a [1msplot [22mdraws only on the base, as is the case with "[1munset surface;[0m
   [1mset 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




        [1m103.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[0m
        styles.

        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 interpreted 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










   GNUPLOT 5.4                                                           160


        width is maintained everywhere along the axis (i.e. the boxes do not
        become narrower the value of x increases). If the range spanned by a
        log scale x axis is far from x=1, some experimentation may be re-
        quired 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 [22mand [1mstyle boxerrorbars[0m
        for more details.

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

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

        The same effect can be achieved with the [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



        [1m103.8.  Boxdepth[0m


        The [1mset boxdepth [22mcommand affects only 3D plots created by [1msplot with[0m
        [1mboxes[22m.  It sets the extent of each box along the y axis, i.e. its
        thickness.



        [1m103.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 distin-
        guish linetypes. The [1mset color [22mcommand selects the color linetypes.
        See [1mset monochrome[22m, [1mset linetype[22m, and [1mset colorsequence[22m.
















   GNUPLOT 5.4                                                           161


        [1m103.10.  Colorsequence[0m


        Syntax:
             set colorsequence {default|classic|podo}

        [1mset colorsequence default [22mselects a terminal-independent repeating
        sequence of eight colors.  See [1mset linetype[22m, [1mcolors[22m.

        [1mset colorsequence classic [22mlets each separate terminal type provide
        its own sequence of line colors.  The number provided varies from 4
        to more than 100, but most start with red/green/blue/ma-
        genta/cyan/yellow.  This was the default behaviour prior to version
        5.

        [1mset colorsequence podo [22mselects eight colors drawn from a set recom-
        mended by Wong (2011) [Nature Methods 8:441] as being easily distin-
        guished by color-blind viewers with either protanopia or deutera-
        nopia.

        In each case you can further customize the length of the sequence
        and the colors used. See [1mset linetype[22m, [1mcolors[22m.



        [1m103.11.  Clabel[0m


        This command is deprecated. Use [1mset cntrlabel [22minstead.  [1munset clabel[0m
        is replaced by [1mset cntrlabel onecolor[22m.  [1mset clabel "format" [22mis re-
        placed by [1mset cntrlabel format "format"[22m.



        [1m103.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 nor-
        mally drawn even if the finite size of the point symbol causes it to
        extend past a boundary line.  [1mset clip points [22mcauses 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










   GNUPLOT 5.4                                                           162


        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 [0:MAX][22m.  This
        criteria is applied in conjunction with [1mset clip {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[0m
        [1mradial [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 default 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 polar
        mode does not test or clip against the maximum radius.




        [1m103.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 ... with la-[0m
        [1mbels[22m.  In the latter case labels are placed along each contour line
        according to the [1mpointinterval [22mor [1mpointnumber [22mproperty 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










   GNUPLOT 5.4                                                           163


        They can be changed either via the [1mset cntrlabel [22mcommand or by spec-
        ifying 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 isosam-[0m
        [1mples [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 cntrlabel onecolor [22mcauses
        all contours to be drawn using the same linetype, so only one label
        appears in the plot key.  This command replaces an older command [1mun-[0m
        [1mset clabel[22m.



        [1m103.14.  Cntrparam[0m


        [1mset cntrparam [22mcontrols the generation of contours and their smooth-
        ness 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>
                                         | 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 connect
        points of equal z magnitude.  If [1mcubicspline[22m, then piecewise-linear










   GNUPLOT 5.4                                                           164


        contours are interpolated between the same equal z points to form
        somewhat smoother contours, but which may undulate.  If [1mbspline[22m, a
        guaranteed-smoother curve is drawn, which only approximates the po-
        sition of the points of equal-z.

        [1mpoints[22m--- Eventually all drawings are done with piecewise-linear
        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, contours will be gener-
        ated 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 con-
        tour levels.  In [1mdiscrete [22mmode, any [1mset cntrparam levels <n> [22mare ig-
        nored.

        [1mlevels incremental[22m--- Contours are generated at values of z begin-
        ning at <start> and increasing by <increment>, until the number of
        contours is reached.  <end> is used to determine the number of con-
        tour levels, which will be changed by any subsequent [1mset cntrparam[0m
        [1mlevels <n>[22m.  If the z axis is logarithmic, <increment> will be in-
        terpreted 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, 10, 100 [22mwill
        create 11 contours levels starting with 100 and ending with 0.
        Adding the keyword [1msorted [22mre-orders the contours by increasing nu-
        merical value, which in this case would mean the first contour is
        drawn at 0.

        By default contours are drawn using successive linetypes starting
        with the next linetype after that used for the corresponding sur-
        face.  Thus [1msplot x*y lt 5 [22mwould use lt 6 for the first contour gen-
        erated.  If [1mhidden3d [22mmode is active then each surface uses two line-
        types.  In this case using default settings would cause the first










   GNUPLOT 5.4                                                           165


        contour to use the same linetype as the hidden surface, which is un-
        desirable.  This can be avoided in either of two ways.  (1) Use [1mset[0m
        [1mhidden3d offset N [22mto change the linetype used for the hidden sur-
        face.  A good choice would be [1moffset -1 [22msince that will avoid all
        the contour linetypes.  (2) Use the [1mset cntrparam firstlinetype N[0m
        option to specify a block of linetypes used for contour lines inde-
        pendent of whatever was used for the surface.  This is particularly
        useful if you want to customize the set of contour linetypes.  N <=
        0 restores the default.

        If the command [1mset cntrparam [22mis given without any arguments speci-
        fied all options are reset to the default:
              set cntrparam order 4 points 5
              set cntrparam levels auto 5 unsorted
              set cntrparam firstlinetype 0





             [1m103.14.1.  Examples[0m


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

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

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

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

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

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

             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










   GNUPLOT 5.4                                                           166


                       }
                   }
                   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 con-
             tour labels and linetypes.

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



        [1m103.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 }
                         { front | back }
                         { noborder | bdefault | border [line style] }
                       }
              show colorbox
              unset colorbox

        Color box position can be [1mdefault [22mor [1muser[22m.  If the latter is speci-
        fied the values as given with the [1morigin [22mand [1msize [22msubcommands 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 options
        [1mvertical [22mand [1mhorizontal[22m.

        [1morigin x, y [22mand [1msize x, y [22mare used only in combination with the [1muser[0m
        option. The x and y values are interpreted as screen coordinates 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 [22mturns the
        border off. If an positive integer argument is given after [1mborder[22m,










   GNUPLOT 5.4                                                           167


        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 default) 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 default.
        [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 style[0m
        [1mline[22m.



        [1m103.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 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"



        [1m103.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[0m
        [1mdgrid3d [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 [22mdraws the
        contours on the grid base where the x/ytics are placed, [1msurface[0m
        draws the contours on the surfaces themselves, and [1mboth [22mdraws the
        contours on both the base and the surface.  If no option is










   GNUPLOT 5.4                                                           168


        provided, the default is [1mbase[22m.

        See also [1mset cntrparam [22mfor the parameters that affect the drawing of
        contours, and [1mset cntrlabel [22mfor control of labeling of the contours.

        The surface can be switched off (see [1munset surface[22m), giving a con-
        tour-only graph.  Though it is possible to use [1mset size [22mto enlarge
        the plot to fill the screen, more control over the output 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-isoline are
        listed, then all the points for the next y-isoline, and so on.  A
        single blank line (a line containing no characters other than blank
        spaces and a carriage return and/or a 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 con-
        tour 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 [22mafter 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).



        [1m103.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










   GNUPLOT 5.4                                                           169


             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.



        [1m103.19.  Data style[0m


        This form of the command is deprecated. Please see [1mset style data[22m.



        [1m103.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 [22mcommands.
        Several options are currently implemented.




             [1m103.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 dis-
             abled by [1munset datafile columnheaders[22m, the same effect is trig-
             gered on a per-file basis if there is an explicit column-
             header() function in a using specifier or plot title associated
             with that file.  See also [1mset key autotitle [22mand [1mcolumnheader[22m.



             [1m103.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[0m
             [1mdatafile fortran[22m.














   GNUPLOT 5.4                                                           170


             [1m103.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 ex-
             pression 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 excep-
             tion is generated.



             [1m103.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 spe-
             cial string used in input data files to denote a missing data
             entry.  There is no default character for [1mmissing[22m.  Gnuplot
             makes a distinction between missing data and invalid data (e.g.
             "NaN", 1/0.).  For example invalid data causes a gap in a line
             drawn through sequential data points; missing data does not.

             Non-numeric characters found in a numeric field will usually be
             interpreted as invalid rather than as a missing data point un-
             less they happen to match the [1mmissing [22mstring.

             Conversely [1mset datafile missing NaN [22mcauses all data or expres-
             sions evaluating to not-a-number (NaN) to be treated as missing
             data.

             The example below shows differences between gnuplot version 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










   GNUPLOT 5.4                                                           171


                      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 placing the point at(2,3).

             Both the old and new gnuplot versions handle the same data cor-
             rectly if the '?' character is designated as a marker for miss-
             ing data (b).

             Old gnuplot versions handled NaN differently depending of the
             form of the [1musing [22mclause, as shown in plots (c) and (d).  Gnu-
             plot 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 N [22mor [1musing ($N) [22mor [1mus-[0m
             [1ming (func($N))[22m.  However if the "missing" value is encountered
             during evaluation of some more complicated expression, e.g. [1mus-[0m
             [1ming (column(strcol(1))[22m, it may evaluate to NaN and be treated
             as invalid data rather than as a missing data point.  If you
             nevertheless want to treat this as missing data, use the com-
             mand [1mset datafile missing NaN[22m.



             [1m103.20.5.  Set datafile separator[0m


             The command [1mset datafile separator [22mtells [1mgnuplot [22mthat data
             fields in subsequent input files are separated by a specific
             character rather than by whitespace.  The most common use is to
             read in csv (comma-separated value) files written by spread-
             sheet or database programs. By default data fields are sepa-
             rated by whitespace.

             Syntax:
                   set datafile separator {whitespace | tab | comma |
             "<chars>"}










   GNUPLOT 5.4                                                           172


             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 "*|"



             [1m103.20.6.  Set datafile commentschars[0m


             The command [1mset datafile commentschars [22mspecifies what charac-
             ters 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 ignored.  Default value of
             the string is "#!" on VMS and "#" otherwise.

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

             Then, the following line in a data file is completely ignored
                 # 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 "#!%"



             [1m103.20.7.  Set datafile binary[0m


             The [1mset datafile binary [22mcommand is used to set the defaults
             when reading binary data files.  The syntax matches precisely
             that used for commands [1mplot [22mand [1msplot[22m.  See [1mbinary matrix [22mand
             [1mbinary general [22mfor details about the keywords that can be
             present in <binary list>.

             Syntax:
                   set datafile binary <binary list>
                   show datafile binary
                   show datafile
                   unset datafile











   GNUPLOT 5.4                                                           173


             Examples:
                   set datafile binary filetype=auto
                   set datafile binary array=(512,512) format="%uchar"

                   show datafile binary   # list current settings



        [1m103.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 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 de-
        fault, which is a period.  Unsetting decimalsign 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 num-
        bers that are printed using gnuplot's gprintf() formatting routine,
        including axis tics.  It does not affect the format expected for in-
        put 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_NUMERIC, or
        LANG environmental variables.

              set decimalsign locale "foo"

        This instructs the program to format all input and output in accor-
        dance with locale "foo", which must be installed.  If locale "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 typing "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










   GNUPLOT 5.4                                                           174


        "slovenian". Please note that interpretation 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 character.

              set decimalsign locale; set decimalsign "."

        This sets all input and output to use whatever decimal sign is cor-
        rect for the current locale, but over-rides this with an explicit
        '.' in numbers formatted using gnuplot's internal gprintf() func-
        tion.



        [1m103.22.  Dgrid3d[0m


        The [1mset dgrid3d [22mcommand enables and sets parameters for mapping non-
        grid data onto a grid.  See [1msplot grid_data [22mfor details about the
        grid data structure.  Aside from its use in fitting 3D surfaces,
        this process can also be used to generate 2D heatmaps, where the 'z'
        value of each point contributes to a local weighted value.

        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 points read
        from a file are treated as a scattered data set used to fit a grid-
        ded surface.  The grid dimensions are derived from the bounding box
        of the scattered data subdivided by the row/col_size parameters from
        the [1mset dgrid3d [22mstatement.  The grid is equally spaced in x (rows)
        and in y (columns); the z values are computed as weighted averages
        or spline interpolations of the scattered points' z values. In other
        words, a regularly spaced grid is created and then a smooth approxi-
        mation to the raw data is evaluated for each grid point.  This sur-
        face is then plotted in place of the raw data.

        While dgrid3d mode is enabled, if you want to plot individual points
        or lines without using them to create a gridded surface you must ap-
        pend the keyword [1mnogrid [22mto the corresponding splot command.

        The number of columns defaults to the number of rows, which defaults
        to 10.

        Several algorithms are available to calculate the approximation from
        the raw data. Some of these algorithms can take additional parame-
        ters.  These interpolations are such that the closer the data point










   GNUPLOT 5.4                                                           175


        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 inverse 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)
              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 additional
        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 coordi-
        nates of the i-th data point. The value of dy defaults to the value
        of dx, which defaults to 1. The parameters dx and dy make it possi-
        ble 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, modifies the al-
        gorithm 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 kden-[0m
        [1msity [22moption does to 1D datasets.  (See kdensity2d.dem for usage
        demo)

        DEPRECATED: A slightly different syntax is also supported for back-
        wards compatibility. If no interpolation algorithm has been explic-
        itly selected, the [1mqnorm [22malgorithm is assumed. Up to three comma-
        separated, optional parameters can be specified, which are










   GNUPLOT 5.4                                                           176


        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 sophisticated ap-
        proaches to this problem exist and should be used to preprocess the
        data outside [1mgnuplot [22mif this simple solution is found inadequate.

        See also the online dgrid3d demo and scatter demo




        [1m103.23.  Dummy[0m


        The [1mset dummy [22mcommand changes the default dummy variable names.

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

        By default, [1mgnuplot [22massumes that the independent, or "dummy", vari-
        able for the [1mplot [22mcommand is "t" if in parametric or polar mode, or
        "x" otherwise.  Similarly the independent variables for the [1msplot[0m
        command are "u" and "v" in parametric mode ([1msplot [22mcannot be used in
        polar mode), or "x" and "y" otherwise.

        It may be more convenient to call a dummy variable by a more physi-
        cally 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



        [1m103.24.  Encoding[0m


        The [1mset encoding [22mcommand selects a character encoding.

        Syntax:
              set encoding {<value>}










   GNUPLOT 5.4                                                           177


              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 sym-
        bol
           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 Europe
           cp1251      - codepage for 8-bit Russian, Serbian, Bulgarian,
        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 Uni-
        code
                         entry point for each character

        The command [1mset encoding locale [22mis different from the other options.
        It attempts to determine the current locale from the runtime envi-
        ronment.  On most systems this is controlled by the environmental
        variables LC_ALL, LC_CTYPE, or LANG.  This mechanism is necessary,
        for example, to pass multibyte character encodings 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.



        [1m103.25.  Errorbars[0m


        The [1mset errorbars [22mcommand controls the tics at the ends of error
        bars, and also at the end of the whiskers belonging to a boxplot.

        Syntax:
              set errorbars {small | large | fullwidth | <size>} {front |
        back}
                            {line-properties}










   GNUPLOT 5.4                                                           178


              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 histograms
        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 attached
        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.

             set errorbars linecolor black linewidth 0.5 dashtype '.'



        [1m103.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 logfile name ends with a / or \, it
        is interpreted to be a directory name, and the actual filename will
        be "fit.log" in that directory.

        By default the information written to the log file is also echoed to










   GNUPLOT 5.4                                                           179


        the terminal session.  [1mset fit quiet [22mturns off the echo, whereas [1mre-[0m
        [1msults [22mprints only final results.  [1mbrief [22mgives one line summaries for
        every iteration of the fit in addition.  [1mverbose [22myields detailed it-
        eration 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-defined variable
        whose name is formed by appending "_err" to the name of the parame-
        ter itself.  This is useful mainly to put the parameter and its er-
        ror 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)

        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) resulting in a reduced
        chi square of one.  With the [1mnoerrorscaling [22moption the estimated er-
        rors are the unscaled standard deviations 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 parameters that differ
        in size by many orders of magnitude. Fit parameters with an initial
        value of exactly zero are never prescaled.

        The maximum number of iterations may be limited with the [1mmaxiter [22mop-
        tion.  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 con-
        sidered to have 'converged'.  The [1mlimit_abs [22moption imposes an addi-
        tional 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 Mar-
        quardt-Levenberg algorithm well, the following options can be used
        to influence it. The startup value of [1mlambda [22mis normally calculated
        automatically from the ML-matrix, but if you want to, you may pro-
        vide your own using the [1mstart_lambda [22moption. Setting it to [1mdefault[0m
        will re-enable the automatic selection. The option [1mlambda_factor[0m
        sets the factor by which [1mlambda [22mis increased or decreased whenever
        the chi-squared target function increased or decreased signifi-
        cantly. Setting it to [1mdefault [22mre-enables the default factor of 10.0.











   GNUPLOT 5.4                                                           180


        The [1mscript [22moption may be used to specify a [1mgnuplot [22mcommand to be ex-
        ecuted 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 be-
        tween final parameters will be saved to user-defined variables. The
        variable name for a certain parameter combination is formed by
        prepending "FIT_COV_" to the name of the first parameter and combin-
        ing 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 de-
        faults to unitweights if no 'error' keyword is given.  The [1mv4 [22moption
        restores the default behavior of gnuplot version 4, see also [1mfit[22m.



        [1m103.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 post-
        script 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 embedding 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 re-
        placed by a search in the following places: (1) an absolute 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_FONTPATH

        Note: The search path for fonts specified by filename for the libgd
        terminals (png gif jpeg sixel) is controlled by environmental vari-
        able GDFONTPATH.



        [1m103.28.  Format[0m


        The format of the tic-mark labels can be set with the [1mset format[0m
        command or with the [1mset tics format [22mor individual [1mset {axis}tics[0m
        [1mformat [22mcommands.










   GNUPLOT 5.4                                                           181


        Syntax:
              set format {<axes>} {"<format-string>"} {numeric|timedate|geo-
        graphic}
              show format

        where <axes> is either [1mx[22m, [1my[22m, [1mxy[22m, [1mx2[22m, [1my2[22m, [1mz[22m, [1mcb [22mor nothing (which ap-
        plies the format to all axes). The following two commands are equiv-
        alent:
              set format y "%.2f"
              set ytics format "%.2f"

        The length of the string is restricted to 100 characters.  The de-
        fault format is "% h", "$%h$" for LaTeX terminals. Other formats
        such as "%.2f" or "%3.0em" are often desirable. "set format" with no
        following string will restore the default.

        If the empty string "" is given, tics will have no labels, although
        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 verba-
        tim.  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[0m
        [1mdecimalsign [22mfor how to use non-default decimal separators in numbers
        printed this way.  See also electron demo (electron.dem).




             [1m103.28.1.  Gprintf[0m


             The string function gprintf("format",x) uses gnuplot's own for-
             mat specifiers, as do the gnuplot commands [1mset format[22m, [1mset[0m
             [1mtimestamp[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.  Gnu-
             plot also provides an sprintf("format",x1,x2,...) routine if
             you prefer.  For a list of gnuplot's format options, see [1mformat[0m
             [1mspecifiers[22m.



             [1m103.28.2.  Format specifiers[0m


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











   GNUPLOT 5.4                                                           182


   +--------------------------------------------------------------------------------+
   |  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 imple-
   mented 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 for-
   mat 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 letter) immediately preceding the
   field width, which indicates that leading zeroes are to be used instead
   of leading blanks; and a decimal point followed by a non-negative inte-
   ger, which defines the precision (the minimum number of digits of an in-
   teger, 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 documentation and then
   experiment.

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










   GNUPLOT 5.4                                                           183


         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 con-
   tain valid codes for the 'strftime' function (outside of [1mgnuplot[22m, type
   "man strftime").  See [1mset timefmt [22mfor a list of the allowed input format
   codes.



             [1m103.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                                                           184


      +---------------------------------------------------------------+
      |  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 (CDC/MMWR "epi week")             |
      |    %w      day of the week, 0--6 (Sunday = 0)                 |
      |    %W      week of the year (ISO 8601 week date)              |
      |    %y      year, 0-99 in range 1969-2068                      |
      |    %Y      year, 4-digit                                      |
      |    %z      timezone, [+-]hh:mm                                |
      |    %Z      timezone name, ignored string                      |
      +---------------------------------------------------------------+





   For more information on the %W format (ISO week of year) see [1mtm_week[22m.
   The %U format (CDC/MMWR epidemiological week) is similar to %W except
   that it uses weeks that start on Sunday rather than Monday.  Caveat: Both
   the %W and the %U formats were unreliable in gnuplot versions prior to
   5.4.2.  See unit test "week_date.dem".

   The relative time formats express the length of a time interval on either
   side of a zero time point.  The relative time formats are



















   GNUPLOT 5.4                                                           185


       +--------------------------------------------------------------+
       | 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 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.





                  [1m103.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 values correspond to
                  dates prior to the epoch (1-Jan-1970). In order to report
                  a time value in seconds as some number of hours/min-
                  utes/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"










   GNUPLOT 5.4                                                           186


                        set format x "%tM:%.2tS"     # "-61:12.50"




             [1m103.28.4.  Tm_week[0m


             The [1mtm_week(t, standard) [22mfunction interprets its first argument
             t as a time in seconds from 1 Jan 1970.  Despite the name of
             this function it does not report a field from the POSIX tm
             structure.

             If standard = 0 it returns the week number in the ISO 8601
             "week date" system.  This corresponds to gnuplot's %W time for-
             mat.  If standard = 1 it returns the CDC epidemiological week
             number ("epi week").  This corresponds to gnuplot's %U time
             format.  For corresponding inverse functions that convert week
             dates to calendar time see [1mweekdate_iso[22m, [1mweekdate_cdc[22m.

             In brief, ISO Week 1 of year YYYY begins on the Monday closest
             to 1 Jan YYYY.  This may place it in the previous calendar
             year.  For example Tue 30 Dec 2008 has ISO week date 2009-W01-2
             (2nd day of week 1 of 2009).  Up to three days at the start of
             January may come before the Monday of ISO week 1; these days
             are assigned to the final week of the previous calendar year.
             E.g. Fri 1 Jan 2021 has ISO week date 2020-W53-5.

             The US Center for Disease Control (CDC) epidemiological week is
             a similar week date convention that differs from the ISO stan-
             dard by defining a week as starting on Sunday, rather than on
             Monday.




             [1m103.28.5.  Weekdate_iso[0m


             Syntax:
                  time = weekdate_iso( year, week [, day] )

             This function converts from the year, week, day components of a
             date in ISO 8601 "week date" format to the calendar date as a
             time in seconds since the epoch date 1 Jan 1970.  Note that the
             nominal year in the week date system is not necessarily the
             same as the calendar year.  The week is an integer from 1 to
             53.  The day parameter is optional. If it is omitted or equal
             to 0 the time returned is the start of the week. Otherwise day
             is an integer from 1 (Monday) to 7 (Sunday).  See [1mtm_week [22mfor
             additional information on an inverse function that converts
             from calendar date to week number in the ISO standard conven-
             tion.










   GNUPLOT 5.4                                                           187


             Example:
                  # Plot data from a file with column 1 containing ISO weeks
                  #     Week     cases  deaths
                  #     2020-05    432       1
                  calendar_date(w) = weekdate_iso( int(w[1:4]), int(w[6:7])
             )
                  set xtics time format "%b\n%Y"
                  plot FILE using (calendar_date(strcol(1))) : 2   title
             columnhead




             [1m103.28.6.  Weekdate_cdc[0m


             Syntax:
                  time = weekdate_cdc( year, week [, day] )

             This function converts from the year, week, day components of a
             date in the CDC/MMWR "epi week" format to the calendar date as
             a time in seconds since the epoch date 1 Jan 1970.  The CDC
             week date convention differs from the ISO week date in that it
             is defined in terms of each week running from day 1 = Sunday to
             day 7 = Saturday.  If the third parameter is 0 or is omitted,
             the time returned is the start of the week.  See [1mtm_week [22mand
             [1mweekdate_iso[22m.




        [1m103.29.  Function style[0m


        This form of the command is deprecated. Please use [1mset style func-[0m
        [1mtion[22m.



        [1m103.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 [1mgnu-[0m
        [1mplot[22m, please see [1mexpressions[22m.  See also splines as user defined
        functions (spline.dem) and use of functions and complex variables
        for airfoils (airfoil.dem).











   GNUPLOT 5.4                                                           188


        [1m103.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-minor>}}
              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[0m
        [1mline[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 en-
        abled explicitly by [1mset grid polar <angle> rtics [22mwhether or not the
        program is in polar mode.  Circles are drawn to intersect major
        and/or minor tics along the r axis, and radial 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 en-
        abled.

        If no linetype is specified for the minor gridlines, the same line-
        type as the major gridlines is used.  The default polar angle 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 obscured 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 behind, 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 border [22mand the
        various ticmarks (see [1mset xtics[22m).

        In 3D plots grid lines at x- and y- axis tic positions are by de-
        fault drawn only on the base plane parallel to z=0.  The [1mvertical[0m










   GNUPLOT 5.4                                                           189


        keyword 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 border[22m.



        [1m103.32.  Hidden3d[0m


        The [1mset hidden3d [22mcommand enables hidden line removal for surface
        plotting (see [1msplot[22m).  Some optional features of the underlying al-
        gorithm 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 removal ac-
        tually 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 surface needs to have 'grid
        structure' (see [1msplot datafile [22mabout this), and it has to be drawn
        [1mwith lines [22mor [1mwith linespoints[22m.

        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 hidden parts removed
        with respect to itself and to other surfaces, if more than one sur-
        face is plotted.  Contours drawn on the surface ([1mset contour sur-[0m
        [1mface[22m) don't work.

        [1mhidden3d [22malso affects 3D plotting styles [1mpoints[22m, [1mlabels[22m, [1mvectors[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 explicitly excluded from
        this processing by appending the extra option [1mnohidden3d [22mto the [1mwith[0m
        specifier.

        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 [22mpro-
        cessing, use the option [1mset hidden3d front [22mto force all elements in-
        cluded in hidden3d processing to be drawn after any remaining plot
        elements, including the pm3d surface.










   GNUPLOT 5.4                                                           190


        Functions are evaluated at isoline intersections.  The algorithm in-
        terpolates linearly between function points or data points when de-
        termining 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[0m
        for discussion of the difference.

        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 settings, as detailed
        below.  If [1mdefaults [22mis not given, only explicitly specified options
        will be influenced: all others will keep their previous values, so
        you can turn on/off hidden line removal via [1mset {no}hidden3d[22m, with-
        out modifying the set of options you chose.

        The first option, [1moffset[22m, influences the linetype used for lines on
        the 'back' side.  Normally, they are drawn in a linetype one index
        number higher than the one used for the front, to make the two sides
        of the surface distinguishable.  You can specify a different line-
        type offset to add instead of the default 1, by [1moffset <offset>[22m.
        Option [1mnooffset [22mstands for [1moffset 0[22m, making the two sides of the
        surface use the same linetype.

        Next comes the option [1mtrianglepattern <bitpattern>[22m.  <bitpattern>
        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 original grid into two triangles.  The
        default pattern is 3, making all horizontal and vertical lines visi-
        ble, 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 unde-
        fined 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 creating a hole in the surface.
        If <level> = 3, equivalent to option [1mnoundefined[22m, no points will be
        thrown away at all.  This may produce all kinds of problems else-
        where, so you should avoid this.  <level> = 2 will throw away unde-
        fined points, but keep the out-of-range ones.  <level> = 1, the de-
        fault, will get rid of out-of-range points as well.

        By specifying [1mnoaltdiagonal[22m, you can override the default handling
        of a special case can occur if [1mundefined [22mis active (i.e. <level> is
        not 3).  Each cell of the grid-structured input surface will be di-
        vided in two triangles along one of its diagonals.  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[0m
        handler, and this is on the usual diagonal, both triangles will be










   GNUPLOT 5.4                                                           191


        excluded.  However if the default 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 crum-
        ply surfaces, it can happen that the two triangles a surface cell is
        divided into are seen from opposite sides (i.e. the original quad-
        rangle 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 [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 (hid-
        den.dem) and complex hidden line demo (singulr.dem).



        [1m103.33.  Historysize[0m


        (Deprecated).  [1mset historysize N [22mis equivalent to [1mset history size[0m
        [1mN[22m.  [1munset historysize [22mis equivalent to [1mset history size -1[22m.



        [1m103.34.  History[0m


        Syntax:
           set history {size <N>} {quiet|numbers} {full|trim} {default}

        A log of recent gnuplot commands is kept by default in $HOME/.gnu-
        plot_history.  If this file is not found and xdg desktop support is
        enabled, the program will instead use $XDG_STATE_HOME/gnuplot_his-
        tory.

        When leaving gnuplot the value of history size limits the number of
        lines saved to the history file. [1mset history size -1 [22mallows an un-
        limited 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 future [1mhistory[0m










   GNUPLOT 5.4                                                           192


        commands.

        The [1mtrim [22moption reduces the number of duplicate lines in the history
        list by removing earlier instances of the current command.

        Default settings: [1mset history size 500 numbers trim[22m.



        [1m103.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 set to 10 iso-
        lines per u or v axis.  A higher sampling rate will produce more ac-
        curate plots, but will take longer.  These parameters have no effect
        on data file plotting.

        An isoline is a curve parameterized by one of the surface parameters
        while the other surface parameter is fixed.  Isolines provide a sim-
        ple means to display a surface.  By fixing the u parameter of sur-
        face s(u,v), the iso-u lines of the form c(v) = s(u0,v) are pro-
        duced, 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 in-
        tersection, so change in [1msamples [22mas well as [1misosamples [22mmay be de-
        sired when changing the resolution of a function surface/contour.



        [1m103.36.  Isosurface[0m


        Syntax:
             set isosurface {mixed|triangles}
             set isosurface {no}insidecolor <n>
        Surfaces plotted by the command [1msplot $voxelgrid with isosurface [22mare
        by default constructed from a mixture of quadrangles and triangles.
        The use of quadrangles creates a less complicated visual impression.
        This is the default.  This command proveds an option to tessellate
        with only triangles.










   GNUPLOT 5.4                                                           193


        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 sur-
        faces, where an offset <n> is added to the base linetype.  To draw
        both the inside and outside surfaces in the same color, use [1mset iso-[0m
        [1msurface noinsidecolor[22m.



        [1m103.37.  Jitter[0m


        Syntax:
              set jitter {overlap <yposition>} {spread <factor>} {wrap
        <limit>}
                         {swarm|square|vertical}
        Examples:
              set jitter                    # jitter points within 1 charac-
        ter width
              set jitter overlap 1.5        # jitter points within 1.5 char-
        acter width
              set jitter over 1.5 spread 0.5  # same but half the displace-
        ment on x

        When one or both coordinates of a data set are restricted to dis-
        crete values then many points may lie exactly on top of each other.
        Jittering introduces an offset to the coordinates of these superim-
        posed 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 coordinate options.  See [1mcoor-[0m
        [1mdinates[22m.  Jitter affects 2D plot styles [1mwith points [22mand [1mwith im-[0m
        [1mpulses[22m.  It also affects 3D plotting 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 coordinate 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 [1mvertical[22m.

        The maximum displacement (in character units) can be limited using
        the [1mwrap [22mkeyword.

        Note that both the overlap criterion and the magnitude of jitter de-
        fault 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 mul-
        tiplier as appropriate.  See [1mcoordinates[22m, [1mpointsize[22m.

        Caveat: jitter is incompatible with "pointsize variable".

        [1mset jitter [22mis also useful in 3D plots of voxel data.  Because voxel










   GNUPLOT 5.4                                                           194


        grids are regular lattices of evenly spaced points, many view angles
        cause points to overlap and/or generate Moiré patterns.  These ar-
        tifacts can be removed by displacing the symbol drawn at each grid
        point by a random amount.



        [1m103.38.  Key[0m


        The [1mset key [22mcommand enables a key (or legend) containing a title 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 key[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 the [1mtitle [22mkeyword of individual
        [1mplot [22mand [1msplot [22mcommands.

        See [1mkey placement [22mfor syntax of options that affect where the key is
        placed.  See [1mkey layout [22mfor syntax of options that affect the con-
        tent of the key.

        Syntax (global options):
              set key {on|off} {default}
                    {font "<face>,<size>"} {{no}enhanced}
                    {{no}title "<text>" {<font or other text options>}}
                    {{no}autotitle {columnheader}}
                    {{no}box {<line properties>}} {{no}opaque {fc <color-
        spec>}}
                    {width <width_increment>} {height <height_increment>}
              unset key

        By default the key is placed in the upper right inside corner of the
        graph.  The optional [1mfont [22mbecomes the default for all elements of
        the key.  You can provide an option title for the key as a whole
        that spans the full width of the key at the top.  This title can use
        different font, color, justification, and enhancement from individ-
        ual plot titles.

        Each component in a plot command is represented in the key by a sin-
        gle line containing corresponding title text and a line or symbol or
        shape representing the plot style.  The title text may be auto-gen-
        erated or given explicitly in the plot command as [1mtitle "text"[22m.  The
        keyword [1mnotitle [22min the plot command will suppress both the text and
        the style sample.  If you want to suppress the text only, use [1mtitle[0m
        [1m"" [22min the plot command.

        Contour plots generated additional entries in the key (see [1mcntrla-[0m
        [1mbel[22m).  You can add extra lines to the key by inserting a dummy plot
        command that uses the keyword [1mkeyentry [22mrather than a filename or a
        function.  See [1mkeyentry[22m.

        A box can be drawn around the key ([1mbox {...}[22m) with user-specified










   GNUPLOT 5.4                                                           195


        line properties.  The [1mheight [22mand [1mwidth [22mincrements (specified in
        character units) are added to or subtracted from the size of the key
        box.  This is useful mainly when you want larger borders around the
        key entries.

        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 corresponding
        plot.  That means newer plots may sometimes place elements 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 or the requested fill color and then the key symbols and ti-
        tles are written.  The default can be restored by [1mset key noopaque[22m.

        The text in the key uses [1menhanced [22mmode by default. This can be sup-
        pressed by the [1mnoenhanced [22mkeyword applied to the entire key, to the
        key title only, or to individual plot titles.

        [1mset key default [22mrestores the default key configuration.
             set key notitle
             set key nobox noopaque
             set key fixed right top vertical Right noreverse enhanced au-
        totitle
             set key noinvert samplen 4 spacing 1 width 0 height 0
             set key maxcolumns 0 maxrows 0





             [1m103.38.1.  3D key[0m


             Placement of the key for 3D plots ([1msplot[22m) by default uses the
             [1mfixed [22moption.  This 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 angles 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 [1minside[22m.

             If [1msplot [22mis being used to draw contours, by default a separate
             key entry is generated for each contour level with a distinct
             line type.  To modify this see [1mset cntrlabel[22m.



             [1m103.38.2.  Key examples[0m













   GNUPLOT 5.4                                                           196


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

             This places a key at a specific place (upper right) on the
             screen:
                   set key at screen 0.85, 0.85

             This places the key below the graph and minimizes the vertical
             space taken:
                   set key below horizontal

             This places the key in the bottom left corner of the plot,
             left-justifies the text, gives the key box a title at the top,
             and draws a box around it with a thick border:
                   set key left bottom Left title 'Legend' box lw 3




             [1m103.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 [1msplot [22mcommand to
             insert extra lines.  Instead of providing a filename or func-
             tion to plot, use [1mkeyentry [22mas a placeholder followed by plot
             style information (used to generate a key symbol) and a title.
             All the usual options for title font, text color, [1mat [22mcoordi-
             nates, and enhanced text markup apply.  Example:
                  set key outside right center title "Outcomes"
                  plot $HEATMAP matrix with image notitle, \
                       keyentry with boxes fc palette cb 0 title "no ef-
             fect", \
                       keyentry with boxes fc palette cb 1 title "thresh-
             old", \
                       keyentry with boxes fc palette cb 3 title "typical
             range", \
                       keyentry with labels nopoint title "as reported in
             [12]", \
                       keyentry with boxes fc palette cb 5 title "strong ef-
             fect"



             [1m103.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 com-
             mand. This is the default.  [1mset key noautotitle [22mdisables the
             automatic generation of plot titles.  The command [1mset key au-[0m
             [1mtotitle columnheader [22mcauses the first entry in each column of










   GNUPLOT 5.4                                                           197


             input data to be interpreted as a text string and used as a ti-
             tle for the corresponding plot. If the quantity being plotted
             is a function of data from several columns, gnuplot may be con-
             fused as to which column to draw the title from. In this case
             it is necessary to specify the column explicitly in the plot
             command, e.g.

                   plot "datafile" using (($2+$3)/$4) title columnhead(3)
             with lines

             Note: The effect of [1mset key autotitle columnheader[22m, treatment
             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 col-
             umn headers but _not_ to use them for plot titles, use [1mset[0m
             [1mdatafile columnheaders[22m.

             In all cases an explicit [1mtitle [22mor [1mnotitle [22mkeyword in the plot
             command itself will override the default from [1mset key autoti-[0m
             [1mtle[22m.



             [1m103.38.5.  Key layout[0m


             Key layout options:
                  set key {vertical | horizontal}
                         {maxcols {<max no. of columns> | auto}}
                         {maxrows {<max no. of rows> | auto}}
                         {columns <exact no. of columns>}
                         {keywidth [screen|graph] <fraction>}
                         {Left | Right}
                         {{no}reverse} {{no}invert}
                         {samplen <sample_length>} {spacing <line_spacing>}
                         {width <width_increment>} {height <height_incre-
             ment>}
                         {title {"<text>"} {{no}enhanced} {center | left |
             right}}
                         {font "<face>,<size>"} {textcolor <colorspec>}

             Automatic arrangement of elements within the key into rows and
             columns is affected by the keywords shown above.  The default
             is [1mvertical[22m, for which the key uses the fewest columns possi-
             ble.  Elements are aligned in a column until there is no more
             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 instead uses the fewest rows possible.  The
             horizontal space may be limited using 'maxcols'.

             The auto-selected number of rows and columns may be unsatisfac-
             tory.  You can specify a definite number of columns using [1mset[0m










   GNUPLOT 5.4                                                           198


             [1mkey columns <N>[22m.  In this case you may need to adjust the sam-
             ple widths ([1msamplen[22m) and the total key width ([1mkeywidth[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.

             [1mset key title "text" [22mplaces an overall title at the top of the
             key.  Font, text justification, and other text properties spe-
             cific to the title can be specified by placing the required
             keywords immediately after the [1m"text" [22min this command.  Font or
             text properties specified elsewhere apply to all text in the
             key.

             The default layout places a style sample (color, line, point,
             shape, etc) at the left of the key entry line, and the title
             text at the right.  The text and sample positions can be
             swapped using the [1mreverse [22mkeyword.  Text justification of the
             individual plot titles within the key is controlled by [1mLeft [22mor
             [1mRight [22m(default).  The horizontal extend of the style sample can
             be set to an approximate number of character width ([1msamplen[22m).

             When using the TeX/LaTeX group of terminals or terminals in
             which formatting information is embedded in the string, [1mgnuplot[0m
             is bad at estimating the amount of space required, so the auto-
             matic key layout may be poor.  If the key is to be positioned
             at the left, it may help to use the combination [1mset key left[0m
             [1mLeft reverse [22mand force the appropriate number of columns or to-
             tal key width.




             [1m103.38.6.  Key placement[0m


             Key placement options:
                   set key {inside | outside | fixed}
                           {lmargin | rmargin | tmargin | bmargin}
                           {at <position>}}
                           {left | right | center} {top | bottom | center}
                           {offset <dx>,<dy>}

             This section describes placement of the primary, auto-generated
             key.  To construct a secondary key or place plot titles else-
             where, 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










   GNUPLOT 5.4                                                           199


             [1mtop/center/bottom [22m(t/c/b) control where within the particular
             region the key should be placed.  In [1minside [22mmode, the keywords
             [1mleft [22m(l), [1mright [22m(r), [1mtop [22m(t), [1mbottom [22m(b), and [1mcenter [22m(c) push
             the key out toward the plot boundary as illustrated here:


                  t/l   t/c   t/r

                  c/l    c    c/r

                  b/l   b/c   b/r


             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 plotting area, although this may in-
             terfere with other labels and may cause an error on some de-
             vices.  The particular plot border that is moved depends upon
             the position described above and the stacking direction.  For
             options centered in one of the dimensions, there is no ambigu-
             ity 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 appropriately.

             The margin syntax allows automatic placement of key regardless
             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 keyword, the key is posi-
             tioned along the outside of the page as shown here.  Keywords
             [1mabove [22mand [1mover [22mare synonymous with [1mtmargin[22m.  Keywords [1mbelow [22mand
             [1munder [22mare synonymous with [1mbmargin[22m.


                       l/tm  c/tm  r/tm

                  t/lm                  t/rm

                  c/lm                  c/rm

                  b/lm                  b/rm

                       l/bm  c/bm  r/bm



             For version compatibility, [1mabove[22m, [1mover[22m, [1mbelow[22m, or [1munder [22mwithout
             any additional l/c/r or stack direction keyword uses [1mcenter [22mand
             [1mhorizontal[22m.  The keyword [1moutside [22mwithout any additional t/b/c
             or stack direction keyword uses [1mtop[22m, [1mright [22mand [1mvertical [22m(i.e.,
             the same as t/rm above).











   GNUPLOT 5.4                                                           200


             The <position> can be a simple x,y,z as in previous versions,
             but these can be preceded by one of five keywords ([1mfirst[22m, [1msec-[0m
             [1mond[22m, [1mgraph[22m, [1mscreen[22m, [1mcharacter[22m) which selects the coordinate
             system in which the position of the first sample line is speci-
             fied.  See [1mcoordinates [22mfor more details.  The effect of [1mleft[22m,
             [1mright[22m, [1mtop[22m, [1mbottom[22m, and [1mcenter [22mwhen <position> is given is to
             align the key as though it were text positioned using the label
             command, i.e., [1mleft [22mmeans left align with key to the right of
             <position>, etc.



             [1m103.38.7.  Key offset[0m


             Regardless of the key placement options chosen, the final posi-
             tion of the key can be adjusted manually by specifying an off-
             set.  As usual, the x and y components of the offset may be
             given in character, graph, or screen coordinates.



             [1m103.38.8.  Key samples[0m


             By default, each plot on the graph generates a corresponding
             entry in the key.  This entry contains a plot title and a sam-
             ple line/point/box of the same color and fill properties as
             used in the plot itself.  The font and textcolor properties
             control the appearance of the individual plot titles that ap-
             pear 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 [1msamplen[22m.
             The sample length is computed as the sum of the tic length and
             <sample_length> times the character width.  It also affects the
             positions of point samples in the key since these are drawn at
             the midpoint of the sample line, even if the 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-spacing>[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 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.












   GNUPLOT 5.4                                                           201


             [1m103.38.9.  Multiple keys[0m


             It is possible to construct a legend/key manually rather than
             having the plot titles all appear in the auto-generated key.
             This allows, for example, creating a single legend for the com-
             ponent panels in a multiplot.
                    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



        [1m103.39.  Label[0m


        Arbitrary labels can be placed on the plot using the [1mset label [22mcom-
        mand.

        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 pre-
        ceded by [1mfirst[22m, [1msecond[22m, [1mpolar[22m, [1mgraph[22m, [1mscreen[22m, or [1mcharacter [22mto indi-
        cate the coordinate system.  See [1mcoordinates [22mfor 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 automati-
        cally.  The tag can be used to delete or modify a specific label.
        To change any attribute of an existing label, use the [1mset label [22mcom-
        mand with the appropriate tag, and specify the parts of the label to
        be changed.











   GNUPLOT 5.4                                                           202


        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 per-
        mitted but may interfere with axis labels or other text.

        Some terminals support enclosing the label in a box.  See [1mset style[0m
        [1mtextbox[22m.  Not all terminals can handle boxes for rotated text.

        If [1mrotate [22mis given, the label is written vertically. If [1mrotate by[0m
        [1m<degrees> [22mis given, the baseline of the text will be set to the
        specified angle.  Some terminals do not support text rotation.

        Font and its size can be chosen explicitly by [1mfont "<name>{,<size>}"[0m
        if the terminal supports font settings.  Otherwise the default font
        of the terminal will be used.

        Normally the enhanced text mode string interpretation, if enabled
        for the current terminal, is applied to all text strings including
        label text.  The [1mnoenhanced [22mproperty can be used to exempt a spe-
        cific label from the enhanced text mode processing.  The can be use-
        ful if the label contains underscores, for example. See [1menhanced[0m
        [1mtext[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 underneath the
        graphed data.  Using [1mfront [22mwill prevent a label from being obscured
        by dense data.

        [1mtextcolor <colorspec> [22mchanges the color of the label text. <color-
        spec> can be a linetype, an rgb color, or a palette mapping. See
        help for [1mcolorspec [22mand [1mpalette[22m.  [1mtextcolor [22mmay be abbreviated [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>.
           `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 cor-
        responding 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 re-
        quire 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










   GNUPLOT 5.4                                                           203


        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 default).

        The displacement defaults to 1,1 in [1mpointsize [22munits if a
        <pointstyle> is given, 0,0 if no <pointstyle> is given.  The dis-
        placement can be controlled by the optional [1moffset <offset> [22mwhere
        <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 select 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[0m
        format string.  See [1mset xdata [22mand [1mset timefmt[22m.

        The options available for [1mset label [22mare also available for the [1mla-[0m
        [1mbels [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 corresponding property of
        individual labels is determined by additional columns in the [1musing[0m
        specifier.





             [1m103.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 "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:










   GNUPLOT 5.4                                                           204


                   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 parame-
             ters, 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 offset
             1,-1

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



             [1m103.39.2.  Hypertext[0m


             Some terminals (wxt, qt, svg, canvas, win) allow you to attach
             hypertext to specific points on the graph or elsewhere 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 nothing. 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










   GNUPLOT 5.4                                                           205


             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 al-
             ways work. Any additional text lines following the image file-
             name are displayed 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



        [1m103.40.  Linetype[0m


        The [1mset linetype [22mcommand allows you to redefine the basic linetypes
        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 [1mreset[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 in-
        cludes uses such as the definition of a temporary linestyle derived
        from the base linetype 1.  Similarly lt 2 will now produce a thick
        green line.

        This mechanism can be used to define a set of personal preferences
        for the sequence of lines used in gnuplot.  The recommended way to
        do this is to add to the run-time initialization 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 continue 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










   GNUPLOT 5.4                                                           206


        output device.

        The command [1mset linetype cycle 8 [22mtells gnuplot to re-use these defi-
        nitions for the color and linewidth of higher-numbered linetypes.
        That is, linetypes 9-16, 17-24, and so on will use this same se-
        quence of colors and widths.  The point properties (pointtype,
        pointsize, pointinterval) are not affected by this command.  [1munset[0m
        [1mlinetype cycle [22mdisables this feature.  If the line properties of a
        higher numbered linetype are explicitly defined, this takes prece-
        dence over the recycled low-number linetype properties.



        [1m103.41.  Link[0m


        Syntax:
              set link {x2 | y2} {via <expression1> inverse <expression2>}
              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 coordi-
        nates onto the secondary axis.  <expression2> maps secondary axis
        coordinates onto the primary axis.

        Examples:

              set link x2

        This is the simplest form of the command. It forces the x2 axis 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 coordi-
        nates 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 <expression2> must use y as dummy variable.



        [1m103.42.  Lmargin[0m


        The command [1mset lmargin [22msets the size of the left margin.  Please
        see [1mset margin [22mfor details.











   GNUPLOT 5.4                                                           207


        [1m103.43.  Loadpath[0m


        The [1mloadpath [22msetting defines additional locations for data and com-
        mand files searched by the [1mcall[22m, [1mload[22m, [1mplot [22mand [1msplot [22mcommands.  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 separator, eg.
        colon (':') on Unix, semicolon (';') on DOS/Windows/OS/2 platforms.
        The [1mshow loadpath[22m, [1msave [22mand [1msave set [22mcommands replace the platform-
        specific separator with a space character (' ').

        If the environment variable GNUPLOT_LIB is set, its contents are ap-
        pended to [1mloadpath[22m.  However, [1mshow loadpath [22mprints the contents of
        [1mset loadpath [22mand GNUPLOT_LIB separately.  Also, the [1msave [22mand [1msave[0m
        [1mset [22mcommands ignore the contents of GNUPLOT_LIB.



        [1m103.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 instal-
        lation.  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 encoding[22m.



        [1m103.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[0m










   GNUPLOT 5.4                                                           208


        in any order.  <base> is the base of the log scaling (default is
        base 10).  If no axes are specified, the command affects 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



        [1m103.46.  Macros[0m


        In this version of gnuplot macro substitution is always enabled.
        Tokens in the command line of the form @<stringvariablename> will be
        replaced by the text string contained in <stringvariablename>. See
        [1msubstitution[22m.



        [1m103.47.  Mapping[0m


        If data are provided to [1msplot [22min spherical or cylindrical coordi-
        nates, the [1mset mapping [22mcommand should be used to instruct [1mgnuplot[0m
        how to interpret them.

        Syntax:
              set mapping {cartesian | spherical | cylindrical}

        A cartesian coordinate system is used by default.

        For a spherical coordinate system, the data occupy two or three
        columns (or [1musing [22mentries).  The first two are interpreted as the
        azimuthal and polar angles theta and phi (or "longitude" and "lati-
        tude"), in the units specified by [1mset angles[22m.  The radius r is taken
        from the third column if there is one, or is set to unity if there
        is no third column.  The mapping is:

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










   GNUPLOT 5.4                                                           209


              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 spherical 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 [22mis used, [1musing[0m
        may still be necessary if the data in the file are not in the re-
        quired order.

        [1mmapping [22mhas no effect on [1mplot[22m.  world.dem: mapping demos.



        [1m103.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 automatically,
        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 mar-
        gin.  A negative value (or none) causes [1mgnuplot [22mto revert 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 origin [22mand [1mset[0m










   GNUPLOT 5.4                                                           210


        [1msize[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.



        [1m103.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 prefix to indi-
        cate "micro" (10^-6).  The [1mset micro [22mcommand tells 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, [1mencoding[22m.

        This command is EXPERIMENTAL. Implementation details may change.




        [1m103.50.  Minussign[0m


        Gnuplot uses the C language library routine sprintf() for most for-
        matted input.  However it also has its own formatting routine
        [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 typo-
        graphic 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 hy-
        phen in numeric output. In a utf-8 locale this is the multibyte se-
        quence corresponding to unicode U+2212.  In a Window codepage 1252
        locale this is the 8-bit character ALT+150 ("en dash").  The [1mset mi-[0m
        [1mnussign [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 La-
        TeX terminals, as LaTeX has its own mechanism for handling minus
        signs.  It also is not necessary when using the postscript terminal










   GNUPLOT 5.4                                                           211


        because the postscript prologue output by gnuplot 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 contain a
        hyphen
             print gprintf("A = %g",A)      # printed string will contain
        character U+2212
             set label "V = -5"             # label will contain a hyphen
             set label sprintf("V = %g",-5) # label will contain a hyphen
             set label gprintf("V = %g",-5) # label will contain character
        U+2212



        [1m103.51.  Monochrome[0m


        Syntax:
             set monochrome {linetype N <linetype properties>}

        The [1mset monochrome [22mcommand selects an alternative set of linetypes
        that differ by dot/dash pattern or line width rather than by color.
        This command replaces the monochrome option offered by certain ter-
        minal types in earlier versions of gnuplot.  For backward compati-
        bility these terminal types now implicitly invoke "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 draw-
        ing lines using RGB or palette colors, but see also [1mset palette[0m
        [1mgray[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 re-
        store the usual set of color linetypes, use either [1munset monochrome[0m
        or [1mset color[22m.



        [1m103.52.  Mouse[0m


        The command [1mset mouse [22menables mouse actions for the current interac-
        tive terminal.  It is usually enabled by default in interactive










   GNUPLOT 5.4                                                           212


        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
        changed with mouse buttons 1 and 2, respectively. A vertical motion
        of Button 2 with the shift key held down changes the [1mxyplane[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 lat-
        ter 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 default, 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 (dis-
        tance and angle in degrees or tangent (slope)). This corresponds 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 [1mlabeloptions [22mstring is passed
        to the [1mset label [22mcommand.  The default is "point pointstyle 1" which
        will plot a small plus at the label position.  Temporary labels will
        disappear at the next [1mreplot [22mor mouse zoom operation.  Persistent










   GNUPLOT 5.4                                                           213


        labels can be removed by holding the Ctrl-Key down while clicking
        Button 2 on the label's point. The threshold for how close you must
        be to the label 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[0m
        in the driver's window. [1mverbose [22mis off by default.

        Press 'h' in the driver's window for a short summary of the mouse
        and key bindings.  This will also display user defined bindings or
        [1mhotkeys [22mwhich can be defined using the [1mbind [22mcommand, see help for
        [1mbind[22m.  Note, that user defined [1mhotkeys [22mmay override the default
        bindings.  See also help for [1mbind [22mand [1mlabel[22m.




             [1m103.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.



             [1m103.52.2.  Format[0m


             The [1mset mouse format [22mcommand specifies a format string for
             sprintf() which determines how the mouse cursor [x,y] coordi-
             nates are printed to the plot window and to the clipboard.  The
             default is "% #g".

             This setting is superseded by "set mouse mouseformat".



             [1m103.52.3.  Mouseformat[0m


             Syntax:
                  set mouse mouseformat i
                  set mouse mouseformat "custom format"
                  set mouse mouseformat function string_valued_function(x,
             y)
             This command controls the format used to report the current
             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.











   GNUPLOT 5.4                                                           214


             Use of a custom function returning a string is EXPERIMENTAL.
             It allows readout of coordinate systems in which inverse map-
             ping from screen coordinates to plot coordinates requires joint
             consideration of both x and y.  See for example the map_projec-
             tion demo.

             Example:
                  `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>`



             [1m103.52.4.  Scrolling[0m


             X and Y axis scaling in both 2D and 3D graphs can be adjusted
             using the mouse wheel.  <wheel-up> scrolls up (increases 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 (decreases 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.



             [1m103.52.5.  X11 mouse[0m


             If multiple X11 plot windows have been opened using the [1mset[0m
             [1mterm 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 coordi-
             nates at the lower left.













   GNUPLOT 5.4                                                           215


             [1m103.52.6.  Zoom[0m


             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 operations.

             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 auto-
             matically offset a small distance after starting a zoom region
             with button 3. This can be useful to avoid a tiny (or even
             empty) zoom region. [1mzoomjump [22mis off by default.




        [1m103.53.  Mttics[0m


        Minor tic marks around the perimeter of a polar plot are controlled
        by by [1mset mttics[22m. Please see [1mset mxtics[22m.



        [1m103.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>} {enhanced|noen-
        hanced} }
                  { 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 [1munset[0m
        [1mmultiplot [22mis given, which causes the entire page to be drawn and
        then returns gnuplot to its normal single-plot mode.  For other










   GNUPLOT 5.4                                                           216


        terminals, each separate [1mplot [22mcommand produces an updated 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 coordi-
        nates 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 time[22m/[1munset time [22mpair around one of the
        [1mplot[22m, [1msplot [22mor [1mreplot [22mcommands within the [1mset multiplot[22m/[1munset multi-[0m
        [1mplot [22mblock.

        The multiplot title is separate from the individual plot titles, 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 posi-
        tion each plot if no layout is specified or if fine tuning is de-
        sired.  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 display device, e.g., perhaps quite
        different on a video display and a printer.

        With the [1mlayout [22moption you can generate simple multiplots without
        having to give the [1mset size [22mand [1mset origin [22mcommands before each
        plot:  Those are generated automatically, but can be overridden 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 corresponding option is given
        in the multiplot command.  The stack of plots can grow [1mdownwards [22mor
        [1mupwards[22m.  Default is [1mrowsfirst [22mand [1mdownwards[22m.  The commands [1mset mul-[0m
        [1mtiplot next [22mand [1mset multiplot previous [22mare relevant only in the










   GNUPLOT 5.4                                                           217


        context of using the layout option.  [1mnext [22mskips the next position in
        the grid, leaving a blank space. [1mprev [22mreturns to the grid position
        immediately 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[0m
        [1mlayout[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 multi-
        plot 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, otherwise two differ-
        ent values can be selected.

        If one value has no unit, the one of the preceding margin setting is
        used.

        Example:
              set multiplot layout 2,2 margins 0.1, 0.9, 0.1, 0.9 spacing
        0.0

        In this case the two left-most subplots will have left boundaries 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 superim-
        pose.

        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 subplots
        is 5 character widths from the left edge of the canvas, 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










   GNUPLOT 5.4                                                           218


        gap between the two columns of subplots. The vertical gap between
        subplots is equal to 2 character 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)



        [1m103.55.  Mx2tics[0m


        Minor tic marks along the x2 (top) axis are controlled by [1mset[0m
        [1mmx2tics[22m.  Please see [1mset mxtics[22m.



        [1m103.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 either two or
        five depending on the major tics, so there are one or four minor
        tics between major tics). Selecting [1mdefault [22mwill 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.  However the










   GNUPLOT 5.4                                                           219


        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 uni-
        formly spaced major tics.  If all major tics were placed explicitly
        by [1mset {x|x2|y|y2|z}tics[22m, then minor tic commands are ignored.  Im-
        plicit major tics and explicit minor tics can be combined using [1mset[0m
        [1m{x|x2|y|y2|z}tics [22mand [1mset {x|x2|y|y2|z}tics add[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 logarith-
        mic axes.  They inherit the settings for [1maxis|border [22mand [1m{no}mirror[0m
        specified for the major tics.  Please see [1mset xtics [22mfor information
        about these.



        [1m103.57.  My2tics[0m


        Minor tic marks along the y2 (right-hand) axis are controlled by [1mset[0m
        [1mmy2tics[22m.  Please see [1mset mxtics[22m.



        [1m103.58.  Mytics[0m


        Minor tic marks along the y axis are controlled by [1mset mytics[22m.
        Please see [1mset mxtics[22m.
















   GNUPLOT 5.4                                                           220


        [1m103.59.  Mztics[0m


        Minor tic marks along the z axis are controlled by [1mset mztics[22m.
        Please see [1mset mxtics[22m.



        [1m103.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.

        Example:

              logit(p) = log(p/(1-p))
              logistic(a) = 1. / (1. + exp(-a))
              set xrange [.001 : .999]










   GNUPLOT 5.4                                                           221


              set nonlinear y via logit(y) inverse logistic(y)
              plot logit(x)

        This example establishes a logit-scaled y axis such that plotting
        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.



        [1m103.61.  Object[0m


        The [1mset object [22mcommand defines a single object which will appear in
        subsequent plots. You may define as many objects as you like. Cur-
        rently the supported object types are [1mrectangle[22m, [1mcircle[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 rec-[0m
        [1mtangle[22m, but each object can also be given individual style proper-
        ties. 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 coordi-
        nates.

        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>}
            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










   GNUPLOT 5.4                                                           222


        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 be-
        hind all plot curves and labels. Setting [1mbehind [22mwill place the ob-
        ject 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>. [1mfill-[0m
        [1mcolor [22mmay be abbreviated [1mfc[22m.  The fill style is taken from <fill-
        style>.  See [1mcolorspec [22mand [1mfillstyle[22m.  If the keyword [1mdefault [22mis
        given, these properties are inherited from the default settings at
        the time a plot is drawn. See [1mset style rectangle[22m.




             [1m103.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[0m
             and [1mcenter [22mare synonyms.

             Examples:
                 # Force the entire area enclosed by the axes to have back-
             ground 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

                 # Position a red square with lower left at 0,0 and upper
             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"











   GNUPLOT 5.4                                                           223


                 # Return fill and color to the default style but leave ver-
             tices unchanged
                 set object 2 rect default

             Rectangle corners specified in screen coordinates may extend
             beyond the edge of the current graph. Otherwise the rectangle
             is clipped to fit in the graph.




             [1m103.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 synonyms.  The cen-
             ter position may be given in axis, graph, or screen coordi-
             nates. See [1mcoordinates[22m. The major and minor axis lengths must
             be given in axis coordinates.  The orientation of the ellipse
             is specified by the angle between the horizontal axis and the
             major diameter of the ellipse.  If no angle is given, the de-
             fault ellipse orientation will be used instead (see [1mset style[0m
             [1mellipse[22m).  The [1munits [22mkeyword controls the scaling of the axes
             of the ellipse. [1munits xy [22mmeans that the major axis is inter-
             preted 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 el-
             lipses are scaled in the units of the x axis, while [1munits yy[0m
             means 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 xy [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 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 aspect ratio of your plot
             is not 1.  If [1munits [22mis set to [1mxy[22m, then 'set object ellipse' in-
             terprets 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










   GNUPLOT 5.4                                                           224


             correct aspect ratio, and it will maintain its aspect ratio
             even if the plot is resized.




             [1m103.61.3.  Circle[0m


             Syntax:
                 set object <index> circle {at|center} <position> size <ra-
             dius>
                     {arc [<begin>:<end>]} {no{wedge}}
                     {<other-object-properties>}

             The position of the circle is specified by giving the position
             of the center center followed by the radius.  The keywords [1mat[0m
             and [1mcenter [22mare synonyms.  In 2D plots the position and radius
             may be given in any coordinate system.  See [1mcoordinates[22m. Cir-
             cles in 3D plots cannot use graph coordinates.  In all cases
             the radius is calculated relative to the horizontal scale of
             the axis, graph, or canvas.  Any disparity between the horizon-
             tal and vertical scaling will be corrected for so that the re-
             sult is always a circle.  If you want to draw a circle in plot
             coordinates (such that it will appear as an ellipse if the hor-
             izontal and vertical scales are different), use [1mset object el-[0m
             [1mlipse [22minstead.

             By default a full circle is drawn. The optional qualifier [1marc[0m
             specifies a starting angle and ending angle, in degrees, for
             one arc of the circle.  The arc is always drawn counterclock-
             wise.

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




             [1m103.61.4.  Polygon[0m


             Syntax:
                 set object <index> polygon
                     from <position> to <position> ... {to <position>}
             or
                     from <position> rto <position> ... {rto <position>}

             The position of the polygon may be specified by giving the po-
             sition of a sequence of vertices. These may be given in any co-
             ordinate system.  If relative coordinates are used (rto) then
             the coordinate type must match that of the previous vertex.
             See [1mcoordinates[22m.











   GNUPLOT 5.4                                                           225


             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




                  [1m103.61.4.1.  Depthorder[0m


                  The option [1mset object N depthorder [22mapplies to 3D polygon
                  objects only.  Rather than assigning the object to layer
                  front/back/behind it is included in the list of pm3d quad-
                  rangles sorted and rendered in order of depth by [1mset pm3d[0m
                  [1mdepthorder[22m.  As with pm3d surfaces, two-sided coloring can
                  be generated by specifying 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.



        [1m103.62.  Offsets[0m


        Autoscaling sets the x and y axis ranges to match the coordinates of
        the data that is plotted.  Offsets provide a mechanism to expand
        these ranges to leave empty space between the data and the plot bor-
        ders.  Autoscaling then further extends each range to reach the next
        axis tic unless this has been suppressed by [1mset autoscale noextend[0m
        or [1mset xrange noextend[22m.  See [1mnoextend[22m.  Offsets affect only scaling
        for the x1 and y1 axes.

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

        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 offsets as a fraction of
        the total graph dimension by using the keyword "graph". Only "graph"
        offsets are possible for nonlinear axes.

        A positive offset expands the axis range in the specified direction,
        e.g.  a positive bottom offset makes ymin more negative.  Negative
        offsets interact badly with autoscaling and clipping.

        Example:
              set autoscale noextend










   GNUPLOT 5.4                                                           226


              set offsets graph 0.05, 0, 2, 2
              plot sin(x)

        This graph of sin(x) will have y range [-3:3] because the function
        will be autoscaled to [-1:1] and the vertical offsets add 2 at each
        end of the range.  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 to-
        tal range.



        [1m103.63.  Origin[0m


        The [1mset origin [22mcommand is used to specify the origin of a plotting
        surface (i.e., the graph and its margins) on the screen.  The coor-
        dinates are given in the [1mscreen [22mcoordinate system (see [1mcoordinates[0m
        for information about this system).

        Syntax:
              set origin <x-origin>,<y-origin>



        [1m103.64.  Output[0m


        By default, screens are displayed to the standard output. The [1mset[0m
        [1moutput [22mcommand redirects the display to the specified file or de-
        vice.

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

        The filename must be enclosed in quotes.  If the filename is omit-
        ted, any output file opened by a previous invocation of [1mset output[0m
        will 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 terminal
        output.  For instance,

              set output "|lpr -Plaser filename"
              set term png; set output "|display png:-"










   GNUPLOT 5.4                                                           227


        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.



        [1m103.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) in-
        teger evaluation preserves more precision than evaluation using IEEE
        754 floating point arithmetic.  However unlike the IEEE floating
        point representation, which sacrifices precision to span a total
        range of roughly [-10^307 : 10^307], integer operations that result
        in values outside the range [-2^63 : 2^63] overflow.  The [1mset over-[0m
        [1mflow [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 integer. 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 handling.

        Earlier gnuplot versions were limited to 32-bit arithmetic and ig-
        nored integer overflow.  Note, however, that some built-in operators
        did not use integer arithmetic at all, even when given integer argu-
        ments. This included the exponentiation operator N**M and the summa-
        tion operator (see [1msummation[22m).  These operations now return an inte-
        ger value when given integer arguments, making them potentially sus-
        ceptible to overflow and thus affected by the state of [1mset overflow[22m.




             [1m103.65.1.  Float[0m


             If an integer arithmetic expression overflows the limiting
             range, [-2^63 : 2^63] for 64-bit integers, the result is re-
             turned as a floating point value instead.  This is not treated
             as an error.  Example:
                  gnuplot> set overflow float










   GNUPLOT 5.4                                                           228


                  gnuplot> A = 2**62 - 1;  print A, A+A, A+A+A
                  4611686018427387903 9223372036854775806
             1.38350580552822e+19



             [1m103.65.2.  NaN[0m


             If an integer arithmetic expression overflows the limiting
             range, [-2^63 : 2^63] for 64-bit integers, the result is re-
             turned 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



             [1m103.65.3.  Undefined[0m


             If an integer arithmetic expression overflows the limiting
             range, [-2^63 : 2^63] for 64-bit integers, the result is unde-
             fined.  This is treated as an error.  Example:
                  gnuplot> set overflow undefined
                  gnuplot> A = 10**19
                               ^
                           undefined value



             [1m103.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 dur-
             ing evaluation.

             The [1mset overflow [22mstate does not affect logical or bit opera-
             tions
                  << >>  | ^ &

             If overflow occurs at any point during the course of evaluating
             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.












   GNUPLOT 5.4                                                           229


        [1m103.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 palette are au-
        tomatically mapped from plot coordinates z values or an extra data
        column of gray values.  Palette colors also can be accessed explic-
        itly in a color specification (see [1mcolorspec[22m) The current palette is
        shown by default in a separate [1mcolorbox [22mdrawn 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> <col-
        orN>}... ) }
                           | file '<filename>' {datafile-modifiers}
                           | functions <R>,<G>,<B>
                         }
                         { cubehelix {start <val>} {cycles <val>} {satura-
        tion <val>} }
                         { model { RGB | HSV | CMY } }
                         { positive | negative }
                         { nops_allcF | ps_allcF }
                         { maxcolors <maxcolors> }
                       }
              show palette
              show palette palette <n> {{float | int}}
              show palette gradient
              show palette fit2rgbformulae
              show palette rgbformulae
              show colornames

        [1mset palette [22m(i.e. without options) sets up the default values.  Oth-
        erwise, the options can be given in any order.  [1mshow palette [22mshows
        the current palette properties.

        [1mshow palette gradient [22mdisplays the gradient defining the palette (if
        appropriate).  [1mshow palette rgbformulae [22mprints the available fixed
        gray --> color transformation formulae.  [1mshow colornames [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 colors.  The de-
        fault 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, respec-
        tively.  This way, the current gnuplot color palette can be loaded










   GNUPLOT 5.4                                                           230


        into other imaging applications, for example Octave.  Alternatively,
        the [1mtest palette [22mcommand will plot the R,G,B profiles for the cur-
        rent 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 map-
        ping the averaged z-coordinate of the 4 corners of surface quadran-
        gles 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:  Analytic
        formulae to convert gray to color, or discrete mapping tables which
        are interpolated.  [1mpalette rgbformulae [22mand [1mpalette functions [22muse an-
        alytic formulae whereas [1mpalette defined [22mand [1mpalette file [22muse inter-
        polated tables.  [1mpalette rgbformulae [22mreduces the size of postscript
        output to a minimum.

        The command [1mshow palette fit2rgbformulae [22mfinds the best matching [1mset[0m
        [1mpalette rgbformulae [22mfor the current [1mset palette[22m. Naturally, 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
        ).

        [1mset palette gray [22mswitches to a gray only palette. [1mset palette rgb-[0m
        [1mformulae[22m, [1mset palette defined[22m, [1mset palette file [22mand [1mset palette[0m
        [1mfunctions [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 [22mcolor palette
        schemes.  Gamma = 1 produces a linear ramp of intensity. See [1mtest[0m
        [1mpalette[22m.

        Many terminals support only discrete number of colors (e.g. 256 col-
        ors in gif).  After the default gnuplot linetype colors are allo-
        cated, the rest of the available colors are by default reserved 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 palette maxcolors <N> [22mwith
        a reasonably small value of N.  This option causes N discrete colors
        to be selected from a continuous palette sampled at equally spaced
        intervals.  If you want unequal spacing of N discrete colors, use
        [1mset palette defined [22minstead 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 [22mto one of [1mRGB[22m,
        [1mHSV[22m, [1mCMY[22m.  Using color names for [1mset palette defined [22mtables and a










   GNUPLOT 5.4                                                           231


        color space other than RGB will result in funny colors.  All expla-
        nation have been written for RGB color space, so please note, that [1mR[0m
        can be [1mH[22m, or [1mC[22m, depending on the actual color space ([1mG [22mand [1mB [22maccord-
        ingly).

        All values for all color spaces are limited to [0,1].

        RGB stands for Red, Green, Blue;  CMY stands for Cyan, Magenta, Yel-
        low; HSV stands for Hue, Saturation, Value.  For more information on
        color models see:
                  http://en.wikipedia.org/wiki/Color_space
        Note: Earlier gnuplot versions accepted YIQ and XYZ color space mod-
        els also, but the implementation was never complete or correct.





             [1m103.66.1.  Rgbformulae[0m


             For [1mrgbformulae [22mthree suitable mapping functions have to be
             chosen.  This is done via [1mrgbformulae <r>,<g>,<b>[22m.  The avail-
             able mapping functions are listed by [1mshow palette rgbformulae[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 [1m3,-11,-6[22m, mean inverted color
             (i.e.  1-gray passed into the formula, see also [1mpositive [22mand
             [1mnegative [22moptions below).

             Some nice schemes in RGB color space
                7,5,15   ... traditional pm3d (black-blue-red-yellow)
                3,11,6   ... green-red-violet
                23,28,3  ... ocean (green-blue-white); try also all other
             permutations
                21,22,23 ... hot (black-red-yellow-white)
                30,31,32 ... color printable on gray (black-blue-violet-yel-
             low-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 matching rg-
             bformulae for any other color scheme by the command
                show palette fit2rgbformulae











   GNUPLOT 5.4                                                           232


             [1m103.66.2.  Defined[0m


             Gray-to-rgb mapping can be manually set by use of [1mpalette de-[0m
             [1mfined[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 interpolation 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
             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 se-
             lected as color space.  Use [1mshow colornames [22mfor a list of known
             color names.

             Please note, that even if written as <r>, this might actually
             be the <H> component in HSV color space depending on the se-
             lected 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 [22mto display the gra-
             dient.

             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:










   GNUPLOT 5.4                                                           233


                   set palette defined ( 0 "blue", 3 "green", 6 "yellow", 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 colors:
                   set palette model RGB maxcolors 4
                   set palette defined ( 0 "yellow", 1 "red" )

             'Traffic light' palette (non-smooth color jumps at gray = 1/3
             and 2/3).
                   set palette model RGB
                   set palette defined (0 "dark-green", 1 "green", \
                                        1 "yellow",     2 "dark-yellow", \
                                        2 "red",        3 "dark-red" )




             [1m103.66.3.  Functions[0m


             Use [1mset palette functions <Rexpr>, <Gexpr>, <Bexpr> [22mto define
             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 produce 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),










   GNUPLOT 5.4                                                           234


             color(gray)



             [1m103.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.



             [1m103.66.5.  Cubehelix[0m


             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 monotonically 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 radi-
             ans.  [1mcycles [22mdefines how many color wheel cycles span the
             palette range.  Larger values of [1msaturation [22mproduce more satu-
             rated color; saturation > 1 may lead to clipping of the indi-
             vidual RGB components and to intensity becoming non-monotonic.
             The palette is also affected by [1mset palette gamma[22m.  The default
             values are
                   set palette cubehelix start 0.5 cycles -1.5 saturation 1
                   set palette gamma 1.5




             [1m103.66.6.  File[0m


             [1mset palette file [22mis basically a [1mset palette defined (<gradi-[0m
             [1ment>) [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 modifiers 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 [22mon a line
             of its own.

             Use [1mshow palette gradient [22mto display the gradient.

             Examples:










   GNUPLOT 5.4                                                           235


             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 general[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 using
             1:2:3





             [1m103.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 explicit color func-
             tions.

             Example:
                   set palette model RGB
                   set palette functions gray**0.64, gray**0.67, gray**0.70

             To use gamma correction with interpolated gradients specify in-
             termediate gray values with appropriate colors.  Instead of

                   set palette defined ( 0 0 0 0, 1 1 1 1 )

             use e.g.

                   set palette defined ( 0 0 0 0, 0.5 .73 .73 .73, 1 1 1 1 )

             or even more intermediate points until the linear interpolation
             fits the "gamma corrected" interpolation well enough.














   GNUPLOT 5.4                                                           236


             [1m103.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 written to the
             file.  Therefore the analytical formulae are coded directly in
             the postscript language as a header just before the pm3d draw-
             ing, see /g and /cF definitions.  Usually, it makes sense to
             write therein definitions of only the 3 formulae used.  But for
             multiplot or any other reason you may want to manually edit the
             transformations directly 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 in-
             teresting 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 [1mmultiplot [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 en-
             closed awk script [1mpm3dCompress.awk[22m.  If the data lies on a rec-
             tangular grid, even greater compression may be possible using
             the script [1mpm3dConvertToImage.awk[22m.  Usage:
                 awk -f pm3dCompress.awk thefile.ps >smallerfile.ps
                 awk -f pm3dConvertToImage.awk thefile.ps >smallerfile.ps




        [1m103.67.  Parametric[0m


        The [1mset parametric [22mcommand changes the meaning of [1mplot [22m([1msplot[22m) from
        normal functions to parametric functions.  The command [1munset para-[0m
        [1mmetric [22mrestores the plotting style to normal, single-valued expres-
        sion 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 cir-
        cle (if the aspect ratio is set correctly---see [1mset size[22m).  [1mgnuplot[0m
        will 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 required.  An example
        of a 3D parametric function would be
        [1mcos(u)*cos(v),cos(u)*sin(v),sin(u)[22m, which draws a sphere.  [1mgnuplot[0m










   GNUPLOT 5.4                                                           237


        will display an error message if all three functions are not pro-
        vided 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 type t,f(t) are
        equivalent to those produced with f(x) because the x values are com-
        puted using the identity function.  Similarly, 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 xfunc-
        tion, yfunction (and zfunction) and that each operates over the com-
        mon parametric domain.

        Also, the [1mset parametric [22mfunction implies a new range of values.
        Whereas the normal f(x) and f(x,y) style plotting assume an xrange
        and yrange (and zrange), the parametric mode additionally specifies
        a trange, urange, and vrange.  These ranges may be set directly with
        [1mset trange[22m, [1mset urange[22m, and [1mset vrange[22m, or by specifying the range
        on the [1mplot [22mor [1msplot [22mcommands.  Currently the default range for
        these parametric variables is [-5:5].  Setting the ranges to some-
        thing more meaningful is expected.



        [1m103.68.  Paxis[0m


        Syntax:
              set paxis <axisno> {range <range-options> | tics <tic-op-
        tions>}
              set paxis <axisno> label <label-options> { offset <radial-off-
        set> }
              show paxis <axisno> {range | tics}
        The [1mset paxis [22mcommand is equivalent to the [1mset xrange [22mand [1mset xtics[0m
        commands except that it acts on one of the axes p1, p2, ... used in
        parallel axis plots and spiderplots.  See [1mparallelaxes[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 spiderplots
        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 xtics[22m.

        The axis linetype properties are controlled using [1mset style paralle-[0m
        [1mlaxis[22m.















   GNUPLOT 5.4                                                           238


        [1m103.69.  Pixmap[0m


        Syntax:
              set pixmap <index> "filename" at <position>
                         {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 defines
        an object that will appear on subsequent plots. The rectangular ar-
        ray 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 coordinates given by [1mat <position>[0m
        refer to the lower left corner of the pixmap unless keyword [1mcenter[0m
        is present.

        If the x-extent of the rendered pixmap is set using [1mwidth <x-extent>[0m
        the 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-extent is set using [1mheight[0m
        [1m<y-extent>[22m.  If both the x-extent and y-extent are given using [1msize[0m
        [1m<x-extent> <y-extent> [22mthis overrides the original aspect ratio.  If
        no size is set then the original size in pixels is used (the effec-
        tive size is then terminal-dependent).

        Pixmaps are not clipped to the border of the plot.  As an exception
        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 plotted
              # 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                                                           239


        [1m103.70.  Plot[0m


        The [1mshow plot [22mcommand shows the current plotting command as it re-
        sults from the last [1mplot [22mand/or [1msplot [22mand possible subsequent [1mreplot[0m
        commands.

        In addition, the [1mshow plot add2history [22mcommand adds this current
        plot command into the [1mhistory[22m. It is useful if you have used [1mreplot[0m
        to add more curves to the current plot and you want to edit the
        whole command now.



        [1m103.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 gridded or non-
        gridded data without preprocessing. pm3d style options 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 | scansbackward
                                          | 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>}
                         }
                         { {no}border {retrace} {<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 option.

        The pm3d surfaces can be projected onto the [1mtop [22mor [1mbottom [22mof the










   GNUPLOT 5.4                                                           240


        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.




             [1m103.71.1.  Implicit[0m


             A pm3d color surface is drawn if the splot command specifies
             [1mwith pm3d[22m, if the data or function [1mstyle [22mis set to pm3d glob-
             ally, or if the pm3d mode is [1mset pm3d implicit[22m.  In the latter
             two cases, the pm3d surface is draw in addition 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 [22mis 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 option) change
             the mode to [1mimplicit[22m.  The command [1mset pm3d; [22msets 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.



             [1m103.71.2.  Algorithm[0m



             Let us first describe how a map/surface is drawn.  The input
             data come from an evaluated function or from an [1msplot data[0m
             [1mfile[22m.  Each surface consists of a sequence of separate scans
             (isolines).  The pm3d algorithm fills the region between two
             neighbouring points in one scan with another two points in the
             next scan by a gray (or color) according to z-values (or ac-
             cording to an additional 'color' column, see help for [1musing[22m) of
             these 4 corners; by default the 4 corner values are averaged,










   GNUPLOT 5.4                                                           241


             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 differ too much; of course, the best plot is with scans
             having same number of points.  There are no other requirements
             (e.g. the data need not be gridded).  Another advantage is that
             the pm3d algorithm does not draw anything outside of the input
             (measured or calculated) region.

             Surface coloring works with the following input data:

             1. splot of function or of data file with one or three data
             columns: The gray/color scale is obtained by mapping the aver-
             aged (or [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 directly as
             the gray for gray maps.  The normalized gray value can be fur-
             ther mapped into a color---see [1mset palette [22mfor the complete de-
             scription.

             2. splot of data file with two or four data columns: The
             gray/color value is obtained by using the last-column coordi-
             nate instead of the z-value, thus allowing the color and the z-
             coordinate be mutually independent.  This can be used for 4d
             data drawing.

             Other notes:

             1. The term 'scan' referenced above is used more among physi-
             cists than the term 'iso_curve' referenced in gnuplot documen-
             tation and sources.  You measure maps recorded one scan after
             another scan, that's why.

             2. The 'gray' or 'color' scale is a linear mapping of a contin-
             uous variable onto a smoothly varying palette of colors. The
             mapping is shown in a rectangle next to the main plot. This
             documentation refers to this as a "colorbox", and refers to the
             indexing variable as lying on the colorbox axis.  See [1mset col-[0m
             [1morbox[22m, [1mset cbrange[22m.



             [1m103.71.3.  Lighting[0m


             By default the colors assigned to pm3d objects are not depen-
             dent on orientation or viewing angle. This state corresponds to
             [1mset pm3d nolighting[22m.  The command [1mset pm3d lighting [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 lighting primary <fraction>[22m.  Inclusion










   GNUPLOT 5.4                                                           242


             of specular highlighting can be adjusted by setting a frac-
             tional contribution:
                  set pm3d lighting primary 0.50 specular 0.0   # no high-
             lights
                  set pm3d lighting primary 0.50 specular 0.6   # strong
             highlights
             Solid-color pm3d surfaces tend to look very flat without specu-
             lar highlights.  Since the highlights from a single source only
             affect one side of the surface, a second spotlight source may
             be desirable to add specular highlights from the opposite di-
             rection.  This is controlled by "spec2 <contribution>".  EXPER-
             IMENTAL (details may change in a future version): The second
             spotlight is a pure red light source that by default con-
             tributes nothing (spec2 0.0).  See also hidden_compare.dem
             (comparison of hidden3d and pm3d treatment of solid-color sur-
             faces)



             [1m103.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 [22moption with a
             string of up to 6 combinations of [1mb[22m, [1mt [22mand [1ms[22m. For instance, [1mat[0m
             [1mb [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 plot-
             ting surfaces ([1mat s[22m), the later quadrangles overlap (overdraw)
             the previous ones.  (Gnuplot is not virtual reality tool to
             calculate intersections of filled polygon meshes.)  You may try
             to switch between [1mscansforward [22mand [1mscansbackward [22mto force the
             first scan of the data to be plotted first or last.  The de-
             fault is [1mscansautomatic [22mwhere gnuplot makes a guess about scans
             order.  On the other hand, the [1mdepthorder [22moption completely re-
             orders the quadrangles. The rendering is performed after a
             depth sorting, which allows to visualize even complicated sur-
             faces; see [1mpm3d depthorder [22mfor more details.



             [1m103.71.5.  Scanorder[0m


                  set pm3d {scansautomatic | scansforward | scansbackward |
             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










   GNUPLOT 5.4                                                           243


             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 quad-
             rangles from the beginning of both scans ([1mflush begin[22m), from
             their ends ([1mflush end[22m) or to center them ([1mflush center[22m).  Note,
             that [1mflush (center|end) [22mare incompatible with [1mscansautomatic[22m:
             if you specify [1mflush center [22mor [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 triangles 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 sur-
             faces, but often it is sufficient to render the component quad-
             rangles 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 results
             when applied to the long thin rectangles generated by [1msplot[0m
             [1mwith 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




             [1m103.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 quad-
             rangles 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 clip1in[22m).  The options [1mclip[22m,










   GNUPLOT 5.4                                                           244


             [1mclip1in[22m, and [1mclip4in [22mare mutually exclusive.

             Separate from clipping based on spatial x, y, and z coordi-
             nates, quadrangles can be rendered or not based on extreme
             palette color values.  [1mclipcb[22m: (default) palette color values <
             cbmin are clipped to equal cbmin; palette color values > cbmax
             are clipped to equal cbmax.  [1mnoclipcb[22m: quadrangles with color
             value outside cbrange are not drawn at all.




             [1m103.71.7.  Color_assignment[0m


             The default pm3d coloring assigns an individual color to each
             quadrangle of the surface grid.  For alternative coloring
             schemes that assign uniform color to the entire surface, see
             [1mpm3d fillcolor[22m.

             A single gray/color value (i.e. not a gradient) is assigned to
             each quadrangle.  This value is calculated from the z-coordi-
             nates the four quadrangle corners according to [1mcorners2color[0m
             [1m<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 [22mcommand.

             If a fourth column of data is provided, the coloring of indi-
             vidual 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 instead 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

             Notice that ranges of z-values and color-values for surfaces
             are adjustable independently by [1mset zrange[22m, [1mset cbrange[22m, [1mset[0m
             [1mlog z[22m, [1mset log cb[22m, etc.



             [1m103.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 'me-
             dian' produce various kinds of surface color smoothing, while
             options 'min' and 'max' choose minimal or maximal value, re-
             spectively. 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.










   GNUPLOT 5.4                                                           245


             Some experimentation may be needed to determine which corner
             corresponds to 'c1', as the orientation depends on the drawing
             direction.  Because the pm3d algorithm does not extend the col-
             ored surface outside the range of the input data points, the
             'c<j>' coloring options will result in pixels along two edges
             of the grid not contributing to the color of any quadrangle.
             For example, applying the pm3d algorithm to the 4x4 grid of
             data points in script [1mdemo/pm3d.dem [22m(please have a look) pro-
             duces only (4-1)x(4-1)=9 colored rectangles.



             [1m103.71.9.  Border[0m


                  set pm3d border {retrace} {line-properties}
                  set pm3d noborder

             This option draws bounding lines around each pm3d quadrangle as
             it is rendered.  Additional line properties (linetype, color,
             linewidth) are optional.  By default the border is drawn as a
             solid black line with width 1.

             [1mset pm3d border retrace [22mcauses a border to be drawn in the same
             color as the quadrangle.  In principle this should give the
             same result as [1mnoborder[22m, but some output modes can suffer from
             antialiasing artifacts between adjacent filled quadrangles. Re-
             tracing the border hides these artifacts, at the cost of a
             larger output file.



             [1m103.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 entire pm3d sur-
             face.  See [1mcolorspec[22m.  Most fillcolor specifications will re-
             sult in a single solid color, which is hard to interpret visu-
             ally unless there is also a lighting model present to distin-
             guish surface components based on orientation.  See [1mpm3d light-[0m
             [1ming[22m.

             There are a few special cases.  [1mwith pm3d fillcolor palette[0m
             would produce the same result as the default pm3d palette-based
             coloring, and is therefore not a useful option. [1mwith pm3d fill-[0m
             [1mcolor linestyle N [22mis more interesting.  This variant assigns
             distinct colors to the top and bottom of the pm3d surface, sim-
             ilar 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










   GNUPLOT 5.4                                                           246


             scan order, so that the colors are inverted for [1mpm3d scansback-[0m
             [1mward [22mas compared to [1mpm3d scansforward[22m.  This coloring option
             works best with [1mpm3d depthorder[22m, however, which unfortunately
             does not allow you to control the scan order so you may have to
             instead swap the colors defined for linestyles N and N+1.



             [1m103.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 sur-
             face.  When working with functions, interpolation makes little
             sense.  It would usually make more sense to increase [1msamples[0m
             and [1misosamples[22m.

             For positive m and n, each quadrangle or triangle is interpo-
             lated m-times and n-times in the respective direction.  For
             negative m and n, the interpolation frequency is chosen so that
             there will be at least |m| and |n| points drawn; you can con-
             sider this as a special gridding function.

             Note: [1minterpolate 0,0[22m, will automatically choose an optimal
             number of interpolated surface points.

             Note: Currently color interpolation is always linear, even if
             corners2color is set to a nonlinear scheme such as the geomet-
             ric mean.



             [1m103.71.12.  Deprecated_options[0m


             The deprecated option [1mset pm3d map [22mwas equivalent to [1mset pm3d[0m
             [1mat b; set view map; set style data pm3d; set style func pm3d;[0m

             The deprecated option [1mset pm3d hidden3d N [22mwas equivalent to [1mset[0m
             [1mpm3d border ls N[22m.



        [1m103.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.










   GNUPLOT 5.4                                                           247


        It is a multiplier for the default radius, which is equal to the
        point size.



        [1m103.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 [22mcommand.
        See [1mplot with [22mfor details.

        Please note that the pointsize setting is not supported by all ter-
        minal types.



        [1m103.74.  Polar[0m


        The [1mset polar [22mcommand changes the meaning of the plot from rectangu-
        lar coordinates to polar coordinates.

        Syntax:
              set polar
              unset polar
              show polar

        In polar coordinates, the dummy variable (t) represents an angle
        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 map-[0m
        [1mping [22mcommand for similar functionality for [1msplot[22ms.

        While in polar coordinates the meaning of an expression in t is re-
        ally 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 con-
        trol the extent of the graph in the x and y directions.  Each of
        these ranges, as well as the rrange, may be autoscaled or set ex-
        plicitly.  For details, see [1mset rrange [22mand [1mset xrange[22m.










   GNUPLOT 5.4                                                           248


        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 automatically.  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 theta[22m.

        You may want to [1mset size square [22mto have [1mgnuplot [22mtry to make the as-
        pect ratio equal to unity, so that circles look circular.  Tic marks
        around the perimeter can be specified using [1mset ttics[22m.  See also po-
        lar demos (polar.dem) and polar data plot (poldat.dem).



        [1m103.75.  Print[0m


        The [1mset print [22mcommand redirects the output of the [1mprint [22mcommand.

        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 support piping.

        The destination for [1mprint [22mcommands can also be a named data block.
        Data block names start with '$', see also [1minline data[22m.  When print-
        ing a string to a data block, embedded newline characters are ex-
        panded to generate multiple data block entries.  This is a CHANGE.



        [1m103.76.  Psdir[0m


        The [1mset psdir <directory> [22mcommand controls the search path used by
        the postscript terminal to find prologue.ps and character encoding










   GNUPLOT 5.4                                                           249


        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 directory
              4) Directories set by `set loadpath`



        [1m103.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 autoscaled), 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.



        [1m103.78.  Rgbmax[0m


        Syntax:
             set rgbmax {1.0 | 255}
             unset rgbmax
        The red/green/blue color components of an rgbimage plot are by de-
        fault interpreted as integers in the range [0:255].  [1mset rgbmax 1.0[0m
        tells the program that data values used to generate the color compo-
        nents of a plot with [1mrgbimage [22mor [1mrgbalpha [22mare floating point values
        in the range [0:1].  [1munset rgbmax [22mreturns to the default integer
        range [0:255].



        [1m103.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 [22mfor
        additional keywords.



        [1m103.80.  Rmargin[0m


        The command [1mset rmargin [22msets the size of the right margin.  Please
        see [1mset margin [22mfor details.











   GNUPLOT 5.4                                                           250


        [1m103.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 results in rmin = 0.  The [1mreverse [22mau-
        toscaling flag is ignored.  Note: Setting a negative value for rmin
        may produce unexpected results.



        [1m103.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 [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.



        [1m103.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 para-
        meter has no effect on data file plotting unless one of the interpo-
        lation/approximation options is used.  See [1mplot smooth [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 rel-
        evant.

        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 <sam-
        ple_1> samples and each iso-u line will have <sample_2> samples.  If
        you only specify <samples_1>, <samples_2> will be set to the same
        value as <samples_1>.  See also [1mset isosamples[22m.












   GNUPLOT 5.4                                                           251


        [1m103.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; oth-
        ers did not.
              Almost all terminals now follow the following convention:

        [1mset term <terminal_type> size <XX>, <YY> [22mcontrols the size of the
        output file, or [1mcanvas[22m. Please see individual terminal documentation
        for allowed values of the size parameters.  By default, 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 termi-
        nal 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 com-
        mand [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 de-
        pends on the terminal selected.  The graph area will be the largest
        rectangle of aspect ratio <r> that will fit into the specified por-
        tion 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 aspect ra-
        tio 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 pro-
        jections created using [1mset view map[22m.  See also [1mset view equal[22m, which










   GNUPLOT 5.4                                                           252


        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



        [1m103.85.  Spiderplot[0m


        The [1mset spiderplot [22mcommand switches interpretation of coordinates 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 pro-
        ceed 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.




        [1m103.86.  Style[0m


        Default plotting styles are chosen with the [1mset style data [22mand [1mset[0m
        [1mstyle 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>










   GNUPLOT 5.4                                                           253


              set style circle radius <size> {clip|noclip}
              set style ellipse size <size> units {xy|xx|yy} {clip|noclip}
              set style fill <fillstyle>
              set style histogram <histogram style options>
              set style line <n> <linestyle>
              set style rectangle <object options> <linestyle> <fillstyle>
              set style textbox {<n>} {opaque|transparent} {{no}border}
        {fillcolor}





             [1m103.86.1.  Set style arrow[0m


             You can use [1mset style arrow [22mto define a set of arrow types.
             Each type has its own width, point type, color, etc so that you
             can refer to them later by an index instead of repeating all
             the information at each invocation.

             Syntax:
                   set style arrow <index> default
                   set style arrow <index> {nohead | head | backhead |
             heads}
                                           {size <length>,<angle>{,<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 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 parame-
             ters are changed while all others are preserved.  If not, all
             undefined values are set to the default values.

             An arrow style invoked from a [1mplot [22mor [1msplot [22mcommand can include
             a data-dependent linecolor ([1mlc variable [22mor [1mlc rgb variable[22m)
             that consumes an additional column of data in the corresponding
             [1musing [22mspecification.  In this case the style is probably not
             useful for individual arrows created by [1mset arrow[22m.











   GNUPLOT 5.4                                                           254


             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[0m
             [1m<length>,<angle>,<backangle>[22m, where [1m<length> [22mdefines length of
             each branch of the arrow head and [1m<angle> [22mthe angle (in de-
             grees) 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 [1mcharac-[0m
             [1mter [22mbefore the <length>;  see [1mcoordinates [22mfor details.

             By default the size of the arrow head is reduced for very short
             arrows.  This can be disabled using the [1mfixed [22mkeyword 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 ig-
             nored if the style is [1mnofilled[22m.

             Specifying [1mfilled [22mproduces filled arrow heads with a border
             line around the arrow head.  Specifying [1mnoborder [22mproduces
             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 default list of
             styles) and/or [1m<line_width> [22m(which is a  multiplier for the de-
             fault width).

             Note, however, that if a user-defined line style has been se-
             lected, its properties (type and width) cannot be altered
             merely by issuing another [1mset style arrow [22mcommand with the ap-
             propriate 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 un-
             derneath 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.












   GNUPLOT 5.4                                                           255


             [1m103.86.2.  Boxplot[0m


             The [1mset style boxplot [22mcommand allows you to change the layout
             of plots created using the [1mboxplot [22mplot style.

             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 con-
             trolled in two different ways. By default the whiskers extend
             from each end of the box for a range equal to 1.5 times the in-
             terquartile range (i.e. the vertical height of the box proper).
             Each whisker is truncated 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 interquartile 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 con-
             sidered outliers.  By default these are drawn as individual
             circles (pointtype 7).  The option [1mnooutliers [22mdisables this.
             If outliers are not drawn they do not contribute to autoscal-
             ing.

             By default boxplots are drawn in a style similar to candle-
             sticks, but you have the option of using instead a style simi-
             lar 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 me-
             dian
                   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










   GNUPLOT 5.4                                                           256


             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 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 horizon-
             tal axis -- x or x2, depending on which one is used for the
             plot itself.  This setting corresponds to option [1mlabels auto[22m.
             The labels can be forced to use either of the x or x2 axes --
             options [1mlabels x [22mand [1mlabels x2[22m, respectively --, 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 [22mop-
             tion 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 specification.

             See [1mboxplot[22m, [1mcandlesticks[22m, [1mfinancebars[22m.




             [1m103.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 [22mshows the
             current default data plotting style.



             [1m103.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, histograms, candlesticks
             and filledcurves.  This default can be superseded by fillstyles
             attached to individual plots.










   GNUPLOT 5.4                                                           257


             Note that there is a separate default fill style for rectangles
             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 ter-
             minal supports that. The <density> parameter specifies the in-
             tensity 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 den-
             sity continuously; others implement only a few levels of par-
             tial fill.  If no <density> parameter is given, it defaults to
             1.

             The [1mpattern [22moption causes filling to be done with a fill pat-
             tern supplied by the terminal driver.  The kind and number of
             available fill patterns depend on the terminal driver.  If mul-
             tiple datasets using filled boxes are plotted, the pattern cy-
             cles 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 fillstyle while re-
             taining 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 cur-
             rent linetype.  Example:

                   plot FOO with boxes fillstyle solid 1.0 fillcolor "cyan"





                  [1m103.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 [22mspecifies that
                  no bounding line is drawn.  Examples:
                       # Half-intensity fill, full intensity border in same
                  color
                       set style fill solid 0.5 border
                       # Half-transparent fill, solid black border (linetype










   GNUPLOT 5.4                                                           258


                  -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 affects
                  plots drawn [1mwith filledcurves [22min the default mode (closed
                  curve).



                  [1m103.86.4.2.  Set style fill transparent[0m


                  Some terminals support the attribute [1mtransparent [22mfor
                  filled areas.  In the case of transparent solid fill ar-
                  eas, the [1mdensity [22mparameter is interpreted as an alpha
                  value; that is, density 0 is fully transparent, density 1
                  is fully opaque.  In the case of transparent pattern fill,
                  the background of the pattern is either fully transparent
                  or fully opaque.

                  Note that there may be additional limitations on the cre-
                  ation or viewing of graphs containing transparent fill ar-
                  eas.  For example, the png terminal can only use transpar-
                  ent fill if the "truecolor" option is set.  Some pdf view-
                  ers may not correctly display the fill areas even if they
                  are correctly described in the pdf file. Ghostscript/gv
                  does not correctly display pattern-fill areas even though
                  actual PostScript printers generally have no problem.



             [1m103.86.5.  Set style function[0m


             The [1mset style function [22mcommand changes the default plotting
             style for function plots (e.g. lines, points, filledcurves).
             See [1mplotting styles[22m.

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
















   GNUPLOT 5.4                                                           259


             [1m103.86.6.  Set style histogram[0m


             See [1mhistograms[22m.



             [1m103.86.7.  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 current ter-
             minal type.  However, choosing [1mset style increment user [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.



             [1m103.86.8.  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 line [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 repeat-
             ing all the information at each invocation.

             Syntax:
                   set style line <index> default










   GNUPLOT 5.4                                                           260


                   set style line <index> {{linetype  | lt} <line_type> |
             <colorspec>}
                                          {{linecolor | lc} <colorspec>}
                                          {{linewidth | lw} <line_width>}
                                          {{pointtype | pt} <point_type>}
                                          {{pointsize | ps} <point_size>}
                                          {{pointinterval | pi} <interval>}
                                          {{pointnumber | pn} <max_symbols>}
                                          {{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 parame-
             ters 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 de-
             fault linetype styles; both may be used.  Line styles are tem-
             porary. They are lost whenever you execute a [1mreset [22mcommand.  To
             redefine the linetype itself, please see [1mset linetype[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 current
             terminal's default width and size (but note that <point_size>
             here is unaffected by the multiplier given by the command[1mset[0m
             [1mpointsize[22m).

             The [1mpointinterval [22mcontrols the spacing between points in a plot
             drawn with style [1mlinespoints[22m.  The default is 0 (every point is
             drawn). For example, [1mset style line N pi 3 [22mdefines 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 linespoints[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 [22mexcept
             that rather than plotting every Nth point it limits the total
             number of points to N.

             Not all terminals support the [1mlinewidth [22mand [1mpointsize [22mfeatures;
             if not supported, the option will be ignored.

             Terminal-independent colors may be assigned using either [1mline-[0m
             [1mcolor <colorspec> [22mor [1mlinetype <colorspec>[22m, abbreviated [1mlc [22mor










   GNUPLOT 5.4                                                           261


             [1mlt[22m.  This requires giving a RGB color triple, a known palette
             color name, a fractional index into the current palette, or a
             constant value from the current mapping of the palette onto
             cbrange.  See [1mcolors[22m, [1mcolorspec[22m, [1mset palette[22m, [1mcolornames[22m,
             [1mcbrange[22m.

             [1mset style line <n> linetype <lt> [22mwill set both a terminal-de-
             pendent dot/dash pattern and color. The commands[1mset style line[0m
             [1m<n> linecolor <colorspec> [22mor [1mset style line <n> linetype <col-[0m
             [1morspec> [22mwill set a new line color while leaving the existing
             dot-dash pattern unchanged.

             In 3d mode ([1msplot [22mcommand), the special keyword [1mpalette [22mis al-
             lowed 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 default point
             shapes for the same indices are a square, a cross, and a trian-
             gle, 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 default
             width and a new pointstyle that is a half-sized triangle.  The
             commands

                   set style function lines
                   plot f(x) lt 3, g(x) ls 1

             will create a plot of f(x) using the default blue line and a
             plot of g(x) using the user-defined wide green line.  Similarly
             the commands

                   set style function linespoints
                   plot p(x) lt 1 pt 3, q(x) ls 1

             will create a plot of p(x) using the default triangles con-
             nected 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 termi-
             nal that supports rgb colors.











   GNUPLOT 5.4                                                           262


             [1m103.86.9.  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 columns 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. De-
             fault is [1mclip[22m.




             [1m103.86.10.  Set style rectangle[0m



             Rectangles defined with the [1mset object [22mcommand can have indi-
             vidual styles.  However, if the object is not assigned a pri-
             vate 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 background
             color and a black border.




             [1m103.86.11.  Set style ellipse[0m













   GNUPLOT 5.4                                                           263


             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 in-
             terpreted in the same units or not.  Default is [1mxy[22m, which means
             that the major diameter (first axis) of ellipses will be inter-
             preted 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 ratio 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 vertical
             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 [22mcommand,
             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 op-
             posed 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 orienta-
             tion 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 [22mdisables
             this.  Default is [1mclip[22m.

             For defining ellipse objects, see [1mset object ellipse[22m; for the
             2D plot style, see [1mellipses[22m.



             [1m103.86.12.  Set style parallelaxis[0m



             Syntax:
                   set style parallelaxis {front|back} {line-properties}

             Determines the line type and layer for drawing the vertical










   GNUPLOT 5.4                                                           264


             axes in plots [1mwith parallelaxes[22m.  See [1mwith parallelaxes[22m, [1mset[0m
             [1mpaxis[22m.



             [1m103.86.13.  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 modified in the
             first component of the plot command.  The overall appearance of
             the plot is also affected by other settings such as [1mset grid[0m
             [1mspiderplot[22m.  See also [1mset paxis[22m, [1mspiderplot[22m.  Example:
                  # Default spider plot will be a polygon with a thick bor-
             der 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




             [1m103.86.14.  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 at-
             tribute 'boxed'.  Terminal types that do not support boxed text
             will ignore this style.  Note: Implementation for some termi-
             nals (svg, latex) is incomplete.  Most 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 bor-
             der
                  set style textbox 2 opaque fc "light-cyan" noborder










   GNUPLOT 5.4                                                           265


                  set label 1 "I'm in a box" boxed
                  set label 2 "I'm blue" boxed bs 2




        [1m103.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 corre-
        sponding 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, de-
        pending on the [1mset contour [22moption.  To turn off the surface for an
        individual function or data file while leaving others active, use
        the [1mnosurface [22mkeyword in the [1msplot [22mcommand.  The combination [1munset[0m
        [1msurface; set contour base [22mis useful for displaying contours on the
        grid base.  See also [1mset contour[22m.

        If a 3D data set is recognizable as a mesh (grid) then by default
        the program implicitly treats the plot style [1mwith lines [22mas request-
        ing a gridded surface.  See [1mgrid_data[22m.  The command [1mset surface ex-[0m
        [1mplicit [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 explicitly requesting splot [1mwith[0m
        [1msurface[22m.



        [1m103.88.  Table[0m


        When [1mtable [22mmode is enabled, [1mplot [22mand [1msplot [22mcommands print out a mul-
        ticolumn 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 de-
        termined 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 sam-[0m
        [1mples [22mand [1mset dgrid3d[22m).

        Syntax:
              set table {"outfile" | $datablock} {append}










   GNUPLOT 5.4                                                           266


                        {separator {whitespace|tab|comma|"<char>"}}
              plot <whatever>
              unset table

        Subsequent tabular output is written to "outfile", if specified,
        otherwise it is written to stdout or other current value of [1mset out-[0m
        [1mput[22m.  If [1moutfile [22mexists it will be replaced unless the [1mappend [22mkey-
        word is given.  Alternatively, tabular output can be redirected to a
        named data block.  Data block names start with '$', see also [1minline[0m
        [1mdata[22m. You must explicitly [1munset table [22min order to go back to normal
        plotting on the current terminal.

        The [1mseparator [22mcharacter can be used to output csv (comma separated
        value) files.  This mode only affects plot style [1mwith table[22m.  See
        [1mplot with table[22m.





             [1m103.88.1.  Plot with table[0m


             This discussion applies only to the special plot style [1mwith ta-[0m
             [1mble[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 [22mindicating inrange/outrange/unde-
             fined.  The destination for output must first be specified with
             [1mset table <where>[22m.  For example

                  set table $DATABLOCK1
                  plot <file> using 1:2:3:4:($5+$6):(func($7)):8:9:10 with
             table

             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 tabulated.
             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










   GNUPLOT 5.4                                                           267


                  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 <ex-[0m
             [1mpression>[22m) at the end of the command.  Note that the input fil-
             ter may reference data columns that are not part of the output.
             This feature may change substantially before appearing in a re-
             leased version of gnuplot.

                  plot <file> using 1:2:($4+$5) with table if (strcol(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 (filter($6,$7)
             != 0)



        [1m103.89.  Terminal[0m


        [1mgnuplot [22msupports many different graphics devices.  Use [1mset terminal[0m
        to tell [1mgnuplot [22mwhat kind of output to generate. Use [1mset output [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 ter-
        minal 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 [1m<term> [22mare
        remembered, thus subsequent [1mset term <term> [22mdoes not reset them.
        This helps in printing, for instance, when switching among different
        terminals---previous options don't have to be repeated.

        The command [1mset term push [22mremembers the current terminal including
        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 instance. After gnuplot's
        startup, the default terminal or that from [1mstartup [22mfile is pushed
        automatically. Therefore portable scripts can rely that [1mset term pop[0m
        restores the default terminal on a given platform unless another
        terminal has been pushed explicitly.











   GNUPLOT 5.4                                                           268


        For more information, see the [1mcomplete list of terminals[22m.




        [1m103.90.  Termoption[0m


        The [1mset termoption [22mcommand allows you to change the behaviour of the
        current terminal without requiring a new [1mset terminal [22mcommand. 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>}




        [1m103.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 pro-
        ceed counterclockwise so that theta = 90 degrees is at the top.  [1mset[0m
        [1mtheta [22mallows you to change the origin and direction of the polar an-
        gular coordinate theta.
             set theta {right|top|left|bottom}
             set theta {clockwise|cw|counterclockwise|ccw}
        [1munset theta [22mrestores the default state "set theta right ccw".



        [1m103.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[0m
        [1mxtics[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>}"}










   GNUPLOT 5.4                                                           269


        {{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 them-
        selves and the accompanying labels) along the axis or the border,
        respectively.  If the axis is very close to the border, the [1maxis [22mop-
        tion will move the tic labels to outside the border in case the bor-
        der 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 positions on
        the opposite border.  [1mnomirror [22mdoes what you think it does.

        [1min [22mand [1mout [22mchange the tic marks to be drawn inwards or outwards.

        [1mset tics scale [22mcontrols the size of the tic marks.  The first value
        <major> controls the auto-generated or user-specified major tics
        (level 0).  The second value controls the auto-generated or user-
        specified minor tics (level 1).  <major> defaults to 1.0, <minor>
        defaults to <major>/2.  Additional values control the size of user-
        specified tics with level 2, 3, ...  Default 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 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 default is [1mnomirror[22m.

        The <offset> is specified by either x,y or x,y,z, and may be pre-
        ceded by [1mfirst[22m, [1msecond[22m, [1mgraph[22m, [1mscreen[22m, or [1mcharacter [22mto select the
        coordinate system. <offset> is the offset of the tics texts from
        their default positions, while the default coordinate system is
        [1mcharacter[22m.  See [1mcoordinates [22mfor details. [1mnooffset [22mswitches off the










   GNUPLOT 5.4                                                           270


        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 overridden with an ex-
        plicit [1mleft[22m, [1mright [22mor [1mcenter [22mkeyword. [1mautojustify [22mrestores the de-
        fault 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.



        [1m103.93.  Ticslevel[0m


        Deprecated. See [1mset xyplane[22m.



        [1m103.94.  Ticscale[0m


        The [1mset ticscale [22mcommand is deprecated, use [1mset tics scale [22minstead.



        [1m103.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 default
        value is what asctime() uses: "%a %b %d %H:%M:%S %Y" (weekday, month
        name, day of the month, hours, minutes, seconds, four-digit year).
        With [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.











   GNUPLOT 5.4                                                           271


        The abbreviation [1mtime [22mmay be used in place of [1mtimestamp[22m.

        Example:
              set timestamp "%d/%m/%y %H:%M" offset 80,-2 font "Helvetica"

        See [1mset timefmt [22mfor more information about time format strings.



        [1m103.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:



      +----------------------------------------------------------------+
      | 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.











   GNUPLOT 5.4                                                           272


   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 column in
   the [1musing n:n [22mspecification.  Thus [1m11:11  25/12/76  21.0 [22mconsists 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 [22mfor 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 cen-
   tury, while values 00-68 refer to the 21st century.   NB: This is in ac-
   cordance 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 as
   hour 0.  If the %p format returns "pm" or "PM", hours < 12 will be in-
   creased 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.



        [1m103.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}en-
        hanced}
              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, [1msecond[22m, [1mgraph[22m,
        [1mscreen[22m, or [1mcharacter [22mto select the coordinate system.  See [1mcoordi-[0m
        [1mnates [22mfor details.  By default, the [1mcharacter [22mcoordinate system is
        used.  For example, "[1mset title offset 0,-1[22m" will change only the y










   GNUPLOT 5.4                                                           273


        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 terminal is
        used.

        [1mtextcolor <colorspec> [22mchanges the color of the text. <colorspec> can
        be a linetype, an rgb color, or a palette mapping. See help for [1mcol-[0m
        [1morspec [22mand [1mpalette[22m.

        [1mnoenhanced [22mrequests that the title not be processed by the enhanced
        text mode parser, even if enhanced text mode is currently active.

        [1mset title [22mwith no parameters clears the title.

        See [1msyntax [22mfor details about the processing of backslash sequences
        and the distinction between single- and double-quotes.



        [1m103.98.  Tmargin[0m


        The command [1mset tmargin [22msets the size of the top margin.  Please see
        [1mset margin [22mfor details.



        [1m103.99.  Trange[0m


        Syntax:    set trange [tmin:tmax] The range of the parametric vari-
        able t is useful in three contexts.  1) In parametric mode [1mplot [22mcom-
        mands it limits the range of sampling
           for both generating functions.  See `set parametric`, `set sam-
        ples`.
        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`.



        [1m103.100.  Ttics[0m


        The [1mset ttics [22mcommand places tics around the perimeter of a polar
        plot.  This is the border if [1mset border polar [22mis enabled, otherwise
        the outermost circle of the polar grid drawn at the rightmost tic-
        mark along the r axis.  See [1mset grid[22m, [1mset rtics[22m. The angular posi-
        tion is always labeled in degrees.  The full perimeter can be










   GNUPLOT 5.4                                                           274


        labeled regardless of the current trange setting.  The desired range
        of the tic labels should be given as shown below.  Additional prop-
        erties 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



        [1m103.101.  Urange[0m


        Syntax:     set urange [umin:umax] The range of the parametric vari-
        ables u and v is useful in two contexts.  1) [1msplot [22min parametric
        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.



        [1m103.102.  Variables[0m


        The [1mshow variables [22mcommand lists the current value of user-defined
        and internal variables. Gnuplot internally defines variables 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 be-
        ginning GPVAL_
              show variables NAME # show only variables beginning with NAME




        [1m103.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 in-
        voked interactively.

        Syntax:
              show version {long}

        When the [1mlong [22moption is given, it also lists the operating system,
        the compilation options used when [1mgnuplot [22mwas installed, the loca-
        tion of the help file, and (again) the useful email addresses.










   GNUPLOT 5.4                                                           275


        [1m103.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 sub-
        sequent [1mvfill [22mand [1mvoxel [22moperations).  If a new size is given, re-
        place the existing content with a zero-filled N x N x N grid.  If a
        grid with this name does not already exist, allocate 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 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[0m
        [1msession[22m.  The function [1mvoxel(x,y,z) [22mreturns the value of the active
        grid point nearest that coordinate. See also [1msplot voxel-grids[22m.




        [1m103.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 projections only.  It sup-
        ports 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 degrees)
        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 per-
        pendicular to the screen is z.  The first rotation applied is










   GNUPLOT 5.4                                                           276


        <rot_x> around the x axis.  The second 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 de-
        grees, while <rot_z> is bounded to the [0:360] range with a default
        of 30 degrees.  <scale> controls the scaling of the entire [1msplot[22m,
        while <scale_z> scales the z axis only.  Both scales default to 1.0.

        Examples:
              set view 60, 30, 1, 1
              set view ,,0.5

        The first sets all the four default values.  The second changes only
        scale, to 0.5.




             [1m103.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 verti-
             cal.  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 azimuth = 90 the z axis is horizontal
             rather than vertical.  During interactive viewing, hot-key [1mz[0m
             resets azimuth to 0.



             [1m103.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[0m
             [1mxyz [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 boundary.  By default all three
             axes are scaled independently to fill the available area.

             See also [1mset xyplane[22m.











   GNUPLOT 5.4                                                           277


             [1m103.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 la-
             bels and tics positioning is adjusted accordingly;  tics and
             labels on the third axis are disabled.  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.



        [1m103.106.  Vrange[0m


        Syntax:     set vrange [vmin:vmax] The range of the parametric vari-
        ables u and v is useful in two contexts.  1) [1msplot [22min parametric
        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.



        [1m103.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 [22mexist for the
        other two dimensions of the voxel grid.  If no explicit ranges have
        been set prior to the first [1mvclear[22m, [1mvfill[22m, or [1mvoxel(x,y,z) =  [22mcom-
        mand, vmin and vmax will be copied from the current values of
        [1mxrange[22m.



        [1m103.108.  Vyrange[0m


        See [1mset vxrange[0m



        [1m103.109.  Vzrange[0m


        See [1mset vxrange[0m












   GNUPLOT 5.4                                                           278


        [1m103.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 regard-
        less 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 surfaces are semi-transparent
        (fillstyle transparent solid 0.5).  You can customize which walls
        are drawn and also their individual color and fill style.  If you
        choose to enable walls, you may also want to use [1mset xyplane 0[22m.  Ex-
        ample:

             set wall z0 fillstyle solid 1.0 fillcolor "gray"



        [1m103.111.  X2data[0m


        The [1mset x2data [22mcommand sets data on the x2 (top) axis to timeseries
        (dates/times).  Please see [1mset xdata[22m.



        [1m103.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.



        [1m103.113.  X2label[0m


        The [1mset x2label [22mcommand sets the label for the x2 (top) axis.
        Please see [1mset xlabel[22m.



        [1m103.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.













   GNUPLOT 5.4                                                           279


        [1m103.115.  X2range[0m


        The [1mset x2range [22mcommand sets the horizontal range that will be dis-
        played on the x2 (top) axis.  See [1mset xrange [22mfor the full set of
        command options.  See also [1mset link[22m.



        [1m103.116.  X2tics[0m


        The [1mset x2tics [22mcommand controls major (labeled) tics on the x2 (top)
        axis.  Please see [1mset xtics [22mfor details.



        [1m103.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.



        [1m103.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 [1mcbdata[22m.

        The [1mtime [22moption signals that data represents a time/date in seconds.
        The current version of gnuplot stores time to a millisecond preci-
        sion.

        If no option is specified, the data interpretation reverts to nor-
        mal.




             [1m103.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.










   GNUPLOT 5.4                                                           280


             There are separate format mechanisms for interpretation of time
             data on input and output.  Input data is read from a file ei-
             ther by using the global [1mtimefmt [22mor by using the function
             timecolumn() as part of the plot command.  These input mecha-
             nisms 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

             For output, i.e. tick labels along that axis or coordinates
             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 representation of a date.  [1mgnuplot[0m
             tries to figure out a reasonable format for this.  You can cus-
             tomize the format using either [1mset format x [22mor [1mset xtics for-[0m
             [1mmat[22m.  See [1mtime_specifiers [22mfor a special set of time format
             specifiers.  See also [1mtime/date [22mfor more information.



        [1m103.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 [1mcb-[0m
        [1mdtics[22m.

        See also the [1mset format [22mcommand.



        [1m103.120.  Xlabel[0m


        The [1mset xlabel [22mcommand sets the x axis label.  Similar commands set
        labels on the other axes.











   GNUPLOT 5.4                                                           281


        Syntax:
              set xlabel {"<label>"} {offset <offset>} {font
        "<font>{,<size>}"}
                         {textcolor <colorspec>} {{no}enhanced}
                         {rotate by <degrees> | rotate parallel | norotate}
              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, [1msecond[22m, [1mgraph[22m,
        [1mscreen[22m, or [1mcharacter [22mto select the coordinate system.  See [1mcoordi-[0m
        [1mnates [22mfor details.  By default, the [1mcharacter [22mcoordinate system is
        used.  For example, "[1mset xlabel offset -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 written;
        the units of the font <size> depend upon which terminal is used.

        [1mnoenhanced [22mrequests that the label text not be processed by the en-
        hanced text mode parser, even if enhanced text mode is currently ac-
        tive.

        To clear a label, put no options on the command line, e.g., "[1mset[0m
        [1my2label[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, de-
        faulting to either horizontal or vertical orientation depending 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 ad-
        just 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 vertical
        color box gradient.

        y2label: The y2-axis label is placed to the right of the y2 axis.
        The position is terminal-dependent in the same manner as is the y-
        axis label.

        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.,










   GNUPLOT 5.4                                                           282


              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 <degrees>[22m.  The
        orientation of the x and y axis labels in 3D plots defaults to hori-
        zontal but can be changed to run parallel to 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 processing
        and the difference between single- and double-quoted strings.



        [1m103.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[0m
        [1mxmtics[22m.  Similar commands perform the same duties 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.



        [1m103.122.  Xrange[0m


        The [1mset xrange [22mcommand sets the horizontal range that will be dis-
        played.  A similar command exists for each of the other axes, as
        well as for the polar radius r and the parametric variables t, u,
        and v.

        Syntax:
              set xrange [{{<min>}:{<max>}}] {{no}reverse} {{no}writeback}
        {{no}extend}
                         | restore










   GNUPLOT 5.4                                                           283


              show xrange

        where <min> and <max> terms are constants, expressions or an aster-
        isk to set autoscaling.  If the data are time/date, you must give
        the range as a quoted string according to the [1mset timefmt [22mformat.
        If <min> or <max> is omitted the current value will not be changed.
        See below for full autoscaling syntax.  See also [1mnoextend[22m.

        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 intro-
        duced 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 in-
        clusive despite the '<' sign).  If no lower or upper bound is speci-
        fied, the '<' to also be omitted.  If <ub> is lower than <lb> the
        constraints will be turned off and full autoscaling 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 [1mautoscale[0m
        in 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 [1mwriteback [22moperation is per-
        formed during the [1mplot [22mexecution, so it must be specified before
        that command.  To restore, the last saved horizontal range use [1mset[0m
        [1mxrange 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 yrange[0m










   GNUPLOT 5.4                                                           284


        after 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[0m
        determines the range of the parametric variable in parametric 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[0m
        govern the parametric variables.

        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 affected---the ranges can be set
        as if the graph was of r(t)-rmin, with rmin added to all the labels.

        Any range may be partially or totally autoscaled, although it may
        not make sense to autoscale a parametric variable unless it is plot-
        ted 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 [22mcommand; a
        range given by a [1mset [22mcommand will be used for all subsequent plots
        that do not specify their own ranges.  The same holds true for
        [1msplot[22m.




             [1m103.122.1.  Examples[0m


             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<*]











   GNUPLOT 5.4                                                           285


             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:]



             [1m103.122.2.  Extend[0m


             [1mset xrange noextend [22mis the same as [1mset autoscale x noextend[22m.
             See [1mnoextend[22m.



        [1m103.123.  Xtics[0m


        Fine control of the major (labeled) tics on the x axis is possible
        with the [1mset xtics [22mcommand.  The tics may be turned off with the [1mun-[0m
        [1mset xtics [22mcommand, and may be turned on (the default state) with [1mset[0m
        [1mxtics[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> {,<minor>}}}
                        {{no}rotate {by <ang>}} {offset <offset> | nooffset}
                        {left | right | center | autojustify}
                        {add}
                        {  autofreq
                         | <incr>
                         | <start>, <incr> {,<end>}
                         | ({"<label>"} <pos> {<level>} {,{"<label>"}...) }
                        {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 them-
        selves and the accompanying labels) along the axis or the border,
        respectively.  If the axis is very close to the border, the [1maxis [22mop-
        tion will move the tic labels to outside the border.  The relevant
        margin settings will usually be sized badly by the automatic layout
        algorithm in this case.










   GNUPLOT 5.4                                                           286


        [1mmirror [22mtells [1mgnuplot [22mto put unlabeled tics at the same positions on
        the opposite border.  [1mnomirror [22mdoes what you think it does.

        [1min [22mand [1mout [22mchange the tic marks to be drawn inwards or outwards.

        With [1mscale[22m, the size of the tic marks can be adjusted. If <minor> 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 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 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 available 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 pre-
        ceded by [1mfirst[22m, [1msecond[22m, [1mgraph[22m, [1mscreen[22m, or [1mcharacter [22mto select the
        coordinate system. <offset> is the offset of the tics texts from
        their default positions, while the default coordinate system is
        [1mcharacter[22m.  See [1mcoordinates [22mfor details. [1mnooffset [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 overridden with an ex-
        plicit [1mleft[22m, [1mright [22mor [1mcenter [22mkeyword. [1mautojustify [22mrestores the de-
        fault behavior.

        [1mset xtics [22mwith no options restores the default border or axis if
        xtics are being displayed;  otherwise it has no effect.  Any previ-
        ously specified tic frequency or position {and labels} are retained.

        Tic positions are calculated automatically by default or if the [1maut-[0m
        [1mofreq [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[0m
        [1mseries[22m).

        Individual tic positions can be specified individually by providing
        an explicit list of positions, where each position may have an asso-
        ciated text label. See [1mxtics list[22m.











   GNUPLOT 5.4                                                           287


        However they are specified, tics will only be plotted when in range.

        Format (or omission) of the tic labels is controlled by [1mset format[22m,
        unless the explicit text of a label is included in the [1mset xtics[0m
        [1m("<label>") [22mform.

        Minor (unlabeled) tics can be added automatically by the [1mset mxtics[0m
        command, or at explicit positions by the [1mset xtics ("" <pos> 1, ...)[0m
        form.

        The appearance of the tics (line style, line width etc.) is deter-
        mined by the border line (see [1mset border[22m), even if the tics are
        drawn at the axes.




             [1m103.123.1.  Xtics series[0m


             Syntax:
                  set xtics <incr>
                  set xtics <start>, <incr>, <end>
             The implicit <start>, <incr>, <end> form specifies that a se-
             ries of tics will be plotted on the axis between the values
             <start> and <end> with an increment of <incr>.  If <end> is not
             given, it is assumed to be infinity.  The increment may be neg-
             ative.  If neither <start> nor <end> is given, <start> is as-
             sumed 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 multiplicative factor.

             If you specify to a negative <start> or <incr> after a numeri-
             cal value (e.g., [1mrotate by <angle> [22mor [1moffset <offset>[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:










   GNUPLOT 5.4                                                           288


             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




             [1m103.123.2.  Xtics list[0m


             Syntax:
                  set xtics {add} ("label1" <pos1> <level1>, "label2" <pos2>
             <level2>, ...)

             The explicit ("label" <pos> <level>, ...) form allows arbitrary
             tic positions or non-numeric tic labels.  In this form, the
             tics do not need to be listed in numerical order.  Each tic has
             a position, optionally with a label.

             The label is a string enclosed by quotes or a string-valued ex-
             pression.  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 format [22mfor more information.
             If no string is given, the default label (numerical) is used.

             An explicit tic mark has a third parameter, the level.  The de-
             fault is level 0, a major tic.  Level 1 generates a minor tic.
             Labels are never printed for minor tics.  Major 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 xtics auto[0m
             or the like it will erase any previously specified explicit
             tics. You can mix explicit and auto- generated tics by using










   GNUPLOT 5.4                                                           289


             the keyword [1madd[22m, which must appear before 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.



             [1m103.123.3.  Xtics timedata[0m


             Times and dates are stored internally as a number of seconds.

             Input: Non-numeric time and date values are converted to sec-
             onds on input using the format specifier in [1mtimefmt[22m.  Axis po-
             sitions 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 in-
             terpret 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 expected ([1mset xtics nu-[0m
             [1mmeric[22m).  Other options are geographic coordinates ([1mset xtics[0m
             [1mgeographic[22m), or times or dates ([1mset xtics time[22m).

             Note: For backward compatibility with earlier gnuplot versions,
             the command [1mset xdata time [22mwill implicitly also do [1mset xtics[0m
             [1mtime[22m, and [1mset xdata [22mor [1munset xdata [22mwill implicitly reset to [1mset[0m
             [1mxtics numeric[22m.  However you can change this with a later call
             to [1mset xtics[22m.

             Examples:
                   set xdata time           # controls interpretation of in-
             put 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 labels
                   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",










   GNUPLOT 5.4                                                           290


             but in the second example the tic at "Dec 3" will be unlabeled.



             [1m103.123.4.  Geographic[0m


             [1mset xtics geographic [22mindicates that x-axis values are to be in-
             terpreted as a geographic coordinate measured in degrees.  Use
             [1mset xtics format [22mor [1mset format x [22mto specify the appearance of
             the axis tick labels.  The format specifiers 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" [22mwill
             cause x coordinate -1.51 to be labeled as [1m" 1deg 30.60min W"[22m.

             If the xtics are left in the default state ([1mset xtics numeric[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 strptime.  See
             [1mtime_specifiers[22m, [1mstrptime[22m.



             [1m103.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 multiplica-
             tive 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]
                  set ytics 20 nologscale
             The [1mlogscale [22mattribute is set automatically by the [1mset log[0m










   GNUPLOT 5.4                                                           291


             command, so normally you do not need this keyword unless you
             want to force a constant tic interval as in the second example
             above.



             [1m103.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 exam-
             ple, suppose that the data in "file.dat" all lies in the range
             2 < y < 4.  Then the following commands will create a plot for
             which the left-hand plot border (y axis) is drawn for only this
             portion of the total y range, and only the axis tics in this
             region are generated.  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"



        [1m103.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 rela-
        tive
              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.  Neg-
        ative values are permitted, but tic labels on the three axes may
        overlap.

        The alternative form [1mset xyplane at <zvalue> [22mfixes the placement of
        the xy plane at a specific Z value regardless of the 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.











   GNUPLOT 5.4                                                           292


        See also [1mset view[22m, and [1mset zeroaxis[22m.



        [1m103.125.  Xzeroaxis[0m


        The [1mset xzeroaxis [22mcommand draws a line at y = 0.  For details,
        please see [1mset zeroaxis[22m.



        [1m103.126.  Y2data[0m


        The [1mset y2data [22mcommand sets y2 (right-hand) axis data to timeseries
        (dates/times).  Please see [1mset xdata[22m.



        [1m103.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.



        [1m103.128.  Y2label[0m


        The [1mset y2label [22mcommand sets the label for the y2 (right-hand) axis.
        Please see [1mset xlabel[22m.



        [1m103.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.



        [1m103.130.  Y2range[0m


        The [1mset y2range [22mcommand sets the vertical range that will be dis-
        played on the y2 (right) axis.  See [1mset xrange [22mfor the full set of
        command options.  See also [1mset link[22m.













   GNUPLOT 5.4                                                           293


        [1m103.131.  Y2tics[0m


        The [1mset y2tics [22mcommand controls major (labeled) tics on the y2
        (right-hand) axis.  Please see [1mset xtics [22mfor details.



        [1m103.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 zeroaxis[22m.



        [1m103.133.  Ydata[0m


        The [1mset ydata [22mcommands sets y-axis data to timeseries (dates/times).
        Please see [1mset xdata[22m.



        [1m103.134.  Ydtics[0m


        The [1mset ydtics [22mcommand changes tics on the y axis to days of the
        week.  Please see [1mset xdtics [22mfor details.



        [1m103.135.  Ylabel[0m


        This command sets the label for the y axis.  Please see [1mset xlabel[22m.



        [1m103.136.  Ymtics[0m


        The [1mset ymtics [22mcommand changes tics on the y axis to months of the
        year.  Please see [1mset xmtics [22mfor details.



        [1m103.137.  Yrange[0m


        The [1mset yrange [22mcommand sets the vertical range that will be dis-
        played on the y axis.  Please see [1mset xrange [22mfor details.











   GNUPLOT 5.4                                                           294


        [1m103.138.  Ytics[0m


        The [1mset ytics [22mcommand controls major (labeled) tics on the y axis.
        Please see [1mset xtics [22mfor details.



        [1m103.139.  Yzeroaxis[0m


        The [1mset yzeroaxis [22mcommand draws a line at x = 0.  For details,
        please see [1mset zeroaxis[22m.



        [1m103.140.  Zdata[0m


        The [1mset zdata [22mcommand sets zaxis data to timeseries (dates/times).
        Please see [1mset xdata[22m.



        [1m103.141.  Zdtics[0m


        The [1mset zdtics [22mcommand changes tics on the z axis to days of the
        week.  Please see [1mset xdtics [22mfor details.



        [1m103.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 de-
        tails, please see [1mset zeroaxis [22mand [1mset xyplane[22m.



        [1m103.143.  Cbdata[0m


        Set color box axis data to timeseries (dates/times).  Please see [1mset[0m
        [1mxdata[22m.



        [1m103.144.  Cbdtics[0m













   GNUPLOT 5.4                                                           295


        The [1mset cbdtics [22mcommand changes tics on the color box axis to days
        of the week. Please see [1mset xdtics [22mfor details.



        [1m103.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 thresh-
        old.  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[0m
        to 0.0.



        [1m103.146.  Zeroaxis[0m


        The x axis may be drawn by [1mset xzeroaxis [22mand removed by [1munset xze-[0m
        [1mroaxis[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 <color-
        spec>, and dash type <dashtype> (if supported by the terminal driver
        currently in use), or a user-defined style <line_style> (see [1mset[0m
        [1mstyle line[22m).

        If no linetype is specified, any zero axes selected will be drawn
        using the axis linetype (linetype 0).

        Examples:











   GNUPLOT 5.4                                                           296


        To simply have the y=0 axis drawn visibly:

               set xzeroaxis

        If you want a thick line in a different color or pattern, instead:

               set xzeroaxis linetype 3 linewidth 2.5



        [1m103.147.  Zlabel[0m


        This command sets the label for the z axis.  Please see [1mset xlabel[22m.



        [1m103.148.  Zmtics[0m


        The [1mset zmtics [22mcommand changes tics on the z axis to months of the
        year.  Please see [1mset xmtics [22mfor details.



        [1m103.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.



        [1m103.150.  Ztics[0m


        The [1mset ztics [22mcommand controls major (labeled) tics on the z axis.
        Please see [1mset xtics [22mfor details.



        [1m103.151.  Cblabel[0m


        This command sets the label for the color box axis.  Please see [1mset[0m
        [1mxlabel[22m.
















   GNUPLOT 5.4                                                           297


        [1m103.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.



        [1m103.153.  Cbrange[0m


        The [1mset cbrange [22mcommand sets the range of values which are colored
        using the current [1mpalette [22mby styles [1mwith pm3d[22m, [1mwith image [22mand [1mwith[0m
        [1mpalette[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 [22mcan 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.



        [1m103.154.  Cbtics[0m


        The [1mset cbtics [22mcommand controls major (labeled) tics on the color
        box axis.  Please see [1mset xtics [22mfor details.



   [1m104.  Shell[0m


   The [1mshell [22mcommand spawns an interactive shell.  To return to [1mgnuplot[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 immediate execu-
   tion, use the [1msystem [22mfunction or the shortcut [1m![22m. See [1msystem[22m.

   Examples:

         shell
         system "print previous_plot.ps"
         ! print previous_plot.ps
         current_time = system("date")













   GNUPLOT 5.4                                                           298


   [1m105.  Splot[0m


   [1msplot [22mis the command for drawing 3D plots (well, actually projections on
   a 2D surface, but you knew that).  It is the 3D equivalent of the [1mplot[0m
   command.  [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-mod-
   ifiers}}
                          | <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 mathemat-
   ical expression, or a triple of mathematical expressions 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 isosurface[22m.  Voxel
   grid values can also be referenced in the [1musing [22mspecifiers 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[0m
   [1mxyplane[22m.  The orientation of a [1msplot [22mprojection is controlled by [1mset[0m
   [1mview[22m.  See [1mset view [22mand [1mset xyplane [22mfor more information.

   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>] ...

   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.










   GNUPLOT 5.4                                                           299


        [1m105.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 (subsets) within a sin-
        gle data set are to be plotted, and [1musing [22mdetermines how the columns
        within a single record are to be interpreted.

        The options [1mindex [22mand [1mevery [22mbehave the same way as with [1mplot[22m;  [1musing[0m
        does 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 [1mcntrparam [22mand
        [1mdgrid3d [22mprovide limited smoothing capabilities.

        Data file organization is essentially the same as for [1mplot[22m, except
        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, [1mgnuplot [22muses the last value for
        calculating the color in pm3d plots.  Three values are interpreted
        as an (x,y,z) triple.  Additional values are generally used as er-
        rors, which can be used by [1mfit[22m.

        Single blank records separate blocks of data in a [1msplot [22mdatafile;
        [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, [1mgnuplot [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 contour[22m) and hidden-line removal ([1mset hidden3d[22m). See
        also [1msplot grid_data[22m.

        It is no longer necessary to specify [1mparametric [22mmode for three-col-
        umn [1msplot[22ms.















   GNUPLOT 5.4                                                           300


             [1m105.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 coordi-
             nates and assigns each value in the input matrix to one element
             M[i,j] of this uniform grid.  The assigned x coordinates are
             the integers [0:NCOLS-1].  The assigned y coordinates are the
             integers [0:NROWS-1].  This is the default 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 ex-
             plicit x and y coordinates. The first row of input data con-
             tains the y coordinates; the first column of input data con-
             tains the x coordinates.  For binary input data, the first ele-
             ment of the first row must contain the number of columns.  This
             is the default for [1mbinary matrix [22minput, but requires an addi-
             tional keyword [1mnonuniform [22mfor text input data.  See [1mmatrix[0m
             [1mnonuniform [22mfor examples.





                  [1m105.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  # binary in-
                  put

                  In a uniform grid matrix the z-values are read in a row at
                  a time, i. e.,
                      z11 z12 z13 z14 ...
                      z21 z22 z23 z24 ...
                      z31 z32 z33 z34 ...
                  and so forth.

                  For text input, if the first row contains column labels
                  rather than data, use the additional keyword [1mcolumnhead-[0m
                  [1mers[22m.   Similarly if the first field in each row contains a
                  label rather than data, use the additional keyword [1mrow-[0m
                  [1mheaders[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










   GNUPLOT 5.4                                                           301


                  For text input, a blank line or comment line ends the ma-
                  trix, and starts a new data block.  You can select among
                  the data blocks in a file by the [1mindex [22moption to the [1msplot[0m
                  command, as usual.  The columnheaders option, if present,
                  is applied only to the first data block.



                  [1m105.1.1.2.  Nonuniform[0m


                  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 field of the first row
                  must contain the number of columns. (This number is ig-
                  nored 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 input 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:
                        <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.



                  [1m105.1.1.3.  Every[0m


                  The [1mevery [22mkeyword has special meaning when used with ma-
                  trix data.  Rather than applying to blocks of single
                  points, it applies to rows and column values.  Note that










   GNUPLOT 5.4                                                           302


                  matrix rows and columns are indexed starting from 0, so
                  the row with index N is the (N+1)th row.  Syntax:
                        plot 'file' matrix 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 columns 3
                  to 7 for all rows
                        plot 'file' matrix every ::3:0:7:4 # submatrix
                  bounded by [3,0] and [7,4]



                  [1m105.1.1.4.  Examples[0m


                  A collection of matrix and vector manipulation routines
                  (in C) is provided in [1mbinary.c[22m.  The routine to write bi-
                  nary data is

                        int fwrite_matrix(file,m,nrl,nrl,ncl,nch,row_ti-
                  tle,column_title)

                  An example of using these routines is provided in the file
                  [1mbf_test.c[22m, which generates binary files for the 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 coordinates
                  (rather useless). Applying the [1mevery [22moption you can spec-
                  ify 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 qualifications 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










   GNUPLOT 5.4                                                           303


                  details.)



             [1m105.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

             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 hid-
             den-line removal enabled, you will find that the surface 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 sur-
             face plot is unpredictable and should be examined on a case-by-
             case basis.



        [1m105.2.  Grid data[0m













   GNUPLOT 5.4                                                           304


        The 3D routines are designed for points in a grid format, with one
        sample, datapoint, at each mesh intersection; the datapoints may
        originate from either evaluating a function, see [1mset isosamples[22m, or
        reading a datafile, see [1msplot datafile[22m.  The term "isoline" is ap-
        plied 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 func-
        tions, '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 corresponding points in each block
        to generate a "surface".  In either 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 for-
        mat 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
               set samples 10,4; replot




        [1m105.3.  Splot surfaces[0m


        [1msplot [22mcan display a surface as a collection of points, or by con-
        necting those points.  As with [1mplot[22m, the points may be read from a
        data file or result from evaluation of a function at specified in-
        tervals, see [1mset isosamples[22m.  The surface may be approximated by
        connecting the points with straight line segments, 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 interpolate
        points having a common amplitude (see [1mset contour[22m) and can then con-
        nect those new points to display contour lines, either directly with
        straight-line segments or smoothed lines (see [1mset cntrparam[22m).  Func-
        tions are already evaluated in a grid format, determined by [1mset[0m
        [1misosamples [22mand [1mset samples[22m, while file data must either be in a grid










   GNUPLOT 5.4                                                           305


        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 projected
        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.



        [1m105.4.  Voxel-grid[0m


        Syntax:
             splot $voxelgridname with {dots|points} {above <threshold>} ...
             splot $voxelgridname with isosurface {level <threshold>} ...

        Voxel data can be plotted with dots or points marking individual
        voxels whose value is above the specified threshold value (default
        threshold = 0).  Color/pointtype/linewidth properties can be ap-
        pended 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 dis-
        placed randomly from the true voxel grid coordinate. See [1mset jitter[22m.

        Dense voxel grids can be down-sampled by using the [1mpointinterval[0m
        property ([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 enclosing
        all voxels with value greater than the requested threshold. The sur-
        face 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.




   [1m106.  Stats (Statistical Summary)[0m


   Syntax:
        stats {<ranges>} 'filename' {matrix | using N{:M}} {name 'prefix'}
   {{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[0m
   directives. Data points are filtered against both xrange and yrange be-
   fore analysis. See [1mset xrange[22m. The summary is printed to the screen by










   GNUPLOT 5.4                                                           306


   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 statis-
   tics 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 gen-
   erated 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 col-
   umn.  This column is treated as y. If the y axis is autoscaled 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.






























   GNUPLOT 5.4                                                           307


   +-----------------------------------------------------------------------------------------+
   | 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.


   +-----------------------------------------------------------------------------+
   | 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 [1mma-[0m
   [1mtrix[22m); the usual statistics are generated by considering all matrix ele-
   ments.  The matrix dimensions are saved in variables STATS_size_x and
   STATS_size_y.














   GNUPLOT 5.4                                                           308


                 +-----------------------------------------+
                 | 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 index 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 median is re-
   ported as the mean value of points N/2 and (N+2)/2. Equivalent 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 ydata[0m
   [1mtime[22m).  This restriction may be relaxed in a future version.




        [1m106.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 default pre-
        fix "STATS" to be replaced by a user-specified string.  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 generate 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 columnheader
        }

















   GNUPLOT 5.4                                                           309


   [1m107.  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 oper-
   ating system's default shell.  If called as a function, [1msystem("command")[0m
   returns the character stream from the subprocess's stdout as a string.
   One trailing newline is stripped from the resulting string if present.
   See also [1mbackquotes[22m.

   The exit status of the subprocess is reported in variables GPVAL_SYS-
   TEM_ERRNO and GPVAL_SYSTEM_ERRMSG.  Note that if the command string in-
   vokes 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 separate subprocess
   every time the function is invoked. For functions that will be invoked
   many times it would be better to import a directly callable subroutine
   from a shared library.  See [1mimport [22mand [1mplugin.dem[22m.

         f(x) = real(system(sprintf("somecommand %f", x)))



   [1m108.  Test[0m


   This command graphically tests or presents terminal and palette capabili-
   ties.

   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 using.

   [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 appar-
   ent net intensity as calculated using NTSC coefficients to map RGB onto a
   grayscale.  The profile values are also loaded into a datablock named
   $PALETTE.














   GNUPLOT 5.4                                                           310


   [1m109.  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.



   [1m110.  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 character.
   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
         if (!exists("foo")) load "initialize.gp"

         bar = 1; bar1 = 2; bar2 = 3
         undefine bar*                 # removes all three variables




   [1m111.  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 op-
   tional iteration clause. See [1mplot for[22m.

   Examples:
         set xtics mirror rotate by -45 0,10,100
         ...
         unset xtics











   GNUPLOT 5.4                                                           311


         # Unset labels numbered between 100 and 200
         unset for [i=100:200] label i




        [1m111.1.  Linetype[0m


        Syntax:
              unset linetype N
        Remove all characteristics previously associated with a single line-
        type.  Subsequent use of this linetype will use whatever character-
        istics and color that is native to the current terminal type (i.e.
        the default linetypes properties available in gnuplot versions prior
        to 4.6).



        [1m111.2.  Monochrome[0m


        Switches the active set of linetypes from monochrome to color.
        Equivalent to [1mset color[22m.



        [1m111.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 file safely,
        it should first be closed explicitly by using [1munset output [22mor by us-
        ing [1mset output [22mto close the previous file and then open a new one.



        [1m111.4.  Terminal[0m


        The default terminal that is active at the time of program entry de-
        pends on the system platform, gnuplot build options, and the envi-
        ronmental variable GNUTERM.  Whatever this default may be, gnuplot
        saves it to internal variable GNUTERM.  The [1munset terminal [22mcommand
        restores the initial terminal type.  It is equivalent to [1mset termi-[0m
        [1mnal GNUTERM[22m.  However if the string in GNUTERM contains terminal op-
        tions in addition to the bare terminal name, you may want to instead
        use [1mset terminal @GNUTERM[22m.














   GNUPLOT 5.4                                                           312


   [1m112.  Update[0m


   Note: This command is DEPRECATED.  Use [1msave fit [22minstead.



   [1m113.  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.



   [1m114.  Vfill[0m


   Syntax:
        vfill FILE using x:y:z:radius:(<expression>)

   The [1mvfill [22mcommand acts analogously to a [1mplot [22mcommand except that instead
   of creating a plot it modifies voxels in the currently active voxel grid.
   For each point read from the input file, the voxel containing that point
   and also all other voxels within a sphere of given radius centered about
   (x,y,z) are incremented as follows: Example:
        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.

   Example:
        vfill "file.dat" using 1:2:3:4:(VoxelDistance < 1 ? 1 : 1/VoxelDis-
   tance)
   This command modifies all voxels in a sphere whose radius is determined
   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.



   [1m115.  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-










   GNUPLOT 5.4                                                           313


   bracketed) if/else statements.  See also [1mdo[22m, [1mcontinue[22m, [1mbreak[22m.




   [1m116.  Terminal types[0m





   [1m117.  Complete list of terminals[0m


   Gnuplot supports a large number of output formats. These are selected by
   choosing an appropriate terminal type, possibly with additional 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 installation, type
   'set terminal' with no modifiers.

   Terminals marked [1mlegacy [22mare not built by default in recent gnuplot ver-
   sions and may not actually work.





        [1m117.1.  Aifm[0m



        [1mNOTE: Legacy terminal[22m, originally written for Adobe Illustrator
        3.0+.  Since Adobe Illustrator understands PostScript level 1 com-
        mands directly, you should use [1mset terminal post level1 [22minstead.

        Syntax:
              set terminal aifm {color|monochrome} {"<fontname>"} {<font-
        size>}




        [1m117.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>}"}










   GNUPLOT 5.4                                                           314


                                {linewidth <lw>}"}
                                {{no}enhanced} {solid|dashed} {dl <dash-
        length>}}

        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 cur-
        rently supports iso_latin_1, iso_latin_2, cp1250, and UTF8 (de-
        fault).

        Lines can be drawn either solid or dashed, (default is solid) and
        the dash spacing can be modified by <dashlength> which is a multi-
        plier > 0.




        [1m117.3.  Be[0m


        The [1mbe [22mterminal type is present if gnuplot is built for the [1mbeos [22mop-
        erating system and for use with X servers.  It is selected at pro-
        gram startup if the [1mDISPLAY [22menvironment variable is set, if the [1mTERM[0m
        environment 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> [22mdirects 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 de-
        fault 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[0m
        from a window manager menu.  All plot windows can be closed by spec-
        ifying [1mreset[22m, which actually terminates the subprocess which main-
        tains 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.











   GNUPLOT 5.4                                                           315


        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 [22mwith
        [1mset linestyle[22m.

        For terminal type [1mbe[22m, [1mgnuplot [22maccepts (when initialized) the stan-
        dard X Toolkit options and resources such as geometry, font, and
        name from the command line arguments or a configuration file.  See
        the X(1) man page (or its equivalent) for a description of such op-
        tions.

        A number of other [1mgnuplot [22moptions are available for the [1mbe [22mterminal.
        These may be specified either as command-line options when [1mgnuplot[0m
        is invoked or as resources in the configuration file ".Xdefaults".
        They are set upon initialization and cannot be altered during a [1mgnu-[0m
        [1mplot [22msession.




             [1m117.3.1.  Command-line_options[0m


             In addition to the X Toolkit options, the following options 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 entered
   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 re-
   source, [1mgnuplot*pointsize: <v>[22m, to control the size of points plotted
   with the [1mpoints [22mplotting style.  The value [1mv [22mis a real number (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.










   GNUPLOT 5.4                                                           316


             [1m117.3.2.  Monochrome_options[0m


             For monochrome displays, [1mgnuplot [22mdoes not honor foreground or
             background colors.  The default is black-on-white.  [1m-rv [22mor [1mgnu-[0m
             [1mplot*reverseVideo: on [22mrequests white-on-black.




             [1m117.3.3.  Color_resources[0m


             For color displays, [1mgnuplot [22mhonors the following resources
             (shown here with their default values) or the greyscale re-
             sources.  The values may be color names as listed in the BE
             rgb.txt file on your system, hexadecimal RGB color specifica-
             tions (see BE documentation), or a color name followed by a
             comma and an [1mintensity [22mvalue from 0 to 1.  For example, [1mblue,[0m
             [1m0.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




             [1m117.3.4.  Grayscale_resources[0m


             When [1m-gray [22mis selected, [1mgnuplot [22mhonors the following resources
             for grayscale or color displays (shown here with their default
             values).  Note that the default background is black.










   GNUPLOT 5.4                                                           317


                      +--------------------------------+
                      |     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  |
                      +--------------------------------+






             [1m117.3.5.  Line_resources[0m


             [1mgnuplot [22mhonors the following resources for setting the width
             (in pixels) of plot lines (shown here with their default val-
             ues.)  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[0m
   pixels 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 pat-
   terns 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 monochrome rendering on color or grayscale
   displays.  For color displays, the default for each is 0 (solid line)










   GNUPLOT 5.4                                                           318


   except for [1maxisDashes [22mwhich 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   |
                      +-------------------------------+





        [1m117.4.  Caca[0m


        [EXPERIMENTAL] The [1mcaca [22mterminal is a mostly-for-fun output mode
        that uses [1mlibcaca [22mto plot using ascii characters.  In contrast to
        the [1mdumb [22mterminal it includes support for color, box fill, images,
        rotated text, filled polygons, and mouse interaction.

        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 [1mfor-[0m
        [1mmat[22m.  Use [1mdefault [22mis to let [1mlibcaca [22mchoose the platform default dis-
        play driver.  The default driver can be changed by setting the envi-
        ronment variable CACA_DRIVER before starting [1mgnuplot[22m.  Use [1mset term[0m
        [1mcaca driver list [22mto print a list of supported output modes.

        The [1mcolor [22mand [1mmonochrome [22moptions select colored or mono output.
        Note that this also changes line symbols.  Use the [1minverted [22moption
        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 [22moption,
        see [1menhanced text[22m.











   GNUPLOT 5.4                                                           319


        The title of the output window can be changed with the [1mtitle [22moption,
        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 canvas size
        will be automatically adjusted to the current window/terminal size.
        The default size of the "x11" and "gl" window can be controlled via
        the CACA_GEOMETRY environment variable.  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 char-
        acters of the [1mblocks [22mor [1municode [22mcharacter set.  On Windows it is
        recommend to use a non-raster font such as "Lucida Console" or "Con-
        solas".

        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 supports
        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 inter-
        preted as indicator for blinking text.  Try using [1mbackground rgb[0m
        [1m"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




             [1m117.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 [1mlibcaca[0m










   GNUPLOT 5.4                                                           320


             <0.99.beta19 contains a bug which results in an endless loop if
             you supply illegal 8bit sequences.

             Bright background colors may cause blinking.

             Modifier keys are not supported for mousing, see [1mterm caca[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 charac-
             ters.  Resizing of Windows console window does not work cor-
             rectly due to a bug in libcaca.  Closing the terminal window by
             clicking the "X" on the title line will terminate wgnuplot.
             Press "q" to close the window.



        [1m117.5.  Cairolatex[0m


        The [1mcairolatex [22mterminal device generates encapsulated PostScript
        (*.eps), PDF, or PNG output using the cairo and pango support li-
        braries 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 <rgb-
        color>}
                             {font <font>} {fontscale <scale>}
                             {linewidth <lw>} {rounded|butt|square} {dash-
        length <dl>}
                             {size <XX>{unit},<YY>{unit}}
                             {resolution <dpi>}

        The cairolatex terminal prints a plot like [1mterminal epscairo [22mor [1mter-[0m
        [1mminal pdfcairo [22mbut transfers the texts to LaTeX instead of including
        them in the graph. For reference of options not explained here see
        [1mpdfcairo[22m.

        [1meps[22m, [1mpdf[22m, or [1mpng [22mselect the type of graphics output. Use [1meps [22mwith
        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[0m










   GNUPLOT 5.4                                                           321


        option, the terminal accepts an extra option [1mresolution [22mto control
        the pixel density of the resulting PNG.  The argument of [1mresolution[0m
        is 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 posi-
        tioning: (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 LaTeX.  (b) If the text
        string begins with '[', you need to continue it with: a position
        specification (up to two out of t,b,l,r,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 documentation for the [1mpslatex [22mterminal driver.  To create multi-
        line labels, use \shortstack, for example
           set ylabel '[r]{\shortstack{first line \\ second line}}'

        The [1mback [22moption of [1mset label [22mcommands is handled slightly different
        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 (nor-
        mally '.tex') with '.eps'/'.pdf'/'.png' instead. There is no LaTeX
        output if no output file is given!  Remember to close the [1moutput[0m
        [1mfile [22mbefore next plot unless in [1mmultiplot [22mmode.

        In your LaTeX documents use '\input{filename}' to include the fig-
        ure.  The '.eps'/'.pdf'/'.png' file is included by the command \in-
        cludegraphics{...}, so you must also include \usepackage{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 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
        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 ig-
        nored. 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 \ifGP-
        color and \ifGPblacktext. Only if \ifGPcolor is true and \ifGPblack-
        text is false, text is printed coloured. You may either change them
        in the generated TeX file or provide them globally in your TeX file,
        for example by using
           \newif\ifGPblacktext










   GNUPLOT 5.4                                                           322


           \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 replacing the exten-
        sion.

        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 produces output with
        the correct size when using dvips, pdfTeX, or VTeX.  The default,
        [1minput[22m, generates a file that has to be included into a LaTeX docu-
        ment 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 syn-
        tax for the fontname is '{fontname}{,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 surrounding
        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










   GNUPLOT 5.4                                                           323


        size, a file "size<size>.clo" has to reside in the LaTeX search
        path.  By default, 10pt, 11pt, and 12pt are supported.  If the pack-
        age "extsizes" is installed, 8pt, 9pt, 14pt, 17pt, and 20pt are
        added.

        The [1mheader [22moption takes a string as argument.  This string is writ-
        ten into the generated LaTeX file.  If using the [1mstandalone [22mmode, it
        is written into the preamble, directly before the \begin{document}
        command.  In the [1minput [22mmode, it is placed directly after the \begin-
        group command to ensure that all settings are local to the plot.

        Examples:

        Use T1 fontencoding, change the text and math font to Times-Roman as
        well as the sans-serif font to Helvetica:
            set terminal cairolatex standalone header \
            "\\usepackage[T1]{fontenc}\n\\usepackage{mathptmx}\n\\usepack-
        age{helvet}"
        Use a boldface font in the plot, not influencing the text outside
        the plot:
            set terminal cairolatex input header "\\bfseries"

        If the file "gnuplot.cfg" is found by LaTeX it is input in the pre-
        amble 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 overwrite some
        of settings performed using "gnuplot.cfg"




        [1m117.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 '<funcname>'}
                                  {jsdir 'URL/for/javascripts'}
                                  {title '<some string>'}










   GNUPLOT 5.4                                                           324


        where <xsize> and <ysize> set the size of the plot area in pixels.
        The default size in standalone mode is 600 by 400 pixels.  The de-
        fault 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 replace this with
        the file canvasmath.js, which contains also UTF-8 encoded Hershey
        simplex Greek and math symbols. For consistency with other termi-
        nals, it is also possible to use [1mfont "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 ele-
        ment.  The html page links to two required javascript files 'canvas-
        text.js' and 'gnuplot_common.js'.  An additional file 'gnu-
        plot_dashedlines.js' is needed to support dashed lines.  By default
        these point to local files, on unix-like systems usually in direc-
        tory /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 directory 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 addi-
        tional 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 directory as 'can-
        vastext.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 canvastext.js function
        as described above.  A minimal html file to wrap the fishplot cre-
        ated 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 ele-
        ment</div>










   GNUPLOT 5.4                                                           325


                  </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 referenced by
        external javascript routines, for example gnuplot.toggle_visibil-
        ity("fishplot_plot_2").




        [1m117.7.  Cgm[0m


        The [1mcgm [22mterminal generates a Computer Graphics Metafile, Version 1.
        This file format is a subset of the ANSI X3.122-1986 standard enti-
        tled "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 pat-
        terns; <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); <fontname> is the name of a font (see
        list of fonts below) <fontsize> is the size of the font in points
        (default 12).

        The first six options can be in any order.  Selecting [1mdefault [22msets
        all options to their default values.

        The mechanism of setting line colors in the [1mset term [22mcommand is dep-
        recated.  Instead you should set the background using a separate
        keyword and set the line colors using [1mset linetype[22m.  The deprecated
        mechanism accepted colors of the form 'xrrggbb', where x is the lit-
        eral character 'x' and 'rrggbb' are the red, green and blue compo-
        nents in hex. The first color was used for the background, subse-
        quent colors are assigned to successive line types.

        Examples:
              set terminal cgm landscape color rotate dashed width 432 \
                             linewidth 1  'Helvetica Bold' 12       # de-
        faults
              set terminal cgm linewidth 2  14  # wider lines & larger font
              set terminal cgm portrait "Times Italic" 12










   GNUPLOT 5.4                                                           326


              set terminal cgm color solid      # no pesky dashes!




             [1m117.7.1.  Cgm font[0m


             The first part of a Computer Graphics Metafile, the metafile
             description, includes a font table.  In the picture body, a
             font is designated by an index into this table.  By default,
             this terminal generates a table with the following 35 fonts,
             plus six more with [1mitalic [22mreplaced by [1moblique[22m, or vice-versa
             (since at least the Microsoft Office and Corel Draw CGM import
             filters treat [1mitalic [22mand [1moblique [22mas equivalent):
















































   GNUPLOT 5.4                                                           327


                    +------------------------------------+
                    |         CGM fonts                  |
                    +------------------------------------+
                    |         Helvetica                  |
                    |         Helvetica Bold             |
                    |         Helvetica Oblique          |
                    |         Helvetica Bold Oblique     |
                    |         Times Roman                |
                    |         Times Bold                 |
                    |         Times Italic               |
                    |         Times Bold Italic          |
                    |         Courier                    |
                    |         Courier Bold               |
                    |         Courier Oblique            |
                    |         Courier Bold Oblique       |
                    |         Symbol                     |
                    |         Hershey/Cartographic_Roman |
                    |         Hershey/Cartographic_Greek |
                    |         Hershey/Simplex_Roman      |
                    |         Hershey/Simplex_Greek      |
                    |         Hershey/Simplex_Script     |
                    |         Hershey/Complex_Roman      |
                    |         Hershey/Complex_Greek      |
                    |         Hershey/Complex_Script     |
                    |         Hershey/Complex_Italic     |
                    |         Hershey/Complex_Cyrillic   |
                    |         Hershey/Duplex_Roman       |
                    |         Hershey/Triplex_Roman      |
                    |         Hershey/Triplex_Italic     |
                    |         Hershey/Gothic_German      |
                    |         Hershey/Gothic_English     |
                    |         Hershey/Gothic_Italian     |
                    |         Hershey/Symbol_Set_1       |
                    |         Hershey/Symbol_Set_2       |
                    |         Hershey/Symbol_Math        |
                    |         ZapfDingbats               |
                    |         Script                     |
                    |         15                         |
                    +------------------------------------+



   The first thirteen of these fonts are required for WebCGM.  The Microsoft
   Office CGM import filter implements the 13 standard fonts listed above,
   and also 'ZapfDingbats' and 'Script'.  However, the script font may only
   be accessed under the name '15'.  For more on Microsoft import filter
   font substitutions, check its help file which you may find here:
     C:\Program Files\Microsoft Office\Office\Cgmimp32.hlp
   and/or its configuration file, which you may find here:
     C:\Program Files\Common Files\Microsoft Shared\Grphflt\Cgmimp32.cfg

   In the [1mset term [22mcommand, you may specify a font name which does not ap-
   pear in the default font table.  In that case, a new font table is










   GNUPLOT 5.4                                                           328


   constructed with the specified font as its first entry. You must ensure
   that the spelling, capitalization, and spacing of the name are appropri-
   ate for the application that will read the CGM file.  (Gnuplot and any
   MIL-D-28003A compliant application ignore case in font names.)  If you
   need to add several new fonts, use several [1mset term [22mcommands.

   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.



             [1m117.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 accordingly.  To change
             the assumed width, use the [1mwidth [22moption.



             [1m117.7.3.  Cgm linewidth[0m


             The [1mlinewidth [22moption sets the width of lines in pt.  The de-
             fault width is 1 pt.  Scaling is affected by the actual width
             of the page, as discussed under the [1mfontsize [22mand [1mwidth [22moptions.



             [1m117.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 ac-
             cept 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 ex-
             tend beyond the clip boundary.  With [1mnorotate[22m, the Y axis label
             starts in a less attractive location, but the page can be
             edited without damage.  The [1mrotate [22moption confirms the default
             behavior.













   GNUPLOT 5.4                                                           329


             [1m117.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 dash-
             ing of the lines detracts from the appearance of the plot. The
             [1mdashed [22moption confirms the default behavior, which gives a dif-
             ferent dash pattern to each line type.



             [1m117.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.



             [1m117.7.7.  Cgm width[0m


             All distances in the CGM file are in abstract units.  The ap-
             plication 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 con-
             vert from other units.

             Example:
                   set terminal cgm width 432            # default
                   set terminal cgm width 6*72           # same as above
                   set terminal cgm width 10/2.54*72     # 10 cm wide



             [1m117.7.8.  Cgm nofontlist[0m


             The default font table includes the fonts recommended for We-
             bCGM, which are compatible with the Computer Graphics Metafile
             input filter for Microsoft Office and Corel Draw.  Another ap-
             plication might use different fonts and/or different font
             names, which may not be documented.  The [1mnofontlist [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










   GNUPLOT 5.4                                                           330


             default font table. 'Helvetica Bold' will give you its second
             entry, etc.




        [1m117.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 out-
        side.

        For an average user of ConTeXt + gnuplot module it's recommended 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}
                     {defaultfont | font "{<fontname>}{,<fontsize>}"}

        In non-standalone ([1minput[22m) graphic only parameters [1msize [22mto select
        graphic size, [1mfontscale [22mto scale all the labels for a factor
        <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 fontsize if document font
        differs from 12pt, so that gnuplot will know how much space to re-
        serve 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 arguments 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').










   GNUPLOT 5.4                                                           331


        [1minput [22m(default) creates a graphic that can be included into another
        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 de-
        fault.

        [1mnotimestamp [22mprevents printing creation time in comments (if version
        control is used, one may prefer not to commit new version when only
        date changes).

        [1mcolor [22mto make color plots is the default, but [1mmonochrome [22mdoesn't do
        anything special yet.  If you have any good ideas how the behaviour
        should differ to suit the monochrome printers better, your sugges-
        tions 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[0m
        and [1mround [22mto prevent sharp corners in line joins.  (Some general
        support for this should be added to Gnuplot, so that the same op-
        tions 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 Meta-
        post.)  [1mfontscale [22mscales text labels for factor <fontscale> relative
        to default document font.

        [1mmppoints [22muses predefined point shapes, drawn in Metapost.  [1mtexpoints[0m
        uses easily configurable set of symbols, defined with ConTeXt in the
        following way:
             \defineconversion[my own points][+,{\ss x},\mathematics{\circ}]
             \setupGNUPLOTterminal[context][points=tex,pointset=my own
        points]

        [1minlineimages [22mwrites binary images to a string and only works in Con-
        TeXt 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 graphics.  In
        non-standalone ([1minput[22m) mode only the font size is important to re-
        serve enough space for text labels.  The command
             set term context font "myfont,ss,10"
        will result in
             \setupbodyfont[myfont,ss,10pt]










   GNUPLOT 5.4                                                           332


        If you additionally set [1mfontscale [22mto 0.8 for example, then the re-
        sulting 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 usage.

        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 encoding:
             set terminal context standalone header '\enableregime[utf-8]'





             [1m117.8.1.  Requirements[0m


             You need gnuplot module for ConTeXt
                  http://ctan.org/pkg/context-gnuplot
             and a recent version of ConTeXt.  If you want to call gnuplot
             on-the-fly, you also need write18 enabled.  In most TeX distri-
             butions 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.




             [1m117.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]










   GNUPLOT 5.4                                                           333


                  \stoptext
             This will run gnuplot automatically and include the resulting
             figure in the document.



        [1m117.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, "SwitzerlandLight",
        22, 8.2, 10 and 1.2.



        [1m117.10.  Debug[0m


        This terminal is provided to allow for the debugging of [1mgnuplot[22m.  It
        is likely to be of use only for users who are modifying the source
        code.



        [1m117.11.  Domterm[0m


        The [1mdomterm [22mterminal device runs on the DomTerm terminal emulator
        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.




        [1m117.12.  Dumb[0m


        The [1mdumb [22mterminal driver plots into a text block using ascii charac-
        ters.  It has an optional size specification and a trailing linefeed
        flag.

        Syntax:
              set terminal dumb {size <xchars>,<ychars>} {[no]feed}










   GNUPLOT 5.4                                                           334


                                {aspect <htic>{,<vtic>}}
                                {[no]enhanced}
                                {mono|ansi|ansi256|ansirgb}

        where <xchars> and <ychars> set the size of the text block. The de-
        fault is 79 by 24. The last newline is printed only if [1mfeed [22mis en-
        abled.

        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 sequences
        in the output to handle colors.  Note that these might not be han-
        dled by your terminal.  Default is [1mmono[22m.  To obtain the best color
        match in [1mansi [22mmode, you should use [1mset colorsequence classic[22m.  De-
        pending on the mode, the [1mdumb [22mterminal will emit the following se-
        quences (without the additional whitespace):

              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:
              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 +          +|||||||+                  +|||||||+   |










   GNUPLOT 5.4                                                           335


               -0.8 +           ++||||+                    ++||||+    |
                 -1 +---+--------+--------+-------+--------+--------+-+
                       -4       -2        0       2        4        6



        [1m117.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 [22muses
        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 update this terminal to the
        2012 DXF standard!



        [1m117.14.  Dxy800a[0m


        Note: legacy terminal.  This terminal driver supports the Roland
        DXY800A plotter.  It has no options.



        [1m117.15.  Eepic[0m


        Note: Legacy terminal (not built by default).  The latex, emtex,
        eepic, and tpic terminals in older versions of gnuplot provided min-
        imal support for graphics styles beyond simple lines and points.
        They have been directly superseded by the [1mpict2e [22mterminal.  For more
        capable TeX/LaTeX compatible terminal 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 \specials, "eepicemu.sty" will en-
        able 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 \usepack-
        age{color} in the preamble of your latex document.











   GNUPLOT 5.4                                                           336


        [1mdashed [22mwill allow dashed line types; without this option, only solid
        lines with varying thickness will be used.  [1mdashed [22mand [1mcolor [22mare mu-
        tually exclusive; if [1mcolor [22mis specified, then [1mdashed [22mwill be ig-
        nored.

        [1mrotate [22mwill enable true rotated text (by 90 degrees). Otherwise, ro-
        tated text will be typeset with letters stacked above each other. If
        you use this option you must include \usepackage{graphicx} in the
        preamble.

        [1msmall [22mwill use \scriptsize symbols as point markers. Default is to
        use the default math size. [1mtiny [22muses \scriptscriptstyle symbols.

        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 pic-
        ture environment; the unit is pt (points), i.e., 10 pt equals ap-
        prox. 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 symbols.

        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 "\Di-
        amond", "\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 LaTeX 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 posi-
        tioning: If any text string begins with '{', you also need to in-
        clude a '}' at the end of the text, and the whole text will be cen-
        tered 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 itself, and finally '}'.  The
        text itself may be anything LaTeX can typeset as an LR-box.
        '\rule{}{}'s may help for best positioning.

        Examples:
               set term eepic
        output graphs as eepic macros inside a picture environment; \input










   GNUPLOT 5.4                                                           337


        the resulting file in your LaTeX document.
               set term eepic color tiny rotate 8
        eepic macros with \color macros, \scripscriptsize point markers,
        true rotated text, and all text set with 8pt.

        About label positioning: Use gnuplot defaults (mostly 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}}'



        [1m117.16.  Emf[0m


        The [1memf [22mterminal generates an Enhanced Metafile Format file.  This
        file format is recognized by many Windows applications.

        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 pat-
        terns.  [1mlinewidth <factor> [22mmultiplies all line widths by this fac-
        tor.  [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 arbi-
        trary units. You may specify a different nominal size using the [1msize[0m
        option.

        Enhanced text mode tries to approximate proportional character spac-
        ing.  If you are using a monospaced font, or don't like the approxi-
        mation, you can turn off this correction using the [1mnoproportional[0m
        option.

        The default settings are [1mcolor font "Arial,12" size 1024,768 [22mSelect-
        ing [1mdefault [22msets all options to their default values.

        Examples:
              set terminal emf 'Times Roman Italic, 12'











   GNUPLOT 5.4                                                           338


        [1m117.17.  Emxvga[0m


        Note: legacy terminal.  The [1memxvga [22mand [1memxvesa [22mterminal drivers sup-
        port PCs with SVGA, VESA SVGA and VGA graphics boards, respectively.
        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.



        [1m117.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.



        [1m117.19.  Epslatex[0m


        The [1mepslatex [22mdriver generates output for further processing by La-
        TeX.

        Syntax:
              set terminal epslatex   {default}
              set terminal epslatex   {standalone | input}
                                      {oldstyle | newstyle}
                                      {level1 | leveldefault | level3}
                                      {color | colour | monochrome}
                                      {background <rgbcolor> | nobackground}
                                      {dashlength | dl <DL>}
                                      {linewidth | lw <LW>} {pointscale | ps
        <PS>}
                                      {rounded | butt}
                                      {clip | noclip}
                                      {palfuncparam <samples>{,<maxdevia-
        tion>}}
                                      {size <XX>{unit},<YY>{unit}}
                                      {header <header> | noheader}
                                      {blacktext | colortext | colourtext}










   GNUPLOT 5.4                                                           339


                                      {{font} "fontname{,fontsize}" {<font-
        size>}}
                                      {fontscale <scale>}

        The epslatex terminal prints a plot as [1mterminal postscript eps [22mbut
        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 versions 4.0
        and 4.2 to reach better consistency with the postscript 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 symbols are used.  To reach an appearance
        that is nearly identical to the old one specify the option [1moldstyle[22m.
        (In fact some small differences remain: the symbol sizes are
        slightly different, the tics are half as large as in the old termi-
        nal 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 [1mpalette [22mbut it
        does not change color of objects specified with an explicit [1mcolor-[0m
        [1mspec[22m.  [1mdashlength [22mor [1mdl [22mscales the length of dashed-line segments by
        <DL>, which is a floating-point number greater than zero.  [1mlinewidth[0m
        or [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.  PostScript Level 2
        features are conditionally protected so that PostScript Level 1 in-
        terpreters do not issue errors but, rather, display a message or a
        PostScript Level 1 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 versions of Adobe Illustrator.  The flag [1mlevel1 [22mcan be tog-
        gled 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 encoding for bitmapped images,
        which can reduce the output size considerably.

        [1mrounded [22msets line caps and line joins to be rounded; [1mbutt [22mis the de-
        fault, butt caps and mitered joins.

        [1mclip [22mtells PostScript to clip all output to the bounding box; [1mnoclip[0m
        is the default.










   GNUPLOT 5.4                                                           340


        [1mpalfuncparam [22mcontrols how [1mset palette functions [22mare encoded as gra-
        dients in the output. Analytic color component functions (set via
        [1mset palette functions[22m) are encoded as linear interpolated gradients
        in the postscript output:  The color component functions are sampled
        at <samples> points and all points are removed from this gradient
        which can be removed without changing the resulting colors by more
        than <maxdeviation>. For almost every useful palette you may safely
        leave the defaults of <samples>=2000 and <maxdeviation>=0.003 un-
        touched.

        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 possibly (currently only
        cm). The BoundingBox of the plot is correctly adjusted to contain
        the resized image.  Screen coordinates always run from 0.0 to 1.0
        along the full length of the plot edges as specified by the [1msize [22mop-
        tion.  NB: [1mthis is a change from the previously recommended method[0m
        [1mof using the set size 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 posi-
        tioning: (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 LaTeX.  (b) If the text
        string begins with '[', you need to continue it with: a position
        specification (up to two out of t,b,l,r,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 documentation for the [1mpslatex [22mterminal driver.  To create multi-
        line labels, use \shortstack, for example
           set ylabel '[r]{\shortstack{first line \\ second line}}'

        The [1mback [22moption of [1mset label [22mcommands is handled slightly different
        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 de-
        rived by replacing the file extension (normally [1m.tex[22m) with [1m.eps [22min-
        stead.  There is no LaTeX output if no output file is given!  Remem-
        ber to close the [1moutput file [22mbefore next plot unless in [1mmultiplot[0m
        mode.

        In your LaTeX documents use '\input{filename}' to include the fig-
        ure.  The [1m.eps [22mfile is included by the command \includegraph-
        ics{...}, so you must also include \usepackage{graphicx} in the La-
        TeX preamble.  If you want to use coloured text (option [1mtextcolour[22m)










   GNUPLOT 5.4                                                           341


        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 given font size is used for
        the calculation of proper spacing. When not using the [1mstandalone[0m
        mode 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 description.

        If text is printed coloured is controlled by the TeX booleans \ifGP-
        color and \ifGPblacktext. Only if \ifGPcolor is true and \ifGPblack-
        text is false, text is printed coloured. You may either 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 (normally
        ".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 produces output with
        the correct size when using dvips, pdfTeX, or VTeX.  The default,
        [1minput[22m, generates a file that has to be included into a LaTeX docu-
        ment 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 syn-
        tax for the fontname is '[fontname][,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.










   GNUPLOT 5.4                                                           342


        Some fonts may provide different font series or shapes.

        Examples:

        Use Times-Roman boldface (with the same shape as in the surrounding
        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 pack-
        age "extsizes" is installed, 8pt, 9pt, 14pt, 17pt, and 20pt are
        added.

        The [1mheader [22moption takes a string as argument.  This string is writ-
        ten into the generated LaTeX file.  If using the [1mstandalone [22mmode, it
        is written into the preamble, directly before the \begin{document}
        command.  In the [1minput [22mmode, it is placed directly after the \begin-
        group command to ensure that all settings are local to the plot.

        Examples:

        Use T1 fontencoding, change the text and math font to Times-Roman as
        well as the sans-serif font to Helvetica:
            set terminal epslatex standalone header \
            "\\usepackage[T1]{fontenc}\n\\usepackage{mathptmx}\n\\usepack-
        age{helvet}"
        Use a boldface font in the plot, not influencing the text outside
        the plot:
            set terminal epslatex input header "\\bfseries"

        If the file "gnuplot.cfg" is found by LaTeX it is input in the pre-
        amble 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 overwrite some
        of settings performed using "gnuplot.cfg"










   GNUPLOT 5.4                                                           343


        [1m117.20.  Epson_180dpi[0m


        Note: only available if gnuplot is configured --with-bitmap-termi-
        nals.  This driver supports a family of Epson printers and deriva-
        tives.

        [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 PROPRINTER, 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 combi-
        nations are [1mmedium normal [22mand [1msmall draft[22m.




        [1m117.21.  Excl[0m


        Note: legacy terminal.  The [1mexcl [22mterminal driver supports Talaris
        printers such as the EXCL Laser printer and the 1590.  It has no op-
        tions.












   GNUPLOT 5.4                                                           344


        [1m117.22.  Fig[0m


        The [1mfig [22mterminal device generates output in the Fig graphics lan-
        guage 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}
                               {pointsmax <max_points>}
                               {font "<fontname>{,<fontsize>}"} {fontsize
        <size>}
                               {textnormal | {textspecial texthidden text-
        rigid}}
                               {{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 5in,3in[22m.
        [1msmall [22mis shorthand for [1msize 5in,3in [22m(3in,5in in portrait mode).  [1mbig[0m
        is shorthand for [1msize 8in,5in[22m.

        [1mpointsmax [22msets the maximum number of vertices in a polyline; longer
        polylines will be broken into segments.  (Note: this option was not
        present in versions 5.2.7 through 5.4.3).

        [1mfont [22msets the text font face to <fontname> and its size to <font-
        size> points. Choice is limited to the 35 standard PostScript 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 [22mdriver.
        The symbols can be used through [1mpointtype [22mvalues % 100 above 50,
        with different fill intensities controlled by <pointtype> % 5 and
        outlines in black (for <pointtype> % 10 < 5) or in the current
        color.  Available symbols are
                50 - 59:  circles
                60 - 69:  squares
                70 - 79:  diamonds
                80 - 89:  upwards triangles










   GNUPLOT 5.4                                                           345


                90 - 99:  downwards triangles
        The size of these symbols scales with the font size.

        RGB colors will be replaced with gray unless they have been defined
        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'




        [1m117.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 envi-
        ronment variables as explained in the libggi manual 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 integer
        multiplication factor for the relative distances.  The default for
        acceleration is 7.

        Examples:
           set term ggi acc 10
           set term ggi acc 1 mode V1024x768
           set term ggi V1024x768



        [1m117.24.  Gif[0m


        Syntax:
              set terminal gif
                     {{no}enhanced}
                     {{no}transparent} {rounded|butt}
                     {linewidth <lw>} {dashlength <dl>}
                     {tiny | small | medium | large | giant}










   GNUPLOT 5.4                                                           346


                     {font "<face> {,<pointsize>}"} {fontscale <scale>}
                     {size <x>,<y>} {{no}crop}
                     {background <rgb_color>}
                     {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 interactively
        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 trans-
        parent.  Default is [1mnotransparent[22m.

        The [1mlinewidth [22mand [1mdashlength [22moptions are scaling factors that affect
        all lines drawn, i.e. they are multiplied by values requested 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 setting is only ap-
        plicable for line widths greater than 1.  This setting is most use-
        ful 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[0m
        [1msize[22m.  Blank space at the edges of the finished plot may be trimmed
        using the [1mcrop [22moption, resulting in a smaller final image size. De-
        fault is [1mnocrop[22m.





             [1m117.24.1.  Animate[0m



                   set term gif animate {delay <d>} {loop <n>} {{no}opti-
             mize}}

             The gif terminal [1manimate [22moption creates a single gif file con-
             taining multiple frames. The delay between display of succes-
             sive frames may be specified in units of 1/100 second (default
             5), but this value may or may not be honored accurately by a
             program used to view the animation later.  The number of anima-
             tion loops during playback can be specified, 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 terminated by the next [1mset output [22mor [1mset term [22mcom-
             mand.










   GNUPLOT 5.4                                                           347


             The [1moptimize [22moption [DEPRECATED] is passed to the gd library
             when the output file is opened. It has two effects on the ani-
             mation.

             1) A single color map is used for the entire animation. This
             requires that all colors used in any frame of the animation 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 trans-
             parency.

             Both of these optimizations are intended to produce a smaller
             output file, but the decrease in size is probably only signifi-
             cant for long animations.  Caveat: The implementation of opti-
             mization in libgd is known to be buggy.  Therefore use of this
             option in gnuplot is not recommended.

             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




             [1m117.24.2.  Fonts[0m



             The details of font selection are complicated.  For more infor-
             mation please see the separate section under [1mfonts gd[22m.

             Examples:

                   set terminal gif medium noenhanced size 640,480 back-
             ground '#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-transparent background.

                   set terminal gif font arial 14

             Searches for a font with face name 'arial' and sets the font
             size to 14pt.












   GNUPLOT 5.4                                                           348


        [1m117.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 possible to
        put complex functions in a graph with the [1mset label [22mand [1mset {x/y}la-[0m
        [1mbel [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-package]
        -Tps
                  > filename.ps

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

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

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

        One can also achieve the same thing by specifying x and y in the
        command










   GNUPLOT 5.4                                                           349


              set terminal gpic x y




        [1m117.26.  Grass[0m


        Note: legacy terminal.  The [1mgrass [22mterminal driver gives [1mgnuplot [22mca-
        pabilities to users of the GRASS geographic information system.
        Contact grassp-list@moon.cecer.army.mil for more information.  Pages
        are written to the current frame of the GRASS Graphics Window.
        There are no options.



        [1m117.27.  Hp2623a[0m


        The [1mhp2623a [22mterminal driver supports the Hewlett Packard HP2623A.
        It has no options.



        [1m117.28.  Hp2648[0m


        The [1mhp2648 [22mterminal driver supports the Hewlett Packard HP2647 and
        HP2648.  It has no options.



        [1m117.29.  Hp500c[0m


        Note: only available if gnuplot is configured --with-bitmap-termi-
        nals.  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 defaults,
        which are 75 dpi and no compression.  Rasterization at the higher
        resolutions may require a large amount of memory.



        [1m117.30.  Hpgl[0m













   GNUPLOT 5.4                                                           350


        Syntax:
              set terminal hpgl {<number_of_pens>} {eject} {fontscale
        <scale>}

        The [1mhpgl [22mdriver produces HPGL output for Hewlett Packard pen plot-
        ters like the HP7475A and many other plotters dating back to the
        1970s.  Also, HPGL graphics can be imported by many software pack-
        ages.  The HPGL command language was largely superseded in later
        printers by the PCL command language.  See [1mset term pcl5[22m.

        Terminal options control the number of pens used and whether or not
        the plotter ejects a page when done. The default is to use 6 pens
        and not eject the page.

        All text is drawn in a uniform size. The [1mfontscale [22moption applies a
        scale factor to make this size larger or smaller.  If gnuplot's cur-
        rent encoding is set to either iso_8859_1 cp850, non-ascii charac-
        ters are translated for handling by some printer models that support
        the corresponding character set.  If your printer model does not
        support this, do not set these encodings.




        [1m117.31.  Hpljii[0m


        Note: only available if gnuplot is configured --with-bitmap-termi-
        nals.  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.



        [1m117.32.  Hppj[0m


        Note: only available if gnuplot is configured --with-bitmap-termi-
        nals.  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}










   GNUPLOT 5.4                                                           351


        with the middle-sized font (FNT9X17) being the default.



        [1m117.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 hori-
        zontal 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 orien-
        tation.



        [1m117.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 is in particu-
        lar noticeable for solid color lines against a solid background,
        i.e. exactly the sort of image typically created 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 requested in
        various drawing commands.











   GNUPLOT 5.4                                                           352


        [1mbutt [22minstructs the driver to use a line drawing method that does not
        overshoot the desired end point of a line.  This setting is only ap-
        plicable for line widths greater than 1.  This setting is most use-
        ful when drawing horizontal or vertical lines.  Default is [1mrounded[22m.

        The details of font selection are complicated.  Two equivalent sim-
        ple 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[0m
        [1msize[22m.  Blank space at the edges of the finished plot may be trimmed
        using the [1mcrop [22moption, resulting in a smaller final image size. De-
        fault is [1mnocrop[22m.




        [1m117.35.  Kyo[0m


        The [1mkyo [22mand [1mprescribe [22mterminal drivers support the Kyocera laser
        printer.  The only difference between the two is that [1mkyo [22muses "Hel-
        vetica" whereas [1mprescribe [22muses "Courier".  There are no options.



        [1m117.36.  Latex[0m


        Note: Legacy terminal (not built by default).  The latex, emtex,
        eepic, and tpic terminals in older versions of gnuplot provided min-
        imal support for graphics styles beyond simple lines and points.
        They have been directly superseded by the [1mpict2e [22mterminal.  For more
        capable TeX/LaTeX compatible terminal types see [1mcairolatex[22m, [1mcontext[22m,
        [1mepslatex[22m, [1mmp[22m, [1mpstricks[22m, and [1mtikz[22m.

        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 embedding
        document.  You have the option of forcing either Courier (cmtt) or
        Roman (cmr) fonts instead. In this case you may also specify a font-
        size.  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.











   GNUPLOT 5.4                                                           353


        All drivers for LaTeX offer a special way of controlling text posi-
        tioning: If any text string begins with '{', you also need to in-
        clude a '}' at the end of the text, and the whole text will be cen-
        tered 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 itself, and finally '}'.  The
        text itself may be anything LaTeX can typeset as an LR-box.
        '\rule{}{}'s may help for best positioning.

        Points, among other things, are drawn using the LaTeX commands "\Di-
        amond" and "\Box".  These commands no longer belong to the LaTeX2e
        core; they are included in the latexsym package, which is part of
        the base distribution and thus part of any LaTeX implementation.
        Please do not forget to use this package.  Other point types use
        symbols from the amssymb package.

        The default size for the plot is 5 inches by 3 inches. The [1msize [22mop-
        tion 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 deactivated. This will
        also significantly improve the quality of line drawing, and is de-
        fault 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 sen-
        sible, but sometimes not really best):
               set title '\LaTeX\ -- $ \gamma $'
        Force centering both horizontally and vertically:
               set label '{\LaTeX\ -- $ \gamma $}' at 0,0
        Specify own positioning (top here):
               set xlabel '[t]{\LaTeX\ -- $ \gamma $}'
        The other label -- account for long ticlabels:
               set ylabel '[r]{\LaTeX\ -- $ \gamma $\rule{7mm}{0pt}}'



        [1m117.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










   GNUPLOT 5.4                                                           354


        (https://github.com/uobikiemukot/yaft) that supports sixel graphics.
        With yaft as your console terminal you can run gnuplot 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.



        [1m117.38.  Lua[0m


        The [1mlua [22mgeneric terminal driver works in conjunction with an exter-
        nal 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 manda-
        tory.  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 GNUPLOT_LUA_DIR.

        All arguments will be provided to the selected script for further
        evaluation. E.g. 'set term lua tikz help' will cause the script it-
        self to print additional help on options and choices for the script.




        [1m117.39.  Mf[0m


        The [1mmf [22mterminal driver creates an input file to the METAFONT pro-
        gram.  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 pro-
        gram is set up properly at the local site, an unexperienced user
        could perform the operation without much trouble.

        The text support is based on a METAFONT character set.  Currently
        the Computer Modern Roman font set is input, but the user is in
        principal free to choose whatever fonts he or she needs.  The META-
        FONT source files for the chosen font must be available.  Each char-
        acter is stored in a separate picture variable in METAFONT.  These
        variables may be manipulated (rotated, scaled etc.) when characters










   GNUPLOT 5.4                                                           355


        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.




             [1m117.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 separate
             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 convention-
             ally 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 substi-
             tute mf for virmf &plain.  This will generate two files: mf-
             put.tfm and mfput.$$$gf (where $$$ indicates the resolution of
             your device).  The above can be conveniently achieved by typing
             everything on the command line, e.g.: virmf '&plain'
             '\mode:=CanonCX; mag:=1; input myfigures.mf' In this case the
             output files will be named myfigures.tfm and myfigures.300gf.

             - Generate a PK file from the GF file using gftopk:
               gftopk myfigures.300gf myfigures.300pk
             The name of the output file for gftopk depends on the DVI dri-
             ver you use.  Ask your local TeX administrator about the naming










   GNUPLOT 5.4                                                           356


             conventions.  Next, either install the TFM and PK files in the
             appropriate directories, or set your environment variables
             properly.  Usually this involves setting TEXFONTS to include
             the current directory and doing the same thing for the environ-
             ment variable that your DVI driver uses (no standard name
             here...).  This step is necessary so that TeX will find the
             font metric file and your DVI driver will find the PK file.

             - To include your pictures in your document you have to tell
             TeX the font:
               \font\gnufigs=myfigures
             Each picture you made is stored in a single 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 picture
             environment and place the picture wherever you wish by using
             the \makebox and \put macros.

             This conversion saves you a lot of time once you have generated
             the font; TeX handles the pictures as characters and uses mini-
             mal 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.



        [1m117.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 [22mpage 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.

        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[0m
        plots curves as continuous curves and [1mvectors [22mplots curves as col-
        lections of vectors.  [1mhelp [22mand [1m? [22mprint online help on standard error










   GNUPLOT 5.4                                                           357


        output---both print a short description 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



        [1m117.41.  Mp[0m



        The [1mmp [22mdriver produces output intended to be input to the Metapost
        program.  Running Metapost on the file creates EPS files containing
        the plots. By default, Metapost passes all text through TeX.  This
        has the advantage of allowing essentially  any TeX symbols in titles
        and labels.

        Syntax:
           set term mp {color | colour | monochrome}
                       {solid | dashed}
                       {notex | tex | latex}
                       {magnification <magsize>}
                       {psnfss | psnfss-version7 | nopsnfss}
                       {prologues <value>}
                       {a4paper}
                       {amstex}
                       {"<fontname> {,<fontsize>}"}

        The option [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 noth-
        ing) 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.

        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 processing
        by LaTeX. This allows things like \frac for fractions which LaTeX
        knows about but TeX does not.  Note that you must set the environ-
        ment variable TEX to the name of your LaTeX executable (normally la-
        tex) if you use this option or use [1mmpost --tex=<name of LaTeX exe-[0m
        [1mcutable> ...[22m. Otherwise metapost will try and use TeX to process the










   GNUPLOT 5.4                                                           358


        text and it won't work.

        Changing font sizes in TeX has no effect on the size of mathematics,
        and there is no foolproof way to make such a change, except by glob-
        ally  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 discus-
        sion below on editing the MP output. [1mmag [22mwill also work under [1mnotex[0m
        but 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 LaTeX.
        Since this option only makes sense, if LaTeX is being used, the [1mla-[0m
        [1mtex [22moption is selected automatically. This option includes the fol-
        lowing 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 (op-
        tion [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 generate the eps-
        file, so that the result can be viewed using e.g. ghostscript. Nor-
        mally 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 specifying
        the prologue will be added.

        The option [1ma4paper [22madds a [1m[a4paper] [22mto the documentclass. Normally
        letter paper is used (default). Since this option is only used in
        case of LaTeX, the [1mlatex [22moption is selected automatically.

        The option [1mamstex [22mautomatically selects the [1mlatex [22moption and in-
        cludes the following LaTeX packages: amsfonts, amsmath(intlimits).
        By default these packages are not included.

        A name in quotes selects the font that will be used when no explicit
        font is given in a [1mset label [22mor [1mset title[22m.  A name recognized by TeX
        (a TFM file exists) must be used.  The default is "cmr10" unless [1mno-[0m
        [1mtex [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 encod-
        ing at least in the range 32-126.  [1mcmtt10 [22malmost works, but it has a










   GNUPLOT 5.4                                                           359


        nonblank character in position 32 (space).

        The size can be any number between 5.0 and 99.99.  If it is omitted,
        10.0 is used.  It is advisable to use [1mmagstep [22msizes: 10 times an in-
        teger 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 includes size in-
        formation.  For example, [1mset term mp "cmtt12" [22mselects 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 regardless of the style of quotes.

        Metapost pictures are typically used in TeX documents.  Metapost
        deals with fonts pretty much the same way TeX does, which is differ-
        ent 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 converted to PostScript
        with dvips (or other dvi-to-ps converter), the text in the plot will
        usually be handled correctly.  However, the text may not appear if
        you send the Metapost output as-is to a PostScript interpreter.





             [1m117.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










   GNUPLOT 5.4                                                           360


             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 gnu-
             plot:
                mpost figure.mp  OR  mp figure.mp
             The name of the Metapost program depends on the system, typi-
             cally [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 postscript
             terminal is editable output.  Considerable effort went into
             making this output as clean as possible.  For those knowledge-
             able in the Metapost language, the default line types and col-
             ors 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 [1mvebatimtex...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 set the appropriate MP configuration variable to force
             Metapost to run LaTeX instead of plainTeX.



        [1m117.42.  Pbm[0m


        Note: only available if gnuplot is configured --with-bitmap-termi-
        nals.  Syntax:
              set terminal pbm {<fontsize>} {<mode>} {size <x>,<y>}

        where <fontsize> is [1msmall[22m, [1mmedium[22m, or [1mlarge [22mand <mode> is










   GNUPLOT 5.4                                                           361


        [1mmonochrome[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 [22mpro-
        duces 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 conversion
        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                # defaults
              set terminal pbm color medium size 800,600
              set output '| pnmrotate 45 | pnmtopng > tilted.png'  # uses
        NETPBM



        [1m117.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>}

        <mode> is [1mlandscape [22mor [1mportrait[22m. <plotsize> is the physical plotting
        size of the plot, which can be one of the following formats: [1mletter[0m
        for standard (8 1/2" X 11") displays, [1mlegal [22mfor (8 1/2" X 14") dis-
        plays, [1mnoextended [22mfor (36" X 48") displays (a letter size ratio),
        [1mextended [22mfor (36" X 55") displays (almost a legal size ratio), or [1ma4[0m
        for (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, an-
        tique_olive, arial, avant_garde_gothic, bookman, zapf_chancery,
        clarendon, coronet, courier courier_ps, cg_times, garamond_antigua,
        helvetica, helvetica_narrow, letter_gothic, marigold, new_cen-
        tury_schlbk, cg_omega, palatino, times_new_roman, times_roman,
        zapf_dingbats, truetype_symbols, or wingdings.  Font names are case-










   GNUPLOT 5.4                                                           362


        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 speci-
        fying [1mnopspoints[22m, or the same set of point types as provided by the
        postscript terminal by specifying [1mpspoints [22m(default).

        The [1mbutt [22moption selects lines with butt ends and mitered joins (de-
        fault), 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[0m
        selects 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 de-
        vice dependent. For instance, all the fonts are supposedly supported
        by the HP Laserjet IV, but only a few (e.g. univers, stick) may be
        supported by the HP Laserjet III and the Designjet 750C. Also, color
        obviously won't work on monochrome devices, 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 [1mencod-[0m
        [1ming[22m.  Note that this has highest priority, so you might end up with
        a different font face.  The terminal's default [1mencoding [22mis [1mHP Ro-[0m
        [1mman-8[22m.

        Limitations:

        This terminal does not support alpha transparency. Transparent fill-
        ing is emulated using shading patterns. Boxed text is not imple-
        mented.

        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 us-
        ing PCL features in addition to HP-GL/2. This conforms to the specs
        but may not work with your printer or software.



        [1m117.44.  Pdf[0m


        [DEPRECATED] This terminal uses the non-free library PDFlib (GmbH
        Munchen) to produce files in Portable Document Format. Unless you










   GNUPLOT 5.4                                                           363


        have a commercial license for PDFlib and need some special feature
        it provides you would do better to use the cairo pdf terminal in-
        stead.  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. Select-
        ing [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 Hel-
        vetica) 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 installation of pdflib.

        The [1menhanced [22moption enables enhanced text processing features (sub-
        scripts, superscripts and mixed fonts). See [1menhanced[22m.

        The width of all lines in the plot can be increased by the factor
        <n> specified in [1mlinewidth[22m. Similarly [1mdashlength [22mis a multiplier for
        the default dash spacing.

        [1mrounded [22msets line caps and line joins to be rounded; [1mbutt [22mis the de-
        fault, butt caps and mitered joins.

        The default size for PDF output 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).




        [1m117.45.  Pdfcairo[0m


        The [1mpdfcairo [22mterminal device generates output in pdf. The actual
        drawing is done via cairo, a 2D graphics library, and pango, a li-
        brary for laying out and rendering text.

        Syntax:
                set term pdfcairo
                             {{no}enhanced} {mono|color}
                             {font <font>} {fontscale <scale>}










   GNUPLOT 5.4                                                           364


                             {linewidth <lw>} {rounded|butt|square} {dash-
        length <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 em-
        bedded in labels and other text strings. The enhanced text mode syn-
        tax 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 factor
        <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 de-
        fault, butt caps and mitered joins.

        The default size for the output is 5 inches x 3 inches. The [1msize [22mop-
        tion 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).  Screen coordinates always run from 0.0 to 1.0
        along the full length of the plot edges as specified by the [1msize [22mop-
        tion.

        <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 pdf-
        cairo terminal will use 'Sans'. FontSize is the font size, in
        points. If you do not provide it, the pdfcairo terminal will use a
        nominal font size of 12 points.  However, the default fontscale pa-
        rameter for this terminal is 0.5, so the apparent font size is
        smaller than this if the pdf output is viewed at full size.
           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 Win-
        dows, those fonts are to be found and configured in the entry
        "Fonts" of the control panel. Under UNIX, they are handled by "font-
        config".

        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 us-
        ing. See [1mencoding [22mfor more details.

        Pango may give unexpected results with fonts that do not respect the
        unicode mapping. With the Symbol font, for example, the pdfcairo
        terminal will use the map provided by http://www.unicode.org/ to










   GNUPLOT 5.4                                                           365


        translate character codes to unicode.  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 several 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 Open-
        Office Symbol fonts, and remove the Microsoft one.  Other non-con-
        form 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 : antialias-
        ing and oversampling.  Antialiasing allows to display non-horizontal
        and non-vertical lines smoother.  Oversampling combined with an-
        tialiasing provides subpixel accuracy, so that gnuplot can draw a
        line from non-integer coordinates. This avoids wobbling effects on
        diagonal lines ('plot x' for example).




        [1m117.46.  Pict2e[0m


        The [1mpict2e [22mterminal uses the LaTeX2e variant of the picture environ-
        ment.  It replaces terminals which were based on the original LaTeX
        picture environment: [1mlatex[22m, [1memtex[22m, [1mtpic[22m, and [1meepic[22m. (EXPERIMENTAL)

        Alternatives to this terminal with a more complete support of gnu-
        plot's features are [1mtikz[22m, [1mpstricks[22m, [1mcairolatex[22m, [1mpslatex[22m, [1mepslatex[0m
        and [1mmp[22m.

        Syntax:
              set terminal pict2e
                           {font "{<fontname>}{,<fontsize>}"}
                           {size <XX>{unit}, <YY>{unit}}
                           {color | monochrome}
                           {linewidth <lw>} {rounded | butt}
                           {texarrows | gparrows} {texpoints | gppoints}
                           {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 embedding
        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










   GNUPLOT 5.4                                                           366


        standard 10, 11 and 12 point sizes.

        The default size for the plot is 5 inches by 3 inches. The [1msize [22mop-
        tion 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 "\Dia-
        mond" 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 \usepack-
        age{xcolor} in the preamble of your LaTeX document. [1mmonochrome [22mwill
        avoid the use of any color commands in the output.  Transparent
        color fill is available if pdflatex is used.

        [1mlinewidth [22msets the scale factor for the width of lines.  [1mrounded[0m
        sets 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 de-
        fault line types are solid. Use [1mset linetype [22mwith the [1mdashtype [22mprop-
        erty to change.

        [1mtexarrows [22mdraws [1marrow[22ms using LaTeX commands which are shorter but do
        not offer all options. [1mgparrows [22mselects drawing arrows using gnu-
        plot's own routine for full functionality instead.




        [1m117.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 online 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}
                                   {fontscale <scale>}










   GNUPLOT 5.4                                                           367


                                   {linewidth <scale>}
                                   {pointscale <scale>}
                                   {{title} "title"}

        If [1mpersist [22mis specified, each graph appears in its own window and
        all windows remain open after [1mgnuplot [22mexits.  If [1mserver [22mis speci-
        fied, all graphs appear in the same window, which remains open when
        [1mgnuplot [22mexits.  This option takes an optional numerical 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).

        [1mlinewidth[22m, [1mfontscale[22m, [1mpointscale [22mcan be used to scale the width of
        lines, the size of text, or the size of the point symbols.

        If [1mtitle [22mis specified, it will be used as the title of the plot win-
        dow.  It will also be used as the name of the server instance, 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 are tried to locate
        gnupmdrv.exe.



        [1m117.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 interactively
        by typing <space> in the display window.  To save the current plot










   GNUPLOT 5.4                                                           368


        to a file, left click in the display window and choose [1msave[22m.

        [1mtransparent [22minstructs the driver to make the background color trans-
        parent.  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 requested in
        various drawing commands.

        By default output png images use 256 indexed colors. The [1mtruecolor[0m
        option instead creates TrueColor images with 24 bits of color infor-
        mation per pixel.  Transparent fill styles require the [1mtruecolor [22mop-
        tion. 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 setting is only ap-
        plicable for line widths greater than 1.  This setting is most use-
        ful when drawing horizontal or vertical lines.  Default is [1mrounded[22m.

        The details of font selection are complicated.  Two equivalent sim-
        ple examples are given below:
             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[0m
        [1msize[22m.  Blank space at the edges of the finished plot may be trimmed
        using the [1mcrop [22moption, resulting in a smaller final image size. De-
        fault is [1mnocrop[22m.





             [1m117.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.










   GNUPLOT 5.4                                                           369


                   set terminal png transparent truecolor enhanced

             Use 24 bits of color information per pixel, with a transparent
             background.  Use the [1menhanced text [22mmode to control the layout
             of strings to be printed.




        [1m117.49.  Pngcairo[0m


        The [1mpngcairo [22mterminal device generates output in png. The actual
        drawing is done via cairo, a 2D graphics library, and pango, a li-
        brary for laying out and rendering text.

        Syntax:
                set term pngcairo
                             {{no}enhanced} {mono|color}
                             {{no}transparent} {{no}crop} {background <rgb-
        color>
                             {font <font>} {fontscale <scale>}
                             {linewidth <lw>} {rounded|butt|square} {dash-
        length <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 em-
        bedded in labels and other text strings. The enhanced text mode syn-
        tax 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 factor
        <lw>.

        [1mrounded [22msets line caps and line joins to be rounded; [1mbutt [22mis the de-
        fault, butt caps and mitered joins.

        The default size for the output is 640 x 480 pixels. The [1msize [22moption
        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 (cur-
        rently cm and inch).  A size given in centimeters or inches will be
        converted into pixels assuming a resolution of 72 dpi. Screen coor-
        dinates 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 png-
        cairo terminal will use 'Sans'. FontSize is the font size, in
        points. If you do not provide it, the pngcairo terminal will use a
        size of 12 points.










   GNUPLOT 5.4                                                           370


           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 Win-
        dows, those fonts are to be found and configured in the entry
        "Fonts" of the control panel. Under UNIX, they are handled by "font-
        config".

        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 us-
        ing. See [1mencoding [22mfor more detail.

        Pango may give unexpected results with fonts that do not 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 unicode.  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 several 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 Open-
        Office Symbol fonts, and remove the Microsoft one.

        Rendering uses oversampling, antialiasing, and font hinting to the
        extent supported by the cairo and pango libraries.




        [1m117.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} "<filename>"
                                       | nofontfiles} {{no}adobeglyphnames}
                                      {level1 | leveldefault | level3}
                                      {color | colour | monochrome}
                                      {background <rgbcolor> | nobackground}
                                      {dashlength | dl <DL>}










   GNUPLOT 5.4                                                           371


                                      {linewidth | lw <LW>} {pointscale | ps
        <PS>}
                                      {rounded | butt}
                                      {clip | noclip}
                                      {palfuncparam <samples>{,<maxdevia-
        tion>}}
                                      {size <XX>{unit},<YY>{unit}}
                                      {blacktext | colortext | colourtext}
                                      {{font} "fontname{,fontsize}" {<font-
        size>}}
                                      {fontscale <scale>}
        If you see the error message
              "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 gener-
        ates EPS (Encapsulated PostScript) output, which is just regular
        PostScript with some additional lines that allow the file to be im-
        ported into a variety of other applications.  (The added lines are
        PostScript comment lines, so the file may still be printed by it-
        self.)  To get EPS output, use the [1meps [22mmode and make only one plot
        per file.  In [1meps [22mmode the whole plot, including the fonts, is re-
        duced to half of the default size.

        [1menhanced [22menables enhanced text mode features (subscripts, super-
        scripts and mixed fonts). See [1menhanced [22mfor more information.  [1mblack-[0m
        [1mtext [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 de-
        fault 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<fontsize>[0m
        is the size of the font in PostScript points.  In addition to the
        standard postscript fonts, an oblique version of the Symbol font,
        useful for mathematics, is defined. It is called "Symbol-Oblique".

        [1mdefault [22msets all options to their defaults: [1mlandscape[22m, [1mmonochrome[22m,
        [1mdl 1.0[22m, [1mlw 1.0[22m, [1mdefaultplex[22m, [1menhanced[22m, "Helvetica" and 14pt.  De-
        fault size of a PostScript plot is 10 inches wide and 7 inches high.
        The option [1mcolor [22menables color, while [1mmonochrome [22mprefers black and
        white drawing elements. Further, [1mmonochrome [22muses gray [1mpalette [22mbut it
        does not change color of objects specified with an explicit [1mcolor-[0m
        [1mspec[22m.  [1mdashlength [22mor [1mdl [22mscales the length of dashed-line segments by
        <DL>, which is a floating-point number greater than zero.  [1mlinewidth[0m
        or [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.  PostScript Level 2










   GNUPLOT 5.4                                                           372


        features are conditionally protected so that PostScript Level 1 in-
        terpreters do not issue errors but, rather, display a message or a
        PostScript Level 1 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 versions of Adobe Illustrator.  The flag [1mlevel1 [22mcan be tog-
        gled 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 encoding for bitmapped images,
        which can reduce the output size considerably.

        [1mrounded [22msets line caps and line joins to be rounded; [1mbutt [22mis the de-
        fault, butt caps and mitered joins.

        [1mclip [22mtells PostScript to clip all output to the bounding box; [1mnoclip[0m
        is the default.

        [1mpalfuncparam [22mcontrols how [1mset palette functions [22mare encoded as gra-
        dients in the output. Analytic color component functions (set via
        [1mset palette functions[22m) are encoded as linear interpolated gradients
        in the postscript output:  The color component functions are sampled
        at <samples> points and all points are removed from this gradient
        which can be removed without changing the resulting colors by more
        than <maxdeviation>. For almost every useful palette you may safely
        leave the defaults of <samples>=2000 and <maxdeviation>=0.003 un-
        touched.

        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 possibly (currently only
        cm). The BoundingBox of the plot is correctly adjusted to contain
        the resized image.  Screen coordinates always run from 0.0 to 1.0
        along the full length of the plot edges as specified by the [1msize [22mop-
        tion.  NB: [1mthis is a change from the previously recommended method[0m
        [1mof using the set size 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 defin-
        itions 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 font-
        file 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










   GNUPLOT 5.4                                                           373


              set terminal postscript landscape 22  # old psbig
              set terminal postscript eps 14        # old epsf1
              set terminal postscript eps 22        # old epsf2
              set size 0.7,1.4; set term post portrait color "Times-Roman"
        14
              set term post "VAGRoundedBT_Regular" 14 fontfile "bvrr8a.pfa"

        Linewidths and pointsizes may be changed with [1mset style line[22m.

        The [1mpostscript [22mdriver supports about 70 distinct pointtypes, selec-
        table through the [1mpointtype [22moption on [1mplot [22mand [1mset style line[22m.

        Several possibly useful files about [1mgnuplot[22m's PostScript are in-
        cluded in the /docs/psdoc subdirectory of the [1mgnuplot [22mdistribution
        and at the distribution sites.  These are "ps_symbols.gpi" (a [1mgnu-[0m
        [1mplot [22mcommand file that, when executed, creates the file "ps_sym-
        bols.ps" which shows all the symbols available through the [1mpost-[0m
        [1mscript [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 post-[0m
        [1mscript [22msection for some hints.




             [1m117.50.1.  Editing postscript[0m


             The PostScript language is a very complex language---far too
             complex to describe in any detail in this document.  Neverthe-
             less there are some things in a PostScript file written by [1mgnu-[0m
             [1mplot [22mthat can be changed without risk of introducing fatal er-
             rors into the file.

             For example, the PostScript statement "/Color true def" (writ-
             ten into the file in response to the command [1mset terminal post-[0m
             [1mscript color[22m), may be altered in an obvious way to generate a
             black-and-white version of a plot.  Similarly line colors, text
             colors, line weights and symbol sizes can also be altered in
             straight-forward ways.  Text (titles and labels) can be edited
             to correct misspellings or to change fonts.  Anything can be
             repositioned, and of course anything can be added or deleted,
             but modifications such as these may require deeper knowledge of
             the PostScript language.

             The organization of a PostScript file written by [1mgnuplot [22mis










   GNUPLOT 5.4                                                           374


             discussed in the text file "ps_file.doc" in the docs/ps subdi-
             rectory of the gnuplot source distribution.



             [1m117.50.2.  Postscript fontfile[0m


                   set term postscript ... fontfile {add|delete} <filename>
             The [1mfontfile [22mor [1mfontfile add [22moption takes one file name as ar-
             gument and encapsulates this file into the postscript output in
             order to make this font available for text elements (labels,
             tic marks, titles, etc.).  The [1mfontfile delete [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 formats:
             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 con-
             version tools are installed (see below). You have to specify
             the full filename including the extension. Each [1mfontfile [22moption
             takes exact one font file name. This option can be used multi-
             ple times in order to include more than one font file.

             The search order used to find font files is (1) absolute path-
             name or current working directory (2) any of the directories
             specified by [1mset loadpath [22m(3) the directory specified by [1mset[0m
             [1mfontpath [22m(4) the directory given in environmental variable GNU-
             PLOT_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 [22moption in in-
             teractive mode, the font name is printed on the screen. E.g.
                Font file 'p052004l.pfb' contains the font 'URWPalladioL-
             Bold'. Location:
                /usr/lib/X11/fonts/URW/p052004l.pfb

             When using pfa or pfb fonts, you can also find it out by look-
             ing 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 post-
             script fontfile '<filename.ttf>'".










   GNUPLOT 5.4                                                           375


             For converting font files (either ttf or pfb) to pfa format,
             the conversion tool has to read the font from a file and write
             it to standard output. If the output cannot be written to stan-
             dard 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 com-
             piled in program call does not work correctly 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 writ-
             ten 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/utilities/ps2mf/
             In fact, "pfbtopfa" and "pfb2ps" do the same job. "pfbtopfa"
             puts the resulting pfa code into a file, whereas "pfbtops"
             writes it to standard output.

             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 GNUPLOT_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 defi-
             nition with the character "<" and append a program call. This
             program has to write pfa data to standard output. Thus, a pfa
             file may be accessed by [1mset fontfile "< cat garamond.pfa"[22m.

             For example, including Type 1 font files can be used for in-
             cluding the postscript output in LaTeX documents. The "european
             computer modern" font (which is a variant of the "computer mod-
             ern" font) is available in pfb format from any CTAN server,
             e.g.
                       ftp://ftp.dante.de/tex-archive/fonts/ps-type1/cm-su-
             per/
             For example, the file "sfrm1000.pfb" contains the normal up-
             right fonts with serifs in the design size 10pt (font name
             "SFRM1000").  The computer modern fonts, which are still neces-
             sary for mathematics, are available from
                       ftp://ftp.dante.de/tex-archive/fonts/cm/ps-
             type1/bluesky
             With these you can use any character available in TeX. However,
             the computer modern fonts have a strange encoding. (This is why
             you should not use cmr10.pfb for text, but sfrm1000.pfb in-
             stead.)  The usage of TeX fonts is shown in one of the demos.










   GNUPLOT 5.4                                                           376


             The file "ps_fontfile_doc.tex" in the /docs/psdoc subdirectory
             of the [1mgnuplot [22msource distribution contains a table with glyphs
             of the TeX mathfonts.

             If the font "CMEX10" is embedded (file "cmex10.pfb") gnuplot
             defines the additional font "CMEX10-Baseline". It is shifted
             vertically in order to fit better to the other glyphs (CMEX10
             has its baseline at the top of the symbols).



             [1m117.50.3.  Postscript prologue[0m


             Each PostScript output file includes a %%Prolog section and
             possibly some additional user-defined sections containing, 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. However, you can override this default either
             by using the gnuplot command [1mset psdir [22mor by defining an envi-
             ronment variable GNUPLOT_PS_DIR. See [1mset psdir[22m.



             [1m117.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 char-
             acters 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 [1mnoadobeglyphnames [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 default for
             Adobe fonts, but for other fonts you may have to try both set-
             tings.  See also [1mfontfile[22m.


















   GNUPLOT 5.4                                                           377


        [1m117.51.  Pslatex and pstex[0m


        The [1mpslatex [22mdriver generates output for further processing by LaTeX,
        while the [1mpstex [22mdriver generates output for further processing by
        TeX. [1mpslatex [22muses \specials understandable by dvips and xdvi. Fig-
        ures 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> | nobackground}
                                      {dashlength | dl <DL>}
                                      {linewidth | lw <LW>} {pointscale | ps
        <PS>}
                                      {rounded | butt}
                                      {clip | noclip}
                                      {palfuncparam <samples>{,<maxdevia-
        tion>}}
                                      {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 [1mpalette [22mbut it
        does not change color of objects specified with an explicit [1mcolor-[0m
        [1mspec[22m.  [1mdashlength [22mor [1mdl [22mscales the length of dashed-line segments by
        <DL>, which is a floating-point number greater than zero.  [1mlinewidth[0m
        or [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.  PostScript Level 2
        features are conditionally protected so that PostScript Level 1 in-
        terpreters do not issue errors but, rather, display a message or a
        PostScript Level 1 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 versions of Adobe Illustrator.  The flag [1mlevel1 [22mcan be tog-
        gled 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










   GNUPLOT 5.4                                                           378


        higher. The flag [1mlevel3 [22menables PNG encoding for bitmapped images,
        which can reduce the output size considerably.

        [1mrounded [22msets line caps and line joins to be rounded; [1mbutt [22mis the de-
        fault, butt caps and mitered joins.

        [1mclip [22mtells PostScript to clip all output to the bounding box; [1mnoclip[0m
        is the default.

        [1mpalfuncparam [22mcontrols how [1mset palette functions [22mare encoded as gra-
        dients in the output. Analytic color component functions (set via
        [1mset palette functions[22m) are encoded as linear interpolated gradients
        in the postscript output:  The color component functions are sampled
        at <samples> points and all points are removed from this gradient
        which can be removed without changing the resulting colors by more
        than <maxdeviation>. For almost every useful palette you may safely
        leave the defaults of <samples>=2000 and <maxdeviation>=0.003 un-
        touched.

        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 possibly (currently only
        cm). The BoundingBox of the plot is correctly adjusted to contain
        the resized image.  Screen coordinates always run from 0.0 to 1.0
        along the full length of the plot edges as specified by the [1msize [22mop-
        tion.  NB: [1mthis is a change from the previously recommended method[0m
        [1mof using the set size 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 PostScript
        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 auxiliary PostScript file is
        derived from the name of the TeX file given on the [1mset output [22mcom-
        mand; 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 no extension, [1m.ps [22mis appended.  The [1m.ps [22mis
        included into the [1m.tex [22mfile by a \special{psfile=...} command.  Re-
        member to close the [1moutput file [22mbefore next plot unless in [1mmultiplot[0m
        mode.

        Gnuplot versions prior to version 4.2 generated plots of the size 5
        x 3 inches using the ps(la)tex terminal while the current 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.











   GNUPLOT 5.4                                                           379


        The pslatex driver offers a special way of controlling text posi-
        tioning: (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 LaTeX.  (b) If the text
        string begins with '[', you need to continue it with: a position
        specification (up to two out of t,b,l,r), ']{', the text itself, and
        finally, '}'. The text itself may be anything LaTeX can typeset as
        an LR-box. \rule{}{}'s may help for best positioning.

        The options not described here are identical to the [1mPostscript ter-[0m
        [1mminal[22m.  Look there if you want to know what they do.

        Examples:
              set term pslatex monochrome rotate       # set to defaults
        To write the PostScript commands into the file "foo.ps":
              set term pslatex auxfile
              set output "foo.tex"; plot ...; set output
        About label positioning: Use gnuplot defaults (mostly 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.



        [1m117.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 [1mla-[0m
        [1mtex [22mdrivers.  You need "pstricks.sty", and, of course, a printer
        that understands PostScript, or a converter such as Ghostscript.

        PSTricks is available at
                  http://tug.org/PSTricks/.
        This driver definitely does not come close to using the full capa-
        bility 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>}










   GNUPLOT 5.4                                                           380


        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 [22menables
        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 gnu-
        plot'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.



        [1m117.53.  Qms[0m


        The [1mqms [22mterminal driver supports the QMS/QUIC Laser printer, the Ta-
        laris 1200 and others.  It has no options.



        [1m117.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> [22mdirects the
        output to plot window number n.











   GNUPLOT 5.4                                                           381


        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 let-
        ter 'q' while that window has input focus, by choosing [1mclose [22mfrom a
        window manager menu, or with [1mset term qt <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 win-
        dow.  The position option only applies to the first plot after the
        [1mset term [22mcommand.


        The active plot window (the one selected by [1mset term qt <n>[22m) is in-
        teractive. 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 em-
        bedded in labels and other text strings. The enhanced text mode syn-
        tax is shared with other gnuplot terminal types. See [1menhanced [22mfor
        more details.

        <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 accuracy, so that gnu-
        plot can draw a line from non-integer coordinates. This avoids










   GNUPLOT 5.4                                                           382


        wobbling effects on diagonal lines ('plot x' for example).  Hinting
        avoids the blur on horizontal and vertical lines caused by oversam-
        pling. 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 exiting before you ex-
        plicitly 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 default
        place chosen when the program is compiled.  You can override that by
        defining the environment variable GNUPLOT_DRIVER_DIR.



        [1m117.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}



        [1m117.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 out-
        put stream can be viewed in the terminal as it is created or it can
        be written to a file so that it can be replayed later by echoing the










   GNUPLOT 5.4                                                           383


        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 earlier 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 trans-
        parent.  Default is [1mnotransparent[22m.

        The [1mlinewidth [22mand [1mdashlength [22moptions are scaling factors that affect
        all lines drawn, i.e. they are multiplied by values requested in
        various drawing commands.

        By default the sixel output uses 16 indexed colors. The [1mtruecolor[0m
        option instead creates a TrueColor png image that is mapped down
        onto 256 colors in the output sixel image. Transparent fill styles
        require the [1mtruecolor [22moption. See [1mfillstyle[22m.  A [1mtransparent [22mback-
        ground 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 setting is only ap-
        plicable for line widths greater than 1.  This setting is most use-
        ful when drawing horizontal or vertical lines.  Default is [1mrounded[22m.

        The details of font selection are complicated.  For more information
        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[0m
        [1msize[22m.  Blank space at the edges of the finished plot may be trimmed
        using the [1mcrop [22moption, resulting in a smaller final image size. De-
        fault is [1mnocrop[22m.  The terminal has been successfully tested with the
        xterm, mlterm and mintty terminals.  The later two support the [1mtrue-[0m
        [1mcolor [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.



        [1m117.57.  Svg[0m


        This terminal produces files in the W3C Scalable Vector Graphics
        format.

        Syntax:
              set terminal svg {size <x>,<y> {|fixed|dynamic}}
                               {mouse} {standalone | jsdir <dirname>}
                               {name <plotname>}
                               {font "<fontname>{,<fontsize>}"} {{no}en-
        hanced}










   GNUPLOT 5.4                                                           384


                               {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, [1mdynamic[0m
        allows 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 figure 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 terminal
        types.  See [1menhanced [22mfor more details.

        The [1mmouse [22moption tells gnuplot to add support for mouse tracking and
        for toggling individual plots on/off by clicking on the correspond-
        ing key entry.  By default this is done by including a link that
        points to a script in a local directory, usually /usr/lo-
        cal/share/gnuplot/<version>/js.  You can change this by using the
        [1mjsdir [22moption to specify either a different local directory or a gen-
        eral 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 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 con-
        flicting references to other SVG plots.  Use the [1mname [22moption to en-
        sure uniqueness.




        [1m117.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 underlying library also supports
        X11, Linux console and SDL, but these targets are currently not sup-
        ported.

        Syntax:
              set terminal svga {font "<fontname>"}
                                {{no}enhanced}
                                {background <rgb color>}










   GNUPLOT 5.4                                                           385


                                {linewidth|lw <lw>}
                                {pointscale|ps <scale>}
                                {fontscale|fs <scale>}

        Enhanced text support can be activated using the [1menhanced [22moption,
        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[0m
        parameter 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.



        [1m117.59.  Tek40[0m


        This family of terminal drivers supports a variety of VT-like termi-
        nals.  [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 monochrome. [1mselanar [22msupports Se-
        lanar graphics.  [1mbitgraph [22msupports BBN Bitgraph terminals.  None
        have any options.



        [1m117.60.  Tek410x[0m


        The [1mtek410x [22mterminal driver supports the 410x and 420x family of
        Tektronix terminals.  It has no options.



        [1m117.61.  Texdraw[0m


        The [1mtexdraw [22mterminal driver supports the (La)TeX texdraw environ-
        ment.  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 | gppoints}
                             {background <rgbcolor>}










   GNUPLOT 5.4                                                           386


        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 "\Di-
        amond" and "\Box".  These commands no longer belong to the LaTeX2e
        core; they are included in the latexsym package, which is part of
        the base distribution and thus part of any LaTeX implementation.
        Please do not forget to use this package.  Other point types use
        symbols from the amssymb package. For compatibility 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 [22menables
        "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 [1mgppoints[22m.

        [1mpsarrows [22mdraws [1marrow[22ms using TeXdraw commands which are shorter but
        do not offer all options. [1mgparrows [22mselects drawing drawing arrows
        using gnuplot's own routine for full functionality instead.  Simi-
        larly, [1mtexpoints[22m, and [1mgppoints [22mselect LaTeX symbols or gnuplot's
        point drawing routines.



        [1m117.62.  Tgif[0m


        Legacy terminal (present only if gnuplot was configured --with-
        tgif).  Tgif is/was an Xlib based interactive 2-D vector graphics
        drawing tool also capable of importing and marking up bitmap 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 direc-
        tions on the page, [1mcolor [22menables color, [1mlinewidth [22mscales all










   GNUPLOT 5.4                                                           387


        linewidths by <LW>, "<fontname>" is the name of a valid PostScript
        font, and <fontsize> specifies the size of the PostScript font.  [1mde-[0m
        [1mfaults [22msets all options to their defaults: [1mportrait[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 multiplot
        feature:

              set terminal tgif
              set output "file.obj"
              set multiplot
              set origin x01,y01
              set size  xs,ys
              plot ...
                   ...
              set origin x02,y02
              plot ...
              unset multiplot

        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 proportions of 3/2 (or whatever is
        fixed by [1mset size[22m).

        If both multiplot methods are selected, the standard method is cho-
        sen and a warning message is given.

        Examples of single plots (or standard multiplot):
              set terminal tgif                  # defaults
              set terminal tgif "Times-Roman,24"
              set terminal tgif landscape
              set terminal tgif landscape solid

        Examples using the built-in multiplot mechanism:
              set terminal tgif portrait [2,4]  # portrait; 2 plots in the
        x-
                                                # and 4 in the y-direction
              set terminal tgif [1,2]           # portrait; 1 plot in the x-
                                                # and 2 in the y-direction
              set terminal tgif landscape [3,3] # landscape; 3 plots in both
                                                # directions













   GNUPLOT 5.4                                                           388


        [1m117.63.  Tikz[0m


        This driver creates output for use with the TikZ package of graphics
        macros in TeX.  It is currently implemented via an external lua
        script, and [1mset term tikz [22mis a short form of the command [1mset term[0m
        [1mlua tikz[22m.  See [1mterm lua [22mfor more information.  Use the command [1mset[0m
        [1mterm tikz help [22mto print terminal options.



        [1m117.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}
                                    {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 re-
        sult:

              package require Tk
              # the following two lines are only required to support exter-
        nal 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:










   GNUPLOT 5.4                                                           389


              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)
              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()










   GNUPLOT 5.4                                                           390


           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 [1mstandalone[0m
        option.  The default is [1minput [22mwhich creates scripts which have to be
        source'd (or loaded or called or whatever the adequate 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 stdout.  The
        user can supersede this behavior by supplying a procedure user_gnu-
        plot_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 followed
        by the coordinates of its start and end point in the two possible
        axis ranges; the coordinates of the midpoint are only filled for
        logarithmic axes.

        By default the canvas is [1mtransparent[22m, but an explicit background
        color can be set with the [1mbackground [22moption.

        [1mrounded [22msets line caps and line joins to be rounded; [1mbutt [22mis the de-
        fault:  butt caps and mitered joins.

        Text at arbitrary angles can be activated with the [1mrottext [22moption,
        which requires Tcl/Tk 8.6 or later. The default is [1mnorottext[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 cur-
        rently only available for Tcl.

        The [1mpixels [22m(default) option selects the failsafe pixel-by-pixel im-
        age handler, see also [1mimage pixels[22m.  The [1mexternalimages [22moption saves
        images as external png images, which are later loaded and scaled by
        the tkcanvas code.  This option is only available for Tcl and dis-
        play 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_coor-
        dinates.












   GNUPLOT 5.4                                                           391


        [1m117.65.  Tpic[0m


        Note: Legacy terminal (not built by default).  The latex, emtex,
        eepic, and tpic terminals in older versions of gnuplot provided min-
        imal support for graphics styles beyond simple lines and points.
        They have been directly superseded by the [1mpict2e [22mterminal.  For more
        capable TeX/LaTeX compatible terminal 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.

        Syntax:
              set terminal tpic <pointsize> <linewidth> <interval>

        where [1mpointsize [22mand [1mlinewidth [22mare integers in milli-inches and [1min-[0m
        [1mterval [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 posi-
        tioning: If any text string begins with '{', you also need to in-
        clude a '}' at the end of the text, and the whole text will be cen-
        tered 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 sen-
        sible, but sometimes not really best):
               set title '\LaTeX\ -- $ \gamma $'
        Force centering both horizontally and vertically:
               set label '{\LaTeX\ -- $ \gamma $}' at 0,0
        Specify own positioning (top here):
               set xlabel '[t]{\LaTeX\ -- $ \gamma $}'
        The other label -- account for long ticlabels:
               set ylabel '[r]{\LaTeX\ -- $ \gamma $\rule{7mm}{0pt}}'



        [1m117.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 plot-
        ted as solid lines.













   GNUPLOT 5.4                                                           392


        [1m117.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[0m
        [1mwxt [22mand [1mterminal qt [22mare also supported on Windows.

        Syntax:
              set terminal windows {<n>}
                                   {color | monochrome}
                                   {solid | dashed}
                                   {rounded | butt}
                                   {enhanced | noenhanced}
                                   {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>} | stand-
        alone}
                                   {close}

        Multiple plot windows are supported: [1mset terminal win <n> [22mdirects
        the output to plot window number n.

        [1mcolor [22mand [1mmonochrome [22mselect colored or mono output, [1mdashed [22mand [1msolid[0m
        select 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 informa-
        tion).  [1m<fontspec> [22mis in the format "<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 [22mcan 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 window'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 posi-
        tion 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 number of columns and rows










   GNUPLOT 5.4                                                           393


        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 initializa-
        tion 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 last command line
        option.  It will also not show the text-window at all, in this mode,
        only the plot.  By giving the optional argument [1m-persist [22m(same as
        for gnuplot under x11; former Windows-only options [1m/noend [22mor [1m-noend[0m
        are still accepted as well), will not close gnuplot. Contrary to
        gnuplot on other operating systems, gnuplot's interactive command
        line is accessible 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[0m
        [1mwindows close[22m.

        [1mgnuplot [22msupports different methods to create printed output on Win-
        dows, see [1mwindows printing[22m. The windows terminal supports data ex-
        change with other programs via clipboard and EMF files, see [1mgraph-[0m
        [1mmenu[22m. You can also use the [1mterminal emf [22mto create EMF files.




             [1m117.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 select-
             ing [1mOptions [22mfrom the system menu or the toolbar:

             [1mCopy to Clipboard [22mcopies a bitmap and an enhanced metafile pic-
             ture.

             [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










   GNUPLOT 5.4                                                           394


             forces all grayscale output.  This is e.g. useful to test ap-
             pearance of monochrome printouts.

             The [1mGDI backend [22mwhich uses the classic GDI API is deprecated
             and has been disabled in this version.

             [1mGDI+ backend [22mdraws to the screen using the GDI+ Windows API. It
             supports full antialiasing, oversampling, transparency and cus-
             tom dash patterns.  This was the default 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, saving and
             copying to clipboard of EMF data fall back to GDI+ while bitmap
             data is generated by D2d.  This is the recommended and default
             backend since version 5.3.

             [1mOversampling [22mdraws diagonal lines at fractional pixel positions
             to avoid "wobbling" effects.  Vertical or horizontal 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 ro-
             tating the graph with the mouse. This speeds up drawing consid-
             erably 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 window.

             [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 initial-
             ization file [1mwgnuplot.ini[22m.

             (*) Note that this menu is only available by pressing the right
             mouse button with [1munset mouse[22m.



             [1m117.67.2.  Printing[0m


             In order of preference, graphs may be printed in the following
             ways:

             [1m1. [22mUse the [1mgnuplot [22mcommand [1mset terminal [22mto select a printer and
             [1mset output [22mto redirect output to a file.










   GNUPLOT 5.4                                                           395


             [1m2. [22mSelect the [1mPrint... [22mcommand from the [1mgnuplot graph [22mwindow.
             An extra command [1mscreendump [22mdoes this from the text window.

             [1m3. [22mIf [1mset output "PRN" [22mis used, output will go to a temporary
             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.




             [1m117.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 unselected,
             text is black or blue on a white background.

             [1mWrap long lines [22mwhen selected lines longer than the current
             window width are wrapped.

             [1mUpdate wgnuplot.ini [22msaves the current settings to the initiali-
             sation file [1mwgnuplot.ini[22m, which is located in the user's appli-
             cation data directory.




             [1m117.67.4.  Wgnuplot.mnu[0m


             If the menu file [1mwgnuplot.mnu [22mis found in the same directory as
             [1mgnuplot[22m, then the menu specified in [1mwgnuplot.mnu [22mwill be
             loaded.  Menu commands:

              [Menu]      starts a new menu with the name on the following
             line.
              [EndMenu]   ends the current menu.
              [--]        inserts a horizontal menu separator.










   GNUPLOT 5.4                                                           396


              [|]         inserts a vertical menu separator.
              [Button]    puts the next macro on a push button instead 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 output.
              [OPEN]      Get name of a file to open, with the title of the
             dialog
                          terminated by [EOS], followed by a default file-
             name 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 di-
             alog
                          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.




             [1m117.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 [1mwgnuplot.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










   GNUPLOT 5.4                                                           397


                   GraphSize=640 330
                   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 wgnuplot.

             See [1mtext-menu[22m.


             [1mDockVerticalTextFrac [22mand [1mDockHorizontalTextFrac [22mset the frac-
             tion 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.



        [1m117.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.

        Syntax:
                set term wxt {<n>}
                             {size <width>,<height>} {position <x>,<y>}










   GNUPLOT 5.4                                                           398


                             {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> [22mdirects
        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 <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 constant, leaving an empty space
        painted in gray.  If you type [1mreplot[22m, click the [1mreplot [22micon in the
        terminal toolbar or type a new [1mplot [22mcommand, the new plot will com-
        pletely 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 win-
        dow.  The position option only applies to the first plot after the
        [1mset term [22mcommand.

        The active plot window (the one selected by [1mset term wxt <n>[22m) is in-
        teractive. 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 em-
        bedded in labels and other text strings. The enhanced text mode syn-
        tax is shared with other gnuplot terminal types. See [1menhanced [22mfor
        more details.

        <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










   GNUPLOT 5.4                                                           399


        you do not provide it, the wxt terminal 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 Win-
        dows, those fonts are to be found and configured in the entry
        "Fonts" of the control panel. Under UNIX, they are handled by "font-
        config".

        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 de-
        fault 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 respect the
        unicode mapping. With the Symbol font, for example, the wxt terminal
        will use the map provided by http://www.unicode.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 coverage, like the DejaVu fonts. 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, distributed with OpenOffice.org as
        "opens___.ttf", offers the same characters. Microsoft has distrib-
        uted a Symbol font ("symbol.ttf"), but it has a different character
        set with several missing or moved mathematic characters. If you ex-
        perience problems with your default setup (if the demo enhanced-
        text.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 available
        from the toolbar. To obtain the best output possible, the rendering
        involves three mechanisms : antialiasing, oversampling and hinting.
        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 coordi-
        nates. This avoids wobbling effects on diagonal lines ('plot x' for
        example).  Hinting avoids the blur on horizontal and vertical lines
        caused by oversampling. The terminal will snap these lines to inte-
        ger 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 exiting before you ex-
        plicitly close all the plot windows.  Finally, by default the key










   GNUPLOT 5.4                                                           400


        <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', respectively.  These three keywords
        (raise, persist and ctrl) can also be set and remembered between
        sessions through the configuration dialog.



        [1m117.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> [22mdirects
        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 de-
        fault to crosshair).

        The [1mx11 [22mterminal can connect to X windows previously created by an
        outside application via the option [1mwindow [22mfollowed by a string con-
        taining the X ID for the window in hexadecimal format.  Gnuplot uses
        that external X window as a container since X does not allow for
        multiple clients selecting the ButtonPress event.  In this way, gnu-
        plot'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 expected, but the second will
        not.

           set term x11 enhanced font "arial,15"
           set title '{/=20 Big} Medium {/=5 Small}'

           set term x11 enhanced font "terminal-14"
           set title '{/=20 Big} Medium {/=5 Small}'

        Plot windows remain open even when the [1mgnuplot [22mdriver is changed to
        a different device.  A plot window can be closed by pressing the










   GNUPLOT 5.4                                                           401


        letter q while that window has input focus, or by choosing [1mclose[0m
        from a window manager menu.  All plot windows can be closed by spec-
        ifying [1mreset[22m, which actually terminates the subprocess which main-
        tains the windows (unless [1m-persist [22mwas specified).  The [1mclose [22mcom-
        mand can be used to close individual plot windows by number.  How-
        ever, 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 default
        place chosen when the program is compiled.  You can override that by
        defining the environment variable GNUPLOT_DRIVER_DIR to point to a
        different location.

        Plot windows will automatically be closed at the end of the session
        unless the [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 command line
        options -persist / -raise or the Xresources are taken.  If [no]per-
        sist or [no]raise are specified, they will override command line op-
        tions and Xresources.  Setting one of these options takes place im-
        mediately, so the behaviour of an already running driver can be mod-
        ified.  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-ra-
        tio 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 op-
        tion is generally desirable, unless the potentially CPU-intensive
        replotting during resizing is a concern. 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.

        The position option can be used to set the position of the plot win-
        dow.  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 [22mwith
        [1mset linestyle[22m.

        For terminal type [1mx11[22m, [1mgnuplot [22maccepts (when initialized) the stan-
        dard X Toolkit options and resources such as geometry, font, and










   GNUPLOT 5.4                                                           402


        name from the command line arguments or a configuration file.  See
        the X(1) man page (or its equivalent) for a description of such op-
        tions.

        A number of other [1mgnuplot [22moptions are available for the [1mx11 [22mtermi-
        nal.  These may be specified either as command-line options when
        [1mgnuplot [22mis invoked or as resources in the configuration file ".Xde-
        faults".  They are set upon initialization and cannot be altered
        during a [1mgnuplot [22msession.  (except [1mpersist [22mand [1mraise[22m)




             [1m117.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 in-
             side 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>-*-*-*-*-*-<encoding>

              <font> is the base name of the font (e.g. Times or Symbol)
              <size> is the point size (defaults to 12 if not specified)
              <s> is `i` if <slant>=="italic" `o` if <slant>=="oblique" `r`
             otherwise
              <weight> is `medium` or `bold` if explicitly requested, other-
             wise `*`
              <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 default en-
             coding).  The <size>, <slant>, and <weight> specifications are
             all optional.  If you do not specify <slant> or <weight> then
             you will get whatever font variant the font server offers
             first.  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[0m
             [1mlabel[22m.

             If your gnuplot was built with configuration option --enable-










   GNUPLOT 5.4                                                           403


             x11-mbfonts, you can specify multi-byte fonts by using the pre-
             fix "mbfont:" on the font name. An additional font may be
             given, separated by a semicolon.  Since multi-byte font encod-
             ings are interpreted according to the locale 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 us-
             able.
                   set title '(mb strings)' font 'mbfont:*-fixed-medium-r-
             normal--14-*'

             The same syntax applies to the default font in Xresources set-
             tings, 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 "mb-
             font:".




             [1m117.69.2.  Command-line_options[0m


             In addition to the X Toolkit options, the following options may
             be specified on the command line when starting [1mgnuplot [22mor as
             resources in your ".Xdefaults" file (note that [1mraise [22mand [1mper-[0m
             [1msist [22mcan be overridden later by [1mset term x11 [no]raise [no]per-[0m
             [1msist)[22m:






















   GNUPLOT 5.4                                                           404


   +----------------------------------------------------------------------------+
   |  `-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                    |
   | `-persist`   plot windows survive after main gnuplot program exits         |
   +----------------------------------------------------------------------------+


   The options are shown above in their command-line syntax.  When entered
   as resources in ".Xdefaults", they require a different syntax.

   Example:
         gnuplot*gray:  on
         gnuplot*ctrlq: on

   [1mgnuplot [22malso provides a command line option ([1m-pointsize <v>[22m) and a re-
   source, [1mgnuplot*pointsize: <v>[22m, to control the size of points plotted
   with the [1mpoints [22mplotting style.  The value [1mv [22mis a real number (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 [22mswitch similarly
   replaces the <space> hot-key with <ctrl><space> for the same reason.




             [1m117.69.3.  Color_resources[0m


             NB: THIS SECTION IS LARGELY IRRELEVANT IN GNUPLOT VERSION 5 The
             X11 terminal honors the following resources (shown here with
             their default values) or the greyscale resources.  The values
             may be color names as listed in the X11 rgb.txt file on your
             system, hexadecimal RGB color specifications (see X11 documen-
             tation), or a color name followed by a comma and an [1mintensity[0m
             value from 0 to 1.  For example, [1mblue, 0.5 [22mmeans a half inten-
             sity blue.














   GNUPLOT 5.4                                                           405


                     +---------------------------------+
                     |     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 others 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.




             [1m117.69.4.  Grayscale_resources[0m


             When [1m-gray [22mis selected, [1mgnuplot [22mhonors the following resources
             for grayscale or color displays (shown here with their default
             values).  Note that the default background is black.
























   GNUPLOT 5.4                                                           406


                      +--------------------------------+
                      |     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  |
                      +--------------------------------+






             [1m117.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 default val-
             ues.)  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[0m
   pixels 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 pat-
   terns 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 monochrome rendering on color or grayscale










   GNUPLOT 5.4                                                           407


   displays.  Color displays default to 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   |
                      +-------------------------------+






             [1m117.69.6.  X11 pm3d_resources[0m


             NB: THIS SECTION IS LARGELY IRRELEVANT IN GNUPLOT VERSION 5
             Choosing the appropriate visual class and number of colors is a
             crucial point in X11 applications and a bit awkward, since X11
             supports six visual types in different depths.

             By default [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 colors.  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 col-
             ors is 240 (16 are left for line colors).

             Gnuplot first starts to allocate the maximal number of colors
             as stated above.  If this fails, the number of colors is re-
             duced by the factor 2 until gnuplot gets all colors which are
             requested. If dividing [1mmaxcolors [22mby 2 repeatedly results in a
             number which is smaller than [1mmincolors gnuplot [22mtries to install
             a private colormap. In this case the window manager is respon-
             sible for swapping colormaps 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).

             Some systems support multiple (different) visual classes










   GNUPLOT 5.4                                                           408


             together on one screen. On these systems it might be necessary
             to force gnuplot to use a specific visual class, e.g. the de-
             fault visual might be 8bit PseudoColor but the screen would
             also support 24bit TrueColor which would be the preferred
             choice.

             The information about an Xserver's capabilities can be obtained
             with the program [1mxdpyinfo[22m.  For the visual names below you can
             choose one of StaticGray, GrayScale, StaticColor, PseudoColor,
             TrueColor, DirectColor.  If an Xserver supports a requested vi-
             sual type at different depths, [1mgnuplot [22mchooses the visual class
             with the highest depth (deepest).  If the requested visual
             class matches the default visual and multiple classes of this
             type are supported, the default visual is preferred.

             Example: on an 8bit PseudoColor visual you can force a private
             color map by specifying [1mgnuplot*maxcolors: 240 [22mand [1mgnuplot*min-[0m
             [1mcolors: 240[22m.



                 +------------------------------------------+
                 |     gnuplot*maxcolors:  <integer number> |
                 |     gnuplot*mincolors:  <integer number> |
                 |     gnuplot*visual:     <visual name>    |
                 +------------------------------------------+






             [1m117.69.7.  X11 other_resources[0m


             By default the contents of the current plot window are exported
             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 background.  If
             this is a problem, you can set the resource 'gnuplot.fastro-
             tate' to 'off'



















   GNUPLOT 5.4                                                           409


                    +-----------------------------------+
                    |     gnuplot*exportselection:  off |
                    |     gnuplot*fastrotate:  on       |
                    |     gnuplot*ctrlq:  off           |
                    +-----------------------------------+





        [1m117.70.  Xlib[0m


        The [1mxlib [22mterminal driver supports the X11 Windows System.  It gener-
        ates gnuplot_x11 commands, but sends them to the output file speci-
        fied by [1mset output '<filename>'[22m. [1mset term x11 [22mis equivalent to [1mset[0m
        [1moutput "|gnuplot_x11 -noevents"; set term xlib[22m.  [1mxlib [22mtakes the same
        set of options as [1mx11[22m.




        [1m118.  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 com-
        plete information on the version of gnuplot you are using and, if
        possible, a test script that demonstrates the bug.  See [1mseeking-as-[0m
        [1msistance[22m.




        [1m119.  Known limitations[0m


        It is not possible to use inline data (e.g. plot '-' ...) inside 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 window.  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 documenta-
        tion).

        The [1mraise [22mand [1mlower [22mcommands are unreliable.













   GNUPLOT 5.4                                                           410


        [1m120.  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 map-
        ping the characters of Adobe's Symbol font.  Dot-dash patterns are
        not supported for these terminals.

        External library PDFlib (used by PDF terminal, but not by pdfcairo):
        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 runtime
        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 features such as
        "thousands' grouping separator", depend on the internationalization
        support provided by your individual machine.

        External library libcerf versions 1.8 1.9 1.10 return incorrect re-
        sults for the voigt function. Do not use.












































                                 [1mTable of Contents[0m


        Gnuplot  . . . . . . . . . . . . . . . . . . . . . . . . . . . .   2
        Copyright  . . . . . . . . . . . . . . . . . . . . . . . . . . .   2
        Introduction . . . . . . . . . . . . . . . . . . . . . . . . . .   1
        Seeking-assistance . . . . . . . . . . . . . . . . . . . . . . .   2
        New features . . . . . . . . . . . . . . . . . . . . . . . . . .   3
        Features introduced in version 5.4 . . . . . . . . . . . . . . .   3
        Support for 64-bit integer arithmetic  . . . . . . . . . . . . .   3
        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 . . . . . . . . . . . . . . . . . . . . . . .   4
        Week-date time formats . . . . . . . . . . . . . . . . . . . . .   4
        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  . . . . . . . . . . . . . . . . . . . . . . . . . .  11
        Datastrings  . . . . . . . . . . . . . . . . . . . . . . . . . .  12
        Enhanced text mode . . . . . . . . . . . . . . . . . . . . . . .  13
        Escape sequences . . . . . . . . . . . . . . . . . . . . . . . .  15
        Environment  . . . . . . . . . . . . . . . . . . . . . . . . . .  16
        Expressions  . . . . . . . . . . . . . . . . . . . . . . . . . .  17
        Complex arithmetic . . . . . . . . . . . . . . . . . . . . . . .  17
        Constants  . . . . . . . . . . . . . . . . . . . . . . . . . . .  18
        Functions  . . . . . . . . . . . . . . . . . . . . . . . . . . .  18
        Elliptic integrals . . . . . . . . . . . . . . . . . . . . . . .  21
        Random number generator  . . . . . . . . . . . . . . . . . . . .  22
        Using specifier functions  . . . . . . . . . . . . . . . . . . .  22
        Column . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  22
        Columnhead . . . . . . . . . . . . . . . . . . . . . . . . . . .  23










   GNUPLOT 5.4                                                            ii


        Stringcolumn . . . . . . . . . . . . . . . . . . . . . . . . . .  23
        Timecolumn . . . . . . . . . . . . . . . . . . . . . . . . . . .  23
        Valid  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  23
        Value  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  24
        Counting and extracting words  . . . . . . . . . . . . . . . . .  24
        Operators  . . . . . . . . . . . . . . . . . . . . . . . . . . .  25
        Unary  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  25
        Binary . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  26
        Ternary  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  27
        Summation  . . . . . . . . . . . . . . . . . . . . . . . . . . .  28
        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 . . . . . . . . . . . . . . . . . . . . . . . . . . . .  39
        Linestyles vs linetypes  . . . . . . . . . . . . . . . . . . . .  40
        Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  41
        Mouse input  . . . . . . . . . . . . . . . . . . . . . . . . . .  41
        Bind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  42
        Bind space . . . . . . . . . . . . . . . . . . . . . . . . . . .  43
        Mouse variables  . . . . . . . . . . . . . . . . . . . . . . . .  44
        Persist  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  44
        Plotting . . . . . . . . . . . . . . . . . . . . . . . . . . . .  45
        Plugins  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  46
        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  . . . . . . . . .  48
        Substitution of string variables as macros . . . . . . . . . . .  49
        String variables, macros, and command line substitution  . . . .  50
        Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  51
        Quote Marks  . . . . . . . . . . . . . . . . . . . . . . . . . .  52
        Time/Date data . . . . . . . . . . . . . . . . . . . . . . . . .  52
        Plotting styles  . . . . . . . . . . . . . . . . . . . . . . . .  54
        Arrows . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  54
        Bee swarm plots  . . . . . . . . . . . . . . . . . . . . . . . .  55
        Boxerrorbars . . . . . . . . . . . . . . . . . . . . . . . . . .  55
        Boxes  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  56










   GNUPLOT 5.4                                                           iii


        2D boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . .  56
        3D boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . .  57
        Boxplot  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  58
        Boxxyerror . . . . . . . . . . . . . . . . . . . . . . . . . . .  59
        Candlesticks . . . . . . . . . . . . . . . . . . . . . . . . . .  59
        Circles  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  61
        Ellipses . . . . . . . . . . . . . . . . . . . . . . . . . . . .  62
        Dots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  63
        Filledcurves . . . . . . . . . . . . . . . . . . . . . . . . . .  63
        Fill properties  . . . . . . . . . . . . . . . . . . . . . . . .  64
        Financebars  . . . . . . . . . . . . . . . . . . . . . . . . . .  65
        Fsteps . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  65
        Fillsteps  . . . . . . . . . . . . . . . . . . . . . . . . . . .  65
        Histeps  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  66
        Histograms . . . . . . . . . . . . . . . . . . . . . . . . . . .  66
        Newhistogram . . . . . . . . . . . . . . . . . . . . . . . . . .  69
        Automated iteration over multiple columns  . . . . . . . . . . .  70
        Image  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  70
        Transparency . . . . . . . . . . . . . . . . . . . . . . . . . .  71
        Image pixels . . . . . . . . . . . . . . . . . . . . . . . . . .  71
        Impulses . . . . . . . . . . . . . . . . . . . . . . . . . . . .  72
        Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  72
        Lines  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  73
        Linespoints  . . . . . . . . . . . . . . . . . . . . . . . . . .  73
        Parallelaxes . . . . . . . . . . . . . . . . . . . . . . . . . .  74
        Polar plots  . . . . . . . . . . . . . . . . . . . . . . . . . .  75
        Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  75
        Polygons . . . . . . . . . . . . . . . . . . . . . . . . . . . .  76
        Spiderplot . . . . . . . . . . . . . . . . . . . . . . . . . . .  76
        Newspiderplot  . . . . . . . . . . . . . . . . . . . . . . . . .  77
        Steps  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  77
        Rgbalpha . . . . . . . . . . . . . . . . . . . . . . . . . . . .  78
        Rgbimage . . . . . . . . . . . . . . . . . . . . . . . . . . . .  78
        Vectors  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  78
        Xerrorbars . . . . . . . . . . . . . . . . . . . . . . . . . . .  79
        Xyerrorbars  . . . . . . . . . . . . . . . . . . . . . . . . . .  79
        Yerrorbars . . . . . . . . . . . . . . . . . . . . . . . . . . .  79
        Xerrorlines  . . . . . . . . . . . . . . . . . . . . . . . . . .  80
        Xyerrorlines . . . . . . . . . . . . . . . . . . . . . . . . . .  80
        Yerrorlines  . . . . . . . . . . . . . . . . . . . . . . . . . .  81
        3D plots . . . . . . . . . . . . . . . . . . . . . . . . . . . .  81
        Surface plots  . . . . . . . . . . . . . . . . . . . . . . . . .  81
        2D projection (set view map) . . . . . . . . . . . . . . . . . .  82
        PM3D plots . . . . . . . . . . . . . . . . . . . . . . . . . . .  82
        Fence plots  . . . . . . . . . . . . . . . . . . . . . . . . . .  82
        Isosurface . . . . . . . . . . . . . . . . . . . . . . . . . . .  83
        Zerrorfill . . . . . . . . . . . . . . . . . . . . . . . . . . .  83
        Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . .  84
        Break  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  84
        Cd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  84
        Call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  85
        Argv[ ]  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  85
        Example  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  86










   GNUPLOT 5.4                                                            iv


        Old-style  . . . . . . . . . . . . . . . . . . . . . . . . . . .  86
        Clear  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  87
        Continue . . . . . . . . . . . . . . . . . . . . . . . . . . . .  88
        Do . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  88
        Evaluate . . . . . . . . . . . . . . . . . . . . . . . . . . . .  88
        Exit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  89
        Fit  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  89
        Adjustable parameters  . . . . . . . . . . . . . . . . . . . . .  93
        Short introduction . . . . . . . . . . . . . . . . . . . . . . .  93
        Error estimates  . . . . . . . . . . . . . . . . . . . . . . . .  95
        Statistical overview . . . . . . . . . . . . . . . . . . . . . .  95
        Practical guidelines . . . . . . . . . . . . . . . . . . . . . .  96
        Control  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  98
        Control variables  . . . . . . . . . . . . . . . . . . . . . . .  98
        Environment variables  . . . . . . . . . . . . . . . . . . . . .  98
        Multi-branch . . . . . . . . . . . . . . . . . . . . . . . . . .  99
        Starting values  . . . . . . . . . . . . . . . . . . . . . . . .  99
        Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
        Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
        History  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
        If . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
        If-old . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
        For  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
        Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
        Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
        Lower  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
        Pause  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
        Pause mouse close  . . . . . . . . . . . . . . . . . . . . . . . 106
        Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
        Axes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
        Binary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
        General  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
        Array  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
        Record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
        Skip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
        Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
        Endian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
        Filetype . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
        Avs  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
        Edf  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
        Png  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
        Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
        Scan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
        Transpose  . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
        Dx, dy, dz . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
        Flipx, flipy, flipz  . . . . . . . . . . . . . . . . . . . . . . 114
        Origin=  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
        Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
        Rotate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
        Perpendicular  . . . . . . . . . . . . . . . . . . . . . . . . . 115
        Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
        Bins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
        Columnheaders  . . . . . . . . . . . . . . . . . . . . . . . . . 118










   GNUPLOT 5.4                                                             v


        Csv files  . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
        Every  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
        Example datafile . . . . . . . . . . . . . . . . . . . . . . . . 120
        Index  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
        Skip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
        Smooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
        Acsplines  . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
        Bezier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
        Bins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
        Csplines . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
        Mcsplines  . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
        Sbezier  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
        Unique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
        Unwrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
        Frequency  . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
        Fnormal  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
        Cumulative . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
        Cnormal  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
        Kdensity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
        Zsort  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
        Special-filenames  . . . . . . . . . . . . . . . . . . . . . . . 127
        Piped-data . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
        Using  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
        Using_examples . . . . . . . . . . . . . . . . . . . . . . . . . 131
        Pseudocolumns  . . . . . . . . . . . . . . . . . . . . . . . . . 133
        Key  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
        Xticlabels . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
        X2ticlabels  . . . . . . . . . . . . . . . . . . . . . . . . . . 135
        Yticlabels . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
        Y2ticlabels  . . . . . . . . . . . . . . . . . . . . . . . . . . 135
        Zticlabels . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
        Cbticlabels  . . . . . . . . . . . . . . . . . . . . . . . . . . 135
        Volatile . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
        Errorbars  . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
        Errorlines . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
        Functions  . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
        Parametric . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
        Ranges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
        Sampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
        1D sampling (x or t axis)  . . . . . . . . . . . . . . . . . . . 140
        2D sampling (u and v axes) . . . . . . . . . . . . . . . . . . . 140
        For loops in plot command  . . . . . . . . . . . . . . . . . . . 141
        Title  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
        With . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
        Print  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
        Printerr . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
        Pwd  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
        Quit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
        Raise  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
        Refresh  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
        Replot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
        Reread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
        Reset  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150










   GNUPLOT 5.4                                                            vi


        Save . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
        Set-show . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
        Angles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
        Arrow  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
        Autoscale  . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
        Noextend . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
        Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
        Polar mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
        Bind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
        Bmargin  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
        Border . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
        Boxwidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
        Boxdepth . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
        Color  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
        Colorsequence  . . . . . . . . . . . . . . . . . . . . . . . . . 161
        Clabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
        Clip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
        Cntrlabel  . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
        Cntrparam  . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
        Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
        Color box  . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
        Colornames . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
        Contour  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
        Dashtype . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
        Data style . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
        Datafile . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
        Set datafile columnheaders . . . . . . . . . . . . . . . . . . . 169
        Set datafile fortran . . . . . . . . . . . . . . . . . . . . . . 169
        Set datafile nofpe_trap  . . . . . . . . . . . . . . . . . . . . 170
        Set datafile missing . . . . . . . . . . . . . . . . . . . . . . 170
        Set datafile separator . . . . . . . . . . . . . . . . . . . . . 171
        Set datafile commentschars . . . . . . . . . . . . . . . . . . . 172
        Set datafile binary  . . . . . . . . . . . . . . . . . . . . . . 172
        Decimalsign  . . . . . . . . . . . . . . . . . . . . . . . . . . 173
        Dgrid3d  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
        Dummy  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
        Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
        Errorbars  . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
        Fit  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
        Fontpath . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
        Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
        Gprintf  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
        Format specifiers  . . . . . . . . . . . . . . . . . . . . . . . 181
        Time/date specifiers . . . . . . . . . . . . . . . . . . . . . . 183
        Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
        Tm_week  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
        Weekdate_iso . . . . . . . . . . . . . . . . . . . . . . . . . . 186
        Weekdate_cdc . . . . . . . . . . . . . . . . . . . . . . . . . . 187
        Function style . . . . . . . . . . . . . . . . . . . . . . . . . 187
        Functions  . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
        Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
        Hidden3d . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
        Historysize  . . . . . . . . . . . . . . . . . . . . . . . . . . 191










   GNUPLOT 5.4                                                           vii


        History  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
        Isosamples . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
        Isosurface . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
        Jitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
        Key  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
        3D key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
        Key examples . . . . . . . . . . . . . . . . . . . . . . . . . . 196
        Extra key entries  . . . . . . . . . . . . . . . . . . . . . . . 196
        Key autotitle  . . . . . . . . . . . . . . . . . . . . . . . . . 196
        Key layout . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
        Key placement  . . . . . . . . . . . . . . . . . . . . . . . . . 198
        Key offset . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
        Key samples  . . . . . . . . . . . . . . . . . . . . . . . . . . 200
        Multiple keys  . . . . . . . . . . . . . . . . . . . . . . . . . 201
        Label  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
        Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
        Hypertext  . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
        Linetype . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
        Link . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
        Lmargin  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
        Loadpath . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
        Locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
        Logscale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
        Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
        Mapping  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
        Margin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
        Micro  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
        Minussign  . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
        Monochrome . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
        Mouse  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
        Doubleclick  . . . . . . . . . . . . . . . . . . . . . . . . . . 213
        Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
        Mouseformat  . . . . . . . . . . . . . . . . . . . . . . . . . . 213
        Scrolling  . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
        X11 mouse  . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
        Zoom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
        Mttics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
        Multiplot  . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
        Mx2tics  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
        Mxtics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
        My2tics  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
        Mytics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
        Mztics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
        Nonlinear  . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
        Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
        Rectangle  . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
        Ellipse  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
        Circle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
        Polygon  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
        Depthorder . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
        Offsets  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
        Origin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
        Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226










   GNUPLOT 5.4                                                          viii


        Overflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
        Float  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
        NaN  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
        Undefined  . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
        Affected operations  . . . . . . . . . . . . . . . . . . . . . . 228
        Palette  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
        Rgbformulae  . . . . . . . . . . . . . . . . . . . . . . . . . . 231
        Defined  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
        Functions  . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
        Gray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
        Cubehelix  . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
        File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
        Gamma correction . . . . . . . . . . . . . . . . . . . . . . . . 235
        Postscript . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
        Parametric . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
        Paxis  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
        Pixmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
        Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
        Pm3d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
        Implicit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
        Algorithm  . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
        Lighting . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
        Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
        Scanorder  . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
        Clipping . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
        Color_assignment . . . . . . . . . . . . . . . . . . . . . . . . 244
        Corners2color  . . . . . . . . . . . . . . . . . . . . . . . . . 244
        Border . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
        Fillcolor  . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
        Interpolate  . . . . . . . . . . . . . . . . . . . . . . . . . . 246
        Deprecated_options . . . . . . . . . . . . . . . . . . . . . . . 246
        Pointintervalbox . . . . . . . . . . . . . . . . . . . . . . . . 246
        Pointsize  . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
        Polar  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
        Print  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
        Psdir  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
        Raxis  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
        Rgbmax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
        Rlabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
        Rmargin  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
        Rrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
        Rtics  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
        Samples  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
        Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
        Spiderplot . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
        Style  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
        Set style arrow  . . . . . . . . . . . . . . . . . . . . . . . . 253
        Boxplot  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
        Set style data . . . . . . . . . . . . . . . . . . . . . . . . . 256
        Set style fill . . . . . . . . . . . . . . . . . . . . . . . . . 256
        Set style fill border  . . . . . . . . . . . . . . . . . . . . . 257
        Set style fill transparent . . . . . . . . . . . . . . . . . . . 258
        Set style function . . . . . . . . . . . . . . . . . . . . . . . 258










   GNUPLOT 5.4                                                            ix


        Set style histogram  . . . . . . . . . . . . . . . . . . . . . . 259
        Set style increment  . . . . . . . . . . . . . . . . . . . . . . 259
        Set style line . . . . . . . . . . . . . . . . . . . . . . . . . 259
        Set style circle . . . . . . . . . . . . . . . . . . . . . . . . 262
        Set style rectangle  . . . . . . . . . . . . . . . . . . . . . . 262
        Set style ellipse  . . . . . . . . . . . . . . . . . . . . . . . 263
        Set style parallelaxis . . . . . . . . . . . . . . . . . . . . . 263
        Set style spiderplot . . . . . . . . . . . . . . . . . . . . . . 264
        Set style textbox  . . . . . . . . . . . . . . . . . . . . . . . 264
        Surface  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
        Table  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
        Plot with table  . . . . . . . . . . . . . . . . . . . . . . . . 266
        Terminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
        Termoption . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
        Theta  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
        Tics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
        Ticslevel  . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
        Ticscale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
        Timestamp  . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
        Timefmt  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
        Title  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
        Tmargin  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
        Trange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
        Ttics  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
        Urange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
        Variables  . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
        Version  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
        Vgrid  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
        View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
        Azimuth  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
        Equal_axes . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
        Projection . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
        Vrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
        Vxrange  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
        Vyrange  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
        Vzrange  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
        Walls  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
        X2data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
        X2dtics  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
        X2label  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
        X2mtics  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
        X2range  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
        X2tics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
        X2zeroaxis . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
        Xdata  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
        Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
        Xdtics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
        Xlabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
        Xmtics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
        Xrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
        Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
        Extend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
        Xtics  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285










   GNUPLOT 5.4                                                             x


        Xtics series . . . . . . . . . . . . . . . . . . . . . . . . . . 287
        Xtics list . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
        Xtics timedata . . . . . . . . . . . . . . . . . . . . . . . . . 289
        Geographic . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
        Xtics logscale . . . . . . . . . . . . . . . . . . . . . . . . . 290
        Xtics rangelimited . . . . . . . . . . . . . . . . . . . . . . . 291
        Xyplane  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
        Xzeroaxis  . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
        Y2data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
        Y2dtics  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
        Y2label  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
        Y2mtics  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
        Y2range  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
        Y2tics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
        Y2zeroaxis . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
        Ydata  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
        Ydtics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
        Ylabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
        Ymtics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
        Yrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
        Ytics  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
        Yzeroaxis  . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
        Zdata  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
        Zdtics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
        Zzeroaxis  . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
        Cbdata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
        Cbdtics  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
        Zero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
        Zeroaxis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
        Zlabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
        Zmtics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
        Zrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
        Ztics  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
        Cblabel  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
        Cbmtics  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
        Cbrange  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
        Cbtics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
        Shell  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
        Splot  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
        Data-file  . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
        Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
        Uniform  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
        Nonuniform . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
        Every  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
        Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
        Example datafile . . . . . . . . . . . . . . . . . . . . . . . . 303
        Grid data  . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
        Splot surfaces . . . . . . . . . . . . . . . . . . . . . . . . . 304
        Voxel-grid . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
        Stats (Statistical Summary)  . . . . . . . . . . . . . . . . . . 305
        Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
        System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
        Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309










   GNUPLOT 5.4                                                            xi


        Toggle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
        Undefine . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
        Unset  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
        Linetype . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
        Monochrome . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
        Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
        Terminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
        Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
        Vclear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
        Vfill  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
        While  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
        Terminal types . . . . . . . . . . . . . . . . . . . . . . . . . 313
        Complete list of terminals . . . . . . . . . . . . . . . . . . . 313
        Aifm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
        Aqua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
        Be . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
        Command-line_options . . . . . . . . . . . . . . . . . . . . . . 315
        Monochrome_options . . . . . . . . . . . . . . . . . . . . . . . 316
        Color_resources  . . . . . . . . . . . . . . . . . . . . . . . . 316
        Grayscale_resources  . . . . . . . . . . . . . . . . . . . . . . 316
        Line_resources . . . . . . . . . . . . . . . . . . . . . . . . . 317
        Caca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
        Caca limitations and bugs  . . . . . . . . . . . . . . . . . . . 319
        Cairolatex . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
        Canvas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
        Cgm  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
        Cgm font . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
        Cgm fontsize . . . . . . . . . . . . . . . . . . . . . . . . . . 328
        Cgm linewidth  . . . . . . . . . . . . . . . . . . . . . . . . . 328
        Cgm rotate . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
        Cgm solid  . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
        Cgm size . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
        Cgm width  . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
        Cgm nofontlist . . . . . . . . . . . . . . . . . . . . . . . . . 329
        Context  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
        Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . 332
        Calling gnuplot from ConTeXt . . . . . . . . . . . . . . . . . . 332
        Corel  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
        Debug  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
        Domterm  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
        Dumb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
        Dxf  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
        Dxy800a  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
        Eepic  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
        Emf  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
        Emxvga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
        Epscairo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
        Epslatex . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
        Epson_180dpi . . . . . . . . . . . . . . . . . . . . . . . . . . 343
        Excl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
        Fig  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
        Ggi  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
        Gif  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345










   GNUPLOT 5.4                                                           xii


        Animate  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
        Fonts  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
        Gpic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
        Grass  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
        Hp2623a  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
        Hp2648 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
        Hp500c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
        Hpgl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
        Hpljii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
        Hppj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
        Imagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
        Jpeg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
        Kyo  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
        Latex  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
        Linux console  . . . . . . . . . . . . . . . . . . . . . . . . . 353
        Lua  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
        Mf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
        METAFONT Instructions  . . . . . . . . . . . . . . . . . . . . . 355
        Mif  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
        Mp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
        Metapost Instructions  . . . . . . . . . . . . . . . . . . . . . 359
        Pbm  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
        Pcl5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
        Pdf  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
        Pdfcairo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
        Pict2e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
        Pm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
        Png  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
        Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
        Pngcairo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
        Postscript . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
        Editing postscript . . . . . . . . . . . . . . . . . . . . . . . 373
        Postscript fontfile  . . . . . . . . . . . . . . . . . . . . . . 374
        Postscript prologue  . . . . . . . . . . . . . . . . . . . . . . 376
        Postscript adobeglyphnames . . . . . . . . . . . . . . . . . . . 376
        Pslatex and pstex  . . . . . . . . . . . . . . . . . . . . . . . 377
        Pstricks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
        Qms  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
        Qt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
        Regis  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
        Sixelgd  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
        Svg  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
        Svga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
        Tek40  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
        Tek410x  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
        Texdraw  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
        Tgif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
        Tikz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
        Tkcanvas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
        Tpic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
        VWS  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
        Windows  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
        Graph-menu . . . . . . . . . . . . . . . . . . . . . . . . . . . 393










   GNUPLOT 5.4                                                          xiii


        Printing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
        Text-menu  . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
        Wgnuplot.mnu . . . . . . . . . . . . . . . . . . . . . . . . . . 395
        Wgnuplot.ini . . . . . . . . . . . . . . . . . . . . . . . . . . 396
        Wxt  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
        X11  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
        X11_fonts  . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
        Command-line_options . . . . . . . . . . . . . . . . . . . . . . 403
        Color_resources  . . . . . . . . . . . . . . . . . . . . . . . . 404
        Grayscale_resources  . . . . . . . . . . . . . . . . . . . . . . 405
        Line_resources . . . . . . . . . . . . . . . . . . . . . . . . . 406
        X11 pm3d_resources . . . . . . . . . . . . . . . . . . . . . . . 407
        X11 other_resources  . . . . . . . . . . . . . . . . . . . . . . 408
        Xlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
        Bugs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
        Known limitations  . . . . . . . . . . . . . . . . . . . . . . . 409
        External libraries . . . . . . . . . . . . . . . . . . . . . . . 410










































