[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/gnuplot 1b8e0e3 095/184: Update included info file for Gnu
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/gnuplot 1b8e0e3 095/184: Update included info file for Gnuplot 4.6 |
Date: |
Sun, 29 Aug 2021 11:03:23 -0400 (EDT) |
branch: elpa/gnuplot
commit 1b8e0e3701fe3fb6043530cd8e274b3f368567d5
Author: joddie <jonxfield@gmail.com>
Commit: joddie <jonxfield@gmail.com>
Update included info file for Gnuplot 4.6
---
README.org | 2 +-
gnuplot.info | 24248 ++++++++++++++++++++++++++++++++++++++++++---------------
2 files changed, 17766 insertions(+), 6484 deletions(-)
diff --git a/README.org b/README.org
index 441bb9d..967f5aa 100644
--- a/README.org
+++ b/README.org
@@ -16,7 +16,7 @@ See the homepage at [[http://xafs.org/BruceRavel/GnuplotMode]]
| gnuplot-gui.el | a GUI for setting command arguments interactively |
| gnuplot-context.el | context-sensitive completion and help lookup |
| dot.el | a short lisp file used by the Makefile |
- | gnuplot.info | info version of gnuplot 3.6 help |
+ | gnuplot.info | info version of gnuplot 4.6 help |
| gpelcard.tex | quick reference card for gnuplot mode (latex) |
| dotemacs.el | example .emacs lines for enabling gnuplot mode |
diff --git a/gnuplot.info b/gnuplot.info
index 89168dc..c5b9390 100644
--- a/gnuplot.info
+++ b/gnuplot.info
@@ -1,486 +1,939 @@
-This file is gnuplot.info created by doc2info from ./gnuplot.doc.
+This is gnuplot.info, produced by makeinfo version 4.13 from
+./gnuplot.texi.
+
+INFO-DIR-SECTION Math
+START-INFO-DIR-ENTRY
+* GNUPLOT: (gnuplot). An Interactive Plotting Program
+END-INFO-DIR-ENTRY
-File: gnuplot.info, Node: Top, Prev: (dir), Next: gnuplot, Up: (dir)
+File: gnuplot.info, Node: Top, Next: gnuplot, Prev: (dir), Up: (dir)
+
+Master Menu
+***********
+
+ GNUPLOT
+
+ An Interactive Plotting Program
+ Thomas Williams & Colin Kelley
+ Version 4.6 organized by:
+ Hans-Bernhard Broeker, Ethan A Merritt, and others
-gnuplot
-*******
+ Copyright (C) 1986 - 1993, 1998, 2004 Thomas Williams, Colin Kelley
+ Copyright (C) 2004 - 2011 various authors
+ Mailing list for comments: gnuplot-info@lists.sourceforge.net
+ Mailing list for bug reports: gnuplot-bugs@lists.sourceforge.net
+
+ This manual was originally prepared by Dick Crawford
+ Version 4.6 - December 2011
+
+
+ Major contributors (alphabetic order):
* Menu:
* gnuplot::
+* plotting_styles::
* Commands::
-* Graphical User Interfaces::
+* Terminal_types::
* Bugs::
+* Concept_Index::
+* Command_Index::
+* Options_Index::
+* Function_Index::
+* Terminal_Index::
-
-File: gnuplot.info, Node: gnuplot, Prev: Top, Up: Top, Next: Copyright
+
+File: gnuplot.info, Node: gnuplot, Next: plotting_styles, Prev: Top, Up:
Top
+1 gnuplot
+*********
* Menu:
* Copyright::
* Introduction::
* Seeking-assistance::
-* What's New in version 3.7::
-* Batch/Interactive Operation::
+* New_features::
+* Backwards_compatibility::
+* Batch/Interactive_Operation::
+* Canvas_size::
* Command-line-editing::
* Comments::
* Coordinates::
+* Datastrings::
+* Enhanced_text_mode::
* Environment::
* Expressions::
+* Fonts::
* Glossary::
+* linetypes::
+* mouse_input::
* Plotting::
-* Start-up::
-* Substitution::
+* Start-up_(initialization)::
+* String_constants_and_string_variables::
+* Substitution_and_Command_line_macros::
* Syntax::
-* Time/Date data::
-
-
-File: gnuplot.info, Node: Copyright, Prev: gnuplot, Up: gnuplot, Next:
Introduction
-
- Copyright (C) 1986 - 1993, 1998 Thomas Williams, Colin Kelley
-
- Permission to use, copy, and distribute this software and its
- documentation for any purpose with or without fee is hereby granted,
- provided that the above copyright notice appear in all copies and
- that both that copyright notice and this permission notice appear
- in supporting documentation.
-
- Permission to modify the software is granted, but not the right to
- distribute the complete modified source code. Modifications are to
- be distributed as patches to the released version. Permission to
- distribute binaries produced by compiling modified sources is granted,
- provided you
- 1. distribute the corresponding source modifications from the
- released version in the form of a patch file along with the 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
- software.
- Permission to distribute the released version of the source code along
- with corresponding source modifications in the form of a patch file is
- granted with same provisions 2 through 4 for binary 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.
-
-
-File: gnuplot.info, Node: Introduction, Prev: Copyright, Up: gnuplot, Next:
Seeking-assistance
-
- `gnuplot` (*note gnuplot:: ) is a command-driven interactive function and data
- plotting program. It is case sensitive (commands and function names written in
- lowercase are not the same as those written in CAPS). All command names may
- be abbreviated as long as the abbreviation is not ambiguous. Any number of
- commands may appear on a line (with the exception that `load` (*note load:: )
- or `call` (*note call:: ) must be the final command), separated by semicolons
- (;). Strings are indicated with quotes. They may be either single or double
- quotation marks, e.g.,
-
- load "filename"
- cd 'dir'
-
- although there are some subtle differences (see `syntax` (*note Syntax:: ) for
- more details).
-
- Any command-line arguments are assumed to be names of files containing
- `gnuplot` commands, with the exception of standard X11 arguments, which are
- processed first. Each file is loaded with the `load` command, in the order
- specified. `gnuplot` exits after the last file is processed. When no load
- files are named, `gnuplot` enters into an interactive mode. The special
- filename "-" is used to denote standard input. See "help batch/interactive"
- for more details.
-
- Many `gnuplot` commands have multiple options. These options must appear in
- the proper order, although unwanted ones may be omitted in most cases. Thus
- if the entire command is "command a b c", then "command a c" will probably
- work, but "command c a" will fail.
-
- Commands may extend over several input lines by ending each line but the last
- with a backslash (\). The backslash must be the _last_ character on each
- line. The effect is as if the backslash and newline were not there. That
- is, no white space is implied, nor is a comment terminated. Therefore,
- commenting out a continued line comments out the entire command (see
- `comment`). 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.
+* Time/Date_data::
+
+
+File: gnuplot.info, Node: Copyright, Next: Introduction, Prev: gnuplot,
Up: gnuplot
+
+1.1 Copyright
+=============
+
+ Copyright (C) 1986 - 1993, 1998, 2004, 2007 Thomas Williams, Colin
Kelley
+
+ Permission to use, copy, and distribute this software and its
+documentation for any purpose with or without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation.
+
+ Permission to modify the software is granted, but not the right to
+distribute the complete modified source code. Modifications are to be
+distributed as patches to the released version. Permission to
+distribute binaries produced by compiling modified sources is granted,
+provided you
+ 1. distribute the corresponding source modifications from the
+ released version in the form of a patch file along with the 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
+ software.
+
+ Permission to distribute the released version of the source code
+along with corresponding source modifications in the form of a patch
+file is granted with same provisions 2 through 4 for binary
+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 additions:
+ See list of contributors at head of this document.
+
+
+File: gnuplot.info, Node: Introduction, Next: Seeking-assistance, Prev:
Copyright, Up: gnuplot
+
+1.2 Introduction
+================
+
+`Gnuplot` is 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 using lines, points, boxes, contours, vector fields, surfaces, and
+various associated text. It also supports various specialized plot
+types.
+
+ Gnuplot supports many different types of output: interactive screen
+terminals (with mouse and hotkey input), direct output to pen plotters
+or modern printers, and output to many file formats (eps, emf, fig,
+jpeg, LaTeX, pdf, png, postscript, ...). Gnuplot is easily extensible
+to include 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 canvas terminal drivers.
+
+ The command language of `gnuplot` is 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 abbreviation is not ambiguous. Any number of commands may appear on
+a line, separated by semicolons (;). Strings may be set off by either
+single or double quotes, although there are some subtle differences.
+See `syntax` and `quotes` for more details. Examples:
+
+ load "filename"
+ cd 'dir'
+
+ Commands may extend over several input lines by ending each line but
+the last with a backslash (\). The backslash must be the _last_
+character on each line. The effect is as if the backslash and newline
+were not there. That is, no white space is implied, nor is a comment
+terminated. Therefore, commenting out a continued line comments out
+the entire command (see `comments`). But note that if an error occurs
+somewhere on a multi-line command, the parser may not be able to locate
+precisely where the error is and in that case will not necessarily
+point to the correct line.
+
+ In this document, curly braces ({}) denote optional arguments and a
+vertical bar (|) separates mutually exclusive choices. `Gnuplot`
+keywords or *note help:: topics are indicated by backquotes or
+`boldface` (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 *note help:: followed by the
+name of the topic or `help ?` to get a menu of available topics.
+
+ The new `gnuplot` user should begin by reading about `plotting` (if
+in an interactive session, type `help plotting`).
+
+ See the simple.dem demo, also available together with other demos on
+the web page http://www.gnuplot.info/demo/
+(http://www.gnuplot.info/demo/) `Gnuplot` can be started from a command
+line or from an icon according to the desktop environment. Running it
+from command line can take the syntax
+ gnuplot {OPTIONS} file1 file2 ...
+
+ where file1, file2, etc. are input file as in the `load` command.
+On X11-based systems, you can use
+ gnuplot {X11OPTIONS} {OPTIONS} file1 file2 ...
+
+ see your X11 documentation and `x11` in this document.
+
+ Options interpreted by gnuplot may come anywhere on the line. Files
+are executed in the order specified, as are commands supplied by the -e
+option, for example
+ gnuplot file1.in -e "reset" file2.in
+
+ The special filename "-" is used to force reading from stdin.
+`Gnuplot` exits after the last file is processed. If no load files are
+named, `Gnuplot` takes interactive input from stdin. See help
+`batch/interactive` for more details. The options specific to gnuplot
+can be listed by typing
+ gnuplot --help
+
+ See `command line options` for more details.
+
+ In sessions with an interactive plot window you can hit 'h' anywhere
+on the plot for help about `hotkeys` and `mousing` features. Section
+`seeking-assistance` will help you to find further information, help
+and FAQ.
+
+
+File: gnuplot.info, Node: Seeking-assistance, Next: New_features, Prev:
Introduction, Up: gnuplot
+
+1.3 Seeking-assistance
+======================
+
+The canonical gnuplot web page can be found at http://www.gnuplot.info
+(http://www.gnuplot.info)
+
+ Before seeking help, please check file FAQ.pdf or the above website
+for FAQ (Frequently Asked Questions) list.
+(http://www.gnuplot.info/faq/)
+
+ If you need help as a gnuplot user, please use the newsgroup
+ comp.graphics.apps.gnuplot
+
+ We prefer that you read the messages through the newsgroup rather
+than subscribing to the mailing list which is also available and
+carries the same set of messages. Instructions for subscribing to
+gnuplot mailing lists may be found via the gnuplot development website
+on SourceForge http://sourceforge.net/projects/gnuplot
+(http://sourceforge.net/projects/gnuplot)
+
+ The address for mailing to list members is:
+ gnuplot-info@lists.sourceforge.net
+
+ Bug reports and code contributions should be uploaded to the
+trackers at
+ http://sourceforge.net/projects/gnuplot/support
- In this document, curly braces ({}) denote optional arguments and a vertical
- bar (|) separates mutually exclusive choices. `gnuplot` keywords or `help`
- (*note help:: ) topics are indicated by backquotes or `boldface` (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.
+ Please check previous bug reports if the bug you want to report has
+not been already fixed in a newer version of gnuplot.
- For on-line help on any topic, type `help` followed by the name of the topic
- or just `help` or `?` to get a menu of available topics.
+ A mailing list for those interested in development version of
+gnuplot is:
+ gnuplot-beta@lists.sourceforge.net
- The new `gnuplot` user should begin by reading about `plotting`
- (*note Plotting:: ) (if on-line, type `help plotting`).
+ When posting a question, please include full details of the gnuplot
+version, the terminal type, and the operating system you are using. A
+_small_ script demonstrating the problem may be useful. Function plots
+are preferable to datafile plots.
+
+File: gnuplot.info, Node: New_features, Next: Backwards_compatibility,
Prev: Seeking-assistance, Up: gnuplot
+
+1.4 New features
+================
+
+This section lists major additions since version 4.4. For a more
+exhaustive list, see the NEWS file.
+
+* Menu:
+
+* New_syntax::
+* Local_customization_of_linetypes::
+* New_plot_styles::
+* Revised_polar_axes::
+* New_smoothing_algorithms::
+* New_time/date_handling::
+* Statistical_summary_of_data::
+* New_or_revised_terminal_drivers::
+
+
+File: gnuplot.info, Node: New_syntax, Next:
Local_customization_of_linetypes, Prev: New_features, Up: New_features
+
+1.4.1 New syntax
+----------------
+
+This version of gnuplot introduces command iteration and
+block-structured if/else/while/do constructs. See `if`, `while`, and
+`do`. Simple iteration is possible inside `plot` or `set` commands.
+See *note iteration::. General iteration spanning multiple commands is
+possible using a block construct as shown below. For a related new
+feature, see the `summation` expression 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
+
+ It is now possible to select a column of data from a data file by
+matching a label in the first row of the file. See *note columnhead::.
+For example
+ plot for [crop in "Oats Peas Beans"] 'data' using "Year":crop
-
-File: gnuplot.info, Node: Seeking-assistance, Prev: Introduction, Up: gnuplot,
Next: What's New in version 3.7
+
+File: gnuplot.info, Node: Local_customization_of_linetypes, Next:
New_plot_styles, Prev: New_syntax, Up: New_features
+
+1.4.2 Local customization of linetypes
+--------------------------------------
- There is a mailing list for `gnuplot` (*note gnuplot:: ) users. Note,
- however, that the newsgroup comp.graphics.apps.gnuplot is identical to
- the mailing list (they both carry the same set of messages). We prefer that
- you read the messages through the newsgroup rather than subscribing to the
- mailing list. Administrative requests should be sent to
- majordomo@dartmouth.edu Send a message with the body (not the subject)
- consisting of the single word "help" (without the quotes) for more details.
+You can now customize properties (color, linewidth, point type) of the
+default sequence of linetypes used in plotting. See `set linetype`.
+This is normally done in an initialization file, either the system-wide
+file `gnuplotrc` or a private file `~/.gnuplot`. See `initialization`.
- The address for mailing to list members is:
- info-gnuplot@dartmouth.edu
+ Most terminals now allow you to set an explicit background color for
+the plot. The special linetype `bgnd` can be used to draw in this
+color. See `bgnd`.
+
+
+File: gnuplot.info, Node: New_plot_styles, Next: Revised_polar_axes, Prev:
Local_customization_of_linetypes, Up: New_features
- Bug reports and code contributions should be mailed to:
- bug-gnuplot@dartmouth.edu
+1.4.3 New plot styles
+---------------------
- The list of those interested in beta-test versions is:
- info-gnuplot-beta@dartmouth.edu
+See documentation for plot styles *note boxplot::, *note circles::,
+*note ellipses::, and *note fillsteps::.
- There is also a World Wide Web page with up-to-date information, including
- known bugs:
- http://www.cs.dartmouth.edu/gnuplot_info.html
+
+File: gnuplot.info, Node: Revised_polar_axes, Next:
New_smoothing_algorithms, Prev: New_plot_styles, Up: New_features
- Before seeking help, please check the
- FAQ (Frequently Asked Questions) list.
- If you do not have a copy of the FAQ, you may request a copy by email from
- the Majordomo address above, ftp a copy from
- ftp://ftp.dartmouth.edu/pub/gnuplot
- or see the WWW `gnuplot` page.
+1.4.4 Revised polar axes
+------------------------
- When posting a question, please include full details of the version of
- `gnuplot`, the machine, and operating system you are using. A _small_ script
- demonstrating the problem may be useful. Function plots are preferable to
- datafile plots. If email-ing to info-gnuplot, please state whether or not
- you are subscribed to the list, so that users who use news will know to email
- a reply to you. There is a form for such postings on the WWW site.
+Polar plot mode has been reworked to support additional plot styles.
+The polar axes can now be drawn and labeled independent of the x and y
+axes. See `set polar` and *note rrange::.
-
-File: gnuplot.info, Node: What's New in version 3.7, Prev: Seeking-assistance,
Up: gnuplot, Next: Batch/Interactive Operation
+
+File: gnuplot.info, Node: New_smoothing_algorithms, Next:
New_time/date_handling, Prev: Revised_polar_axes, Up: New_features
- Gnuplot version 3.7 contains many new features. This section gives a partial
- list and links to the new items in no particular order.
+1.4.5 New smoothing algorithms
+------------------------------
- 1. `fit f(x) 'file' via` uses the Marquardt-Levenberg method to fit data.
- (This is only slightly different from the `gnufit` patch available for 3.5.)
+New smoothing algorithms have been added for both 2- and 3-dimensional
+plots. `smooth kdensity` and `smooth cumulative` can be used with
+`plot` to draw smooth histograms and cumulative distribution functions.
+Several new smoothing kernels have been added to *note dgrid3d:: for
+use with `splot`. See *note smooth:: *note dgrid3d::.
- 2. Greatly expanded `using` (*note using:: ) command. See plot using.
+
+File: gnuplot.info, Node: New_time/date_handling, Next:
Statistical_summary_of_data, Prev: New_smoothing_algorithms, Up: New_features
- 3. `set timefmt` (*note timefmt:: ) allows for the use of dates as input and
- output for time series plots. See `Time/Date data` and timedat.dem.
+1.4.6 New time/date handling
+----------------------------
- 4. Multiline labels and font selection in some drivers.
+Gnuplot now tracks time to millisecond precision. Time formats have been
+modified to match this. The new built-in function time() returns the
+current time of day according to the system clock. 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
- 5. Minor (unlabeled) tics. See `set mxtics` (*note mxtics:: ).
+
+File: gnuplot.info, Node: Statistical_summary_of_data, Next:
New_or_revised_terminal_drivers, Prev: New_time/date_handling, Up:
New_features
- 6. `key` (*note key:: ) options for moving the key box in the page (and even
- outside of the plot), putting a title on it and a box around it, and
- more. See `set key`.
+1.4.7 Statistical summary of data
+---------------------------------
- 7. Multiplots on a single logical page with `set multiplot`
- (*note multiplot:: ).
+The new `stats` command reads data from a file using the same syntax as
+the `plot` or `splot` commands. Rather than drawing a graph, it prints
+out a statistical summary of the data contained in the column[s]
+requested. The resulting statistics min, max, mean, standard
+deviation, correlation, etc. are also stored in named variables that
+can be used to compose or modify subsequent plotting commands. See
+`stats`.
- 8. Enhanced `postscript` (*note postscript:: ) driver with super/subscripts
- and font changes. (This was a separate driver (`enhpost`) that was available
- as a patch for 3.5.)
+
+File: gnuplot.info, Node: New_or_revised_terminal_drivers, Prev:
Statistical_summary_of_data, Up: New_features
+
+1.4.8 New or revised terminal drivers
+-------------------------------------
+
+The `qt` driver implements an interactive terminal on top of the Qt
+graphics layer. It can function either as a window in a full-featured
+desktop enviroment or as a full-screen application on a Qt-based
+embedded device. The `qt` terminal is new and may still have some
+rough edges.
+
+ Two terminal types support web-based interactive display. The HTML5
+`canvas` terminal was introduced in version 4.4. The `svg` terminal has
+been extensively revised to include support for mousing and better
+incorporation of svg plots from gnuplot into larger svg/xml documents.
+
+ The `canvas` terminal driver produces javascript output that draws
+onto the HTML canvas element of a web page. It can produce either a
+complete web page containing a single plot, or a script that can be
+embedded as part of an externally generated HTML document that perhaps
+contains multiple plots. The embedded plots support browser-side
+mousing, including zoom/unzoom.
+
+ The `lua` terminal driver creates data intended to be further
+processed by a script in the lua programming language. At this point
+only one such lua script, gnuplot-tikz.lua, is available. It produces
+a TeX document suitable for use with the latex TikZ package. Other lua
+scripts could be written to process the gnuplot output for use with
+other TeX packages, or with other non-TeX tools.
+
+ `set term tikz` is shorthand for `set term lua tikz`. As decribed
+above, it uses the generic lua terminal and an external lua script to
+produce a latex document.
+
+ The `context` terminal driver creates output to be further processed
+by the ConTeXt TeX macro package. To process its output, you
+additionally require the gnuplot module for ConTeXt available at
+http://ctan.org/pkg/context-gnuplot
+(http://ctan.org/pkg/context-gnuplot)
+
+ The `epscairo` terminal uses the cairo and pango libraries to create
+encapsulated postscript (eps) ouput. It is an alternative to the
+`postscript` terminal driver for those who would like to have their eps
+files look equal to e.g. screen output by the `wxt` terminal.
+
+ The `cairolatex` terminal uses the cairo backend of the `pdfcairo` or
+`epscairo` terminal to produce graphs for inclusion in LaTeX documents.
+It creates pdf or eps graphics but transfers texts to LaTeX in the same
+way as the `epslatex` terminal.
+
+ The `windows` terminal driver has been revised to suport
+transparency, antialiasing, buffered output, multiple graph windows and
+copying to clipboard and saving of graphs as emf files. It has many new
+options and a revised user interface. Additionaly, the code of the text
+console has been largely rewritten to support wrapping of long lines.
+Help is now provided via HTML.
- 9. Second axes: use the top and right axes independently of the bottom and
- left, both for plotting and labels. See `plot` (*note plot:: ).
+
+File: gnuplot.info, Node: Backwards_compatibility, Next:
Batch/Interactive_Operation, Prev: New_features, Up: gnuplot
- 10. Special datafile names `'-'` and `""`. See `plot special-filenames`
- (*note special-filenames:: ).
+1.5 Backwards compatibility
+===========================
- 11. Additional coordinate systems for labels and arrows. See `coordinates`
- (*note Coordinates:: ).
+Gnuplot version 4.0 deprecated certain syntax used in earlier versions,
+but continued to recognize it. This is now under the control of a
+configuration option, and can be enabled as follows:
- 12. `set size` (*note size:: ) can try to plot with a specified aspect ratio.
+ ./configure --enable-backwards-compatibility
- 13. `set missing` (*note missing:: ) now treats missing data correctly.
+ Notice: Deprecated syntax items may be removed entirely in some
+future version of gnuplot.
- 14. The `call` (*note call:: ) command: `load` (*note load:: ) with
- arguments.
+ One major difference is the introduction of keywords to disambiguate
+complex commands, particularly commands containing string variables. A
+notable issue was the use of bare numbers to specify offsets, line and
+point types. Illustrative examples:
- 15. More flexible `range` commands with `reverse` and `writeback` keywords.
+ Deprecated:
+ set title "Old" 0,-1
+ set data linespoints
+ plot 1 2 4 # horizontal line at y=1
- 16. `set encoding` (*note encoding:: ) for multi-lingual encoding.
+ New:
+ TITLE = "New"
+ set title TITLE offset char 0, char -1
+ set style data linespoints
+ plot 1 linetype 2 pointtype 4
- 17. New `x11` (*note x11:: ) driver with persistent and multiple windows.
+
+File: gnuplot.info, Node: Batch/Interactive_Operation, Next: Canvas_size,
Prev: Backwards_compatibility, Up: gnuplot
- 18. New plotting styles: `xerrorbars` (*note xerrorbars:: ), `histeps`
- (*note histeps:: ), `financebars` (*note financebars:: ) and more. See `set
- style` (*note style:: ).
+1.6 Batch/Interactive Operation
+===============================
- 19. New tic label formats, including `"%l %L"` which uses the mantissa and
- exponents to a given base for labels. See `set format` (*note format:: ).
+`Gnuplot` may be executed in either batch or interactive modes, and the
+two may even be mixed together on many systems.
- 20. New drivers, including `cgm` (*note cgm:: ) for inclusion into MS-Office
- applications and `gif` for serving plots to the WEB.
+ Any command-line arguments are assumed to be either program options
+(first character is -) or names of files containing `gnuplot` commands.
+The option -e "command" may be used to force execution of a gnuplot
+command. 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. `Gnuplot` exits after the last file is processed.
+If no load files and no command strings are specified, `gnuplot`
+accepts interactive input from stdin.
- 21. Smoothing and spline-fitting options for `plot`. See `plot smooth`
- (*note smooth:: ).
+ Both the *note exit:: and *note quit:: commands terminate the
+current command file and `load` the next one, until all have been
+processed.
- 22. `set margin` (*note margin:: ) and `set origin` (*note origin:: ) give
- much better control over where a graph appears on the page.
+ Examples:
- 23. `set border` (*note border:: ) now controls each border individually.
+ To launch an interactive session:
+ gnuplot
- 24. The new commands `if` (*note if:: ) and `reread` (*note reread:: ) allow
- command loops.
+ To launch a batch session using two command files "input1" and
+"input2":
+ gnuplot input1 input2
- 25. Point styles and sizes, line types and widths can be specified on the
- `plot` command. Line types and widths can also be specified for grids,
- borders, tics and arrows. See `plot with` (*note with:: ). Furthermore these
- types may be combined and stored for further use. See `set linestyle`
- (*note linestyle:: ).
+ To launch an interactive session after an initialization file
+"header" and followed by another command file "trailer":
+ gnuplot header - trailer
- 26. Text (labels, tic labels, and the time stamp) can be written vertically
- by those terminals capable of doing so.
+ To give `gnuplot` commands 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)"
-
-File: gnuplot.info, Node: Batch/Interactive Operation, Prev: What's New in
version 3.7, Up: gnuplot, Next: Command-line-editing
+ 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` (*note gnuplot:: ) may be executed in either batch or interactive
- modes, and the two may even be mixed together on many systems.
+
+File: gnuplot.info, Node: Canvas_size, Next: Command-line-editing, Prev:
Batch/Interactive_Operation, Up: gnuplot
- Any command-line arguments are assumed to be names of files containing
- `gnuplot` commands (with the exception of standard X11 arguments, which are
- processed first). Each file is loaded with the `load` (*note load:: )
- command, in the order specified. `gnuplot` exits after the last file is
- processed. When no load files are named, `gnuplot` enters into an interactive
- mode. The special filename "-" is used to denote standard input.
+1.7 Canvas size
+===============
- Both the `exit` (*note exit:: ) and `quit` (*note quit:: ) commands terminate
- the current command file and `load` the next one, until all have been
- processed.
+In earlier versions of gnuplot, some terminal types used the values from
+*note size:: to control also the size of the output canvas; others did
+not. The use of 'set size' for this purpose was deprecated in version
+4.2. Since version 4.4 almost all terminals now behave as follows:
- Examples:
+ `set term <terminal_type> size <XX>, <YY>` controls the size of the
+output file, or "canvas". Please see individual terminal documentation
+for allowed values of the size parameters. By default, the plot will
+fill this canvas.
- To launch an interactive session:
- gnuplot
+ `set size <XX>, <YY>` scales the plot itself relative to the size of
+the canvas. Scale values less than 1 will cause the plot to not fill
+the entire canvas. Scale values larger than 1 will cause only a
+portion of the plot to fit on the canvas. Please be aware that setting
+scale values larger than 1 may cause problems on some terminal types.
- To launch a batch session using two command files "input1" and "input2":
- gnuplot input1 input2
+ The major exception to this convention is the PostScript driver,
+which by default continues to act as it has in earlier versions. Be
+warned that the next version of gnuplot may change the default
+behaviour of the PostScript driver as well.
- To launch an interactive session after an initialization file "header" and
- followed by another command file "trailer":
- gnuplot header - trailer
+ Example:
-
-File: gnuplot.info, Node: Command-line-editing, Prev: Batch/Interactive
Operation, Up: gnuplot, Next: Comments
+ set size 0.5, 0.5
+ set term png size 600, 400
+ set output "figure.png"
+ plot "data" with lines
- Command-line editing is supported by the Unix, Atari, VMS, MS-DOS and OS/2
- versions of `gnuplot` (*note gnuplot:: ). Also, a history mechanism allows
- previous commands to be edited and re-executed. After the command line has
- been edited, a newline or carriage return will enter the entire line without
- regard to where the cursor is positioned.
+ These commands will 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.
- (The readline function in `gnuplot` is not the same as the readline used in
- GNU Bash and GNU Emacs. If the GNU version is desired, it may be selected
- instead of the `gnuplot` version at compile time.)
+
+File: gnuplot.info, Node: Command-line-editing, Next: Comments, Prev:
Canvas_size, Up: gnuplot
+1.8 Command-line-editing
+========================
- The editing commands are as follows:
+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.
- `Line-editing`:
+ 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.
- ^B moves back a single character.
- ^F moves forward a single character.
- ^A moves to the beginning of the line.
- ^E moves to the end of the line.
- ^H and DEL delete the previous character.
- ^D deletes the current character.
- ^K deletes from current position to the end of line.
- ^L,^R redraws line in case it gets trashed.
- ^U deletes the entire line.
- ^W deletes the last word.
+ `Line-editing`:
- `History`:
+ ^B moves back a single character.
+ ^F moves forward a single character.
+ ^A moves to the beginning of the line.
+ ^E moves to the end of the line.
+ ^H deletes the previous character.
+ DEL deletes the current character.
+ ^D deletes current character, sends EOF if the line is empty.
+ ^K deletes from current position to the end of line.
+ ^L,^R redraws line in case it gets trashed.
+ ^U deletes the entire line.
+ ^W deletes previous word.
- ^P moves back through history.
- ^N moves forward through history.
+ `History`:
- On the IBM PC, the use of a TSR program such as DOSEDIT or CED may be desired
- for line editing. The default makefile assumes that this is the case; by
- default `gnuplot` will be compiled with no line-editing capability. If you
- want to use `gnuplot`'s line editing, set READLINE in the makefile and add
- readline.obj to the link file. The following arrow keys may be used on the
- IBM PC and Atari versions if readline is used:
+ ^P moves back through history.
+ ^N moves forward through history.
- Left Arrow - same as ^B.
- Right Arrow - same as ^F.
- Ctrl Left Arrow - same as ^A.
- Ctrl Right Arrow - same as ^E.
- Up Arrow - same as ^P.
- Down Arrow - same as ^N.
+
+File: gnuplot.info, Node: Comments, Next: Coordinates, Prev:
Command-line-editing, Up: gnuplot
- The Atari version of readline defines some additional key aliases:
+1.9 Comments
+============
- Undo - same as ^L.
- Home - same as ^A.
- Ctrl Home - same as ^E.
- Esc - same as ^U.
- Help - `help` (*note help:: ) plus return. Ctrl Help
- - `help `.
+Comments are supported as follows: a `#` may appear in most places in a
+line and `gnuplot` will ignore the rest of the line. It will not have
+this effect inside quotes, inside numbers (including complex numbers),
+inside command substitutions, etc. In short, it works anywhere it
+makes sense to work.
+ See also `set datafile commentschars` for specifying comment
+characters in data files. Note that if a comment line ends in '\' then
+the subsequent line is also treated as a comment.
-
-File: gnuplot.info, Node: Comments, Prev: Command-line-editing, Up: gnuplot,
Next: Coordinates
+
+File: gnuplot.info, Node: Coordinates, Next: Datastrings, Prev: Comments,
Up: gnuplot
- Comments are supported as follows: a `#` may appear in most places in a line
- and `gnuplot` (*note gnuplot:: ) will ignore the rest of the line. It will
- not have this effect inside quotes, inside numbers (including complex
- numbers), inside command substitutions, etc. In short, it works anywhere it
- makes sense to work.
+1.10 Coordinates
+================
+The commands *note arrow::, `set key`, `set label` and *note object::
+allow you to draw something at an arbitrary position on the graph.
+This position is specified by the syntax:
-
-File: gnuplot.info, Node: Coordinates, Prev: Comments, Up: gnuplot, Next:
Environment
+ {<system>} <x>, {<system>} <y> {,{<system>} <z>}
- The commands `set arrow` (*note arrow:: ), `set key` (*note key:: ), and
- `set label` (*note label:: ) allow you to draw something at an arbitrary
- position on the graph. This position is specified by the syntax:
+ Each <system> can either be `first`, `second`, `graph`, `screen`, or
+`character`.
- {<system>} <x>, {<system>} <y> {,{<system>} <z>}
+ `first` places the x, y, or z coordinate in the system defined by
+the left and bottom axes; `second` places it in the system defined by
+the second axes (top and right); `graph` specifies the area within the
+axes--0,0 is bottom left and 1,1 is top right (for splot, 0,0,0 is
+bottom left of plotting area; use negative z to get to the base--see
+*note xyplane::); `screen` specifies the screen area (the entire
+area--not just the portion selected by *note size::), with 0,0 at
+bottom left and 1,1 at top right; and `character` gives the position in
+character widths and heights from the bottom left of the screen area
+(screen 0,0), `character` coordinates depend on the chosen font size.
- Each <system> can either be `first`, `second`, `graph` or `screen`.
+ If the coordinate system for x is not specified, `first` is used.
+If the system for y is not specified, the one used for x is adopted.
- `first` places the x, y, or z coordinate in the system defined by the left
- and bottom axes; `second` places it in the system defined by the second axes
- (top and right); `graph` specifies the area within the axes---0,0 is bottom
- left and 1,1 is top right (for splot, 0,0,0 is bottom left of plotting area;
- use negative z to get to the base---see `set ticslevel` (*note ticslevel:: ));
- and screen specifies the screen area (the entire area---not just the portion
- selected by `set size` (*note size:: )), with 0,0 at bottom left and 1,1 at
- top right.
+ In some cases, the given coordinate is not an absolute position but a
+relative value (e.g., the second position in *note arrow:: ... `rto`).
+In most cases, the given value serves as difference to the first
+position. If the given coordinate resides in a logarithmic axis the
+value is interpreted as factor. For example,
- If the coordinate system for x is not specified, `first` is used. If the
- system for y is not specified, the one used for x is adopted.
+ set logscale x
+ set arrow 100,5 rto 10,2
- If one (or more) axis is timeseries, the appropriate coordinate should
- be given as a quoted time string according to the `timefmt` (*note timefmt:: )
- format string. See `set xdata` (*note xdata:: ) and set timefmt. . `gnuplot`
- (*note gnuplot:: ) will also accept an integer expression, which will be
- interpreted as seconds from 1 January 2000.
+ 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 *note
+timefmt:: format string. See *note xdata:: and *note timefmt::.
+`Gnuplot` will also accept an integer expression, which will be
+interpreted as seconds from 1 January 2000.
-
-File: gnuplot.info, Node: Environment, Prev: Coordinates, Up: gnuplot, Next:
Expressions
+
+File: gnuplot.info, Node: Datastrings, Next: Enhanced_text_mode, Prev:
Coordinates, Up: gnuplot
- A number of shell environment variables are understood by `gnuplot`
- (*note gnuplot:: ). None of these are required, but may be useful.
+1.11 Datastrings
+================
- If GNUTERM is defined, it is used as the name of the terminal type to be
- used. This overrides any terminal type sensed by `gnuplot` on start-up, but
- is itself overridden by the .gnuplot (or equivalent) start-up file (see
- `start-up`) and, of course, by later explicit changes.
+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 sample line from a datafile is
+interpreted to contain four columns, with a text field in column 3:
- On Unix, AmigaOS, AtariTOS, MS-DOS and OS/2, GNUHELP may be defined to be the
- pathname of the HELP file (gnuplot.gih).
+ 1.000 2.000 "Third column is all of this text" 4.00
- On VMS, the logical name GNUPLOT$HELP should be defined as the name of the
- help library for `gnuplot`. The `gnuplot` help can be put inside any system
- help library, allowing access to help from both within and outside `gnuplot`
- if desired.
-
- On Unix, HOME is used as the name of a directory to search for a .gnuplot
- file if none is found in the current directory. On AmigaOS, AtariTOS,
- MS-DOS and OS/2, gnuplot is used. On VMS, SYS$LOGIN: is used. See `help
- (*note help:: ) start-up`.
+ Text fields can be positioned within a 2-D or 3-D plot using the
+commands:
- On Unix, PAGER is used as an output filter for help messages.
+ plot 'datafile' using 1:2:4 with labels
+ splot 'datafile' using 1:2:3:4 with labels
- On Unix, AtariTOS and AmigaOS, SHELL is used for the `shell` (*note shell:: )
- command. On MS-DOS and OS/2, COMSPEC is used for the `shell` command.
+ 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.
- On MS-DOS, if the BGI or Watcom interface is used, PCTRM is used to tell
- the maximum resolution supported by your monitor by setting it to
- S<max. horizontal resolution>. E.g. if your monitor's maximum resolution is
- 800x600, then use:
- set PCTRM=S800
- If PCTRM is not set, standard VGA is used.
+ set xtics
+ plot 'datafile' using 3:4:xticlabels(1) with linespoints
- FIT_SCRIPT may be used to specify a `gnuplot` command to be executed when a
- fit is interrupted---see `fit` (*note fit:: ). FIT_LOG specifies the filename
- of the logfile maintained by fit.
+ 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)
-
-File: gnuplot.info, Node: Expressions, Prev: Environment, Up: gnuplot, Next:
Functions
+ Another example:
- 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.
+ plot for [i=2:6] 'datafile' using i title "Results for ".columnhead(i)
- 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.
+ See *note labels::, `using xticlabels`, *note title::, *note using::.
- 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 reals does
- not: 5.0/2.0 = 2.5. In mixed expressions, integers are "promoted" to reals
- before evaluation: 5/2e0 = 2.5. The result of division of a negative integer
- by a positive one may vary among compilers. Try a test like "print -5/2" to
- determine if your system chooses -2 or -3 as the answer.
+
+File: gnuplot.info, Node: Enhanced_text_mode, Next: Environment, Prev:
Datastrings, Up: gnuplot
+
+1.12 Enhanced text mode
+=======================
+
+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
+superscript 2. This mode is normally selected when you set the
+terminal, e.g. "set term png enhanced", but may also be toggled
+afterward using "set termoption enhanced", or by marking individual
+strings as in "set label 'x_2' noenhanced".
+
+ Control Examples Explanation
+ ^ a^x superscript
+ _ a_x subscript
+ @ @x or a@^b_{cd} phantom box (occupies no width)
+ & &{space} inserts space of specified length
+ ~ ~a{.8-} overprints '-' on 'a', raised by .8
+ times the current fontsize
+
+ Braces can be used to place multiple-character text where a single
+character is expected (e.g., 2^{10}). To change the font and/or size,
+use the full form: {/[fontname][=fontsize | *fontscale] text}. Thus
+{/Symbol=20 G} is a 20 pt GAMMA and {/*0.75 K} is a K at three-quarters
+of whatever fontsize is currently in effect. (The '/' character MUST
+be the first character after the '{'.)
+
+ 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 diacritical marks. See *note encoding::. Since the
+box is non-spacing, it is sensible to put the shorter of the subscript
+or superscript in the box (that is, after the @).
+
+ Space equal in length to a string can be inserted using the '&'
+character. Thus
+ 'abc&{def}ghi'
+
+ would produce
+ 'abc ghi'.
+
+ The '~' character causes the next character or bracketed text to be
+overprinted by the following character or bracketed text. The 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 vertically 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 lowered. In this case the number and text must
+be enclosed in brackets because more than one character is necessary.
+If the overprinted text begins with a number, put a space between the
+vertical offset and the text ('~{abc}{.5 000}'); otherwise no space is
+needed ('~{abc}{.5--}'). You can change the font for one or both
+strings ('~a{.5 /*.2 o}'--an 'a' with a one-fifth-size 'o' on top--and
+the space between the number and the slash is necessary), but you can't
+change it after the beginning of the string. Neither can you use any
+other special syntax within either string. You can, of course, use
+control characters by escaping them (see below), such as '~a{\^}'
+
+ You can access special symbols numerically by specifying
+\character-code (in octal), e.g., {/Symbol \245} is the symbol for
+infinity. This does not work for multibyte encodings like UTF-8,
+however. In a UTF-8 environment, you should be able to enter multibyte
+sequences implicitly by typing or otherwise selecting the character you
+want.
+
+ You can escape control characters using \, e.g., \\, \{, and so on.
+
+ But be aware that strings in double-quotes are parsed differently
+than those enclosed in single-quotes. The major difference is that
+backslashes may need to be doubled when in double-quoted strings.
+
+ Examples (these are hard to describe in words--try them!):
+ set xlabel 'Time (10^6 {/Symbol m}s)'
+ set title '{/Symbol=18 \\362@_{/=9.6 0}^{/=12 x}} \\
+ {/Helvetica e^{-{/Symbol m}^2/2} d}{/Symbol m}'
+
+ The file "ps_guide.ps" in the /docs/psdoc subdirectory of the
+gnuplot source distribution contains more examples of the enhanced
+syntax.
- The integer expression "1/0" may be used to generate an "undefined" flag,
- which causes a point to ignored; the `ternary` (*note Ternary:: ) operator
- gives an example.
+
+File: gnuplot.info, Node: Environment, Next: Expressions, Prev:
Enhanced_text_mode, Up: gnuplot
+
+1.13 Environment
+================
+
+A number of shell environment variables are understood by `gnuplot`.
+None of these are required, but may be useful.
+
+ If GNUTERM is defined, it is used as the name of the terminal type
+to be used. This overrides any terminal type sensed by `gnuplot` on
+start-up, but is itself overridden by the .gnuplot (or equivalent)
+start-up file (see `startup`) and, of course, by later explicit changes.
+
+ 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 `gnuplot`. The `gnuplot` help can be put
+inside any system help library, allowing access to help from both
+within and outside `gnuplot` if desired.
+
+ On Unix, HOME is used as the name of a directory to search for a
+.gnuplot file if none is found in the current directory. On 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 `help
+startup`.
+
+ On Unix, PAGER is used as an output filter for help messages.
+
+ On Unix, SHELL is used for the *note shell:: command. On MS-DOS and
+OS/2, COMSPEC is used for the *note shell:: command.
+
+ FIT_SCRIPT may be used to specify a `gnuplot` command to be executed
+when a fit is interrupted--see *note fit::. FIT_LOG specifies the
+default filename of the logfile maintained by fit.
+
+ GNUPLOT_LIB may be used to define additional search directories for
+data and command files. The variable may contain a single directory
+name, or a list of directories separated by a platform-specific path
+separator, eg. ':' on Unix, or ';' on DOS/Windows/OS/2 platforms. The
+contents of GNUPLOT_LIB are appended to the *note loadpath:: variable,
+but not saved with the *note save:: and `save set` commands.
+
+ Several gnuplot terminal drivers access TrueType fonts via the gd
+library. For these drivers the font search path is controlled by the
+environmental variable GDFONTPATH. Furthermore, a default font for
+these drivers may be set via the environmental variable
+GNUPLOT_DEFAULT_GDFONT.
+
+ The postscript terminal uses its own font search path. It is
+controlled by the environmental variable GNUPLOT_FONTPATH. The format
+is the same as for GNUPLOT_LIB. The contents of GNUPLOT_FONTPATH are
+appended to the *note fontpath:: variable, but not saved with the *note
+save:: and `save set` commands.
+
+ 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 this variable have the postscript terminal use custom
+prologue files rather than the default files. See `postscript prologue`.
- The real and imaginary parts of complex expressions are always real, whatever
- the form in which they are entered: in {3,2} the "3" and "2" are reals, not
- integers.
+
+File: gnuplot.info, Node: Expressions, Next: Fonts, Prev: Environment, Up:
gnuplot
+
+1.14 Expressions
+================
+
+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.
+
+ Complex constants are expressed as {<real>,<imag>}, where <real> and
+<imag> must be numerical constants. For example, {3,2} represents 3 +
+2i; {0,1} represents 'i' itself. The curly braces are explicitly
+required here.
+
+ Note that gnuplot uses both "real" and "integer" arithmetic, like
+FORTRAN and C. Integers are entered as "1", "-10", etc; reals as
+"1.0", "-10.0", "1e1", 3.5e-1, etc. The most important difference
+between the two forms is in division: division of integers truncates:
+5/2 = 2; division of reals does not: 5.0/2.0 = 2.5. In mixed
+expressions, integers are "promoted" to reals before evaluation: 5/2e0
+= 2.5. The result of division of a negative integer by a positive one
+may vary among compilers. Try a test like "print -5/2" to determine if
+your system chooses -2 or -3 as the answer.
+
+ The integer expression "1/0" may be used to generate an "undefined"
+flag, which causes a point to ignored. Or you can use the pre-defined
+variable NaN to achieve the same result. See *note using:: for an
+example.
+
+ The real and imaginary parts of complex expressions are always real,
+whatever the form in which they are entered: in {3,2} the "3" and "2"
+are reals, not integers.
+
+ Gnuplot can also perform simple operations on strings and string
+variables. 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
+corresponding 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.
* Menu:
* Functions::
* Operators::
-* User-defined::
-
-
-File: gnuplot.info, Node: Functions, Prev: Expressions, Up: Expressions, Next:
abs
+* Summation::
+* Gnuplot-defined_variables::
+* User-defined_variables_and_functions::
- The functions in `gnuplot` (*note gnuplot:: ) are the same as the
- corresponding functions in the Unix math library, except that all functions
- accept integer, real, and complex arguments, unless otherwise noted.
+
+File: gnuplot.info, Node: Functions, Next: Operators, Prev: Expressions,
Up: Expressions
- For those functions that accept or return angles that may be given in either
- degrees or radians (sin(x), cos(x), tan(x), asin(x), acos(x), atan(x),
- atan2(x) and arg(z)), the unit may be selected by `set angles`
- (*note angles:: ), which defaults to radians.
+1.14.1 Functions
+----------------
+The math functions in `gnuplot` are the same as the corresponding
+functions in the Unix math library, except that all functions accept
+integer, real, and complex arguments unless otherwise noted. Functions
+that accept or return angles (e.g. sin(x), cos(x), arg(z)) treat angle
+values as radians, but this may be changed to degrees using the command
+*note angles::.
* Menu:
* abs::
* acos::
* acosh::
+* airy::
* arg::
* asin::
* asinh::
* atan::
* atan2::
* atanh::
+* EllipticK::
+* EllipticE::
+* EllipticPi::
* besj0::
* besj1::
* besy0::
@@ -491,6 +944,7 @@ File: gnuplot.info, Node: Functions, Prev: Expressions, Up:
Expressions, Next: a
* erf::
* erfc::
* exp::
+* expint::
* floor::
* gamma::
* ibeta::
@@ -499,6 +953,7 @@ File: gnuplot.info, Node: Functions, Prev: Expressions, Up:
Expressions, Next: a
* imag::
* invnorm::
* int::
+* lambertw::
* lgamma::
* log::
* log10::
@@ -511,7 +966,23 @@ File: gnuplot.info, Node: Functions, Prev: Expressions,
Up: Expressions, Next: a
* sqrt::
* tan::
* tanh::
+* voigt::
+* gprintf::
+* sprintf::
+* strlen::
+* strstrt::
+* substr::
+* strftime::
+* strptime::
+* system::
+* word::
+* words::
* column::
+* columnhead::
+* defined::
+* exists::
+* stringcolumn::
+* timecolumn::
* tm_hour::
* tm_mday::
* tm_min::
@@ -520,4615 +991,13121 @@ File: gnuplot.info, Node: Functions, Prev:
Expressions, Up: Expressions, Next: a
* tm_wday::
* tm_yday::
* tm_year::
+* time::
* valid::
+* elliptic_integrals::
+* Random_number_generator::
+* value::
-
-File: gnuplot.info, Node: abs, Prev: Functions, Up: Functions, Next: acos
+
+File: gnuplot.info, Node: abs, Next: acos, Prev: Functions, Up: Functions
- The `abs` function returns the absolute value of its argument. The returned
- value is of the same type as the argument.
+1.14.1.1 abs
+............
- For complex arguments, abs(x) is defined as the length of x in the complex
- plane [i.e., sqrt(real(x)**2 + imag(x)**2) ].
+The `abs(x)` function returns the absolute value of its argument. The
+returned value is of the same type as the argument.
-
-File: gnuplot.info, Node: acos, Prev: abs, Up: Functions, Next: acosh
+ For complex arguments, abs(x) is defined as the length of x in the
+complex plane [i.e., sqrt(real(x)**2 + imag(x)**2) ].
- The `acos` function returns the arc cosine (inverse cosine) of its argument.
- `acos` returns its argument in radians or degrees, as selected by `set
- angles`.
+
+File: gnuplot.info, Node: acos, Next: acosh, Prev: abs, Up: Functions
-
-File: gnuplot.info, Node: acosh, Prev: acos, Up: Functions, Next: arg
+1.14.1.2 acos
+.............
- The `acosh` function returns the inverse hyperbolic cosine of its argument in
- radians.
+The `acos(x)` function returns the arc cosine (inverse cosine) of its
+argument. `acos` returns its argument in radians or degrees, as
+selected by *note angles::.
-
-File: gnuplot.info, Node: arg, Prev: acosh, Up: Functions, Next: asin
+
+File: gnuplot.info, Node: acosh, Next: airy, Prev: acos, Up: Functions
- The `arg` function returns the phase of a complex number in radians or
- degrees, as selected by `set angles` (*note angles:: ).
+1.14.1.3 acosh
+..............
+The `acosh(x)` function returns the inverse hyperbolic cosine of its
+argument in radians.
-
-File: gnuplot.info, Node: asin, Prev: arg, Up: Functions, Next: asinh
+
+File: gnuplot.info, Node: airy, Next: arg, Prev: acosh, Up: Functions
- The `asin` function returns the arc sin (inverse sin) of its argument.
- `asin` returns its argument in radians or degrees, as selected by `set
- angles`.
+1.14.1.4 airy
+.............
-
-File: gnuplot.info, Node: asinh, Prev: asin, Up: Functions, Next: atan
+The `airy(x)` function returns the value of the Airy function Ai(x) of
+its argument. The function Ai(x) is that solution of the equation y" -
+x y = 0 which is everywhere finite. If the argument is complex, its
+imaginary part is ignored.
- The `asinh` function returns the inverse hyperbolic sin of its argument in
- radians.
+
+File: gnuplot.info, Node: arg, Next: asin, Prev: airy, Up: Functions
-
-File: gnuplot.info, Node: atan, Prev: asinh, Up: Functions, Next: atan2
+1.14.1.5 arg
+............
- The `atan` function returns the arc tangent (inverse tangent) of its
- argument. `atan` returns its argument in radians or degrees, as selected by
- `set angles` (*note angles:: ).
+The `arg(x)` function returns the phase of a complex number in radians
+or degrees, as selected by *note angles::.
+
+File: gnuplot.info, Node: asin, Next: asinh, Prev: arg, Up: Functions
-
-File: gnuplot.info, Node: atan2, Prev: atan, Up: Functions, Next: atanh
+1.14.1.6 asin
+.............
- The `atan2` function returns the arc tangent (inverse tangent) of the ratio
- of the real parts of its arguments. `atan2` returns its argument in radians
- or degrees, as selected by `set angles` (*note angles:: ), in the correct
- quadrant.
+The `asin(x)` function returns the arc sin (inverse sin) of its
+argument. `asin` returns its argument in radians or degrees, as
+selected by *note angles::.
+
+File: gnuplot.info, Node: asinh, Next: atan, Prev: asin, Up: Functions
-
-File: gnuplot.info, Node: atanh, Prev: atan2, Up: Functions, Next: besj0
+1.14.1.7 asinh
+..............
- The `atanh` function returns the inverse hyperbolic tangent of its argument
- in radians.
+The `asinh(x)` function returns the inverse hyperbolic sin of its
+argument in radians.
-
-File: gnuplot.info, Node: besj0, Prev: atanh, Up: Functions, Next: besj1
+
+File: gnuplot.info, Node: atan, Next: atan2, Prev: asinh, Up: Functions
- The `besj0` function returns the j0th Bessel function of its argument.
- `besj0` expects its argument to be in radians.
+1.14.1.8 atan
+.............
-
-File: gnuplot.info, Node: besj1, Prev: besj0, Up: Functions, Next: besy0
+The `atan(x)` function returns the arc tangent (inverse tangent) of its
+argument. `atan` returns its argument in radians or degrees, as
+selected by *note angles::.
- The `besj1` function returns the j1st Bessel function of its argument.
- `besj1` expects its argument to be in radians.
+
+File: gnuplot.info, Node: atan2, Next: atanh, Prev: atan, Up: Functions
-
-File: gnuplot.info, Node: besy0, Prev: besj1, Up: Functions, Next: besy1
+1.14.1.9 atan2
+..............
- The `besy0` function returns the y0th Bessel function of its argument.
- `besy0` expects its argument to be in radians.
+The `atan2(y,x)` function returns the arc tangent (inverse tangent) of
+the ratio of the real parts of its arguments. *note atan2:: returns
+its argument in radians or degrees, as selected by *note angles::, in
+the correct quadrant.
-
-File: gnuplot.info, Node: besy1, Prev: besy0, Up: Functions, Next: ceil
+
+File: gnuplot.info, Node: atanh, Next: EllipticK, Prev: atan2, Up:
Functions
- The `besy1` function returns the y1st Bessel function of its argument.
- `besy1` expects its argument to be in radians.
+1.14.1.10 atanh
+...............
-
-File: gnuplot.info, Node: ceil, Prev: besy1, Up: Functions, Next: cos
+The `atanh(x)` function returns the inverse hyperbolic tangent of its
+argument in radians.
- The `ceil` function returns the smallest integer that is not less than its
- argument. For complex numbers, `ceil` returns the smallest integer not less
- than the real part of its argument.
+
+File: gnuplot.info, Node: EllipticK, Next: EllipticE, Prev: atanh, Up:
Functions
-
-File: gnuplot.info, Node: cos, Prev: ceil, Up: Functions, Next: cosh
+1.14.1.11 EllipticK
+...................
- The `cos` function returns the cosine of its argument. `cos` accepts its
- argument in radians or degrees, as selected by `set angles`
- (*note angles:: ).
+See `elliptic integrals`.
+
+File: gnuplot.info, Node: EllipticE, Next: EllipticPi, Prev: EllipticK,
Up: Functions
-
-File: gnuplot.info, Node: cosh, Prev: cos, Up: Functions, Next: erf
+1.14.1.12 EllipticE
+...................
- The `cosh` function returns the hyperbolic cosine of its argument. `cosh`
- expects its argument to be in radians.
+See `elliptic integrals`.
-
-File: gnuplot.info, Node: erf, Prev: cosh, Up: Functions, Next: erfc
+
+File: gnuplot.info, Node: EllipticPi, Next: besj0, Prev: EllipticE, Up:
Functions
- The `erf` function returns the error function of the real part of its
- argument. If the argument is a complex value, the imaginary component is
- ignored.
+1.14.1.13 EllipticPi
+....................
-
-File: gnuplot.info, Node: erfc, Prev: erf, Up: Functions, Next: exp
+See `elliptic integrals`.
- The `erfc` function returns 1.0 - the error function of the real part of its
- argument. If the argument is a complex value, the imaginary component is
- ignored.
+
+File: gnuplot.info, Node: besj0, Next: besj1, Prev: EllipticPi, Up:
Functions
-
-File: gnuplot.info, Node: exp, Prev: erfc, Up: Functions, Next: floor
+1.14.1.14 besj0
+...............
- The `exp` function returns the exponential function of its argument (`e`
- raised to the power of its argument). On some implementations (notably
- suns), exp(-x) returns undefined for very large x. A user-defined function
- like safe(x) = x<-100 ? 0 : exp(x) might prove useful in these cases.
+The `besj0(x)` function returns the j0th Bessel function of its
+argument. *note besj0:: expects its argument to be in radians.
-
-File: gnuplot.info, Node: floor, Prev: exp, Up: Functions, Next: gamma
+
+File: gnuplot.info, Node: besj1, Next: besy0, Prev: besj0, Up: Functions
- The `floor` function returns the largest integer not greater than its
- argument. For complex numbers, `floor` returns the largest integer not
- greater than the real part of its argument.
+1.14.1.15 besj1
+...............
-
-File: gnuplot.info, Node: gamma, Prev: floor, Up: Functions, Next: ibeta
+The `besj1(x)` function returns the j1st Bessel function of its
+argument. *note besj1:: expects its argument to be in radians.
- The `gamma` function returns the gamma function of the real part of its
- argument. For integer n, gamma(n+1) = n!. If the argument is a complex
- value, the imaginary component is ignored.
+
+File: gnuplot.info, Node: besy0, Next: besy1, Prev: besj1, Up: Functions
-
-File: gnuplot.info, Node: ibeta, Prev: gamma, Up: Functions, Next: inverf
+1.14.1.16 besy0
+...............
- The `ibeta` function returns the incomplete beta function of the real parts
- of its arguments. p, q > 0 and x in [0:1]. If the arguments are complex,
- the imaginary components are ignored.
+The `besy0(x)` function returns the y0th Bessel function of its
+argument. *note besy0:: expects its argument to be in radians.
-
-File: gnuplot.info, Node: inverf, Prev: ibeta, Up: Functions, Next: igamma
+
+File: gnuplot.info, Node: besy1, Next: ceil, Prev: besy0, Up: Functions
- The `inverf` function returns the inverse error function of the real part
- of its argument.
+1.14.1.17 besy1
+...............
-
-File: gnuplot.info, Node: igamma, Prev: inverf, Up: Functions, Next: imag
+The `besy1(x)` function returns the y1st Bessel function of its
+argument. *note besy1:: expects its argument to be in radians.
- The `igamma` function returns the incomplete gamma function of the real
- parts of its arguments. a > 0 and x >= 0. If the arguments are complex,
- the imaginary components are ignored.
+
+File: gnuplot.info, Node: ceil, Next: cos, Prev: besy1, Up: Functions
-
-File: gnuplot.info, Node: imag, Prev: igamma, Up: Functions, Next: invnorm
+1.14.1.18 ceil
+..............
- The `imag` function returns the imaginary part of its argument as a real
- number.
+The `ceil(x)` function returns the smallest integer that is not less
+than its argument. For complex numbers, *note ceil:: returns the
+smallest integer not less than the real part of its argument.
-
-File: gnuplot.info, Node: invnorm, Prev: imag, Up: Functions, Next: int
+
+File: gnuplot.info, Node: cos, Next: cosh, Prev: ceil, Up: Functions
- The `invnorm` function returns the inverse normal distribution function of
- the real part of its argument.
+1.14.1.19 cos
+.............
-
-File: gnuplot.info, Node: int, Prev: invnorm, Up: Functions, Next: lgamma
+The `cos(x)` function returns the cosine of its argument. `cos`
+accepts its argument in radians or degrees, as selected by *note
+angles::.
- The `int` function returns the integer part of its argument, truncated
- toward zero.
+
+File: gnuplot.info, Node: cosh, Next: erf, Prev: cos, Up: Functions
-
-File: gnuplot.info, Node: lgamma, Prev: int, Up: Functions, Next: log
+1.14.1.20 cosh
+..............
- The `lgamma` function returns the natural logarithm of the gamma function
- of the real part of its argument. If the argument is a complex value, the
- imaginary component is ignored.
+The `cosh(x)` function returns the hyperbolic cosine of its argument.
+*note cosh:: expects its argument to be in radians.
-
-File: gnuplot.info, Node: log, Prev: lgamma, Up: Functions, Next: log10
+
+File: gnuplot.info, Node: erf, Next: erfc, Prev: cosh, Up: Functions
- The `log` function returns the natural logarithm (base `e`) of its argument.
+1.14.1.21 erf
+.............
-
-File: gnuplot.info, Node: log10, Prev: log, Up: Functions, Next: norm
+The `erf(x)` function returns the error function of the real part of its
+argument. If the argument is a complex value, the imaginary component
+is ignored. See *note erfc::, *note inverf::, and *note norm::.
- The `log10` function returns the logarithm (base 10) of its argument.
+
+File: gnuplot.info, Node: erfc, Next: exp, Prev: erf, Up: Functions
-
-File: gnuplot.info, Node: norm, Prev: log10, Up: Functions, Next: rand
+1.14.1.22 erfc
+..............
- The `norm` function returns the normal distribution function (or Gaussian)
- of the real part of its argument.
+The `erfc(x)` function returns 1.0 - the error function of the real
+part of its argument. If the argument is a complex value, the
+imaginary component is ignored. See `erf`, *note inverf::, and *note
+norm::.
-
-File: gnuplot.info, Node: rand, Prev: norm, Up: Functions, Next: real
+
+File: gnuplot.info, Node: exp, Next: expint, Prev: erfc, Up: Functions
- The `rand` function returns a pseudo random number in the interval [0:1]
- using the real part of its argument as a seed. If seed < 0, the sequence
- is (re)initialized. If the argument is a complex value, the imaginary
- component is ignored.
+1.14.1.23 exp
+.............
-
-File: gnuplot.info, Node: real, Prev: rand, Up: Functions, Next: sgn
+The `exp(x)` function returns the exponential function of its argument
+(`e` raised to the power of its argument). On some implementations
+(notably suns), exp(-x) returns undefined for very large x. A
+user-defined function like safe(x) = x<-100 ? 0 : exp(x) might prove
+useful in these cases.
- The `real` function returns the real part of its argument.
+
+File: gnuplot.info, Node: expint, Next: floor, Prev: exp, Up: Functions
-
-File: gnuplot.info, Node: sgn, Prev: real, Up: Functions, Next: sin
+1.14.1.24 expint
+................
- The `sgn` function returns 1 if its argument is positive, -1 if its argument
- is negative, and 0 if its argument is 0. If the argument is a complex value,
- the imaginary component is ignored.
+The `expint(n,x)` function returns the exponential integral of the real
+part of its argument: integral from 1 to infinity of t^(-n) e^(-tx) dt.
+n must be a nonnegative integer, x>=0, and either x>0 or n>1.
-
-File: gnuplot.info, Node: sin, Prev: sgn, Up: Functions, Next: sinh
+
+File: gnuplot.info, Node: floor, Next: gamma, Prev: expint, Up: Functions
- The `sin` function returns the sine of its argument. `sin` expects its
- argument to be in radians or degrees, as selected by `set angles`
- (*note angles:: ).
+1.14.1.25 floor
+...............
+The `floor(x)` function returns the largest integer not greater than its
+argument. For complex numbers, *note floor:: returns the largest
+integer not greater than the real part of its argument.
-
-File: gnuplot.info, Node: sinh, Prev: sin, Up: Functions, Next: sqrt
+
+File: gnuplot.info, Node: gamma, Next: ibeta, Prev: floor, Up: Functions
- The `sinh` function returns the hyperbolic sine of its argument. `sinh`
- expects its argument to be in radians.
+1.14.1.26 gamma
+...............
-
-File: gnuplot.info, Node: sqrt, Prev: sinh, Up: Functions, Next: tan
+The `gamma(x)` function returns the gamma function of the real part of
+its argument. For integer n, gamma(n+1) = n!. If the argument is a
+complex value, the imaginary component is ignored.
- The `sqrt` function returns the square root of its argument.
+
+File: gnuplot.info, Node: ibeta, Next: inverf, Prev: gamma, Up: Functions
-
-File: gnuplot.info, Node: tan, Prev: sqrt, Up: Functions, Next: tanh
+1.14.1.27 ibeta
+...............
- The `tan` function returns the tangent of its argument. `tan` expects
- its argument to be in radians or degrees, as selected by `set angles`
- (*note angles:: ).
+The `ibeta(p,q,x)` function returns the incomplete beta function of the
+real parts of its arguments. p, q > 0 and x in [0:1]. If the arguments
+are complex, the imaginary components are ignored. The function is
+approximated by the method of continued fractions (Abramowitz and
+Stegun, 1964). The approximation is only accurate in the region x <
+(p-1)/(p+q-2).
+
+File: gnuplot.info, Node: inverf, Next: igamma, Prev: ibeta, Up: Functions
-
-File: gnuplot.info, Node: tanh, Prev: tan, Up: Functions, Next: column
+1.14.1.28 inverf
+................
- The `tanh` function returns the hyperbolic tangent of its argument. `tanh`
- expects its argument to be in radians.
+The `inverf(x)` function returns the inverse error function of the real
+part of its argument. See `erf` and *note invnorm::.
- A few additional functions are also available.
+
+File: gnuplot.info, Node: igamma, Next: imag, Prev: inverf, Up: Functions
+1.14.1.29 igamma
+................
-
-File: gnuplot.info, Node: column, Prev: tanh, Up: Functions, Next: tm_hour
+The `igamma(a,x)` function returns the normalized incomplete gamma
+function of the real parts of its arguments, where a > 0 and x >= 0.
+The standard notation is P(a,x), e.g. Abramowitz and Stegun (6.5.1),
+with limiting value of 1 as x approaches infinity. If the arguments
+are complex, the imaginary components are ignored.
- `column(x)` may be used only in expressions as part of `using`
- (*note using:: ) manipulations to fits or datafile plots. See `plot datafile
- using`.
+
+File: gnuplot.info, Node: imag, Next: invnorm, Prev: igamma, Up: Functions
+1.14.1.30 imag
+..............
-
-File: gnuplot.info, Node: tm_hour, Prev: column, Up: Functions, Next: tm_mday
+The `imag(x)` function returns the imaginary part of its argument as a
+real number.
- The `tm_hour` function interprets its argument as a time, in seconds from
- 1 Jan 2000. It returns the hour (an integer in the range 0--23) as a real.
+
+File: gnuplot.info, Node: invnorm, Next: int, Prev: imag, Up: Functions
-
-File: gnuplot.info, Node: tm_mday, Prev: tm_hour, Up: Functions, Next: tm_min
+1.14.1.31 invnorm
+.................
- The `tm_mday` function interprets its argument as a time, in seconds from
- 1 Jan 2000. It returns the day of the month (an integer in the range 1--31)
- as a real.
+The `invnorm(x)` function returns the inverse cumulative normal
+(Gaussian) distribution function of the real part of its argument. See
+*note norm::.
-
-File: gnuplot.info, Node: tm_min, Prev: tm_mday, Up: Functions, Next: tm_mon
+
+File: gnuplot.info, Node: int, Next: lambertw, Prev: invnorm, Up: Functions
- The `tm_min` function interprets its argument as a time, in seconds from
- 1 Jan 2000. It returns the minute (an integer in the range 0--59) as a real.
+1.14.1.32 int
+.............
-
-File: gnuplot.info, Node: tm_mon, Prev: tm_min, Up: Functions, Next: tm_sec
+The `int(x)` function returns the integer part of its argument,
+truncated toward zero.
- The `tm_mon` function interprets its argument as a time, in seconds from
- 1 Jan 2000. It returns the month (an integer in the range 1--12) as a real.
+
+File: gnuplot.info, Node: lambertw, Next: lgamma, Prev: int, Up: Functions
-
-File: gnuplot.info, Node: tm_sec, Prev: tm_mon, Up: Functions, Next: tm_wday
+1.14.1.33 lambertw
+..................
- The `tm_sec` function interprets its argument as a time, in seconds from
- 1 Jan 2000. It returns the second (an integer in the range 0--59) as a real.
+The lambertw function returns the value of the principal branch of
+Lambert's W function, which is defined by the equation
+(W(z)*exp(W(z))=z. z must be a real number with z >= -exp(-1).
-
-File: gnuplot.info, Node: tm_wday, Prev: tm_sec, Up: Functions, Next: tm_yday
+
+File: gnuplot.info, Node: lgamma, Next: log, Prev: lambertw, Up: Functions
- The `tm_wday` function interprets its argument as a time, in seconds from
- 1 Jan 2000. It returns the day of the week (an integer in the range 1--7) as
- a real.
+1.14.1.34 lgamma
+................
-
-File: gnuplot.info, Node: tm_yday, Prev: tm_wday, Up: Functions, Next: tm_year
+The `lgamma(x)` function returns the natural logarithm of the gamma
+function of the real part of its argument. If the argument is a
+complex value, the imaginary component is ignored.
- The `tm_yday` function interprets its argument as a time, in seconds from
- 1 Jan 2000. It returns the day of the year (an integer in the range 1--366)
- as a real.
+
+File: gnuplot.info, Node: log, Next: log10, Prev: lgamma, Up: Functions
-
-File: gnuplot.info, Node: tm_year, Prev: tm_yday, Up: Functions, Next: valid
+1.14.1.35 log
+.............
- The `tm_year` function interprets its argument as a time, in seconds from
- 1 Jan 2000. It returns the year (an integer) as a real.
+The `log(x)` function returns the natural logarithm (base `e`) of its
+argument. See *note log10::.
-
-File: gnuplot.info, Node: valid, Prev: tm_year, Up: Functions
+
+File: gnuplot.info, Node: log10, Next: norm, Prev: log, Up: Functions
- `valid(x)` may be used only in expressions as part of `using` (*note using:: )
- manipulations to fits or datafile plots. See `plot datafile using`.
+1.14.1.36 log10
+...............
+The `log10(x)` function returns the logarithm (base 10) of its argument.
-
-File: gnuplot.info, Node: Operators, Prev: Functions, Up: Expressions, Next:
Unary
+
+File: gnuplot.info, Node: norm, Next: rand, Prev: log10, Up: Functions
- The operators in `gnuplot` (*note gnuplot:: ) are the same as the
- corresponding operators in the C programming language, except that all
- operators accept integer, real, and complex arguments, unless otherwise
- noted. The ** operator (exponentiation) is supported, as in FORTRAN.
+1.14.1.37 norm
+..............
- Parentheses may be used to change order of evaluation.
+The `norm(x)` function returns the cumulative normal (Gaussian)
+distribution function of the real part of its argument. See *note
+invnorm::, `erf` and *note erfc::.
-* Menu:
+
+File: gnuplot.info, Node: rand, Next: real, Prev: norm, Up: Functions
-* Unary::
-* Binary::
-* Ternary::
+1.14.1.38 rand
+..............
-
-File: gnuplot.info, Node: Unary, Prev: Operators, Up: Operators, Next: Binary
+`rand(0)` returns a pseudo random number in the interval [0:1]. See
+`random` for more details.
- The following is a list of all the unary operators and their usages:
+
+File: gnuplot.info, Node: real, Next: sgn, Prev: rand, Up: Functions
- 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` (*note using:: )
- manipulation (*) Starred explanations indicate that the operator requires an
- integer argument.
-
- Operator precedence is the same as in Fortran and C. As in those languages,
- parentheses may be used to change the order of operation. Thus -2**2 = -4,
- but (-2)**2 = 4.
-
- The factorial operator returns a real number to allow a greater range.
-
-
-File: gnuplot.info, Node: Binary, Prev: Unary, Up: Operators, Next: Ternary
-
- 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
- & a&b * bitwise AND
- ^ a^b * bitwise exclusive OR
- | a|b * bitwise inclusive OR
- && a&&b * logical AND
- || a||b * logical OR
+1.14.1.39 real
+..............
- (*) Starred explanations indicate that the operator requires integer
- arguments.
+The `real(x)` function returns the real part of its argument.
- Logical AND (&&) and OR (||) short-circuit the way they do in C. That is,
- the second `&&` operand is not evaluated if the first is false; the second
- `||` operand is not evaluated if the first is true.
+
+File: gnuplot.info, Node: sgn, Next: sin, Prev: real, Up: Functions
-
-File: gnuplot.info, Node: Ternary, Prev: Binary, Up: Operators
+1.14.1.40 sgn
+.............
- There is a single ternary operator:
+The `sgn(x)` function returns 1 if its argument is positive, -1 if its
+argument is negative, and 0 if its argument is 0. If the argument is a
+complex value, the imaginary component is ignored.
- Symbol Example Explanation
- ?: a?b:c ternary operation
+
+File: gnuplot.info, Node: sin, Next: sinh, Prev: sgn, Up: Functions
- The ternary operator behaves as it does in C. The first argument (a), which
- must be an integer, is evaluated. If it is true (non-zero), the second
- argument (b) is evaluated and returned; otherwise the third argument (c) is
- evaluated and returned.
+1.14.1.41 sin
+.............
- The ternary operator is very useful both in constructing piecewise functions
- and in plotting points only when certain conditions are met.
-
- Examples:
-
- Plot a function that is to equal sin(x) for 0 <= x < 1, 1/x for 1 <= x < 2,
- and undefined elsewhere:
- f(x) = 0<=x && x<1 ? sin(x) : 1<=x && x<2 ? 1/x : 1/0
- plot f(x)
- Note that `gnuplot` (*note gnuplot:: ) quietly ignores undefined values, so
- the final branch of the function (1/0) will produce no plottable points. Note
- also that f(x) will be plotted as a continuous function across the
- discontinuity if a line style is used. To plot it discontinuously, create
- separate functions for the two pieces. (Parametric functions are also useful
- for this purpose.)
-
- For data in a file, plot the average of the data in columns 2 and 3 against
- the datum in column 1, but only if the datum in column 4 is non-negative:
-
- plot 'file' using 1:( $4<0 ? 1/0 : ($2+$3)/2 )
-
- Please see `plot data-file using` (*note using:: ) for an explanation of the
- using syntax.
-
-
-
-File: gnuplot.info, Node: User-defined, Prev: Operators, Up: Expressions
-
- New user-defined variables and functions of one through five variables may
- be declared and used anywhere, including on the `plot` (*note plot:: ) command
- itself.
-
- User-defined function syntax:
- <func-name>( <dummy1> {,<dummy2>} ... {,<dummy5>} ) = <expression>
-
- where <expression> is defined in terms of <dummy1> through <dummy5>.
-
- User-defined variable syntax:
- <variable-name> = <constant-expression>
-
- Examples:
- w = 2
- q = floor(tan(pi/2 - 0.1))
- f(x) = sin(w*x)
- sinc(x) = sin(pi*x)/(pi*x)
- delta(t) = (t == 0)
- ramp(t) = (t > 0) ? t : 0
- min(a,b) = (a < b) ? a : b
- comb(n,k) = n!/(k!*(n-k)!)
- len3d(x,y,z) = sqrt(x*x+y*y+z*z)
- plot f(x) = sin(x*a), a = 0.2, f(x), a = 0.4, f(x)
-
- Note that the variable `pi` is already defined. But it is in no way magic;
- you may redefine it to be whatever you like.
-
- Valid names are the same as in most programming languages: they must begin
- with a letter, but subsequent characters may be letters, digits, "$", or "_".
- Note, however, that the `fit` (*note fit:: ) mechanism uses several variables
- with names that begin "FIT_". It is safest to avoid using such
- names. "FIT_LIMIT", however, is one that you may wish to redefine. See the
- documentation on `fit` for details.
-
-
- See `show functions` (*note functions:: ), `show variables`
- (*note variables:: ), and fit.
-
-
-
-File: gnuplot.info, Node: Glossary, Prev: Expressions, Up: gnuplot, Next:
Plotting
-
- Throughout this document an attempt has been made to maintain consistency of
- nomenclature. This cannot be wholly successful because as `gnuplot`
- (*note gnuplot:: ) has 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.
+The `sin(x)` function returns the sine of its argument. `sin` expects
+its argument to be in radians or degrees, as selected by *note angles::.
- A "page" or "screen" is the entire area addressable by `gnuplot`. On a
- monitor, it is the full screen; on a plotter, it is a single sheet of paper.
+
+File: gnuplot.info, Node: sinh, Next: sqrt, Prev: sin, Up: Functions
- A screen may contain one or more "plots". A plot is defined by an abscissa
- and an ordinate, although these need not actually appear on it, as well as
- the margins and any text written therein.
+1.14.1.42 sinh
+..............
- A plot contains one "graph". A graph is defined by an abscissa and an
- ordinate, although these need not actually appear on it.
+The `sinh(x)` function returns the hyperbolic sine of its argument.
+*note sinh:: expects its argument to be in radians.
- 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 ambiguity.
+
+File: gnuplot.info, Node: sqrt, Next: tan, Prev: sinh, Up: Functions
- The lines on a graph may have individual names. These may be listed
- together with a sample of the plotting style used to represent them in
- the "key", sometimes also called the "legend".
-
- The word "title" occurs with multiple meanings in `gnuplot`. In this
- document, it will always be preceded by the adjective "plot", "line", or
- "key" to differentiate among them.
-
- A graph may have up to four labelled axes. Various commands have the name of
- an axis built into their names, such as `set xlabel` (*note xlabel:: ). Other
- commands have one or more axis names as options, such as `set logscale
- xy`. The names of the four axes for these usages are "x" for the axis along
- the bottom border of the plot, "y" for the left border, "x2" for the top
- border, and "y2" for the right border. "z" also occurs in commands used with
- 3-d plotting.
-
- When discussing data files, the term "record" will be resurrected and used
- to denote a single line of text in the file, that is, the characters between
- newline or end-of-record characters. A "point" is the datum extracted from
- a single record. A "datablock" is a set of points from consecutive records,
- delimited by blank records. A line, when referred to in the context of a
- data file, is a subset of a datablock.
-
-
-File: gnuplot.info, Node: Plotting, Prev: Glossary, Up: gnuplot, Next: Start-up
-
- There are three `gnuplot` (*note gnuplot:: ) commands which actually create a
- plot: `plot` (*note plot:: ), `splot` (*note splot:: ) and `replot`
- (*note replot:: ). plot generates 2-d plots, splot generates 3-d plots
- (actually 2-d projections, of course), and `replot` appends its arguments to
- the previous `plot` or `splot` and executes the modified command.
-
- Much of the general information about plotting can be found in the discussion
- of `plot`; information specific to 3-d can be found in the `splot` section.
-
- `plot` operates in either rectangular or polar coordinates -- see `set polar`
- (*note polar:: ) for details of the latter. `splot` operates only in
- rectangular coordinates, but the `set mapping` (*note mapping:: ) command
- allows for a few other coordinate systems to be treated. In addition, the
- `using` (*note using:: ) option allows both plot and splot to treat almost any
- coordinate system you'd care to define.
-
- `splot` can plot surfaces and contours in addition to points and/or lines.
- In addition to `splot`, see `set isosamples` (*note isosamples:: ) for
- information about defining the grid for a 3-d function; `splot datafile`
- (*note data-file:: ) for information about the requisite file structure for
- 3-d data values; and `set contour` (*note contour:: ) and set cntrparam` for
- information about contours.
-
-
-
-File: gnuplot.info, Node: Start-up, Prev: Plotting, Up: gnuplot, Next:
Substitution
-
- When `gnuplot` (*note gnuplot:: ) is run, it looks for an initialization file
- to load. This file is called `.gnuplot` on Unix and AmigaOS systems, and
- `GNUPLOT.INI` on other systems. If this file is not found in the current
- directory, the program will look for it in the home directory (under AmigaOS,
- Atari(single)TOS, MS-DOS and OS/2, the environment variable `gnuplot` should
- contain the name of this directory). Note: if NOCWDRC is defined during the
- installation, `gnuplot` will not read from the current directory.
-
- If the initialization file is found, `gnuplot` executes the commands in it.
- These may be any legal `gnuplot` commands, but typically they are limited to
- setting the terminal and defining frequently-used functions or variables.
-
-
-File: gnuplot.info, Node: Substitution, Prev: Start-up, Up: gnuplot, Next:
Syntax
-
- Command-line substitution is specified by a system command enclosed in
- backquotes. This command is spawned and the output it produces replaces
- the name of the command (and backquotes) on the command line. Some
- implementations also support pipes; see `plot data-file special-filenames`
- (*note special-filenames:: ).
-
- Newlines in the output produced by the spawned command are replaced with
- blanks.
-
- Command-line substitution can be used anywhere on the `gnuplot`
- (*note gnuplot:: ) command line.
-
- Example:
-
- This will run the program `leastsq` and replace `leastsq` (including
- backquotes) on the command line with its output:
- f(x) = `leastsq`
-
- or, in VMS
- f(x) = `run leastsq`
-
-
-File: gnuplot.info, Node: Syntax, Prev: Substitution, Up: gnuplot, Next:
Time/Date data
-
- The general rules of syntax and punctuation in `gnuplot` (*note gnuplot:: )
- are that keywords and options are order-dependent. Options and any
- accompanying parameters are separated by spaces whereas lists and coordinates
- are separated by commas. Ranges are separated by colons and enclosed in
- brackets [], text and file names are enclosed in quotes, and a few
- miscellaneous things are enclosed in parentheses. Braces {} are used for a
- few special purposes.
-
- Commas are used to separate coordinates on the `set` (*note set-show:: )
- commands `arrow` (*note arrow:: ), `key` (*note key:: ), and `label`
- (*note label:: ); the list of variables being fitted (the list after the `via`
- keyword on the `fit` (*note fit:: ) command); lists of discrete contours or
- the loop parameters which specify them on the `set cntrparam`
- (*note cntrparam:: ) command; the arguments of the `set` commands `dgrid3d`
- (*note dgrid3d:: ), `dummy` (*note dummy:: ), `isosamples`
- (*note isosamples:: ), `offsets` (*note offsets:: ), `origin`
- (*note origin:: ), `samples` (*note samples:: ), `size` (*note size:: ),
- time, and nd `view` (*note view:: ); 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 `plot`
- (*note plot:: ), `replot` (*note replot:: ) and `splot` (*note splot:: )
- commands; and the complete sets of keywords specifying individual plots (data
- sets or functions) on the `plot`, `replot` and `splot` commands.
-
- Parentheses are used to delimit sets of explicit tics (as opposed to loop
- parameters) and to indicate computations in the `using` (*note using:: )
- filter of the fit, `plot`, `replot` and `splot` commands.
-
- (Parentheses and commas are also used as usual in function notation.)
-
- Brackets are used to delimit ranges, whether they are given on `set`, `plot`
- or `splot` commands.
-
- Colons are used to separate extrema in `range` specifications (whether they
- are given on `set`, `plot` or `splot` commands) and to separate entries in
- the `using` filter of the `plot`, `replot`, `splot` and `fit` commands.
-
- Semicolons are used to separate commands given on a single command line.
-
- Braces are used in text to be specially processed by some terminals, like
- `postscript` (*note postscript:: ). They are also used to denote complex
- numbers: {3,2} = 3 + 2i.
-
- Text may be enclosed in single- or double-quotes. Backslash processing of
- sequences like \n (newline) and \345 (octal character code) is performed for
- double-quoted strings, but not for single-quoted strings.
-
- The justification is the same for each line of a multi-line string. Thus the
- center-justified string
- "This is the first line of text.\nThis is the second line."
- will produce
- This is the first line of text.
- This is the second line.
- but
- 'This is the first line of text.\nThis is the second line.'
- will produce
- This is the first line of text.\nThis is the second line.
-
- Filenames may be entered with either single- or double-quotes. In this
- manual the command examples generally single-quote filenames and double-quote
- other string tokens for clarity.
-
- At present you should not embed \n inside {} when using the enhanced option
- of the postscript terminal.
-
- The EEPIC, Imagen, Uniplex, LaTeX, and TPIC drivers allow a newline to be
- specified by \\ in a single-quoted string or \\\\ in a double-quoted string.
-
- Back-quotes are used to enclose system commands for substitution.
-
-
-File: gnuplot.info, Node: Time/Date data, Prev: Syntax, Up: gnuplot
-
- `gnuplot` (*note gnuplot:: ) supports the use of time and/or date information
- as input data. This feature is activated by the commands `set xdata time`,
- `set ydata time`, etc.
-
- Internally all times and dates are converted to the number of seconds from
- the year 2000. The command `set timefmt` (*note timefmt:: ) defines the
- format for all inputs: data files, ranges, tics, label positions---in short,
- anything that accepts a data value must receive it in this format. Since only
- one input format can be in force at a given time, all time/date quantities
- being input at the same time must be presented in the same format. Thus if
- both x and y data in a file are time/date, they must be in the same format.
-
- The conversion to and from seconds assumes Universal Time (which is the same
- as Greenwich Standard Time). There is no provision for changing the time
- zone or for daylight savings. If all your data refer to the same time zone
- (and are all either daylight or 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 `show xrange` (*note xrange:: ) will re-interpret the integer
- according to `timefmt`. If you change `timefmt`, and then `show`
- (*note set-show:: ) the quantity again, it will be displayed in the new
- `timefmt`. For that matter, if you give the deactivation command (like `set
- xdata` (*note xdata:: )), the quantity will be shown in its numerical form.
-
- The command `set format` (*note format:: ) defines the format that will be
- used for tic labels, whether or not the specified axis is time/date.
-
- If time/date information is to be plotted from a file, the `using`
- (*note using:: ) option _must_ be used on the `plot` (*note plot:: ) or
- `splot` (*note splot:: ) command. These commands simply use white space to
- separate columns, but white space may be embedded within the time/date
- string. If you use tabs as a separator, some trial-and-error may be necessary
- to discover how your system treats them.
-
- The following example demonstrates time/date plotting.
-
- Suppose the file "data" contains records like
-
- 03/21/95 10:00 6.02e23
-
- This file can be plotted by
+1.14.1.43 sqrt
+..............
- set xdata time
- set timefmt "%m/%d/%y"
- set xrange ["03/21/95":"03/22/95"]
- set format x "%m/%d"
- set timefmt "%m/%d/%y %H:%M"
- plot "data" using 1:3
+The `sqrt(x)` function returns the square root of its argument.
- which will produce xtic labels that look like "03/21".
+
+File: gnuplot.info, Node: tan, Next: tanh, Prev: sqrt, Up: Functions
- See the descriptions of each command for more details.
+1.14.1.44 tan
+.............
-
-File: gnuplot.info, Node: Commands, Prev: gnuplot, Up: Top, Next: cd
+The `tan(x)` function returns the tangent of its argument. `tan`
+expects its argument to be in radians or degrees, as selected by *note
+angles::.
- This section lists the commands acceptable to `gnuplot` (*note gnuplot:: ) in
- alphabetical order. Printed versions of this document contain all commands;
- on-line versions may not be complete. Indeed, on some systems there may be
- no commands at all listed under this heading.
+
+File: gnuplot.info, Node: tanh, Next: voigt, Prev: tan, Up: Functions
- Note that in most cases unambiguous abbreviations for command names and their
- options are permissible, i.e., "`p f(x) w l`" instead of "`plot f(x) with
- lines`".
+1.14.1.45 tanh
+..............
- In the syntax descriptions, braces ({}) denote optional arguments and a
- vertical bar (|) separates mutually exclusive choices.
+The `tanh(x)` function returns the hyperbolic tangent of its argument.
+*note tanh:: expects its argument to be in radians.
-* Menu:
+
+File: gnuplot.info, Node: voigt, Next: gprintf, Prev: tanh, Up: Functions
-* cd::
-* call::
-* clear::
-* exit::
-* fit::
-* help::
-* if::
-* load::
-* pause::
-* plot::
-* print::
-* pwd::
-* quit::
-* replot::
-* reread::
-* reset::
-* save::
-* set-show::
-* shell::
-* splot::
-* test::
-* update::
+1.14.1.46 voigt
+...............
-
-File: gnuplot.info, Node: cd, Prev: Commands, Up: Commands, Next: call
+The function `voigt(x,y)` returns an approximation to the Voigt/Faddeeva
+function used in spectral analysis. The approximation is accurate to
+one part in 10^4.
- The `cd` command changes the working directory.
+
+File: gnuplot.info, Node: gprintf, Next: sprintf, Prev: voigt, Up:
Functions
- Syntax:
- cd '<directory-name>'
+1.14.1.47 gprintf
+.................
- The directory name must be enclosed in quotes.
+`gprintf("format",x)` applies gnuplot's own format specifiers to the
+single variable x and returns the resulting string. If you want
+standard C-language format specifiers, you must instead use
+`sprintf("format",x)`. See `format specifiers`.
- Examples:
- cd 'subdir'
- cd ".."
+
+File: gnuplot.info, Node: sprintf, Next: strlen, Prev: gprintf, Up:
Functions
- DOS users _must_ use single-quotes---backslash [\] has special significance
- inside double-quotes. For example,
- cd "c:\newdata"
- fails, but
- cd 'c:\newdata'
- works as expected.
+1.14.1.48 sprintf
+.................
-
-File: gnuplot.info, Node: call, Prev: cd, Up: Commands, Next: clear
+`sprintf("format",var1,var2,...)` applies standard C-language format
+specifiers to multiple arguments and returns the resulting string. If
+you want to use gnuplot's own format specifiers, you must instead call
+`gprintf()`. For information on sprintf format specifiers, please see
+standard C-language documentation or the unix sprintf man page.
- The `call` command is identical to the load command with one exception: you
- can have up to ten additional parameters to the command (delimited according
- to the standard parser rules) which can be substituted into the lines read
- from the file. As each line is read from the `call`ed input file, it is
- scanned for the sequence `$` (dollar-sign) followed by a digit (0--9). If
- found, the sequence is replaced by the corresponding parameter from the
- `call` command line. If the parameter was specified as a string in the
- `call` line, it is substituted without its enclosing quotes. `$` followed by
- any character other than a digit will be that character. E.g. use `$$` to
- get a single `$`. Providing more than ten parameters on the `call` command
- line will cause an error. A parameter that was not provided substitutes as
- nothing. Files being `call`ed may themselves contain `call` or `load`
- (*note load:: ) commands.
+
+File: gnuplot.info, Node: strlen, Next: strstrt, Prev: sprintf, Up:
Functions
- The `call` command _must_ be the last command on a multi-command line.
+1.14.1.49 strlen
+................
- Syntax:
- call "<input-file>" <parameter-0> <parm-1> ... <parm-9>
+`strlen("string")` returns the length of the string in bytes. If the
+current encoding supports multibyte characters, this may be larger than
+the number of characters in the string.
- The name of the input file must be enclosed in quotes, and it is recommended
- that parameters are similarly enclosed in quotes (future versions of gnuplot
- may treat quoted and unquoted arguments differently).
+
+File: gnuplot.info, Node: strstrt, Next: substr, Prev: strlen, Up:
Functions
- Example:
+1.14.1.50 strstrt
+.................
- If the file 'calltest.gp' contains the line:
- print "p0=$0 p1=$1 p2=$2 p3=$3 p4=$4 p5=$5 p6=$6 p7=x$7x"
+`strstrt("string","key")` searches for the character string "key" in
+"string" and returns the index to the first character of "key". If
+"key" is not found, returns 0. Similar to C library function strstr
+except that it returns an index rather than a string pointer.
+strstrt("hayneedlestack","needle") = 4.
- entering the command:
- call 'calltest.gp' "abcd" 1.2 + "'quoted'" -- "$2"
-
- will display:
- p0=abcd p1=1.2 p2=+ p3='quoted' p4=- p5=- p6=$2 p7=xx
+
+File: gnuplot.info, Node: substr, Next: strftime, Prev: strstrt, Up:
Functions
- NOTE: there is a clash in syntax with the datafile `using` (*note using:: )
- callback operator. Use `$$n` or `column(n)` to access column n from a
- datafile inside a `call`ed datafile plot.
-
-
-
-File: gnuplot.info, Node: clear, Prev: call, Up: Commands, Next: exit
-
- The `clear` command erases the current screen or output device as specified
- by `set output` (*note output:: ). This usually generates a formfeed on
- hardcopy devices. Use `set terminal` (*note terminal:: ) to set the device
- type.
-
- For some terminals `clear` erases only the portion of the plotting surface
- defined by `set size` (*note size:: ), so for these it can be used in
- conjunction with set multiplot` to create an inset.
-
- Example:
- set multiplot
- plot sin(x)
- set origin 0.5,0.5
- set size 0.4,0.4
- clear
- plot cos(x)
- set nomultiplot
-
- Please see `set multiplot` (*note multiplot:: ), set size, and nd `set origin`
- (*note origin:: ) for details of these commands.
-
-
-
-File: gnuplot.info, Node: exit, Prev: clear, Up: Commands, Next: fit
-
- The commands `exit` and `quit` (*note quit:: ) and the END-OF-FILE character
- will exit the current `gnuplot` (*note gnuplot:: ) command file and `load`
- (*note load:: ) the next one. See "help batch/interactive" for more details.
-
- Each of these commands will clear the output device (as does the `clear`
- (*note clear:: ) command) before exiting.
-
-
-
-File: gnuplot.info, Node: fit, Prev: exit, Up: Commands, Next: adjustable
parameters
-
- The `fit` command can fit a user-defined function to a set of data points
- (x,y) or (x,y,z), using an implementation of the nonlinear least-squares
- (NLLS) Marquardt-Levenberg algorithm. Any user-defined variable occurring in
- the function body may serve as a fit parameter, but the return type of the
- function must be real.
-
- Syntax:
- fit {[xrange] {[yrange]}} <function> '<datafile>'
- {datafile-modifiers}
- via '<parameter file>' | <var1>{,<var2>,...}
-
- Ranges may be specified to temporarily limit the data which is to be fitted;
- any out-of-range data points are ignored. The syntax is
- [{dummy_variable=}{<min>}{:<max>}],
- analogous to `plot` (*note plot:: ); see `plot ranges` (*note ranges:: ).
-
- <function> is any valid `gnuplot` (*note gnuplot:: ) expression, although it
- is usual to use a previously user-defined function of the form f(x) or
- f(x,y).
-
- <datafile> is treated as in the `plot` command. All the `plot datafile`
- (*note data-file:: ) modifiers (`using` (*note using:: ), `every`
- (*note every:: ),...) except `smooth` (*note smooth:: ) are applicable to
- fit. See `plot datafile`.
-
- The default data formats for fitting functions with a single independent
- variable, y=f(x), are {x:}y or x:y:s; those formats can be changed with
- the datafile `using` qualifier. The third item, (a column number or an
- expression), if present, is interpreted as the standard deviation of the
- corresponding y value and is used to compute a weight for the datum, 1/s**2.
- Otherwise, all data points are weighted equally, with a weight of one.
-
- To fit a function with two independent variables, z=f(x,y), the required
- format is `using` with four items, x:y:z:s. The complete format must be
- given---no default columns are assumed for a missing token. Weights for
- each data point are evaluated from 's' as above. If error estimates are
- not available, a constant value can be specified as a constant expression
- (see `plot datafile using`), e.g., `using 1:2:3:(1)`.
-
- Multiple datasets may be simultaneously fit with functions of one
- independent variable by making y a 'pseudo-variable', e.g., the dataline
- number, and fitting as two independent variables. See `fit multibranch`.
-
- The `via` qualifier specifies which parameters are to be adjusted, either
- directly, or by referencing a parameter file.
-
- Examples:
- f(x) = a*x**2 + b*x + c
- g(x,y) = a*x**2 + b*y**2 + c*x*y
- FIT_LIMIT = 1e-6
- fit f(x) 'measured.dat' via 'start.par'
- fit f(x) 'measured.dat' using 3:($7-5) via 'start.par'
- fit f(x) './data/trash.dat' using 1:2:3 via a, b, c
- fit g(x,y) 'surface.dat' using 1:2:3:(1) via a, b, c
-
- After each iteration step, detailed information about the current state
- of the fit is written to the display. The same information about the
- initial and final states is written to a log file, "fit.log". This file
- is always appended to, so as to not lose any previous fit history; it
- should be deleted or renamed as desired.
-
- The fit may be interrupted by pressing Ctrl-C (any key but Ctrl-C under
- MSDOS and Atari Multitasking Systems). After the current iteration
- completes, you have the option to (1) stop the fit and accept the current
- parameter values, (2) continue the fit, (3) execute a `gnuplot` command
- as specified by the environment variable FIT_SCRIPT. The default for
- FIT_SCRIPT is `replot` (*note replot:: ), so if you had previously plotted
- both the data and the fitting function in one graph, you can display the
- current state of the fit.
-
- Once `fit` has finished, the `update` (*note update:: ) command may be used to
- store final values in a file for subsequent use as a parameter file. See
- `update` for details.
+1.14.1.51 substr
+................
+`substr("string",beg,end)` returns the substring consisting of
+characters beg through end of the original string. This is exactly
+equivalent to the expression "string"[beg:end] except that you do not
+have the option of omitting beg or end.
-* Menu:
+
+File: gnuplot.info, Node: strftime, Next: strptime, Prev: substr, Up:
Functions
-* adjustable parameters::
-* beginner's guide::
-* error estimates::
-* fit controlling::
-* multi-branch::
-* starting values::
-* tips::
+1.14.1.52 strftime
+..................
-
-File: gnuplot.info, Node: adjustable parameters, Prev: fit, Up: fit, Next:
beginner's guide
-
- There are two ways that `via` can specify the parameters to be adjusted,
- either directly on the command line or indirectly, by referencing a
- parameter file. The two use different means to set initial values.
-
- Adjustable parameters can be specified by a comma-separated list of variable
- names after the `via` keyword. Any variable that is not already defined is
- 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
- special form
- varname = value # FIXED
-
- means that the variable is treated as a 'fixed parameter', initialized by the
- parameter file, but not adjusted by `fit` (*note fit:: ). For clarity, it may
- be useful to designate variables as fixed parameters so that their values are
- reported by `fit`. The keyword `# FIXED` has to appear in exactly this form.
-
-
-
-File: gnuplot.info, Node: beginner's guide, Prev: adjustable parameters, Up:
fit, Next: error estimates
-
- `fit` (*note fit:: ) is used to find a set of parameters that 'best' fits your
- data to your user-defined function. The fit is judged on the basis of the 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 `fit error_estimates` for details.
-
- That's why it is called 'least-squares fitting'. Let's look at an example
- to see what is meant by 'non-linear', but first we had better go over some
- terms. Here it is convenient to use z as the dependent variable for
- user-defined functions of either one independent variable, z=f(x), or two
- independent variables, z=f(x,y). A parameter is a user-defined variable
- that `fit` will adjust, i.e., an unknown quantity in the function
- declaration. Linearity/non-linearity refers to the relationship of the
- dependent variable, z, to the parameters which `fit` is adjusting, not of
- z to the independent variables, x and/or y. (To be technical, the
- second {and higher} derivatives of the fitting function with respect to
- the parameters are zero for a linear least-squares problem).
-
- For linear least-squares (LLS), the user-defined function will be a sum of
- simple functions, not involving any parameters, each multiplied by one
- parameter. NLLS handles more 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 estimating
- values of the parameters is a linear least-squares problem. However, if
- c is an unknown parameter, the problem is nonlinear.
-
- In the linear case, parameter values can be determined by comparatively
- simple linear algebra, in one direct step. However LLS is a special case
- which is also solved along with more general NLLS problems by the iterative
- procedure that `gnuplot` (*note gnuplot:: ) uses. fit attempts to find the
- minimum by doing a search. Each step (iteration) calculates WSSR with a new
- set of parameter values. The Marquardt-Levenberg algorithm selects the
- parameter values for the next iteration. The process continues until a preset
- criterium is met, either (1) the fit has "converged" (the relative change in
- WSSR is less than FIT_LIMIT), or (2) it reaches a preset iteration count
- limit, FIT_MAXITER (see `fit control variables`
- (*note control variables:: )). The fit may also be interrupted and
- subsequently halted from the keyboard (see `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 `fit` can
- be used to find values for the free parameters of the model, to determine
- how well the data fits the model, and to estimate an error range for each
- parameter. See `fit error_estimates`.
-
- Alternatively, in curve-fitting, functions are selected independent of
- a model (on the basis of experience as to which are likely to describe
- the trend of the data with the desired resolution and a minimum number
- of parameters*functions.) The `fit` solution then provides an analytic
- representation of the curve.
-
- However, if all you really want is a smooth curve through your data points,
- the `smooth` (*note smooth:: ) option to `plot` (*note plot:: ) may be what
- you've been looking for rather than `fit`.
-
-
-
-File: gnuplot.info, Node: error estimates, Prev: beginner's guide, Up: fit,
Next: statistical overview
-
- In `fit` (*note fit:: ), the term "error" is used in two different contexts,
- data error estimates and parameter error estimates.
-
- Data error estimates are used to calculate the relative weight of each data
- point when determining the weighted sum of squared residuals, WSSR or
- chisquare. They can affect the parameter estimates, since they determine
- how much influence the deviation of each data point from the fitted function
- has on the final values. Some of the `fit` output information, including
- the parameter error estimates, is more meaningful if accurate data error
- estimates have been provided.
-
- The 'statistical overview' describes some of the `fit` output and gives some
- background for the 'practical guidelines'.
+`strftime("timeformat",t)` applies the timeformat specifiers to the
+time t given in seconds since the year 2000. See `time_specifiers` and
+*note strptime::.
-* Menu:
+
+File: gnuplot.info, Node: strptime, Next: system, Prev: strftime, Up:
Functions
-* statistical overview::
-* practical guidelines::
-
-
-File: gnuplot.info, Node: statistical overview, Prev: error estimates, Up:
error estimates, Next: practical guidelines
-
- The theory of non-linear least-squares (NLLS) is generally described in terms
- of a normal distribution of errors, that is, the input data is assumed to be
- a sample from a population having a given mean and a Gaussian (normal)
- distribution about the mean with a given standard deviation. For a sample of
- sufficiently large size, and knowing the population standard deviation, one
- can use the statistics of the chisquare distribution to describe a "goodness
- of fit" by looking at the variable often called "chisquare". Here, it is
- sufficient to say that a reduced chisquare (chisquare/degrees of freedom,
- where degrees of freedom is the number of datapoints less the number of
- parameters being fitted) of 1.0 is an indication that the weighted sum of
- squared deviations between the fitted function and the data points is the
- same as that expected for a random sample from a population characterized by
- the function with the current value of the parameters and the given standard
- deviations.
-
- If the standard deviation for the population is not constant, as in counting
- statistics where variance = counts, then each point should be individually
- weighted when comparing the observed sum of deviations and the expected sum
- of deviations.
-
- At the conclusion `fit` (*note fit:: ) reports '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 calculating the residuals of the datapoints were obtained
- from the same data.
-
- To estimate confidence levels for the parameters, one can use the minimum
- chisquare obtained from the fit and chisquare statistics to determine the
- value of chisquare corresponding to the desired confidence level, but
- considerably more calculation is required to determine the combinations of
- parameters which produce such values.
-
- Rather than determine confidence intervals, `fit` reports parameter error
- estimates which are readily obtained from the variance-covariance matrix
- after the final iteration. By convention, these estimates are called
- "standard errors" or "asymptotic standard errors", since they are calculated
- in the same way as the standard errors (standard deviation of each parameter)
- of a linear least-squares problem, even though the statistical conditions for
- designating the quantity calculated to be a standard deviation are not
- generally valid for the NLLS problem. The asymptotic standard errors are
- generally over-optimistic and should not be used for determining confidence
- levels, but are useful for qualitative purposes.
-
- The final solution also produces a correlation matrix, which gives an
- indication of the correlation of parameters in the region of the solution;
- if one parameter is changed, increasing chisquare, does changing another
- compensate? The main diagonal elements, autocorrelation, are all 1; if
- all parameters were independent, all other elements would be nearly 0. Two
- variables which completely compensate each other would have an off-diagonal
- element of unit magnitude, with a sign depending on whether the relation is
- proportional or inversely proportional. The smaller the magnitudes of the
- off-diagonal elements, the closer the estimates of the standard deviation
- of each parameter would be to the asymptotic standard error.
-
-
-File: gnuplot.info, Node: practical guidelines, Prev: statistical overview,
Up: error estimates
-
- If you have a basis for assigning weights to each data point, doing so lets
- you make use of additional knowledge about your measurements, e.g., take into
- account that some points may be more reliable than others. That may affect
- the final values of the parameters.
-
- Weighting the data provides a basis for interpreting the additional `fit`
- (*note fit:: ) output after the last iteration. Even if you weight each point
- equally, estimating an average standard deviation rather than using a weight
- of 1 makes WSSR a dimensionless variable, as chisquare is by definition.
-
- Each fit iteration will display information which can be used to evaluate
- the progress of the fit. (An '*' 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 between the data and your fitted function; `fit`
- has 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 deviation of the
- data from the fitted function, in user units.
-
- If you supplied valid data errors, the number of data points is large enough,
- and the model is correct, the reduced chisquare should be about unity. (For
- details, look up the 'chi-squared distribution' in your favourite statistics
- reference.) If so, there are additional tests, beyond the scope of this
- overview, for determining how well the model fits the data.
-
- A reduced chisquare much larger than 1.0 may be due to incorrect data error
- estimates, data errors not normally distributed, systematic measurement
- errors, 'outliers', or an incorrect model function. A plot of the residuals,
- e.g., `plot 'datafile' using 1:($2-f($1))`, 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.
-
- You'll have to get used to both `fit` and 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 `fit`, in common with most NLLS implementations, minimizes the
- weighted sum of squared distances (y-f(x))**2. It does not provide any means
- to account for "errors" in the values of x, only in y. Also, any "outliers"
- (data points outside the normal distribution of the model) will have an
- exaggerated effect on the solution.
-
-
-File: gnuplot.info, Node: fit controlling, Prev: error estimates, Up: fit,
Next: control variables
-
- There are a number of `gnuplot` (*note gnuplot:: ) variables that can be
- defined to affect `fit` (*note fit:: ). Those which can be defined once
- gnuplot is running are listed under 'control_variables' while those defined
- before starting `gnuplot` are listed under 'environment_variables'.
+1.14.1.53 strptime
+..................
+`strptime("timeformat",s)` reads the time from the string s using the
+timeformat specifiers and converts it into seconds since the year 2000.
+See `time_specifiers` and *note strftime::.
-* Menu:
+
+File: gnuplot.info, Node: system, Next: word, Prev: strptime, Up: Functions
-* control variables::
-* environment variables::
-
-
-File: gnuplot.info, Node: control variables, Prev: fit controlling, Up: fit
controlling, Next: environment variables
-
- The default epsilon limit (1e-5) may be changed by declaring a value for
- FIT_LIMIT
- When the sum of squared residuals changes between two iteration steps by
- a factor less than this number (epsilon), the fit is considered to have
- 'converged'.
-
- The maximum number of iterations may be limited by declaring a value for
- FIT_MAXITER
- A value of 0 (or not defining it at all) means that there is no limit.
-
- If you need even more control about the algorithm, and know the
- Marquardt-Levenberg algorithm well, there are some more variables to
- influence it. The startup value of `lambda` is normally calculated
- automatically from the ML-matrix, but if you want to, you may provide
- your own one with
- FIT_START_LAMBDA
- Specifying FIT_START_LAMBDA as zero or less will re-enable the automatic
- selection. The variable
- FIT_LAMBDA_FACTOR
- gives the factor by which `lambda` is increased or decreased whenever
- the chi-squared target function increased or decreased significantly.
- Setting FIT_LAMBDA_FACTOR to zero re-enables the default factor of
- 10.0.
-
- Oher variables with the FIT_ prefix may be added to `fit` (*note fit:: ), so
- it is safer not to use that prefix for user-defined variables.
-
- The variables FIT_SKIP and FIT_INDEX were used by earlier releases of
- `gnuplot` (*note gnuplot:: ) with a 'fit' patch called gnufit and are no
- longer available. The datafile `every` (*note every:: ) modifier provides the
- functionality of FIT_SKIP. FIT_INDEX was used for multi-branch fitting, but
- multi-branch fitting of one independent variable is now done as a pseudo-3D
- fit in which the second independent variable and `using` (*note using:: ) are
- used to specify the branch. See `fit multi-branch` (*note multi-branch:: ).
-
-
-
-File: gnuplot.info, Node: environment variables, Prev: control variables, Up:
fit controlling
-
- The environment variables must be defined before `gnuplot` (*note gnuplot:: )
- is executed; 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.
-
- FIT_SCRIPT
- specifies a command that may be executed after an user interrupt. The default
- is `replot` (*note replot:: ), but a `plot` (*note plot:: ) or `load`
- (*note load:: ) command may be useful to display a plot customized to
- highlight the progress of the fit.
-
-
-
-File: gnuplot.info, Node: multi-branch, Prev: fit controlling, Up: fit, Next:
starting values
-
- In multi-branch fitting, multiple data sets can be simultaneously fit with
- functions of one independent variable having common parameters by minimizing
- the total WSSR. The function and parameters (branch) for each data set are
- selected by using a 'pseudo-variable', e.g., either the dataline number (a
- '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 describing
- a different data set but having a common decay time, estimate the values of
- the parameters. If the datafile has the format x:z:s, then
- f(x,y) = (y==0) ? a*exp(-x/tau) : b*exp(-x/tau)
- fit f(x,y) 'datafile' using 1:-1:2:3 via a, b, tau
-
- For a more complicated example, see the file "hexa.fnc" used by the
- "fit.dem" demo.
-
- Appropriate weighting may be required since unit weights may cause one
- branch to predominate if there is a difference in the scale of the dependent
- variable. Fitting each branch 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.
-
-
-File: gnuplot.info, Node: starting values, Prev: multi-branch, Up: fit, Next:
tips
-
- Nonlinear fitting is not guaranteed to converge to the global optimum (the
- solution with the smallest sum of squared residuals, SSR), and can get stuck
- at a local minimum. The routine has no way to determine that; it is up to
- you to judge whether this has happened.
-
- `fit` (*note fit:: ) may, 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 "undefined value"
- message or `gnuplot` (*note gnuplot:: ) halting.
-
- To improve the chances of finding the global optimum, you should set the
- starting values at least roughly in the vicinity of the solution, e.g.,
- within an order of magnitude, if possible. The closer your starting values
- are to the solution, the less chance of stopping at another minimum. One way
- to find starting values is to plot data and the fitting function on the same
- graph and change parameter values and `replot` (*note replot:: ) until
- reasonable similarity is reached. The same plot is also useful to check
- whether the fit stopped at a minimum with a poor fit.
-
- Of course, a reasonably good fit is not proof there is not a "better" fit (in
- either a statistical sense, characterized by an improved goodness-of-fit
- criterion, or a physical sense, with a solution more consistent with the
- model.) Depending on the problem, it may be desirable to `fit` with various
- sets of starting values, covering a reasonable range for each parameter.
-
-
-File: gnuplot.info, Node: tips, Prev: starting values, Up: fit
-
- Here are some tips to keep in mind to get the most out of `fit`
- (*note fit:: ). 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 `via` argument to `fit` serve two largely distinct
- purposes. The `via "file"` form is best used for (possibly unattended) batch
- operation, where you just supply the startup values in a file and can later
- use `update` (*note update:: ) to copy the results back into another (or the
- same) parameter file.
-
- The `via var1, var2, ...` form is best used interactively, where the command
- history mechanism may be used to edit the list of parameters to be fitted or
- to supply new startup values for the next try. This is particularly useful
- for hard problems, where a direct fit to all parameters at once won't work
- without good starting values. To find such, you can iterate several times,
- fitting only some of the parameters, until the values are close enough to the
- goal that the final fit to all parameters at once will work.
-
- Make sure that there is no mutual dependency among parameters of the function
- you are fitting. For example, don't try to fit a*exp(x+b), because
- a*exp(x+b)=a*exp(b)*exp(x). Instead, fit either a*exp(x) or exp(x+b).
-
- A technical issue: the parameters must not be too different in magnitude.
- The larger the ratio of the largest and the smallest absolute parameter
- values, the slower the fit will converge. If the ratio is close to or above
- the inverse of the machine floating point precision, it may take next to
- forever to converge, or refuse to converge at all. You will have to adapt
- your function to avoid this, e.g., replace 'parameter' by '1e9*parameter' in
- the function definition, and divide the starting value by 1e9.
-
- If you can write your function as a linear combination of 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 experimentation
- courses, may have you first fit some functions to your data, perhaps in a
- multi-step process of accounting for several aspects of the underlying
- theory one by one, and then extract the information you really wanted from
- the fitting parameters of those functions. With `fit`, 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 correct.
-
- A "singular matrix" message indicates that this implementation of the
- Marquardt-Levenberg algorithm can't calculate parameter values for the next
- iteration. Try different starting values, writing the function in another
- form, or a simpler function.
-
- Finally, a nice quote from the manual of another fitting package (fudgit),
- that kind of summarizes all these issues: "Nonlinear fitting is an art!"
-
-
-File: gnuplot.info, Node: help, Prev: fit, Up: Commands, Next: if
-
- The `help` command displays on-line help. To specify information on a
- particular topic use the syntax:
-
- help {<topic>}
-
- If <topic> is not specified, a short message is printed about `gnuplot`
- (*note gnuplot:: ). 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 `gnuplot` command line will return.
-
- If a question mark (?) is given as the topic, the list of topics currently
- available is printed on the screen.
-
-
-File: gnuplot.info, Node: if, Prev: help, Up: Commands, Next: load
-
- The `if` command allows commands to be executed conditionally.
-
- Syntax:
- if (<condition>) <command-line>
-
- <condition> will be evaluated. If it is true (non-zero), then the command(s)
- of the <command-line> will be executed. If <condition> is false (zero), then
- the entire <command-line> is ignored. Note that use of `;` to 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.
-
- See `reread` (*note reread:: ) for an example of how if and reread can be used
- together to perform a loop.
-
-
-
-File: gnuplot.info, Node: load, Prev: if, Up: Commands, Next: pause
-
- The `load` command executes each line of the specified input file as if it
- had been typed in interactively. Files created by the `save` (*note save:: )
- command can later be `load`ed. Any text file containing valid commands can be
- created and then executed by the `load` command. Files being `load`ed may
- themselves contain `load` or `call` (*note call:: ) commands. See comment for
- information about comments in commands. To `load` with arguments, see
- `call`.
-
- The `load` command _must_ be the last command on a multi-command line.
-
- Syntax:
- load "<input-file>"
-
- The name of the input file must be enclosed in quotes.
-
- The special filename "-" may be used to `load` commands from standard input.
- This allows a `gnuplot` (*note gnuplot:: ) command file to accept some
- commands from standard input. Please see "help batch/interactive" for more
- details.
-
- Examples:
- load 'work.gnu'
- load "func.dat"
-
- The `load` command is performed implicitly on any file names given as
- arguments to `gnuplot`. These are loaded in the order specified, and
- then `gnuplot` exits.
-
-
-File: gnuplot.info, Node: pause, Prev: load, Up: Commands, Next: plot
-
- The `pause` command displays any text associated with the command and then
- waits a specified amount of time or until the carriage return is pressed.
- `pause` is especially useful in conjunction with `load` (*note load:: )
- files.
-
- Syntax:
- pause <time> {"<string>"}
-
- <time> may be any integer constant or expression. Choosing -1 will wait
- until a carriage return is hit, zero (0) won't pause at all, and a positive
- integer will wait the specified number of seconds. `pause 0` is synonymous
- with `print` (*note print:: ).
+1.14.1.54 system
+................
- Note: Since `pause` communicates with the operating system rather than the
- graphics, it may behave differently with different device drivers (depending
- upon how text and graphics are mixed).
+`system("command")` executes "command" using the standard shell and
+returns the resulting character stream from stdout as string variable.
+One optional trailing newline is ignored.
- 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."
+ This can be used to import external functions into gnuplot scripts
+using 'f(x) = real(system(sprintf("somecommand %f", x)))'.
+
+File: gnuplot.info, Node: word, Next: words, Prev: system, Up: Functions
-
-File: gnuplot.info, Node: plot, Prev: pause, Up: Commands, Next: data-file
+1.14.1.55 word
+..............
- `plot` is the primary command for drawing plots with `gnuplot`
- (*note gnuplot:: ). It creates plots of functions and data in many, many
- ways. `plot` is used to draw 2-d functions and data; `splot` (*note splot:: )
- draws 2-d projections of 3-d surfaces and data. `plot` and `splot` contain
- many common features; see `splot` for differences. Note specifically that
- `splot`'s `binary` (*note binary:: ) and `matrix` (*note matrix:: ) options
- do not exist for `plot`.
+`word("string",n)` returns the nth word in string. For example,
+`word("one two three",2)` returns the string "two".
- Syntax:
- plot {<ranges>}
- {<function> | {"<datafile>" {datafile-modifiers}}}
- {axes <axes>} {<title-spec>} {with <style>}
- {, {definitions,} <function> ...}
-
- where either a <function> or the name of a data file enclosed in quotes is
- supplied. A function is a mathematical expression or a pair of mathematical
- expressions in parametric mode. The expressions may be defined completely or
- in part earlier in the stream of `gnuplot` commands (see `user-defined`
- (*note User-defined:: )).
-
- It is also possible to define functions and parameters on the `plot` command
- itself. This is done merely by isolating them from other items with commas.
-
- There are four possible sets of axes available; the keyword <axes> is used to
- select the axes for which a particular line should be scaled. `x1y1` refers
- to the axes on the bottom and left; `x2y2` to those on the top and right;
- `x1y2` to those on the bottom and right; and `x2y1` to those on the top and
- left. Ranges specified on the `plot` command apply only to the first set of
- axes (bottom left).
-
- Examples:
- plot sin(x)
- plot f(x) = sin(x*a), a = .2, f(x), a = .4, f(x)
- plot [t=1:10] [-pi:pi*2] tan(t), \
- "data.1" using (tan($2)):($3/$4) smooth csplines \
- axes x1y2 notitle with lines 5
+
+File: gnuplot.info, Node: words, Next: column, Prev: word, Up: Functions
+1.14.1.56 words
+...............
-* Menu:
+`words("string")` returns the number of words in string. For example,
+`words(" a b c d")` returns 4.
-* data-file::
-* errorbars::
-* parametric::
-* ranges::
-* title::
-* with::
+
+File: gnuplot.info, Node: column, Next: columnhead, Prev: words, Up:
Functions
-
-File: gnuplot.info, Node: data-file, Prev: plot, Up: plot, Next: every
-
- 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 `plot`
- (*note plot:: ) command line.
-
- Syntax:
- plot '<file_name>' {index <index list>}
- {every <every list>}
- {thru <thru expression>}
- {using <using list>}
- {smooth <option>}
-
- The modifiers `index` (*note index:: ), `every` (*note every:: ), `thru`
- (*note thru:: ), `using` (*note using:: ), and `smooth` (*note smooth:: )
- are discussed separately. In brief, `index` selects which data sets in a
- multi-data-set file are to be plotted, `every` specifies which points within a
- single data set are to be plotted, `using` determines how the columns within a
- single record are to be interpreted (`thru` is a special case of `using`),
- and `smooth` allows for simple interpolation and approximation. ('splot' has
- a similar syntax, but does not support the `smooth` and `thru` options.)
-
- Data files should contain at least one data point per record (`using` can
- select one data point from the record). Records beginning with `#` (and
- also with `!` on VMS) will be treated as comments and ignored. Each data
- point represents an (x,y) pair. For `plot`s with error bars (see `set style
- errorbars`), each data point is (x,y,ydelta), (x,y,ylow,yhigh), (x,y,xdelta),
- (x,y,xlow,xhigh), or (x,y,xlow,xhigh,ylow,yhigh). In all cases, the numbers
- on each record of a data file must be separated by white space (one or more
- blanks or tabs), unless a format specifier is provided by the `using` option.
- This white space divides each record into columns.
-
- Data may be written in exponential format with the exponent preceded by the
- letter e, E, d, D, q, or Q.
-
- Only one column (the y value) need be provided. If x is omitted, `gnuplot`
- (*note gnuplot:: ) provides integer values starting at 0.
-
- In datafiles, blank records (records with no characters other than blanks and
- a newline and/or carriage return) are significant---pairs of blank records
- separate `index`es (see `plot datafile index`). Data separated by double
- blank records are treated as if they were in separate data files.
-
- Single blank records designate discontinuities in a `plot`; no line will join
- points separated by a blank records (if they are plotted with a line style).
-
- If autoscaling has been enabled (`set autoscale` (*note autoscale:: )), the
- axes are automatically extended to include all datapoints, with a whole number
- of tic marks if tics are being drawn. This has two consequences: i) For
- `splot` (*note splot:: ), the corner of the surface may not coincide with the
- corner of the base. In this case, no vertical line is drawn. ii) When
- plotting data with the same x range on a dual-axis graph, the x coordinates
- may not coincide if the x2tics are not being drawn. This is because the x
- axis has been autoextended to a whole number of tics, but the x2 axis has
- not. The following example illustrates the problem:
-
- reset; plot '-', '-'
- 1 1
- 19 19
- e
- 1 1
- 19 19
- e
+1.14.1.57 column
+................
-* Menu:
+`column(x)` may be used only in expressions as part of *note using::
+manipulations to fits or datafile plots. It evaluates to the numerical
+value of the contents of column x. See *note using::.
-* every::
-* example datafile::
-* index::
-* smooth::
-* special-filenames::
-* thru::
-* using::
+
+File: gnuplot.info, Node: columnhead, Next: defined, Prev: column, Up:
Functions
+
+1.14.1.58 columnhead
+....................
+
+`columnhead(x)` may only be used in expressions as part of *note
+using:: manipulations to fits or datafile plots. It evaluates to a
+string containing the contents of column x in the first line of data.
+See *note using::.
+
+
+File: gnuplot.info, Node: defined, Next: exists, Prev: columnhead, Up:
Functions
+
+1.14.1.59 defined
+.................
+
+`defined(X)` [DEPRECATED] returns 1 if a variable named X has been
+defined, otherwise it returns 0.
+
+
+File: gnuplot.info, Node: exists, Next: stringcolumn, Prev: defined, Up:
Functions
+
+1.14.1.60 exists
+................
+
+The argument to exists() is a string constant or a string variable; if
+the string contains the name of a defined variable, the function
+returns 1. Otherwise the function returns 0.
+
+
+File: gnuplot.info, Node: stringcolumn, Next: timecolumn, Prev: exists,
Up: Functions
+
+1.14.1.61 stringcolumn
+......................
+
+`stringcolumn(x)` may be used only in expressions as part of *note
+using:: manipulations to fits or datafile plots. It returns the
+content of column x as a string variable. See *note using::.
+
+
+File: gnuplot.info, Node: timecolumn, Next: tm_hour, Prev: stringcolumn,
Up: Functions
+
+1.14.1.62 timecolumn
+....................
+
+`timecolumn(x)` may be used only in expressions as part of *note using::
+manipulations to fits or datafile plots. See *note using::.
+
+ It reads the data starting at that column as a time/date value and
+returns its value in gnuplot's internal time representation of "seconds
+since the millennium".
+
+ To find the right *note timefmt:: string to use, *note timecolumn::
+searches for a *note using:: specification with the same column number
+as its argument. If one is found, *note timefmt:: pattern of the
+target axis for this specifier is used. Otherwise, *note timecolumn::
+chooses the x axis *note timefmt:: per default.
+
+
+File: gnuplot.info, Node: tm_hour, Next: tm_mday, Prev: timecolumn, Up:
Functions
+
+1.14.1.63 tm_hour
+.................
+
+The *note tm_hour:: function interprets its argument as a time, in
+seconds from 1 Jan 2000. It returns the hour (an integer in the range
+0-23) as a real.
+
+
+File: gnuplot.info, Node: tm_mday, Next: tm_min, Prev: tm_hour, Up:
Functions
+
+1.14.1.64 tm_mday
+.................
-
-File: gnuplot.info, Node: every, Prev: data-file, Up: data-file, Next: example
datafile
+The *note tm_mday:: function interprets its argument as a time, in
+seconds from 1 Jan 2000. It returns the day of the month (an integer
+in the range 1-31) as a real.
- The `every` keyword allows a periodic sampling of a data set to be plotted.
+
+File: gnuplot.info, Node: tm_min, Next: tm_mon, Prev: tm_mday, Up:
Functions
+
+1.14.1.65 tm_min
+................
+
+The *note tm_min:: function interprets its argument as a time, in
+seconds from 1 Jan 2000. It returns the minute (an integer in the
+range 0-59) as a real.
+
+
+File: gnuplot.info, Node: tm_mon, Next: tm_sec, Prev: tm_min, Up: Functions
+
+1.14.1.66 tm_mon
+................
+
+The *note tm_mon:: function interprets its argument as a time, in
+seconds from 1 Jan 2000. It returns the month (an integer in the range
+0-11) as a real.
+
+
+File: gnuplot.info, Node: tm_sec, Next: tm_wday, Prev: tm_mon, Up:
Functions
+
+1.14.1.67 tm_sec
+................
+
+The *note tm_sec:: function interprets its argument as a time, in
+seconds from 1 Jan 2000. It returns the second (an integer in the
+range 0-59) as a real.
+
+
+File: gnuplot.info, Node: tm_wday, Next: tm_yday, Prev: tm_sec, Up:
Functions
+
+1.14.1.68 tm_wday
+.................
+
+The *note tm_wday:: function interprets its argument as a time, in
+seconds from 1 Jan 2000. It returns the day of the week (an integer in
+the range 0-6) as a real.
+
+
+File: gnuplot.info, Node: tm_yday, Next: tm_year, Prev: tm_wday, Up:
Functions
+
+1.14.1.69 tm_yday
+.................
- In the discussion a "point" is a datum defined by a single record in the
- file; "block" here will mean the same thing as "datablock" (see `glossary`
- (*note Glossary:: )).
+The *note tm_yday:: function interprets its argument as a time, in
+seconds from 1 Jan 2000. It returns the day of the year (an integer in
+the range 1-366) as a real.
+
+
+File: gnuplot.info, Node: tm_year, Next: time, Prev: tm_yday, Up: Functions
- Syntax:
- plot 'file' every {<point_incr>}
- {:{<block_incr>}
- {:{<start_point>}
- {:{<start_block>}
- {:{<end_point>}
- {:<end_block>}}}}}
+1.14.1.70 tm_year
+.................
- The data points to be plotted are selected according to a loop from
- <`start_point`> to <`end_point`> with increment <`point_incr`> and the
- blocks according to a loop from <`start_block`> to <`end_block`> with
- increment <`block_incr`>.
+The *note tm_year:: function interprets its argument as a time, in
+seconds from 1 Jan 2000. It returns the year (an integer) as a real.
- The first datum in each block is numbered '0', as is the first block in the
- file.
+
+File: gnuplot.info, Node: time, Next: valid, Prev: tm_year, Up: Functions
- Note that records containing unplottable information are counted.
+1.14.1.71 time
+..............
- 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. If `every` is not specified, all points in all lines are plotted.
+The `time` function returns the current system time. This value can be
+converted to a date string with the *note strftime:: function, or it
+can be used in conjunction with *note timecolumn:: to generate relative
+time/date plots. The type of the argument determines what is returned.
+If the argument is an integer, time() returns the current time as an
+integer, in seconds from 1 Jan 2000. If the argument is real (or
+complex), the result is real as well. If the argument is a string, it
+is assumed to be a format string, and it is passed to *note strftime::
+to provide a formatted time string.
- Examples:
- every :::3::3 # selects just the fourth block ('0' is first)
- every :::::9 # selects the first 10 blocks
- every 2:2 # selects every other point in every other block
- every ::5::15 # selects points 5 through 15 in each block
+
+File: gnuplot.info, Node: valid, Next: elliptic_integrals, Prev: time, Up:
Functions
-
-File: gnuplot.info, Node: example datafile, Prev: every, Up: data-file, Next:
index
+1.14.1.72 valid
+...............
- This example plots the data in the file "population.dat" and a theoretical
- curve:
+`valid(x)` may be used only in expressions as part of *note using::
+manipulations to fits or datafile plots. See *note using::.
- pop(x) = 103*exp((1965-x)/10)
- plot [1960:1990] 'population.dat', pop(x)
+
+File: gnuplot.info, Node: elliptic_integrals, Next: Random_number_generator,
Prev: valid, Up: Functions
- The file "population.dat" might contain:
+1.14.1.73 elliptic integrals
+............................
- # Gnu population in Antarctica since 1965
- 1965 103
- 1970 55
- 1975 34
- 1980 24
- 1985 10
+The `EllipticK(k)` function returns the complete elliptic integral of
+the first kind, i.e. the definite integral between 0 and pi/2 of the
+function `(1-(k*sin(p))**2)**(-0.5)`. The domain of `k` is -1 to 1
+(exclusive).
+ The `EllipticE(k)` function returns the complete elliptic integral
+of the second kind, i.e. the definite integral between 0 and pi/2 of
+the function `(1-(k*sin(p))**2)**0.5`. The domain of `k` is -1 to 1
+(inclusive).
-
-File: gnuplot.info, Node: index, Prev: example datafile, Up: data-file, Next:
smooth
+ The `EllipticPi(n,k)` function returns the complete elliptic
+integral of the third kind, i.e. the definite integral between 0 and
+pi/2 of the function `(1-(k*sin(p))**2)**(-0.5)/(1-n*sin(p)**2)`. The
+parameter `n` must be less than 1, while `k` must lie between -1 and 1
+(exclusive). Note that by definition EllipticPi(0,k) == EllipticK(k)
+for all possible values of `k`.
- The `index` keyword allows only some of the data sets in a multi-data-set
- file to be plotted.
+
+File: gnuplot.info, Node: Random_number_generator, Next: value, Prev:
elliptic_integrals, Up: Functions
- Syntax:
- plot 'file' index <m>{{:<n>}:<p>}
+1.14.1.74 Random number generator
+.................................
- Data sets are separated by pairs of blank records. `index <m>` selects only
- set <m>; `index <m>:<n>` selects sets in the range <m> to <n>; and `index
- <m>:<n>:<p>` selects indices <m>, <m>+<p>, <m>+2<p>, etc., but stopping at
- <n>. Following C indexing, the index 0 is assigned to the first data set in
- the file. Specifying too large an index results in an error message. If
- `index` is not specified, all sets are plotted as a single data set.
+The function `rand()` produces a sequence of pseudo-random numbers
+between 0 and 1 using an algorithm from P. L'Ecuyer and S. Cote,
+"Implementing a random number package with splitting facilities", ACM
+Transactions on Mathematical Software, 17:98-111 (1991).
- Example:
- plot 'file' index 4:5
+ rand(0) returns a pseudo random number in the interval [0:1]
+ generated from the current value of two internal
+ 32-bit seeds.
+ rand(-1) resets both seeds to a standard value.
+ rand(x) for 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.
-
-File: gnuplot.info, Node: smooth, Prev: index, Up: data-file, Next: acsplines
+
+File: gnuplot.info, Node: value, Prev: Random_number_generator, Up:
Functions
- `gnuplot` (*note gnuplot:: ) includes a few general-purpose routines for
- interpolation and approximation of data; these are grouped under the `smooth`
- option. More sophisticated data processing may be performed by preprocessing
- the data externally or by using `fit` (*note fit:: ) with an appropriate
- model.
+1.14.1.75 value
+...............
- Syntax:
- smooth {unique | csplines | acsplines | bezier | sbezier}
+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 *note variables::. It also
+allows you to read the name of a variable from a data file. If the
+argument is a numerical expression, value() returns the value of that
+expression. If the argument is a string that does not correspond to a
+currently defined variable, value() returns NaN.
- `unique` (*note unique:: ) plots the data after making them monotonic. Each
- of the other routines uses the data to determine the coefficients of a
- continuous curve between the endpoints of the data. This curve is then
- plotted in the same manner as a function, that is, by finding its value at
- uniform intervals along the abscissa (see `set samples` (*note samples:: ))
- and connecting these points with straight line segments (if a line style is
- chosen).
+
+File: gnuplot.info, Node: Operators, Next: Summation, Prev: Functions, Up:
Expressions
- If `autoscale` (*note autoscale:: ) is in effect, the ranges will be computed
- such that the plotted curve lies within the borders of the graph.
+1.14.2 Operators
+----------------
- If too few points are available to allow the selected option to be applied,
- an error message is produced. The minimum number is one for `unique`, four
- for `acsplines` (*note acsplines:: ), and three for the others.
+The operators in `gnuplot` are the same as the corresponding operators
+in the C programming language, except that all operators accept
+integer, real, and complex arguments, unless otherwise noted. The **
+operator (exponentiation) is supported, as in FORTRAN.
- The `smooth` options have no effect on function plots.
+ Parentheses may be used to change order of evaluation.
* Menu:
-* acsplines::
-* bezier::
-* csplines::
-* sbezier::
-* unique::
-
-
-File: gnuplot.info, Node: acsplines, Prev: smooth, Up: smooth, Next: bezier
-
- The `acsplines` option approximates the data with a "natural smoothing
spline".
- After the data are made monotonic in x (see `smooth unique`
- (*note unique:: )), a curve is piecewise constructed from segments of cubic
- polynomials whose coefficients are found by the weighting the data points; the
- weights are taken from the third column in the data file. That default can be
- modified by the third entry in the `using` (*note using:: ) list, e.g.,
- plot 'data-file' using 1:2:(1.0) smooth acsplines
-
- Qualitatively, the absolute magnitude of the weights determines the number
- of segments used to construct the curve. If the weights are large, the
- effect of each datum is large and the curve approaches that produced by
- connecting consecutive points with natural cubic splines. If the weights are
- small, the curve is composed of fewer segments and thus is smoother; the
- limiting case is the single segment produced by a weighted linear least
- squares fit to all the data. The smoothing weight can be expressed in terms
- of errors as a statistical weight for a point divided by a "smoothing factor"
- for the curve so that (standard) errors in the file can be used as smoothing
- weights.
+* Unary::
+* Binary::
+* Ternary::
+
+
+File: gnuplot.info, Node: Unary, Next: Binary, Prev: Operators, Up:
Operators
- Example:
- sw(x,S)=1/(x*x*S)
- plot 'data_file' using 1:2:(sw($3,100)) smooth acsplines
+1.14.2.1 Unary
+..............
-
-File: gnuplot.info, Node: bezier, Prev: acsplines, Up: smooth, Next: csplines
-
- The `bezier` option approximates the data with a Bezier curve of degree n
- (the number of data points) that connects the endpoints.
+The following is a list of all the unary operators and their usages:
-
-File: gnuplot.info, Node: csplines, Prev: bezier, Up: smooth, Next: sbezier
+ 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 *note using::
manipulation
- The `csplines` option connects consecutive points by natural cubic splines
- after rendering the data monotonic (see `smooth unique` (*note unique:: )).
+ (*) Starred explanations indicate that the operator requires an
+integer argument.
+ Operator precedence is the same as in Fortran and C. As in those
+languages, parentheses may be used to change the order of operation.
+Thus -2**2 = -4, but (-2)**2 = 4.
-
-File: gnuplot.info, Node: sbezier, Prev: csplines, Up: smooth, Next: unique
+ The factorial operator returns a real number to allow a greater
+range.
- The `sbezier` option first renders the data monotonic (`unique`
- (*note unique:: )) and then applies the `bezier` (*note bezier:: ) algorithm.
+
+File: gnuplot.info, Node: Binary, Next: Ternary, Prev: Unary, Up: Operators
+
+1.14.2.2 Binary
+...............
+
+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
+ & 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
+ . A.B string concatenation
+ eq A eq B string equality
+ ne A ne B string inequality
+
+ (*) Starred explanations indicate that the operator requires integer
+arguments. Capital letters A and B indicate that the operator requires
+string arguments.
+
+ Logical AND (&&) and OR (||) short-circuit the way they do in C.
+That is, the second `&&` operand is not evaluated if the first is
+false; the second `||` operand is not evaluated if the first is true.
+
+ Serial evaluation occurs only in parentheses and is guaranteed to
+proceed in left to right order. The value of the rightmost
+subexpression is returned.
+
+File: gnuplot.info, Node: Ternary, Prev: Binary, Up: Operators
-
-File: gnuplot.info, Node: unique, Prev: sbezier, Up: smooth
+1.14.2.3 Ternary
+................
- The `unique` option makes the data monotonic in x; points with the same
- x-value are replaced by a single point having the average y-value. The
- resulting points are then connected by straight line segments.
+There is a single ternary operator:
-
-File: gnuplot.info, Node: special-filenames, Prev: smooth, Up: data-file,
Next: thru
+ Symbol Example Explanation
+ ?: a?b:c ternary operation
- A special filename of `'-'` specifies that the data are inline; i.e., they
- follow the command. Only the data follow the command; `plot` (*note plot:: )
- options like filters, titles, and line styles remain on the 'plot' command
- line. This is similar to << in unix shell script, and $DECK in VMS DCL. The
- data are entered as though they are being read from a file, one data point per
- record. The letter "e" at the start of the first column terminates data
- entry. The `using` (*note using:: ) option can be applied to these
- data---using it to filter them through a function might make sense, but
- selecting columns probably doesn't!
+ The ternary operator behaves as it does in C. The first argument
+(a), which must be an integer, is evaluated. If it is true (non-zero),
+the second argument (b) is evaluated and returned; otherwise the third
+argument (c) is evaluated and returned.
- `'-'` is intended for situations where it is useful to have data and commands
- together, e.g., when `gnuplot` (*note gnuplot:: ) is run as a sub-process of
- some front-end application. Some of the demos, for example, might use this
- feature. While `plot` options such as `index` (*note index:: ) and `every`
- (*note every:: ) are recognized, their use forces you to enter data that won't
- be used. For example, while
+ The ternary operator is very useful both in constructing piecewise
+functions and in plotting points only when certain conditions are met.
- plot '-' index 0, '-' index 1
- 2
- 4
- 6
+ 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)
- 10
- 12
- 14
- e
- 2
- 4
- 6
+ Note that `gnuplot` quietly ignores undefined values, so the final
+branch of the function (1/0) will produce no plottable points. Note
+also that f(x) will be plotted as a continuous function across the
+discontinuity if a line style is used. To plot it discontinuously,
+create separate functions for the two pieces. (Parametric functions
+are also useful for this purpose.)
+ For data in a file, plot the average of the data in columns 2 and 3
+against the datum in column 1, but only if the datum in column 4 is
+non-negative:
- 10
- 12
- 14
- e
+ plot 'file' using 1:( $4<0 ? 1/0 : ($2+$3)/2 )
- does indeed work,
+ For an explanation of the *note using:: syntax, please see *note
+using::.
- plot '-', '-'
- 2
- 4
- 6
- e
- 10
- 12
- 14
- e
+
+File: gnuplot.info, Node: Summation, Next: Gnuplot-defined_variables, Prev:
Operators, Up: Expressions
- is a lot easier to type.
+1.14.3 Summation
+----------------
- If you use `'-'` with `replot` (*note replot:: ), you may need to enter the
- data more than once (see `replot`).
+A summation expression has the form
+ sum [<var> = <start> : <end>] <expression>
- A blank filename ('') specifies that the previous filename should be reused.
- This can be useful with things like
+ <var> is treated as an integer variable that takes on successive
+integral values from <start> to <end>. For each of these, the current
+value of <expression> is added to a running total whose final value
+becomes the value of the summation 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))
- plot 'a/very/long/filename' using 1:2, '' using 1:3, '' using 1:4
+ It is not necessary that <expression> contain the variable <var>.
+Although <start> and <end> can be specified as variables or expressions,
+their value cannot be changed dynamically as a side-effect of carrying
+out the summation. If <end> is less than <start> then the value of the
+summation is zero.
- (If you use both `'-'` and `''` on the same `plot` command, you'll need to
- have two sets of inline data, as in the example above.)
+
+File: gnuplot.info, Node: Gnuplot-defined_variables, Next:
User-defined_variables_and_functions, Prev: Summation, Up: Expressions
+
+1.14.4 Gnuplot-defined variables
+--------------------------------
+
+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 `show variables all` to
+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 `set`.
+
+ Example: To calculate the fractional screen coordinates of the
+point [X,Y]
+ GRAPH_X = (X - GPVAL_X_MIN) / (GPVAL_X_MAX - GPVAL_X_MIN)
+ GRAPH_Y = (Y - GPVAL_Y_MIN) / (GPVAL_Y_MAX - GPVAL_Y_MIN)
+ SCREEN_X = GPVAL_TERM_XMIN + GRAPH_X * (GPVAL_TERM_XMAX -
GPVAL_TERM_XMIN)
+ SCREEN_Y = GPVAL_TERM_YMIN + GRAPH_Y * (GPVAL_TERM_YMAX -
GPVAL_TERM_YMIN)
+ FRAC_X = SCREEN_X / GPVAL_TERM_XSIZE
+ FRAC_Y = SCREEN_Y / 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 `reset
+errors`.
+
+ Interactive terminals with `mouse` functionality maintain read-only
+variables with the prefix "MOUSE_". See *note variables:: for details.
+
+ The *note fit:: mechanism uses several variables with names that
+begin "FIT_". It is safest to avoid using such names. "FIT_LIMIT",
+however, is one that you may wish to redefine. Under `set fit
+errorvariables`, the error for each fitted parameter will be stored in
+a variable named like the parameter, but with "_err" appended. See the
+documentation on *note fit:: for details.
+
+ See *note variables::, `reset errors`, *note variables::, and *note
+fit::.
- On some computer systems with a popen function (Unix), the datafile can be
- piped through a shell command by starting the file name with a '<'. For
- example,
+
+File: gnuplot.info, Node: User-defined_variables_and_functions, Prev:
Gnuplot-defined_variables, Up: Expressions
- pop(x) = 103*exp(-x/10)
- plot "< awk '{print $1-1965, $2}' population.dat", pop(x)
+1.14.5 User-defined variables and functions
+-------------------------------------------
- would plot the same information as the first population example but with
- years since 1965 as the x axis. If you want to execute this example, you
- have to delete all 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):
+New user-defined variables and functions of one through twelve
+variables may be declared and used anywhere, including on the `plot`
+command itself.
- plot "< awk '$0 !~ /^#/ {print $1-1965, $2}' population.dat"
+ User-defined function syntax:
+ <func-name>( <dummy1> {,<dummy2>} ... {,<dummy12>} ) = <expression>
- While this approach is most flexible, it is possible to achieve simple
- filtering with the `using` or `thru` (*note thru:: ) keywords.
+ where <expression> is defined in terms of <dummy1> through <dummy12>.
+ User-defined variable syntax:
+ <variable-name> = <constant-expression>
-
-File: gnuplot.info, Node: thru, Prev: special-filenames, Up: data-file, Next:
using
+ 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)
- The `thru` function is provided for backward compatibility.
+ file = "mydata.inp"
+ file(n) = sprintf("run_%d.dat",n)
- Syntax:
- plot 'file' thru f(x)
+ The final two examples illustrate a user-defined string variable and
+a user-defined string function.
- It is equivalent to:
+ Note that the variables `pi` (3.14159...) and `NaN` (IEEE "Not a
+Number") are already defined. You can redefine these to something else
+if you really need to. The original values can be recovered by setting:
- plot 'file' using 1:(f($2))
+ NaN = GPVAL_NaN
+ pi = GPVAL_pi
- While the latter appears more complex, it is much more flexible. The more
- natural
+ Other variables may be defined under various gnuplot operations like
+mousing in interactive terminals or fitting; see *note variables:: for
+details.
- plot 'file' thru f(y)
+ 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"
- also works (i.e. you can use y as the dummy variable).
+ Valid names are the same as in most programming languages: they must
+begin with a letter, but subsequent characters may be letters, digits,
+or "_".
- `thru` is parsed for `splot` (*note splot:: ) and `fit` (*note fit:: ) but
- has no effect.
+ Each function definition is made available as a special string-valued
+variable with the prefix 'GPFUN_'.
+ Example:
+ set label GPFUN_sinc at graph .05,.95
-
-File: gnuplot.info, Node: using, Prev: thru, Up: data-file
+ See *note functions::, *note functions::, *note variables::, *note
+macros::, *note value::.
- The most common datafile modifier is `using`.
+
+File: gnuplot.info, Node: Fonts, Next: Glossary, Prev: Expressions, Up:
gnuplot
- Syntax:
- plot 'file' using {<entry> {:<entry> {:<entry> ...}}} {'format'}
+1.15 Fonts
+==========
- If a format is specified, each datafile record is read using the C library's
- 'scanf' function, with the specified format string. Otherwise the record is
- read and broken into columns at spaces or tabs. A format cannot be specified
- if time-format data is being used (this must be done by `set data time`).
+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.
- The resulting array of data is then sorted into columns according to the
- entries. Each <entry> may be a simple column number, which selects the
- datum, an expression enclosed in parentheses, or empty. The expression can
- use $1 to access the first item read, $2 for the second item, and so on. It
- can also use `column(x)` and `valid(x)` where x is an arbitrary expression
- resulting in an integer. `column(x)` returns the x'th datum; `valid(x)`
- tests that the datum in the x'th column is a valid number. A column number
- of 0 generates a number increasing (from zero) with each point, and is reset
- upon encountering two blank records. A column number of -1 gives the
- dataline number, which starts at 0, increments at single blank records, and
- is reset at double blank records. A column number of -2 gives the index
- number, which is incremented only when two blank records are found. An empty
- <entry> will default to its order in the list of entries. For example,
- `using ::4` is interpreted as `using 1:2:4`.
+* Menu:
- N.B.---the `call` (*note call:: ) command also uses $'s as a special
- character. See call for details about how to include a column number in a
- `call` argument list.
+* cairo_(pdfcairo::
+* gd_(png::
+* postscript__(also_encapsulated_postscript_*.eps)::
- If the `using` list has but a single entry, that <entry> will be used for y
- and the data point number is used for x; for example, "`plot 'file' using 1`"
- is identical to "`plot 'file' using 0:1`". If the `using` list has two
- entries, these will be used for x and y. Additional entries are usually
- errors in x and/or y. See `set style` (*note style:: ) for details about
- plotting styles that make use of error information, and `fit` (*note fit:: )
- for use of error information in curve fitting.
+
+File: gnuplot.info, Node: cairo_(pdfcairo, Next: gd_(png, Prev: Fonts, Up:
Fonts
- 'scanf' accepts several numerical specifications but `gnuplot`
- (*note gnuplot:: ) requires all inputs to be double-precision floating-point
- variables, so `lf` is the only permissible specifier. '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.
+1.15.1 cairo (pdfcairo, pngcairo, epscairo, wxt terminals)
+----------------------------------------------------------
- Note that the use of "\t", "\n", or "\f" or requires use of double-quotes
- rather than single-quotes.
+Sorry, this section is under construction. These terminals find and
+access fonts using the external fontconfig tool set. Please see the
+fontconfig user manual. (http://fontconfig.org/fontconfig-user.html) It
+is usually sufficient in gnuplot to request a font by a generic name and
+size, letting fontconfig substitute a similar font if necessary. The
+following will probably all work:
+ set term pdfcairo font "sans,12"
+ set term pdfcairo font "Times,12"
+ set term pdfcairo font "Times-New-Roman,12"
- Examples:
+
+File: gnuplot.info, Node: gd_(png, Next:
postscript__(also_encapsulated_postscript_*.eps), Prev: cairo_(pdfcairo, Up:
Fonts
+
+1.15.2 gd (png, gif, jpeg terminals)
+------------------------------------
+
+Font handling for the png, gif, and jpeg terminals is done by the
+external library libgd. Five basic fonts are provided directly by
+libgd. These are `tiny` (5x8 pixels), `small` (6x12 pixels), `medium`,
+(7x13 Bold), `large` (8x16) or `giant` (9x15 pixels). These fonts
+cannot be scaled or rotated. Use one of these keywords instead of the
+`font` 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 <somedirectory>/Face.ttf or
+<somedirectory>/Face.pfa. For example, if GDFONTPATH contains
+`/usr/local/fonts/ttf:/usr/local/fonts/pfa` then 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
+rotatable. 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.
- 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.)
- plot 'file' using 1:($2+$3) '%lf,%lf,%lf'
+
+File: gnuplot.info, Node: postscript__(also_encapsulated_postscript_*.eps),
Prev: gd_(png, Up: Fonts
- In this example the data are read from the file "MyData" using a more
- complicated format:
- plot 'MyData' using "%*lf%lf%*20[^\n]%lf"
+1.15.3 postscript (also encapsulated postscript *.eps)
+-------------------------------------------------------
- The meaning of this format is:
+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.
- %*lf ignore a number
- %lf read a double-precision number (x by default)
- %*20[^\n] ignore 20 non-newline characters
- %lf read a double-precision number (y by default)
+ All PostScript printers or viewers should know about the standard
+set of Adobe fonts `Times-Roman`, `Helvetica`, `Courier`, and `Symbol`.
+It is likely that many additional fonts are also available, but the
+specific set depends on your system or printer configuration. Gnuplot
+does not know or care about this; the output *.ps or *.eps files that
+it creates will simply refer to whatever font names you request.
- One trick is to use the ternary `?:` operator to filter data:
+ Thus
+ set term postscript eps font "Times-Roman,12"
- plot 'file' using 1:($3>10 ? $2 : 1/0)
+ will produce output that is suitable for all printers and viewers.
- which plots the datum in column two against that in column one provided
- the datum in column three exceeds ten. `1/0` is undefined; `gnuplot`
- quietly ignores undefined points, so unsuitable points are suppressed.
+ On the other hand
+ set term postscript eps font "Garamond-Premier-Pro-Italic"
- In fact, you can use a constant expression for the column number, provided it
- doesn't start with an opening parenthesis; constructs like `using
- 0+(complicated expression)` can be used. The crucial point is that the
- expression is evaluated once if it doesn't start with a left parenthesis, or
- once for each data point read if it does.
+ 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.
- If timeseries data are being used, the time can span multiple columns. The
- starting column should be specified. Note that the spaces within the time
- must be included when calculating starting columns for other data. E.g., if
- the first element on a line is a time with an embedded space, the y value
- should be specified as column three.
+ 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 `postscript fontfile` for more detailed description
+and examples.
- It should be noted that `plot 'file'`, `plot 'file' using 1:2`, and `plot
- (*note plot:: ) 'file' using ($1):($2)` can be subtly different: 1) if `file`
- has some lines with one column and some with two, the first will invent x
- values when they are missing, the second will quietly ignore the lines with
- one column, and the third will store an undefined value for lines with one
- point (so that in a plot with lines, no line joins points across the bad
- point); 2) if a line contains text at the first column, the first will abort
- the plot on an error, but the second and third should quietly skip the
- garbage.
-
- In fact, it is often possible to plot a file with lots of lines of garbage at
- the top simply by specifying
-
- plot 'file' using 1:2
-
- However, if you want to leave text in your data files, it is safer to put the
- comment character (#) in the first column of the text lines.
-
-
-File: gnuplot.info, Node: errorbars, Prev: data-file, Up: plot, Next:
parametric
-
- Error bars are supported for 2-d data file plots by reading one to four
- additional columns (or `using` (*note using:: ) entries); these additional
- values are used in different ways by the various errorbar styles.
-
- In the default situation, `gnuplot` (*note gnuplot:: ) expects to see three,
- four, or six numbers on each line of the data file---either
-
- (x, y, ydelta),
- (x, y, ylow, yhigh),
- (x, y, xdelta),
- (x, y, xlow, xhigh),
- (x, y, xdelta, ydelta), or
- (x, y, xlow, xhigh, ylow, yhigh).
+
+File: gnuplot.info, Node: Glossary, Next: linetypes, Prev: Fonts, Up:
gnuplot
+
+1.16 Glossary
+=============
+
+Throughout this document an attempt has been made to maintain
+consistency of nomenclature. This cannot be wholly successful because
+as `gnuplot` has 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
+`gnuplot`. On a desktop it is a full window; on a plotter, it is a
+single sheet of paper; in svga mode it is the full monitor screen.
+
+ A screen may contain one or more "plots". A plot is defined by an
+abscissa and an ordinate, although these need not actually appear on
+it, as well as the margins and any text written therein.
+
+ A plot contains one "graph". A graph is defined by an abscissa and
+an ordinate, although these need not actually appear on it.
+
+ A graph may contain one or more "lines". A line is a single
+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 ambiguity.
+
+ The lines on a graph may have individual names. These may be listed
+together with a sample of the plotting style used to represent them in
+the "key", sometimes also called the "legend".
+
+ The word "title" occurs with multiple meanings in `gnuplot`. In this
+document, it will always be preceded by the adjective "plot", "line", or
+"key" to differentiate among them. A 2D graph may have up to four
+labelled *note axes::. 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
+*note axes::.
+
+ A 3D graph may have up to three labelled *note axes:: - "x", "y" and
+"z". It is not possible to say where on the graph any particular axis
+will fall because you can change the direction from which the graph is
+seen with *note view::.
+
+ When discussing data files, the term "record" will be resurrected
+and used to denote a single line of text in the file, that is, the
+characters between newline or end-of-record characters. A "point" is
+the datum extracted from a single record. A "datablock" is a set of
+points from consecutive records, delimited by blank records. A line,
+when referred to in the context of a data file, is a subset of a
+datablock.
- The x coordinate must be specified. The order of the numbers must be
- exactly as given above, though the `using` qualifier can manipulate the order
- and provide values for missing columns. For example,
+
+File: gnuplot.info, Node: linetypes, Next: mouse_input, Prev: Glossary,
Up: gnuplot
+
+1.17 linetypes, colors, and styles
+==================================
+
+Each gnuplot terminal type provides a set of distinct "linetypes".
+These may differ in color, in thickness, in dot/dash pattern, or in
+some combination of color and dot/dash. The default linetypes for a
+particular terminal can be previewed by issuing the *note test::
+command after setting the terminal type. The pre-defined colors and
+dot/dash patterns are not guaranteed to be consistent for all terminal
+types, but all terminals use the special linetype -1 to mean a solid
+line in the primary foreground color (normally black). Most terminals
+also recognize the special linetype "bgnd" to mean a solid line in the
+background color.
+
+ You can redefine the default linetype properties either
+interactively or via an initialization file. This allows you to
+customize the colors and other properties of the lines used by all
+gnuplot plotting commands. See `set linetype`.
+
+ By default, successive functions or datafiles plotted by a single
+command will be assigned successive linetypes. You can override this
+default sequence by specifying a particular linetype for any function,
+datafile, or plot element.
+
+ Examples:
+
+ plot "foo", "bar" # plot two files using linetypes
1, 2
+ plot sin(x) linetype 4 # terminal-specific linetype color
4
+ plot sin(x) lt -1 # black
+
+ For many terminal types it is also possible to assign user-defined
+colors using explicit rgb (red, green, blue) values, named colors, or
+color values that refer to 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
hexadecimal
+ plot sin(x) lt palette cb -45 # whatever color corresponds to -45
+ # in the current cbrange of the
palette
+ plot sin(x) lt palette frac 0.3 # fractional value along the
palette
+
+ See *note colornames::, *note palette::, *note cbrange::.
+
+ For terminals that support dot/dash patterns, each default linetype
+has both a dot-dash pattern and a default color. Gnuplot does not
+currently provide a mechanism for changing the dot-dash pattern, so if
+you want both a particular dash pattern and a particular color you must
+first choose a linetype that has the required dash pattern, then
+override the default color using the keyword `linecolor`, abbreviated
+`lc`. For example, the postscript terminal provides a dashed blue line
+as linetype 3. The plot commands below use this same dash pattern for
+three plots, one in blue (the default), another in red (the default for
+linetype 1), and a third in gold.
+
+ Example:
+
+ set term postscript dashed color
+ plot 'foo' lt 3, 'baz' lt 3 linecolor 1, 'bar' lt 3 lc rgb 'gold'
- 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
+* Menu:
- The last example is for a file containing an unsupported combination of
- relative x and absolute y errors. The `using` entry generates absolute x min
- and max from the relative error.
+* colorspec::
+* linestyles_vs_linetypes::
- 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,
- `plot` (*note plot:: ) the data file twice, once with errorbars and once with
- lines (but remember to use the `notitle` option on one to avoid two entries in
- the key).
+
+File: gnuplot.info, Node: colorspec, Next: linestyles_vs_linetypes, Prev:
linetypes, Up: linetypes
- The error bars have crossbars at each end unless `set bar` (*note bar:: ) is
- used (see set bar` for details).
+1.17.1 colorspec
+----------------
- If autoscaling is on, the ranges will be adjusted to include the error bars.
+Many commands allow you to specify a linetype with an explicit color.
+Terminal-independent color choice is only possible for terminals that
+support RGB color or pm3d palettes.
- See `plot using`, `plot with` (*note with:: ), and `set style`
- (*note style:: ) for more information.
+ Syntax:
+ ... {linecolor | lc} {<colorspec> | <n>}
+ ... {textcolor | tc} {<colorspec> | {linetype | lt} <n>}
-
-File: gnuplot.info, Node: parametric, Prev: errorbars, Up: plot, Next: ranges
+ where <colorspec> has one of the following forms:
- When in parametric mode (`set parametric` (*note parametric:: )) mathematical
- expressions must be given in pairs for `plot` (*note plot:: ) and in triplets
- for `splot` (*note splot:: ).
+ rgbcolor "colorname"
+ rgbcolor "#RRGGBB"
+ rgbcolor variable # color 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
- Examples:
- plot sin(t),t**2
- splot cos(u)*cos(v),cos(u)*sin(v),sin(u)
+ The "<n>" is the linetype number the color of which is used, see
+*note test::.
- 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 (`sin(t)` above) and the y parametric
- function (`t**2` above) must not be interrupted with any modifiers or data
- functions; doing so will generate a syntax error stating that the parametric
- function is not fully specified.
+ "colorname" refers to one of the color names built in to gnuplot.
+For a list of the available names, see *note colornames::.
- Other modifiers, such as `with` (*note with:: ) and `title` (*note title:: ),
- may be specified only after the parametric function has been completed:
+ "#RRGGBB" is a hexadecimal constant preceded by the "#" symbol. The
+RRGGBB represents the red, green, and blue components of the color,
+each on a scale from 0 - 255. For example, magenta = full-scale red +
+full-scale blue would be represented by #FF00FF, which is the
+hexadecimal representation of (255 << 16) + (0 << 8) + (255).
- plot sin(t),t**2 title 'Parametric example' with linespoints
+ The color palette is a linear gradient of colors that smoothly maps a
+single numerical value onto a particular color. Two such mappings are
+always in effect. `palette frac` maps a fractional value between 0 and
+1 onto the full range of the color palette. `palette cb` maps the
+range of the color axis onto the same palette. See *note cbrange::.
+See also `set colorbox`. You can use either of these to select a
+constant color from the current palette.
-
-File: gnuplot.info, Node: ranges, Prev: parametric, Up: plot, Next: title
+ "palette z" maps the z value of each plot segment or plot element
+into the cbrange mapping of the palette. This allows smoothly-varying
+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).
- The optional ranges specify the region of the graph that will be displayed.
+* Menu:
- Syntax:
- [{<dummy-var>=}{{<min>}:{<max>}}]
- [{{<min>}:{<max>}}]
+* background_color::
+* linecolor_variable::
+* rgbcolor_variable::
- The first form applies to the independent variable (`xrange` (*note xrange:: )
- or `trange` (*note trange:: ), if in parametric mode). The second form
- applies to the dependent variable `yrange` (*note yrange:: ) (and xrange, too,
- if in parametric mode). <dummy-var> is a new name for the independent
- variable. (The defaults may be changed with `set dummy`.) The optional <min>
- and <max> terms can be constant expressions or *.
+
+File: gnuplot.info, Node: background_color, Next: linecolor_variable, Prev:
colorspec, Up: colorspec
- In non-parametric mode, the order in which ranges must be given is `xrange`
- and `yrange`.
+1.17.1.1 background color
+.........................
- In parametric mode, the order for the `plot` (*note plot:: ) command is
- trange, xrange, and `yrange`. The following `plot` command shows setting the
- `trange` to [-pi:pi], the `xrange` to [-1.3:1.3] and the `yrange` to [-1:1]
- for the duration of the graph:
+Most terminals now allow you to set an explicit background color for
+the plot. The special linetype `bgnd` will draw in this color, and
+`bgnd` is 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
- plot [-pi:pi] [-1.3:1.3] [-1:1] sin(t),t**2
+
+File: gnuplot.info, Node: linecolor_variable, Next: rgbcolor_variable,
Prev: background_color, Up: colorspec
- Note that the x2range and y2range cannot be specified here---`set x2range`
- (*note x2range:: ) and `set y2range` (*note y2range:: ) must be used.
+1.17.1.2 linecolor variable
+...........................
- Ranges are interpreted in the order listed above for the appropriate mode.
- Once all those needed are specified, no further ones must be listed, but
- unneeded ones cannot be skipped---use an empty range `[]` as a placeholder.
+`lc variable` tells 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 additional column in the
+*note using:: specifier. Text colors can be set similarly using `tc
+variable`.
- `*` can be used to allow autoscaling of either of min and max. See also
- `set autoscale` (*note autoscale:: ).
+ Examples:
+ # Use the third column of data to assign colors to individual points
+ plot 'data' using 1:2:3 with points lc variable
- Ranges specified on the `plot` or `splot` (*note splot:: ) command line affect
- only that graph; use the `set xrange`, `set yrange`, etc., commands to change
- the default ranges for future graphs.
+ # A single data file may contain multiple sets of data, separated
by two
+ # blank lines. Each data set is assigned as index value (see *note
index::)
+ # that can be retrieved via the *note using:: specifier
`column(-2)`.
+ # See `pseudocolumns`. This example uses to value in column -2 to
+ # draw each data set in a different line color.
+ plot 'data' using 1:2:(column(-2)) with lines lc variable
- With time data, you must provide the range (in the same manner as the time
- appears in the datafile) within quotes. `gnuplot` (*note gnuplot:: ) uses the
- `timefmt` (*note timefmt:: ) string to read the value---see `set timefmt`.
+
+File: gnuplot.info, Node: rgbcolor_variable, Prev: linecolor_variable, Up:
colorspec
+
+1.17.1.3 rgbcolor variable
+..........................
+
+You can assign a separate color for each data point, line segment, or
+label in your plot. `lc rgbcolor variable` tells the program to read
+RGB color information for each line in the data file. This requires a
+corresponding additional column in the *note using:: specifier. 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
+hexidecimal value (see `rgbcolor`). Alternatively, the *note using::
+specifier can contain an expression that evaluates to a 24-bit RGB
+color as in the example below. Text colors are similarly set using `tc
+rgbcolor variable`.
+
+ 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
- Examples:
+
+File: gnuplot.info, Node: linestyles_vs_linetypes, Prev: colorspec, Up:
linetypes
- This uses the current ranges:
- plot cos(x)
+1.17.2 linestyles vs linetypes
+------------------------------
- This sets the x range only:
- plot [-10:30] sin(pi*x)/(pi*x)
+Lines can have additional properties such as linewidth. You can
+associate these various properties, as well as equivalent properties
+for point symbols, into user-defined "linestyles" using the command
+`set style line`. Once you have defined a linestyle, you can use it in
+a plot command to control the appearance of one or more plot elements.
- This is the same, but uses t as the dummy-variable:
- plot [t = -10 :30] sin(pi*t)/(pi*t)
+ Whereas `linetypes` are permanent (they last until you explicitly
+redefine them), `linestyles` are temporary. They only last until the
+next reset of the graphics state.
- This sets both the x and y ranges:
- plot [-pi:pi] [-3:3] tan(x), 1/x
+ Examples:
- This sets only the y range, and turns off autoscaling on both axes:
- plot [ ] [-2:sin(5)*-8] sin(x)**besj0(x)
+ # 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
- This sets xmax and ymin only:
- plot [:200] [-pi:] exp(sin(x))
+
+File: gnuplot.info, Node: mouse_input, Next: Plotting, Prev: linetypes,
Up: gnuplot
- 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'
+1.18 mouse input
+================
+Many terminals allow interaction with the current plot using the mouse.
+Some also support the definition of hotkeys to activate pre-defined
+functions by hitting a single key while the mouse focus is in the
+active plot window. It is even possible to combine mouse input with
+`batch` command scripts, by invoking the command `pause mouse` and then
+using the mouse variables returned by mouse clicking as parameters for
+subsequent scripted actions. See `bind` and *note variables::. See
+also the command `set mouse`.
-
-File: gnuplot.info, Node: title, Prev: ranges, Up: plot, Next: with
+* Menu:
- A line title for each function and data set appears in the key, accompanied
- by a sample of the line and/or symbol used to represent it. It can be
- changed by using the `title` option.
+* bind::
+* Mouse_variables::
- Syntax:
- title "<title>" | notitle
+
+File: gnuplot.info, Node: bind, Next: Mouse_variables, Prev: mouse_input,
Up: mouse_input
- where <title> is the new title of the line and must be enclosed in quotes.
- The quotes will not be shown in the key. A special character may be given as
- a backslash followed by its octal value ("\345"). The tab character "\t" is
- understood. Note that backslash processing occurs only for strings enclosed
- in double quotes---use single quotes to prevent such processing. The newline
- character "\n" is not processed in key entries in either type of string.
+1.18.1 bind
+-----------
- The line title and sample can be omitted from the key by using the keyword
- `notitle`. A null title (`title ''`) is equivalent to `notitle`. If only
- the sample is wanted, use one or more blanks (`title ' '`).
+Syntax:
+ bind {allwindows} [<key-sequence>] ["<gnuplot commands>"]
+ bind <key-sequence> ""
+ reset bind
- By default the line title is the function or file name as it appears on the
- `plot` (*note plot:: ) command. If it is a file name, any datafile modifiers
- specified will be included in the default title.
+ The `bind` allows 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 `bind` is only available if gnuplot was compiled with `mouse`
+support and it is used by all mouse-capable terminals. A user-specified
+binding supersedes any builtin bindings, except that <space> and 'q'
+cannot normally be rebound. For an exception, see `bind space`.
- The layout of the key itself (position, title justification, etc.) can be
- controlled by `set key` (*note key:: ). Please see set key for details.
+ Mouse buttons cannot be rebound.
- Examples:
+ You get the list of all hotkeys by typing `show bind` or `bind` or
+by typing the hotkey 'h' in the graph window.
- This plots y=x with the title 'x':
- plot x
+ Key bindings are restored to their default state by `reset bind`.
- 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"
+ Note that multikey-bindings with modifiers must be given in quotes.
- This puts an untitled circular border around a polar graph:
- set polar; plot my_function(t), 1 notitle
+ Normally hotkeys are only recognized when the currently active plot
+window has focus. `bind allwindows <key> ...` (short form: `bind all
+<key> ...`) 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.
-
-File: gnuplot.info, Node: with, Prev: title, Up: plot
+ Examples:
- Functions and data may be displayed in one of a large number of styles.
- The `with` keyword provides the means of selection.
+ - set bindings:
- Syntax:
- with <style> { {linestyle | ls <line_style>}
- | {{linetype | lt <line_type>}
- {linewidth | lw <line_width>}
- {pointtype | pt <point_type>}
- {pointsize | ps <point_size>}} }
+ 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'
- where <style> is either `lines` (*note lines:: ), `points` (*note points:: ),
- `linespoints` (*note linespoints:: ), `impulses` (*note impulses:: ),
- `dots` (*note dots:: ), `steps` (*note steps:: ), `fsteps`
- (*note fsteps:: ), `histeps` (*note histeps:: ), `errorbars`
- (*note errorbars:: ), `xerrorbars` (*note xerrorbars:: ), `yerrorbars`
- (*note yerrorbars:: ), `xyerrorbars` (*note xyerrorbars:: ), `boxes`
- (*note boxes:: ), `boxerrorbars` (*note boxerrorbars:: ), `boxxyerrorbars`
- (*note boxxyerrorbars:: ), `financebars` (*note financebars:: ),
- `candlesticks` (*note candlesticks:: ) or `vector` (*note vector:: ). Some
- of these styles require additional information. See `set style <style>` for
- details of each style.
+ - show bindings:
+ bind "ctrl-a" # shows the binding for ctrl-a
+ bind # shows all bindings
+ show bind # show all bindings
- Default styles are chosen with the `set function style`
- (*note function style:: ) and `set data style` (*note data style:: )
- commands.
+ - remove bindings:
+ bind "ctrl-alt-a" "" # removes binding for ctrl-alt-a
+ (note that builtins cannot be removed)
+ reset bind # installs default (builtin) bindings
+ bind! # deprecated form of "reset bind"
- By default, each function and data file will use a different line type and
- point type, up to the maximum number of available types. All terminal
- drivers support at least six different point types, and re-use them, in
- order, if more are required. The LaTeX driver supplies an additional six
- point types (all variants of a circle), and thus will only repeat after 12
- curves are plotted with points. The PostScript drivers (`postscript`
- (*note postscript:: )) supplies a total of 64.
+ - 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"
- 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 `test` (*note test:: ) to display the types available for your
- terminal.
+ Modifiers (ctrl / alt) are case insensitive, keys not:
+ ctrl-alt-a == CtRl-alT-a
+ ctrl-alt-a != ctrl-alt-A
- 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
- `set pointsize` (*note pointsize:: ) for details. But note that both
- <point_size> as set here and as set by `set pointsize` multiply the default
- point size---their effects are not cumulative. That is, `set pointsize 2;
- plot x w p ps 3` will use points three times default size, not six.
+ List of modifiers (alt == meta):
+ ctrl, alt
- If you have defined specific line type/width and point type/size combinations
- with `set linestyle` (*note linestyle:: ), one of these may be selected by
- setting <line_style> to the index of the desired style.
+ List of supported special keys:
- The keywords may be abbreviated as indicated.
+ "BackSpace", "Tab", "Linefeed", "Clear", "Return", "Pause",
"Scroll_Lock",
+ "Sys_Req", "Escape", "Delete", "Home", "Left", "Up", "Right", "Down",
+ "PageUp", "PageDown", "End", "Begin",
- Note that the `linewidth` (*note linewidth:: ) and pointsize options are not
- supported by all terminals.
+ "KP_Space", "KP_Tab", "KP_Enter", "KP_F1", "KP_F2", "KP_F3", "KP_F4",
+ "KP_Home", "KP_Left", "KP_Up", "KP_Right", "KP_Down", "KP_PageUp",
+ "KP_PageDown", "KP_End", "KP_Begin", "KP_Insert", "KP_Delete",
"KP_Equal",
+ "KP_Multiply", "KP_Add", "KP_Separator", "KP_Subtract", "KP_Decimal",
+ "KP_Divide",
- Examples:
+ "KP_1" - "KP_9", "F1" - "F12"
- This plots sin(x) with impulses:
- plot sin(x) with impulses
+ The following are window events rather than actual keys
- This plots x with points, x**2 with the default:
- plot x*y w points, x**2 + y**2
+ "Close"
- This plots tan(x) with the default function style, file "data.1" with lines:
- plot [ ] [-2:5] tan(x), 'data.1' with l
+ See also help for `mouse`.
- This plots "leastsq.dat" with impulses:
- plot 'leastsq.dat' w i
+* Menu:
- This plots the data file "population" with boxes:
- plot 'population' with boxes
+* bind_space::
- 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
+
+File: gnuplot.info, Node: bind_space, Prev: bind, Up: bind
- 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
+1.18.1.1 bind space
+...................
- This plots file "data" with points of type 3 and twice usual size:
- plot 'data' with points pointtype 3 pointsize 2
+If gnuplot was built with configuration option -enable-raise-console,
+then typing <space> in the plot window raises gnuplot's command window.
+This hotkey can be changed to ctrl-space by starting gnuplot as
+'gnuplot -ctrlq', or by setting the XResource 'gnuplot*ctrlq'. See
+`x11 command-line-options`.
- 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
-
- See `set style` (*note style:: ) to change the default styles.
-
-
-
-File: gnuplot.info, Node: print, Prev: plot, Up: Commands, Next: pwd
-
- The `print` command prints the value of <expression> to the screen. It is
- synonymous with `pause 0`. <expression> may be anything that `gnuplot`
- (*note gnuplot:: ) can evaluate that produces a number, or it can be a
- string.
-
- Syntax:
- print <expression> {, <expression>, ...}
-
- See `expressions` (*note Expressions:: ).
-
-
-
-File: gnuplot.info, Node: pwd, Prev: print, Up: Commands, Next: quit
-
- The `pwd` command prints the name of the working directory to the screen.
-
-
-File: gnuplot.info, Node: quit, Prev: pwd, Up: Commands, Next: replot
-
- The `exit` (*note exit:: ) and quit commands and END-OF-FILE character will
- exit it `gnuplot` (*note gnuplot:: ). Each of these commands will clear the
- output device (as does the `clear` (*note clear:: ) command) before exiting.
+
+File: gnuplot.info, Node: Mouse_variables, Prev: bind, Up: mouse_input
+
+1.18.2 Mouse variables
+----------------------
+
+When `mousing` is active, clicking in the active window will set
+several user variables that can be accessed from the gnuplot command
+line. The coordinates of the mouse at the time of the click are stored
+in MOUSE_X MOUSE_Y MOUSE_X2 and MOUSE_Y2. The mouse button clicked, and
+any meta-keys active at that time, are stored in MOUSE_BUTTON
+MOUSE_SHIFT MOUSE_ALT and MOUSE_CTRL. These variables are set to
+undefined at the start of every plot, and only become defined in the
+event of a mouse click in the active plot window. To determine from a
+script if the mouse has been clicked in the active plot window, it is
+sufficient to test for any one of these variables being defined.
+
+ plot 'something'
+ pause mouse
+ if (defined(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 `pause mouse keypress` is 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
+GPVAL_X_MIN, GPVAL_X_MAX, GPVAL_Y_MIN, and GPVAL_Y_MAX, see *note
+variables::.
+
+File: gnuplot.info, Node: Plotting, Next: Start-up_(initialization), Prev:
mouse_input, Up: gnuplot
+
+1.19 Plotting
+=============
+
+There are three `gnuplot` commands which actually create a plot: `plot`,
+`splot` and *note replot::. `plot` generates 2D plots, `splot`
+generates 3D plots (actually 2D projections, of course), and *note
+replot:: appends its arguments to the previous `plot` or `splot` and
+executes the modified command.
+
+ Much of the general information about plotting can be found in the
+discussion of `plot`; information specific to 3D can be found in the
+`splot` section.
+
+ `plot` operates in either rectangular or polar coordinates - see
+`set polar` for details of the latter. `splot` operates only in
+rectangular coordinates, but the *note mapping:: command allows for a
+few other coordinate systems to be treated. In addition, the *note
+using:: option allows both `plot` and `splot` to treat almost any
+coordinate system you'd care to define.
+
+ `plot` also lets you use each of the four borders - x (bottom), x2
+(top), y (left) and y2 (right) - as an independent axis. The *note
+axes:: option lets you choose which pair of axes a given function or
+data set is plotted against. A full complement of `set` commands
+exists to give you complete control over the scales and labelling of
+each axis. Some commands have the name of an axis built into their
+names, such as *note xlabel::. Other commands have one or more axis
+names as options, such as `set logscale xy`. Commands and options
+controlling the z axis have no effect on 2D graphs.
+
+ `splot` can plot surfaces and contours in addition to points and/or
+lines. See *note isosamples:: for information about defining the grid
+for a 3D function. See *note datafile:: for information about the
+requisite file structure for 3D data values, *note contour:: and *note
+cntrparam:: for information about contours.
+
+ In `splot`, control over the scales and labels of the axes are the
+same as with `plot`, except that commands and options controlling the
+x2 and y2 axes have no effect whereas of course those controlling the z
+axis do take effect.
-
-File: gnuplot.info, Node: replot, Prev: quit, Up: Commands, Next: reread
+
+File: gnuplot.info, Node: Start-up_(initialization), Next:
String_constants_and_string_variables, Prev: Plotting, Up: gnuplot
+
+1.20 Start-up (initialization)
+==============================
+
+When gnuplot is run, it first looks for a system-wide initialization
+file named `gnuplotrc`. The location of this file is determined when
+the program is built and is reported by *note loadpath::. The program
+then looks in the user's HOME directory for a file called `.gnuplot` on
+Unix-like systems or `GNUPLOT.INI` on other systems. (Windows and OS/2
+will look for it in the directory named in the environment variable
+`GNUPLOT`; Windows will use `USERPROFILE` if GNUPLOT is not defined).
+Note: The program can be configured to look first in the current
+directory, but this is not recommended because it is bad security
+practice.
- The `replot` command without arguments repeats the last `plot` (*note plot:: )
- or `splot` (*note splot:: ) command. This can be useful for viewing a plot
- with different `set` (*note set-show:: ) options, or when generating the same
- plot for several devices.
+
+File: gnuplot.info, Node: String_constants_and_string_variables, Next:
Substitution_and_Command_line_macros, Prev: Start-up_(initialization), Up:
gnuplot
- Arguments specified after a `replot` command will be added onto the last
- `plot` or `splot` command (with an implied ',' separator) before it is
- repeated. `replot` accepts the same arguments as the `plot` and `splot`
- commands except that ranges cannot be specified. Thus you can use `replot`
- to plot a function against the second axes if the previous command was `plot`
- but not if it was `splot`, and similarly you can use `replot` to add a plot
- from a binary file only if the previous command was `splot`.
+1.21 String constants and string variables
+==========================================
- N.B.---use of
+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:
- plot '-' ; ... ; replot
+ four = "4"
+ graph4 = "Title for plot #4"
+ graph(n) = sprintf("Title for plot #%d",n)
- is not recommended. `gnuplot` (*note gnuplot:: ) does not store the inline
- data internally, so since `replot` appends new information to the previous
- `plot` and then executes the modified command, the `'-'` from the initial
- `plot` will expect to read inline data again.
+ 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)
- Note that `replot` does not work in `multiplot` (*note multiplot:: ) mode,
- since it reproduces only the last plot rather than the entire screen.
+ Since integers are promoted to strings when operated on by the string
+concatenation operator, the following method also works:
- See also `command-line-editing` (*note Command-line-editing:: ) for ways to
- edit the last plot (splot) command.
+ N = 4
+ plot 'data.'.N title "Title for plot #".N
+ In general, elements on the command line will only be evaluated as
+possible string variables if they are not otherwise recognizable as
+part of the normal gnuplot syntax. So the following sequence of
+commands is legal, although probably should be avoided so as not to
+cause confusion:
-
-File: gnuplot.info, Node: reread, Prev: replot, Up: Commands, Next: reset
+ plot = "my_datafile.dat"
+ title = "My Title"
+ plot plot title title
- The `reread` command causes the current `gnuplot` (*note gnuplot:: ) command
- file, as specified by a `load` (*note load:: ) command or on the command line,
- to be reset to its starting point before further commands are read from
- it. This essentially implements an endless loop of the commands from the
- beginning of the command file to the `reread` command. (But this is not
- necessarily a disaster---`reread` can be very useful when used in conjunction
- with `if` (*note if:: ). See if for details.) The `reread` command has no
- effect if input from standard input.
+ There are three binary operators that require string operands: the
+string concatenation operator ".", the string equality operator "eq"
+and the string inequality operator "ne". The following example will
+print TRUE.
- Examples:
+ if ("A"."B" eq "AB") print "TRUE"
- Suppose the file "looper" contains the commands
- a=a+1
- plot sin(x*a)
- pause -1
- if(a<5) reread
- and from within `gnuplot` you submit the commands
- a=0
- load 'looper'
- The result will be four plots (separated by the `pause` (*note pause:: )
- message).
+ See also the two string formatting functions *note gprintf:: and
+*note sprintf::.
- Suppose the file "data" contains six columns of numbers with a total yrange
- from 0 to 10; the first is x and the next are five different functions of x.
- Suppose also that the file "plotter" contains the commands
- c_p = c_p+1
- plot "$0" using 1:c_p with lines linetype c_p
- if(c_p < n_p) reread
- and from within `gnuplot` you submit the commands
- n_p=6
- c_p=1
- set nokey
- set yrange [0:10]
- set multiplot
- call 'plotter' 'data'
- set nomultiplot
- The result is a single graph consisting of five plots. The yrange must be
- set explicitly to guarantee that the five separate graphs (drawn on top of
- each other in multiplot mode) will have exactly the same axes. The linetype
- must be specified; otherwise all the plots would be drawn with the same type.
+ Substrings can be specified by appending a range specifier to any
+string, string variable, or string-valued function. The range
+specifier has the form [begin:end], where begin is the index of the
+first character of the substring and end is the index of the last
+character of the substring. The first 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.
-
-File: gnuplot.info, Node: reset, Prev: reread, Up: Commands, Next: save
+
+File: gnuplot.info, Node: Substitution_and_Command_line_macros, Next:
Syntax, Prev: String_constants_and_string_variables, Up: gnuplot
- The `reset` command causes all options that can be set with the `set`
- (*note set-show:: ) command to take on their default values. The only
- exceptions are that the terminal set with `set term` (*note terminal:: ) and
- the output file set with `set output` (*note output:: ) are left
- unchanged. This command is useful, e.g., to restore the default settings at
- the end of a command file, or to return to a defined state after lots of
- settings have been changed within a command file. Please refer to the `set`
- command to see the default values that the various options take.
-
-
-
-File: gnuplot.info, Node: save, Prev: reset, Up: Commands, Next: set-show
-
- The `save` command saves user-defined functions, variables, `set`
- (*note set-show:: ) options, or all three, plus the last `plot`
- (*note plot:: ) ((`splot` (*note splot:: )) command to the specified file.
-
- Syntax:
- save {<option>} '<filename>'
-
- where <option> is `functions` (*note functions:: ), `variables`
- (*note variables:: ) or set. If no option is used, `gnuplot`
- (*note gnuplot:: ) saves functions, variables, set options and the last plot
- (`splot`) command.
-
- `save`d files are written in text format and may be read by the `load`
- (*note load:: ) command.
-
- The filename must be enclosed in quotes.
-
- Examples:
- save 'work.gnu'
- save functions 'func.dat'
- save var 'var.dat'
- save set 'options.dat'
-
-
-File: gnuplot.info, Node: set-show, Prev: save, Up: Commands, Next: angles
-
- The `set` command can be used to sets _lots_ of options. No screen is
- drawn, however, until a `plot` (*note plot:: ), `splot` (*note splot:: ), or
- `replot` (*note replot:: ) command is given.
-
- The `show` command shows their settings; `show all` shows all the
- settings.
-
- If a variable contains time/date data, `show` will display it according to
- the format currently defined by `set timefmt` (*note timefmt:: ), even if that
- was not in effect when the variable was initially defined.
+1.22 Substitution and Command line macros
+=========================================
+When a command line to gnuplot is first read, i.e. before it is
+interpreted or executed, two forms of lexical substitution are
+performed. These are triggered by the presence of text in backquotes
+(ascii character 96) or preceded by @ (ascii character 64).
* Menu:
-* angles::
-* arrow::
-* autoscale::
-* bar::
-* bmargin::
-* border::
-* boxwidth::
-* clabel::
-* clip::
-* cntrparam::
-* contour::
-* data style::
-* dgrid3d::
-* dummy::
-* encoding::
-* format::
-* function style::
-* functions::
-* grid::
-* hidden3d::
-* isosamples::
-* key::
-* label::
-* linestyle::
-* lmargin::
-* locale::
-* logscale::
-* mapping::
-* margin::
-* missing::
-* multiplot::
-* mx2tics::
-* mxtics::
-* my2tics::
-* mytics::
-* mztics::
-* offsets::
-* origin::
-* output::
-* parametric::
-* pointsize::
+* Substitution_of_system_commands_in_backquotes::
+* Substitution_of_string_variables_as_macros::
+* String_variables::
+
+
+File: gnuplot.info, Node: Substitution_of_system_commands_in_backquotes,
Next: Substitution_of_string_variables_as_macros, Prev:
Substitution_and_Command_line_macros, Up: Substitution_and_Command_line_macros
+
+1.22.1 Substitution of system commands in backquotes
+----------------------------------------------------
+
+Command-line substitution is specified by a system command enclosed in
+backquotes. This command is spawned and the output it produces replaces
+the backquoted text on the command line. Some implementations also
+support pipes; see *note special-filenames::.
+
+ Command-line substitution can be used anywhere on the `gnuplot`
+command line, except inside strings delimited by single quotes.
+
+ Example:
+
+ This will run the program `leastsq` and replace `leastsq` (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`"
+
+
+File: gnuplot.info, Node: Substitution_of_string_variables_as_macros, Next:
String_variables, Prev: Substitution_of_system_commands_in_backquotes, Up:
Substitution_and_Command_line_macros
+
+1.22.2 Substitution of string variables as macros
+-------------------------------------------------
+
+Substitution of command line macros is disabled by default, but may be
+enabled using the *note macros:: command. If macro substitution is
+enabled, 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:
+
+ set macros
+ 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
+evaluation. The following example checks that C can safely be expanded
+as the name of a user-defined variable:
+
+ C = "pi"
+ if (exists(C)) print C," = ", @C
+
+ Macro expansion does not occur inside either single or double quotes.
+However macro expansion does occur inside backquotes.
+
+ Macro expansion is handled as the very first thing the 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
+
+ For execution of complete commands the *note evaluate:: command may
+also be handy.
+
+
+File: gnuplot.info, Node: String_variables, Prev:
Substitution_of_string_variables_as_macros, Up:
Substitution_and_Command_line_macros
+
+1.22.3 String variables, macros, and command line substitution
+--------------------------------------------------------------
+
+The interaction of string variables, backquotes and macro substitution
+is somewhat complicated. Backquotes do not block macro substitution, so
+
+ filename = "mydata.inp"
+ lines = ` wc --lines @filename | sed "s/ .*//" `
+
+ results in the number of lines in mydata.inp being stored in the
+integer variable lines. And double quotes do not block backquote
+substitution, so
+
+ mycomputer = "`uname -n`"
+
+ results in the string returned by the system command `uname -n`
+being stored in the string variable mycomputer.
+
+ However, macro substitution is not performed inside double quotes,
+so you cannot define a system command as a macro and then use both
+macro and backquote substitution at the same time.
+
+ machine_id = "uname -n"
+ mycomputer = "`@machine_id`" # doesn't work!!
+
+ This fails because the double quotes prevent @machine_id from being
+interpreted as a macro. To store a system command as a macro and
+execute it later you must instead include the 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
+
+
+File: gnuplot.info, Node: Syntax, Next: Time/Date_data, Prev:
Substitution_and_Command_line_macros, Up: gnuplot
+
+1.23 Syntax
+===========
+
+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 `set` commands *note
+arrow::, `key`, and `label`; the list of variables being fitted (the
+list after the `via` keyword on the *note fit:: command); lists of
+discrete contours or the loop parameters which specify them on the
+*note cntrparam:: command; the arguments of the `set` commands *note
+dgrid3d::, *note dummy::, *note isosamples::, *note offsets::, *note
+origin::, *note samples::, *note size::, `time`, and *note view::;
+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 `plot`, *note replot:: and
+`splot` commands; and the complete sets of keywords specifying
+individual plots (data sets or functions) on the `plot`, *note replot::
+and `splot` commands.
+
+ Parentheses are used to delimit sets of explicit tics (as opposed to
+loop parameters) and to indicate computations in the *note using::
+filter of the *note fit::, `plot`, *note replot:: and `splot` commands.
+
+ (Parentheses and commas are also used as usual in function notation.)
+
+ Square brackets are used to delimit ranges given in `set`, `plot` or
+`splot` commands.
+
+ Colons are used to separate extrema in `range` specifications
+(whether they are given on `set`, `plot` or `splot` commands) and to
+separate entries in the *note using:: filter of the `plot`, *note
+replot::, `splot` and *note fit:: commands.
+
+ 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.
+
+ The EEPIC, Imagen, Uniplex, LaTeX, and TPIC drivers allow a newline
+to be specified by \\ in a single-quoted string or \\\\ in a
+double-quoted string.
+
+* Menu:
+
+* Quote_Marks::
+
+
+File: gnuplot.info, Node: Quote_Marks, Prev: Syntax, Up: Syntax
+
+1.23.1 Quote Marks
+------------------
+
+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 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 has to 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
+`enhanced text`.
+
+ Back-quotes are used to enclose system commands for substitution
+into the command line. See `substitution`.
+
+
+File: gnuplot.info, Node: Time/Date_data, Prev: Syntax, Up: gnuplot
+
+1.24 Time/Date data
+===================
+
+`gnuplot` supports the use of time and/or date information as input
+data. This feature is activated by the commands `set xdata time`, `set
+ydata time`, etc.
+
+ Internally all times and dates are converted to the number of
+seconds from the year 2000. The command *note timefmt:: defines the
+format for all inputs: data files, ranges, tics, label positions--in
+short, anything that accepts a data value must receive it in this
+format. Since only one input format can be in force at a given time,
+all time/date quantities being input at the same time must be presented
+in the same format. Thus if both x and y data in a file are time/date,
+they must be in the same format.
+
+ The conversion to and from seconds assumes Universal Time (which is
+the same as Greenwich Standard Time). There is no provision for
+changing the time zone or for daylight savings. If all your data refer
+to the same time zone (and are all either daylight or 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 *note xrange:: will re-interpret the integer according
+to *note timefmt::. If you change *note timefmt::, and then `show` the
+quantity again, it will be displayed in the new *note timefmt::. For
+that matter, if you give the deactivation command (like *note xdata::),
+the quantity will be shown in its numerical form.
+
+ The commands `set format` or `set tics format` define the format
+that will be used for tic labels, whether or not the specified axis is
+time/date.
+
+ If time/date information is to be plotted from a file, the *note
+using:: option _must_ be used on the `plot` or `splot` command. These
+commands simply use white space to separate columns, but white space
+may be embedded within the time/date string. If you use tabs as a
+separator, some trial-and-error may be necessary to discover how your
+system treats them.
+
+ The `time` function can be used to get the current system time. This
+value can be converted to a date string with the *note strftime::
+function, or it can be used in conjunction with *note timecolumn:: to
+generate relative time/date plots. The type of the argument determines
+what is returned. If the argument is an integer, `time` returns the
+current time as an integer, in seconds from 1 Jan 2000. If the argument
+is real (or complex), the result is real as well. The precision of the
+fractional (sub-second) part depends on your operating system. If the
+argument is a string, it is assumed to be a format string, and it is
+passed to *note strftime:: to provide a formatted time/date string.
+
+ The following example demonstrates time/date plotting.
+
+ Suppose the file "data" contains records like
+
+ 03/21/95 10:00 6.02e23
+
+ This file can be plotted by
+
+ set xdata time
+ set timefmt "%m/%d/%y"
+ set xrange ["03/21/95":"03/22/95"]
+ set format x "%m/%d"
+ set timefmt "%m/%d/%y %H:%M"
+ plot "data" using 1:3
+
+ which will produce xtic labels that look like "03/21".
+
+ See `time_specifiers`.
+
+
+File: gnuplot.info, Node: plotting_styles, Next: Commands, Prev: gnuplot,
Up: Top
+
+2 plotting styles
+*****************
+
+There are many plotting styles available in gnuplot. They are listed
+alphabetically below. The commands `set style data` and `set style
+function` change the default plotting style for subsequent `plot` and
+`splot` commands.
+
+ You also have the option to specify the plot style explicitly as
+part of the `plot` or `splot` command. 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 `lines` style 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 *note
+using::.
+
+* Menu:
+
+* boxerrorbars::
+* boxes::
+* boxplot::
+* boxxyerrorbars::
+* candlesticks::
+* circles::
+* ellipses::
+* dots::
+* filledcurves::
+* financebars::
+* fsteps::
+* fillsteps::
+* histeps::
+* histograms::
+* image::
+* impulses::
+* labels::
+* lines::
+* linespoints::
+* points::
* polar::
-* rmargin::
-* rrange::
-* samples::
-* size::
-* style::
-* surface::
-* terminal::
-* tics::
-* ticslevel::
-* ticscale::
-* timestamp::
-* timefmt::
-* title::
-* tmargin::
-* trange::
-* urange::
-* variables::
-* version::
-* view::
-* vrange::
-* x2data::
-* x2dtics::
-* x2label::
-* x2mtics::
-* x2range::
-* x2tics::
-* x2zeroaxis::
-* xdata::
-* xdtics::
-* xlabel::
-* xmtics::
-* xrange::
-* xtics::
-* xzeroaxis::
-* y2data::
-* y2dtics::
-* y2label::
-* y2mtics::
-* y2range::
-* y2tics::
-* y2zeroaxis::
-* ydata::
-* ydtics::
-* ylabel::
-* ymtics::
-* yrange::
-* ytics::
-* yzeroaxis::
-* zdata::
-* zdtics::
-* zero::
-* zeroaxis::
-* zlabel::
-* zmtics::
-* zrange::
-* ztics::
+* steps::
+* rgbalpha::
+* rgbimage::
+* vectors::
+* xerrorbars::
+* xyerrorbars::
+* yerrorbars::
+* xerrorlines::
+* xyerrorlines::
+* yerrorlines::
+* 3D_(surface)_plots::
+
+
+File: gnuplot.info, Node: boxerrorbars, Next: boxes, Prev: plotting_styles,
Up: plotting_styles
+
+2.1 boxerrorbars
+================
+
+The *note boxerrorbars:: style is only relevant to 2D data plotting.
+It is a combination of the *note boxes:: and *note yerrorbars:: styles.
+It uses 3, 4, or 5 columns of data:
+
+ 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 (`set
+boxwidth -2.0`) or from the fifth column if the y errors are in the
+form of "ylow yhigh". The special case `boxwidth = -2.0` is for
+four-column data with y errors in the form "ylow yhigh". In this case
+the boxwidth will be calculated so that each box touches the adjacent
+boxes. The width will also be calculated in cases where three-column
+data are used.
+
+ An additional (4th, 5th or 6th) input column may be used to provide
+variable (per-datapoint) color information (see `linecolor` and
+`rgbcolor variable`). The error bar will be drawn in the same color as
+the border of the box.
+
+ The box height is determined from the y error in the same way as it
+is for the *note yerrorbars:: style--either from y-ydelta to y+ydelta
+or from ylow to yhigh, depending on how many data columns are provided.
+See also errorbar demo. (http://www.gnuplot.info/demo/mgr.html)
+
+
+File: gnuplot.info, Node: boxes, Next: boxplot, Prev: boxerrorbars, Up:
plotting_styles
+
+2.2 boxes
+=========
+
+The *note boxes:: style is only relevant to 2D plotting. It draws a
+box centered about the given x coordinate that extends from the x axis
+(not from the graph border) to the given y coordinate. It uses 2 or 3
+columns of basic data. Additional input columns may be used to provide
+information such as variable line or fill color (see `rgbcolor
+variable`).
+
+ 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 width of the box.
+If not, if a width has been set using the *note boxwidth:: command,
+this will be used. If neither of these is available, the width of each
+box will be calculated automatically so that it touches the adjacent
+boxes.
+
+ The interior of the boxes is drawn according to the current
+fillstyle. See `set style fill` for details. Alternatively a new
+fillstyle may be specified in the plot command.
+
+ For fillstyle `empty` the box is not filled.
+
+ For fillstyle `solid` the box is filled with a solid rectangle of the
+current drawing color. There is an optional parameter <density> that
+controls the fill density; it runs from 0 (background color) to 1
+(current drawing color).
+
+ For fillstyle `pattern` the box is filled in the current drawing
+color with a pattern, if supported by the terminal driver.
+
+ Examples:
+
+ To plot a data file with solid filled boxes with a small vertical
+space separating them (bargraph):
+
+ set boxwidth 0.9 relative
+ set style fill solid 1.0
+ plot 'file.dat' with boxes
+
+ To plot a sine and a cosine curve in pattern-filled boxes style:
+
+ set style fill pattern
+ plot sin(x) with boxes, cos(x) with boxes
+
+ The sin plot will use pattern 0; the cos plot will use pattern 1.
+Any additional plots would cycle through the patterns supported by the
+terminal driver.
+
+ To specify explicit fillstyles for each dataset:
+
+ plot 'file1' with boxes fs solid 0.25, \
+ 'file2' with boxes fs solid 0.50, \
+ 'file3' with boxes fs solid 0.75, \
+ 'file4' with boxes fill pattern 1, \
+ 'file5' with boxes fill empty
+
+
+File: gnuplot.info, Node: boxplot, Next: boxxyerrorbars, Prev: boxes, Up:
plotting_styles
+
+2.3 boxplot
+===========
+
+Boxplots are a common way to represent a statistical distribution of
+values. Quartile boundaries are determined such that 1/4 of the points
+have a value equal or less than the first quartile boundary, 1/2 of the
+points have a value equal or less than the second 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) colunm 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 factor variable. The separation between these
+boxplots is 1.0 by default, but it can be changed by `set style boxplot
+separation`. 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 `set boxwidth <width>`
+or may be specified as an optional 3rd column in the *note using::
+clause of the plot command. The first and third columns (x coordinate
+and width) are normally provided as constants rather than as data
+columns.
+
+ By default the whiskers extend from the ends of the box to the most
+distant point whose y value lies within 1.5 times the interquartile
+range. By default outliers are drawn as circles (point type 7). The
+width of the bars at the end of the whiskers may be controlled using
+*note bars::.
+
+ These default properties may be changed using the *note boxplot::
+command. See *note boxplot::, *note bars::, *note boxwidth::,
+`fillstyle`, *note candlesticks::.
+
+
+File: gnuplot.info, Node: boxxyerrorbars, Next: candlesticks, Prev:
boxplot, Up: plotting_styles
+
+2.4 boxxyerrorbars
+==================
+
+The *note boxxyerrorbars:: style is only relevant to 2D data plotting.
+It is similar to the *note xyerrorbars:: style except that it draws
+rectangular areas rather than simple crosses. It uses either 4 or 6
+basic columns of input data. Additional input columns may be used to
+provide information such as variable line or fill color (see `rgbcolor
+variable`).
+
+ 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 *note xyerrorbars:: style--either from
+xlow to xhigh and from ylow to yhigh, or from x-xdelta to x+xdelta and
+from y-ydelta to y+ydelta, depending on how many data columns are
+provided.
+
+ An additional (5th or 7th) input column may be used to provide
+variable (per-datapoint) color information (see `linecolor` and
+`rgbcolor variable`).
+
+ The interior of the boxes is drawn according to the current
+fillstyle. See `set style fill` and *note boxes:: for details.
+Alternatively a new fillstyle may be specified in the plot command.
+
+
+File: gnuplot.info, Node: candlesticks, Next: circles, Prev:
boxxyerrorbars, Up: plotting_styles
+
+2.5 candlesticks
+================
+
+The *note candlesticks:: style 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 limited vertically by the opening and closing prices. A
+vertical line segment at the x coordinate extends up from the top of the
+rectangle to the high price and another down to the low. The vertical
+line will be unchanged if the low and high prices are interchanged.
+
+ 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 *note boxwidth::
+command. For backwards compatibility with earlier gnuplot versions,
+when the boxwidth parameter has not been set then the width of the
+candlestick rectangle is controlled by `set bars <width>`.
+
+ 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)
+input column may be used to provide variable (per-datapoint) color
+information (see `linecolor` and `rgbcolor variable`).
+
+ 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 `whiskerbars` to the plot
+command. By default these whiskerbars extend the full horizontal width
+of the candlestick, but you can modify this by specifying a fraction of
+the full width.
+
+ The usual convention for financial data is that the rectangle is
+empty if (open < close) and solid fill if (close < open). This is the
+behavior you will get if the current fillstyle is set to "empty". See
+`fillstyle`. 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 *note bars:: and *note financebars::. See also the candlestick
+(http://www.gnuplot.info/demo/candlesticks.html) and finance
+(http://www.gnuplot.info/demo/finance.html) 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 bars 4.0
+ set style fill empty
+ plot 'stat.dat' using 1:3:2:6:5 with candlesticks title 'Quartiles', \
+ '' using 1:4:4:4:4 with candlesticks lt -1 notitle
+
+ # 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 *note boxwidth::, *note bars::, `set style fill`, and *note
+boxplot::.
+
+
+File: gnuplot.info, Node: circles, Next: ellipses, Prev: candlesticks, Up:
plotting_styles
+
+2.6 circles
+===========
+
+The *note circles:: style plots a circle with an explicit radius at
+each data point. If three columns of data are present, they are
+interpreted as x, y, radius. The radius is always interpreted in the
+units of the plot's horizontal axis (x or x2). The scale on y and the
+aspect ratio of the plot are both ignored. If only two columns are
+present, the radius is taken from `set style circle`. In this case the
+radius may be given in graph or screen coordinates. By default a full
+circle will be drawn. It is possible to plot arc segments instead of
+full circles by specifying a start and end angle in the 4th and 5th
+columns. An optional 4th or 6th column can specify per-circle color.
+The start and end angles of the circle segments must be specified in
+degrees.
+
+ 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
+ 0 0 5 230 360 5
+ e
+
+ The result is similar to using a `points` plot with variable size
+points and pointstyle 7, except that the circles will scale with the x
+axis range. See also `set object circle` and `fillstyle`.
+
+
+File: gnuplot.info, Node: ellipses, Next: dots, Prev: circles, Up:
plotting_styles
+
+2.7 ellipses
+============
+
+The *note ellipses:: style 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 diameter and the x axis.
+
+ 2 columns: x y
+ 3 columns: x y major_diam
+ 4 columns: x y major_diam minor_diam
+ 5 columns: x y major_diam minor_diam angle
+
+ If only two input columns are present, they are taken as the
+coordinates of the centers, and the ellipses will be drawn with the
+default extent (see `set style ellipse`). The orientation of the
+ellipse, which is defined as the angle between the major diameter and
+the plot's x axis, is taken from the default ellipse style (see `set
+style ellipse`). 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 be used to 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 *note
+colorspec:: for further information.
+
+ By default, the major diameter is interpreted in the units of the
+plot's horizontal axis (x or x2) while the minor diameter in that of
+the vertical (y or y2). This implies that if the x and y axis scales
+are not equal, then the major/minor diameter ratio will no longer be
+correct after rotation. This behavior can be changed with the `units`
+keyword, however.
+
+ There are three alternatives: if `units xy` is included in the plot
+specification, the axes will be scaled as described above. `units xx`
+ensures that both diameters are interpreted in units of the x axis,
+while `units yy` means 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 `units` is omitted, the default setting will be used, which is
+equivalent to `units xy`. This can be redefined by `set style ellipse`.
+
+ Example (draws ellipses, cycling through the available line types):
+
+ plot 'data' using 1:2:3:4:(0):0 with ellipses
+
+ See also `set object ellipse`, `set style ellipse` and `fillstyle`.
+
+
+File: gnuplot.info, Node: dots, Next: filledcurves, Prev: ellipses, Up:
plotting_styles
+
+2.8 dots
+========
+
+The *note dots:: style 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)
+
+
+File: gnuplot.info, Node: filledcurves, Next: financebars, Prev: dots, Up:
plotting_styles
+
+2.9 filledcurves
+================
+
+The *note filledcurves:: style is only relevant to 2D plotting. Three
+variants are possible. The first two variants require either a function
+or two columns 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 | y1 | y2 | r}[=<a>] | xy=<x>,<y>]
+
+ The first variant, `closed`, 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 y1=0 ... line y=0 (at y1 axis) ie parallel to x1
axis,
+ filledcurves y2=42 ... line y=42 (at y2 axis) ie parallel to x2,
etc,
+ filledcurves xy=10,20 ... point 10,20 of x1,y1 axes (arc-like shape).
+ filledcurves above r=1.5 the area of a polar plot outside radius 1.5
+
+ The third variant requires three columns of input data: the x
+coordinate and two y coordinates corresponding to two curves sampled at
+the same set of x coordinates; the area between the two curves is
+filled. This is the default if there are three or more columns of
+input data.
+
+ 3 columns: x y1 y2
+
+ Example of filling the area between two input curves. fill between
+curves demo. (http://www.gnuplot.info/demo/fillbetween.html)
+
+ plot 'data' using 1:2:3 with filledcurves
+
+ The `above` and `below` options apply both to commands of the form
+ ... filledcurves above {x1|x2|y1|y2|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.
+
+ Note: Not all terminal types support this plotting mode.
+
+ Zooming a filled curve drawn from a datafile may produce empty or
+incorrect areas because gnuplot is clipping points and lines, and not
+areas.
+
+ If the values of <a>, <x>, <y> are out of the drawing boundary, then
+they are moved to the graph boundary. Then the actually filled area in
+the case of option xy=<x>,<y> will depend on xrange and yrange.
+
+
+File: gnuplot.info, Node: financebars, Next: fsteps, Prev: filledcurves,
Up: plotting_styles
+
+2.10 financebars
+================
+
+The *note financebars:: style 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 `linecolor` and `rgbcolor
+variable`).
+
+ The symbol is a vertical line segment, located horizontally at the x
+coordinate and limited vertically by the high and low prices. A
+horizontal tic on the left marks the opening price and one on the right
+marks the closing price. The length of these tics may be changed by
+*note bars::. The symbol will be unchanged if the high and low prices
+are interchanged. See *note bars:: and *note candlesticks::, and also
+the finance demo. (http://www.gnuplot.info/demo/finance.html)
+
+
+File: gnuplot.info, Node: fsteps, Next: fillsteps, Prev: financebars, Up:
plotting_styles
+
+2.11 fsteps
+===========
+
+The *note fsteps:: style is only relevant to 2D plotting. It connects
+consecutive 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 `lines` and `points`. The
+difference between *note fsteps:: and *note steps:: is that *note
+fsteps:: traces first the change in y and then the change in x. *note
+steps:: traces first the change in x and then the change in y.
+
+ See also steps demo. (http://www.gnuplot.info/demo/steps.html)
+
+
+File: gnuplot.info, Node: fillsteps, Next: histeps, Prev: fsteps, Up:
plotting_styles
+
+2.12 fillsteps
+==============
+
+The *note fillsteps:: style is exactly like *note steps:: except that
+the area between the curve and y=0 is filled in the current fill style.
+See *note steps::.
+
+
+File: gnuplot.info, Node: histeps, Next: histograms, Prev: fillsteps, Up:
plotting_styles
+
+2.13 histeps
+============
+
+The *note histeps:: style is only relevant to 2D plotting. It is
+intended for plotting histograms. Y-values are assumed to be centered
+at the x-values; the point at x1 is represented as a horizontal line
+from ((x0+x1)/2,y1) to ((x1+x2)/2,y1). The lines representing the end
+points are extended so that the step is centered on at x. Adjacent
+points are connected by a vertical line at their average x, that is,
+from ((x1+x2)/2,y1) to ((x1+x2)/2,y2). The input column requires are
+the same as for plot styles `lines` and `points`.
+
+ If *note autoscale:: is in effect, it selects the xrange from the
+data rather than the steps, so the end points will appear only half as
+wide as the others. See also steps demo.
+(http://www.gnuplot.info/demo/steps.html)
+
+ *note histeps:: is only a plotting style; `gnuplot` does not have
+the ability to create bins and determine their population from some
+data set.
+
+
+File: gnuplot.info, Node: histograms, Next: image, Prev: histeps, Up:
plotting_styles
+
+2.14 histograms
+===============
+
+The *note histograms:: style is only relevant to 2D plotting. It
+produces a bar chart from a sequence of parallel data columns. Each
+element of the `plot` 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
+
+ The default style corresponds to `set style histogram clustered gap
+2`. 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 sequential position (row #) in the selected datafile columns.
+Thus if <n> datacolumns are selected, the first cluster is centered
+about x=1, and contains <n> boxes whose heights are taken from the
+first entry in the corresponding <n> data columns. This is followed by
+a gap and then a second cluster of boxes centered about x=2
+corresponding to the second entry in the respective data columns, and
+so on. The default gap width of 2 indicates that the empty space
+between clusters is equivalent to the width of 2 boxes. All boxes
+derived from any one column are given the same fill color and/or
+pattern (see `set style fill`).
+
+ 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 `xticlabels`
+option to *note using::.
+
+ The *note errorbars:: style is very similar to the `clustered`
+style, 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 `clustered` style.
+ 2 columns: y yerr bar extends from y-yerr to y+err
+ 3 columns: y ymin yman bar extends from ymin to ymax
+
+ The appearance of the error bars is controlled by the current value
+of *note bars:: and by the optional <linewidth> specification.
+
+ Two styles of stacked histogram are supported, chosen by the command
+`set style histogram {rowstacked|columnstacked}`. 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
+`rowstacked`.
+
+ The `rowstacked` style 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 column, and so on. All boxes derived from any one
+column are given the same fill color and/or pattern (see `set style
+fill`).
+
+ The `columnstacked` style is similar, except that each stack of
+boxes is built up from a single data column. Each data value from the
+first specified column yields a box in the stack at x=1, each data
+value from the second specified column yields a box in the stack at
+x=2, and so on. In this style the color of each box is taken from the
+row number, rather than the column number, of the corresponding data
+field.
+
+ Box widths may be modified using the *note boxwidth:: command. Box
+fill styles may be set using the `set style fill` command.
+
+ 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.
+
+ 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 *note iteration::.
+
+ set boxwidth 0.9 relative
+ set style data histograms
+ set style histogram cluster
+ set style fill solid 1.0 border lt -1
+ plot for [COL=2:4:2] 'file.dat' using COL
+
+ This will produce a plot with clusters of two boxes (vertical bars)
+centered at each integral value on the x axis. If the first column of
+the input file contains labels, they may be placed along the x-axis
+using the variant command
+
+ plot for [COL=2:4:2] 'file.dat' using COL:xticlabels(1)
+
+ If the file contains both magnitude and range information for each
+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 horizontal 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 bars 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
+
+ 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,
+corresponding in height to the values found in columns 2 and 4 of the
+datafile.
+
+ Finally, the commands
+
+ set style histogram columnstacked
+ plot 'file.dat' using 2, '' using 4
+
+ will produce two vertical stacks, one for each column of data. The
+stack at x=1 will contain a box for each entry in column 2 of the
+datafile. The stack at x=2 will contain a box for each parallel 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
labels
+
+ Note that the two examples just given present exactly the same data
+values, but in different formats.
+
+* Menu:
+
+* newhistogram::
+* automated_iteration_over_multiple_columns::
+
+
+File: gnuplot.info, Node: newhistogram, Next:
automated_iteration_over_multiple_columns, Prev: histograms, Up: histograms
+
+2.14.1 newhistogram
+-------------------
+
+Syntax:
+
+ newhistogram {"<title>"} {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 *note newhistogram:: command. 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
+coloring to begin with a specific color (linetype). By default colors
+will continue to increment successively even across histogram
+boundaries. Here is an example using the same coloring for multiple
+histograms
+ plot newhistogram "Set A" lt 4, 'a' using 1, '' using 2, '' using
3, \
+ newhistogram "Set B" lt 4, 'b' using 1, '' using 2, '' using 3
+
+ Similarly you can force the next histogram to begin with a specified
+fillstyle. If the fillstyle is set to `pattern`, then the pattern used
+for filling will be incremented automatically.
+
+ The `at <x-coord>` option sets the x coordinate position of the
+following histogram to <x-coord>. For example
+
+ set style histogram cluster
+ set style data histogram
+ set style fill solid 1.0 border -1
+ set xtic 1 offset character 0,0.3
+ plot newhistogram "Set A", \
+ 'file.dat' u 1 t 1, '' u 2 t 2, \
+ newhistogram "Set B" at 8, \
+ 'file.dat' u 2 t 2, '' u 2 t 2
+
+ will position the second histogram to start at x=8.
+
+
+File: gnuplot.info, Node: automated_iteration_over_multiple_columns, Prev:
newhistogram, Up: histograms
+
+2.14.2 automated iteration over multiple columns
+------------------------------------------------
+
+If you want to create a histogram from many columns of data in a single
+file, it is very convenient to use the plot iteration feature. See
+*note iteration::. 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
+
+
+File: gnuplot.info, Node: image, Next: impulses, Prev: histograms, Up:
plotting_styles
+
+2.15 image
+==========
+
+The `image`, *note rgbimage::, and *note rgbalpha:: plotting 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 assigned to the corresponding pixel.
+ plot '-' matrix with image
+ 5 4 3 1 0
+ 2 2 0 0 1
+ 0 0 0 1 0
+ 0 1 2 4 3
+ e
+ e
+
+ Each pixel (data point) of the input 2D image will become a
+rectangle or parallelipiped in the plot. The coordinates of each data
+point will determine the center of the parallelipiped. That is, an M x
+N set of data will form an image with M x N pixels. This is different
+from the pm3d plotting style, where an M x N set of data will form a
+surface of (M-1) x (N-1) elements. The scan directions for a binary
+image data grid can be further controlled by additional keywords. See
+`binary keywords flipx`, `keywords center`, and `keywords rotate`.
+
+ 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 `binary keywords dx` and `dy`. 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 `dx=0.5 dy=1.5`. The
+short building used a mapping `dx=0.5 dy=0.35`.
+
+ The `image` style handles input pixels containing a grayscale or
+color palette value. Thus 2D plots (`plot` command) require 3 columns
+of data (x,y,value), while 3D plots (`splot` command) require 4 columns
+of data (x,y,z,value).
+
+ The *note rgbimage:: style handles input pixels that are described
+by three separate values for the red, green, and blue components. Thus
+5D data (x,y,r,g,b) is needed for `plot` and 6D data (x,y,z,r,g,b) for
+`splot`. The individual red, green, and blue components are assumed to
+lie in the range [0:255].
+
+ The *note rgbalpha:: style handles input pixels that contain alpha
+channel (transparency) information in addition to the red, green, and
+blue components. Thus 6D data (x,y,r,g,b,a) is needed for `plot` and
+7D data (x,y,z,r,g,b,a) for `splot`. The r, g, b, and alpha components
+are assumed to lie in the range [0:255].
+
+* Menu:
+
+* transparency::
+* image_failsafe::
+
+
+File: gnuplot.info, Node: transparency, Next: image_failsafe, Prev: image,
Up: image
+
+2.15.1 transparency
+-------------------
+
+The *note rgbalpha:: plotting 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 terminal
+types can handle these two extreme cases. A pixel with 0 < alpha < 255
+is partially transparent. Only a few terminal types can handle this
+correctly; other terminals will approximate this by treating alpha as
+being either 0 or 255.
+
+
+File: gnuplot.info, Node: image_failsafe, Prev: transparency, Up: image
+
+2.15.2 image failsafe
+---------------------
+
+Some terminal drivers provide code to optimize rendering of image data
+within a rectangular 2D area. However this code is known to be
+imperfect. This optimized code may be disabled by using the keyword
+`failsafe`. E.g.
+
+ plot 'data' with image failsafe
+
+
+File: gnuplot.info, Node: impulses, Next: labels, Prev: image, Up:
plotting_styles
+
+2.16 impulses
+=============
+
+The *note impulses:: style displays a vertical line from y=0 to the y
+value of each point (2D) or from z=0 to the z value of each point (3D).
+Note that the y or z values may be negative. Data from additional
+columns can be used to control the color of each impulse. To use this
+style effectively in 3D plots, it is useful to choose thick lines
+(linewidth > 1). This approximates a 3D bar chart.
+
+ 1 column: y
+ 2 columns: x y # line from [x,0] to [x,y] (2D)
+ 3 columns: x y z # line from [x,y,0] to [x,y,z] (3D)
+
+
+File: gnuplot.info, Node: labels, Next: lines, Prev: impulses, Up:
plotting_styles
+
+2.17 labels
+===========
+
+The *note labels:: style 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 information such as variable font size
+or text color (see `rgbcolor variable`).
+
+ 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 `set label`).
+The example below generates a 2D plot with text labels constructed from
+the city whose name is taken from column 1 of the input file, and whose
+geographic coordinates are in columns 4 and 5. The font size is
+calculated from the value in column 3, in this case the 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 to a different size for each
+city, the command would be much simpler:
+
+ plot 'cities.dat' using 5:4:1 with labels font "Times,8"
+
+ The *note labels:: style can also be used in 3D plots. In this case
+four input column specifiers are required, corresponding to X Y Z and
+text.
+
+ splot 'datafile' using 1:2:3:4 with labels
+
+ See also `datastrings`, `set style data`.
+
+
+File: gnuplot.info, Node: lines, Next: linespoints, Prev: labels, Up:
plotting_styles
+
+2.18 lines
+==========
+
+The `lines` style 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 `rgbcolor
+variable`).
+
+ 2D form
+ 1 column: y # implicit x from row number
+ 2 columns: x y
+
+ 3D form
+ 1 column: z # implicit x from row, y from index
+ 3 columns: x y z
+
+ See also `linetype`, `linewidth`, and `linestyle`.
+
+
+File: gnuplot.info, Node: linespoints, Next: points, Prev: lines, Up:
plotting_styles
+
+2.19 linespoints
+================
+
+The *note linespoints:: style connects adjacent points with straight
+line segments and then goes back to draw a small symbol at each point.
+The command *note pointsize:: may be used to change the default size of
+the points. 1 or 2 columns of basic input data are required in 2D
+plots; 1 or 3 columns are required if 3D plots. See `style lines`.
+Additional input columns may be used to provide information such as
+variable point size or line color.
+
+ The `pointinterval` (short form `pi`) property of the linetype can
+be used to control whether or not every point in the plot is given a
+symbol. For example, 'with lp pi 3' will draw line segments through
+every data point, but will only place a symbol on every 3rd point. A
+negative value for `pointinterval` will erase the portion of line
+segment that passes underneath the symbol. The size of the erased
+portion is controlled by *note pointintervalbox::.
+
+ *note linespoints:: may be abbreviated `lp`.
+
+
+File: gnuplot.info, Node: points, Next: polar, Prev: linespoints, Up:
plotting_styles
+
+2.20 points
+===========
+
+The `points` style displays a small symbol at each point. The command
+*note pointsize:: may be used to change the default size of the points.
+1 or 2 columns of basic input data are required in 2D plots; 1 or 3
+columns are required in 3D plots. See `style lines`. Additional input
+columns may be used to provide information such as variable point size
+or variable point color.
+
+
+File: gnuplot.info, Node: polar, Next: steps, Prev: points, Up:
plotting_styles
+
+2.21 polar
+==========
+
+Polar plots are not really a separate plot style but are listed here for
+completeness. The option `set polar` tells gnuplot to interpret input
+2D coordinates as <angle>,<radius> rather than <x>,<y>. Many, but not
+all, 2D plotting styles work in polar mode. The figure shows a
+combination of plot styles `lines` and *note filledcurves::. See `set
+polar`, *note rrange::, `set size square`.
+
+
+File: gnuplot.info, Node: steps, Next: rgbalpha, Prev: polar, Up:
plotting_styles
+
+2.22 steps
+==========
+
+The *note steps:: style 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 `lines` and `points`. The
+difference between *note fsteps:: and *note steps:: is that *note
+fsteps:: traces first the change in y and then the change in x. *note
+steps:: traces 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 *note
+fillsteps::. See also steps demo.
+(http://www.gnuplot.info/demo/steps.html)
+
+
+File: gnuplot.info, Node: rgbalpha, Next: rgbimage, Prev: steps, Up:
plotting_styles
+
+2.23 rgbalpha
+=============
+
+See `image`.
+
+
+File: gnuplot.info, Node: rgbimage, Next: vectors, Prev: rgbalpha, Up:
plotting_styles
+
+2.24 rgbimage
+=============
+
+See `image`.
+
+
+File: gnuplot.info, Node: vectors, Next: xerrorbars, Prev: rgbimage, Up:
plotting_styles
+
+2.25 vectors
+============
+
+The 2D *note vectors:: style draws a vector from (x,y) to
+(x+xdelta,y+ydelta). The 3D *note vectors:: style is similar, but
+requires six columns of basic data. 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
+
+ In both cases, an additional input column (5th in 2D, 7th in 3D) may
+be used to provide variable (per-datapoint) color information. (see
+`linecolor` and `rgbcolor variable`).
+
+ splot with vectors is supported only for `set mapping cartesian`.
+
+ The keywords "with vectors" may be followed by an in-line arrow style
+specifications, a reference to a predefined arrow style, or a request
+to read the index of the desired arrow style for each vector from a
+separate column. Note: If you choose "arrowstyle variable" it will
+fill in all arrow properties at the time the corresponding vector is
+drawn; you cannot mix this keyword with other line or arrow style
+qualifiers in the plot command.
+
+ plot ... with vectors filled heads
+ plot ... with vectors arrowstyle 3
+ plot ... using 1:2:3:4:5 with vectors arrowstyle variable
+
+ See `arrowstyle` for more details.
+
+ Example:
+ plot 'file.dat' using 1:2:3:4 with vectors head filled lt 2
+ splot 'file.dat' using 1:2:3:(1):(1):(1) with vectors filled head
lw 2
+
+ `set clip one` and `set clip two` affect vectors drawn in 2D.
+Please see `set clip` and `arrowstyle`.
+
+
+File: gnuplot.info, Node: xerrorbars, Next: xyerrorbars, Prev: vectors,
Up: plotting_styles
+
+2.26 xerrorbars
+===============
+
+The *note xerrorbars:: style is only relevant to 2D data plots. *note
+xerrorbars:: is like `points`, 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 provided. A tic mark is placed at the ends of the
+error bar (unless *note bars:: is used--see *note bars:: for details).
+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
+information such as variable point color.
+
+
+File: gnuplot.info, Node: xyerrorbars, Next: yerrorbars, Prev: xerrorbars,
Up: plotting_styles
+
+2.27 xyerrorbars
+================
+
+The *note xyerrorbars:: style is only relevant to 2D data plots. *note
+xyerrorbars:: is like `points`, except that horizontal and vertical
+error bars are also drawn. At each point (x,y), lines are drawn from
+(x,y-ydelta) to (x,y+ydelta) and from (x-xdelta,y) to (x+xdelta,y) or
+from (x,ylow) to (x,yhigh) and from (xlow,y) to (xhigh,y), depending
+upon the number of data columns provided. A tic mark is placed at the
+ends of the error bar (unless *note bars:: is used--see *note bars::
+for details). Either 4 or 6 input columns are required.
+
+ 4 columns: x y xdelta ydelta
+ 6 columns: x y xlow xhigh ylow yhigh
+
+ If data are provided in an unsupported mixed form, the *note using::
+filter on the `plot` command should be used to set up the appropriate
+form. For example, if the data are of the form
+(x,y,xdelta,ylow,yhigh), then you can use
+
+ plot 'data' using 1:2:($1-$3):($1+$3):4:5 with xyerrorbars
+
+ An additional input column (5th or 7th) may be used to provide
+variable (per-datapoint) color information.
+
+
+File: gnuplot.info, Node: yerrorbars, Next: xerrorlines, Prev: xyerrorbars,
Up: plotting_styles
+
+2.28 yerrorbars
+===============
+
+The *note yerrorbars:: (or *note errorbars::) style is only relevant to
+2D data plots. *note yerrorbars:: is like `points`, except that a
+vertical error bar is also drawn. At each point (x,y), a line is drawn
+from (x,y-ydelta) to (x,y+ydelta) or from (x,ylow) to (x,yhigh),
+depending on how many data columns are provided. A tic mark is placed
+at the ends of the error bar (unless *note bars:: is used--see *note
+bars:: for details). Either 3 or 4 input columns are required.
+
+ 3 columns: x y ydelta
+ 4 columns: x y ylow yhigh
+
+ An additional input column (4th or 5th) may be used to provide
+information such as variable point color.
+
+ See also errorbar demo. (http://www.gnuplot.info/demo/mgr.html)
+
+
+File: gnuplot.info, Node: xerrorlines, Next: xyerrorlines, Prev:
yerrorbars, Up: plotting_styles
+
+2.29 xerrorlines
+================
+
+The *note xerrorlines:: style is only relevant to 2D data plots. *note
+xerrorlines:: is like *note linespoints::, except that a horizontal
+error line is also drawn. At each point (x,y), a line is drawn from
+(xlow,y) to (xhigh,y) or from (x-xdelta,y) to (x+xdelta,y), depending
+on how many data columns are provided. A tic mark is placed at the ends
+of the error bar (unless *note bars:: is used--see *note bars:: for
+details). 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
+information such as variable point color.
+
+
+File: gnuplot.info, Node: xyerrorlines, Next: yerrorlines, Prev:
xerrorlines, Up: plotting_styles
+
+2.30 xyerrorlines
+=================
+
+The *note xyerrorlines:: style is only relevant to 2D data plots.
+*note xyerrorlines:: is like *note linespoints::, except that
+horizontal and vertical error bars are also drawn. At each point (x,y),
+lines are drawn from (x,y-ydelta) to (x,y+ydelta) and from (x-xdelta,y)
+to (x+xdelta,y) or from (x,ylow) to (x,yhigh) and from (xlow,y) to
+(xhigh,y), depending upon the number of data columns provided. A tic
+mark is placed at the ends of the error bar (unless *note bars:: is
+used--see *note bars:: for details). Either 4 or 6 input columns are
+required.
+
+ 4 columns: x y xdelta ydelta
+ 6 columns: x y xlow xhigh ylow yhigh
+
+ If data are provided in an unsupported mixed form, the *note using::
+filter on the `plot` command should be used to set up the appropriate
+form. For example, if the data are of the form
+(x,y,xdelta,ylow,yhigh), then you can use
+
+ plot 'data' using 1:2:($1-$3):($1+$3):4:5 with xyerrorlines
+
+ An additional input column (5th or 7th) may be used to provide
+variable (per-datapoint) color information.
+
+
+File: gnuplot.info, Node: yerrorlines, Next: 3D_(surface)_plots, Prev:
xyerrorlines, Up: plotting_styles
+
+2.31 yerrorlines
+================
+
+The *note yerrorlines:: (or *note errorlines::) style is only relevant
+to 2D data plots. *note yerrorlines:: is like *note linespoints::,
+except that a vertical error line is also drawn. At each point (x,y), a
+line is drawn from (x,y-ydelta) to (x,y+ydelta) or from (x,ylow) to
+(x,yhigh), depending on how many data columns are provided. A tic mark
+is placed at the ends of the error bar (see *note bars:: for details).
+Either 3 or 4 input columns are required.
+
+ 3 columns: x y ydelta
+ 4 columns: x y ylow yhigh
+
+ An additional input column (4th or 5th) may be used to provide
+information such as variable point color.
+
+ See also errorbar demo. (http://www.gnuplot.info/demo/mgr.html)
+
+
+File: gnuplot.info, Node: 3D_(surface)_plots, Prev: yerrorlines, Up:
plotting_styles
+
+2.32 3D (surface) plots
+=======================
+
+Surface plots are generated using the `splot` command rather than the
+`plot` command. The style `with lines` draws a surface made from a grid
+of lines. Solid surfaces can be drawn using the style *note pm3d::.
+Usually the surface is displayed at some arbitrary viewing angle, such
+that it clearly represents a 3D surface. In this case the X, Y, and Z
+axes are all visible in the plot. The illusion of 3D is enhanced by
+choosing hidden line removal or depth-sorted surface elements. See
+*note hidden3d:: and `pm3d depthorder`. The `splot` command can also
+calculate and draw contour lines corresponding to constant Z values.
+These contour lines may be drawn onto the surface itself, or projected
+onto the XY plane. See *note contour::.
+
+* Menu:
+
+* 2D_projection_(set_view_map)::
+
+
+File: gnuplot.info, Node: 2D_projection_(set_view_map), Prev:
3D_(surface)_plots, Up: 3D_(surface)_plots
+
+2.32.1 2D projection (set view map)
+-----------------------------------
+
+An important special case of the `splot` command is to map the Z
+coordinate onto a 2D surface by projecting the plot along the Z axis.
+See `set view map`. This plot mode can be used to generate contour
+plots and heat maps.
+
+
+File: gnuplot.info, Node: Commands, Next: Terminal_types, Prev:
plotting_styles, Up: Top
+
+3 Commands
+**********
+
+This section lists the commands acceptable to `gnuplot` in alphabetical
+order. Printed versions of this document contain all commands; the text
+available interactively may not be complete. Indeed, on some systems
+there may be no commands at all listed under this heading.
+
+ Note that in most cases unambiguous abbreviations for command names
+and their options are permissible, i.e., "`p f(x) w li`" instead of
+"`plot f(x) with lines`".
+
+ In the syntax descriptions, braces ({}) denote optional arguments
+and a vertical bar (|) separates mutually exclusive choices.
+
+* Menu:
+
+* cd::
+* call::
+* clear::
+* Do::
+* evaluate::
+* exit::
+* fit::
+* help::
+* history::
+* if::
+* iteration::
+* load::
+* lower::
+* pause::
+* plot::
+* print::
+* pwd::
+* quit::
+* raise::
+* refresh::
+* replot::
+* reread::
+* reset::
+* save::
+* set-show::
+* shell::
+* splot::
+* stats_(Statistical_Summary)::
+* system_::
+* test::
+* undefine::
+* unset::
+* update::
+* While::
+
+
+File: gnuplot.info, Node: cd, Next: call, Prev: Commands, Up: Commands
+
+3.1 cd
+======
+
+The *note cd:: command changes the working directory.
+
+ Syntax:
+ cd '<directory-name>'
+
+ The directory name must be enclosed in quotes.
+
+ Examples:
+ cd 'subdir'
+ cd ".."
+
+ It is recommended that Windows users use single-quotes, because
+backslash [\] has special significance inside double-quotes and has to
+be escaped. For example,
+ cd "c:\newdata"
+
+ fails, but
+ cd 'c:\newdata'
+ cd "c:\\newdata"
+
+ work as expected.
+
+
+File: gnuplot.info, Node: call, Next: clear, Prev: cd, Up: Commands
+
+3.2 call
+========
+
+The *note call:: command is identical to the load command with one
+exception: you can have up to ten additional parameters to the command
+(delimited according to the standard parser rules) which can be
+substituted into the lines read from the file. As each line is read
+from the *note call::ed input file, it is scanned for the sequence `$`
+(dollar-sign) followed by a digit (0-9). If found, the sequence is
+replaced by the corresponding parameter from the *note call:: command
+line. If the parameter was specified as a string in the *note call::
+line, it is substituted without its enclosing quotes. Sequence `$#` is
+replaced by the number of passed parameters. `$` followed by any
+character will be that character; e.g. use `$$` to get a single `$`.
+Providing more than ten parameters on the *note call:: command line
+will cause an error. A parameter that was not provided substitutes as
+nothing. Files being *note call::ed may themselves contain *note
+call:: or `load` commands.
+
+ Syntax:
+ call "<input-file>" <parameter-0> <parm-1> ... <parm-9>
+
+ The name of the input file must be enclosed in quotes, and it is
+recommended that parameters are similarly enclosed in quotes (future
+versions of gnuplot may treat quoted and unquoted arguments
+differently).
+
+ 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
+
+ NOTE: there is a clash in syntax with the datafile *note using::
+callback operator. Use `$$n` or `column(n)` to access column n from a
+datafile inside a *note call::ed datafile plot.
+
+
+File: gnuplot.info, Node: clear, Next: Do, Prev: call, Up: Commands
+
+3.3 clear
+=========
+
+The *note clear:: command erases the current screen or output device as
+specified by *note output::. This usually generates a formfeed on
+hardcopy devices. Use *note terminal:: to set the device type.
+
+ For some terminals *note clear:: erases only the portion of the
+plotting surface defined by *note size::, so for these it can be used
+in conjunction with *note multiplot:: to create an inset.
+
+ Example:
+ set multiplot
+ plot sin(x)
+ set origin 0.5,0.5
+ set size 0.4,0.4
+ clear
+ plot cos(x)
+ unset multiplot
+
+ Please see *note multiplot::, *note size::, and *note origin:: for
+details of these commands.
+
+
+File: gnuplot.info, Node: Do, Next: evaluate, Prev: clear, Up: Commands
+
+3.4 Do
+======
+
+Syntax:
+ do for <iteration-spec> {
+ <commands>
+ <commands>
+ }
+
+ Execute a sequence of commands multiple times. The commands must be
+enclosed in curly brackets, and the opening "{" must be on the same
+line as the `do` keyword. This command cannot be used with old-style
+(un-bracketed) if/else statements. See `if`. For examples of
+iteration specifiers, see *note iteration::. 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
+
+
+File: gnuplot.info, Node: evaluate, Next: exit, Prev: Do, Up: Commands
+
+3.5 evaluate
+============
+
+The *note evaluate:: command executes the commands given as an argument
+string. Newline characters are not allowed within the string.
+
+ Syntax:
+ eval <string expression>
+
+ This is especially useful for a repetition of similar commands.
+
+ Example:
+ set_label(x, y, text) \
+ = sprintf("set label '%s' at %f, %f point pt 5", text, x, y)
+ eval set_label(1., 1., 'one/one')
+ eval set_label(2., 1., 'two/one')
+ eval set_label(1., 2., 'one/two')
+
+ Please see *note macros:: for another way to execute commands from a
+string.
+
+
+File: gnuplot.info, Node: exit, Next: fit, Prev: evaluate, Up: Commands
+
+3.6 exit
+========
+
+The commands *note exit:: and *note quit::, as well as the END-OF-FILE
+character (usually Ctrl-D) terminate input from the current input
+stream: terminal session, pipe, and file input (pipe).
+
+ If input streams are nested (inherited `load` scripts), then reading
+will continue in the parent stream. When the top level stream is
+closed, the program itself will exit.
+
+ The command `exit gnuplot` will immediately and unconditionally
+cause gnuplot to exit even if the input stream is multiply nested. In
+this case any open output files may not be completed cleanly. Example
+of use:
+
+ bind "ctrl-x" "unset output; exit gnuplot"
+
+ See help for `batch/interactive` for more details.
+
+
+File: gnuplot.info, Node: fit, Next: help, Prev: exit, Up: Commands
+
+3.7 fit
+=======
+
+The *note fit:: command can fit a user-supplied expression to a set of
+data points (x,z) or (x,y,z), using an implementation of the nonlinear
+least-squares (NLLS) Marquardt-Levenberg algorithm. Any user-defined
+variable occurring in the expression may serve as a fit parameter, but
+the return type of the expression must be real.
+
+ Syntax:
+ fit {<ranges>} <expression>
+ '<datafile>' {datafile-modifiers}
+ via '<parameter file>' | <var1>{,<var2>,...}
+
+ Ranges may be specified to temporarily limit the data which is to be
+fitted; any out-of-range data points are ignored. The syntax is
+ [{dummy_variable=}{<min>}{:<max>}],
+
+ analogous to `plot`; see *note ranges::.
+
+ <expression> is any valid `gnuplot` expression, although it is usual
+to use a previously user-defined function of the form f(x) or f(x,y).
+
+ <datafile> is treated as in the `plot` command. All the *note
+datafile:: modifiers (*note using::, *note every::,...) except *note
+smooth:: and the deprecated *note thru:: are applicable to *note fit::.
+See *note datafile::.
+
+ The default data formats for fitting functions with a single
+independent variable, z=f(x), are z or x:z. That is, if there is only
+a single column then it is the dependent variable and the line numbers
+is the independent variable. If there are two columns, the first is
+the independent variable and the second is the dependent variable.
+
+ Those formats can be changed with the datafile *note using::
+qualifier, for example to take the z value from a different column or
+to calculate it from several columns. A third *note using:: qualifier
+(a column number or an expression), if present, is interpreted as the
+standard deviation of the corresponding z value and is used to compute a
+weight for the datum, 1/s**2. Otherwise, all data points are weighted
+equally, with a weight of one. Note that if you don't specify a *note
+using:: option at all, no z standard deviations are read from the
+datafile even if it does have a third column, so you'll always get unit
+weights.
+
+ To fit a function with two independent variables, z=f(x,y), the
+required format is *note using:: with four items, x:y:z:s. The
+complete format must be given--no default columns are assumed for a
+missing token. Weights for each data point are evaluated from 's' as
+above. If error estimates are not available, a constant value can be
+specified as a constant expression (see *note using::), e.g., `using
+1:2:3:(1)`.
+
+ The fit function may have up to five independent variables. There
+must be two more *note using:: qualifiers than there are independent
+variables, unless there is only one variable. The allowed formats, and
+the default dummy variable names, are as follows:
+
+ z
+ x:z
+ x:z:s
+ x:y:z:s
+ x:y:t:z:s
+ x:y:t:u:z:s
+ x:y:t:u:v:z:s
+
+ The dummy variable names may be changed with ranges as noted above.
+The first range corresponds to the first *note using:: spec, etc. A
+range may also be given for z (the dependent variable), but that name
+cannot be changed.
+
+ Multiple datasets may be simultaneously fit with functions of one
+independent variable by making y a 'pseudo-variable', e.g., the dataline
+number, and fitting as two independent variables. See *note
+multi-branch::.
+
+ The `via` qualifier specifies which parameters are to be adjusted,
+either directly, or by referencing a parameter file.
+
+ Examples:
+ f(x) = a*x**2 + b*x + c
+ g(x,y) = a*x**2 + b*y**2 + c*x*y
+ FIT_LIMIT = 1e-6
+ fit f(x) 'measured.dat' via 'start.par'
+ fit f(x) 'measured.dat' using 3:($7-5) via 'start.par'
+ fit f(x) './data/trash.dat' using 1:2:3 via a, b, c
+ fit g(x,y) 'surface.dat' using 1:2:3:(1) via a, b, c
+ 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:(1) via a,b
+ fit [*:*][yaks=*:*] a*x+b*yaks 'surface.dat' u 1:2:3:(1) via a,b
+ fit a*x + b*y + c*t 'foo.dat' using 1:2:3:4:(1) via a,b,c
+ h(x,y,t,u,v) = a*x + b*y + c*t + d*u + e*v
+ fit h(x,y,t,u,v) 'foo.dat' using 1:2:3:4:5:6:(1) 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 `set
+fit logfile`, the name of the log file can be changed.
+
+ If gnuplot was built with this option, and you activated it using
+`set fit errorvariables`, 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
+computations.
+
+ The fit may be interrupted by pressing Ctrl-C. 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
+`gnuplot` command as specified by the environment variable FIT_SCRIPT.
+The default for FIT_SCRIPT is *note replot::, so if you had previously
+plotted both the data and the fitting function in one graph, you can
+display the current state of the fit.
+
+ Once *note fit:: has finished, the *note update:: command may be
+used to store final values in a file for subsequent use as a parameter
+file. See *note update:: for details.
+
+* Menu:
+
+* adjustable_parameters::
+* short_introduction::
+* error_estimates::
+* control::
+* multi-branch::
+* starting_values::
+* tips::
+
+
+File: gnuplot.info, Node: adjustable_parameters, Next: short_introduction,
Prev: fit, Up: fit
+
+3.7.1 adjustable parameters
+---------------------------
+
+There are two ways that `via` can specify the parameters to be adjusted,
+either directly on the command line or indirectly, by referencing a
+parameter file. The two use different means to set initial values.
+
+ Adjustable parameters can be specified by a comma-separated list of
+variable names after the `via` keyword. Any variable that is not
+already defined is created with an initial value of 1.0. However, the
+fit is more likely to converge rapidly if the variables have been
+previously declared with more 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
+special form
+ varname = value # FIXED
+
+ means that the variable is treated as a 'fixed parameter',
+initialized by the parameter file, but not adjusted by *note fit::.
+For clarity, it may be useful to designate variables as fixed
+parameters so that their values are reported by *note fit::. The
+keyword `# FIXED` has to appear in exactly this form.
+
+
+File: gnuplot.info, Node: short_introduction, Next: error_estimates, Prev:
adjustable_parameters, Up: fit
+
+3.7.2 short introduction
+------------------------
+
+*note fit:: is used to find a set of parameters that 'best' fits your
+data to your user-defined function. The fit is judged on the basis of
+the sum of the squared differences or 'residuals' (SSR) between the
+input data points and the function values, evaluated at the same
+places. This quantity is often called 'chisquare' (i.e., the Greek
+letter chi, to the power of 2). The algorithm attempts to minimize
+SSR, or more precisely, WSSR, as the residuals are 'weighted' by the
+input data errors (or 1.0) before being squared; see `fit
+error_estimates` for details.
+
+ That's why it is called 'least-squares fitting'. Let's look at an
+example to see what is meant by 'non-linear', but first we had better
+go over some terms. Here it is convenient to use z as the dependent
+variable for user-defined functions of either one independent variable,
+z=f(x), or two independent variables, z=f(x,y). A parameter is a
+user-defined variable that *note fit:: will adjust, i.e., an unknown
+quantity in the function declaration. Linearity/non-linearity refers
+to the relationship of the dependent variable, z, to the parameters
+which *note fit:: is adjusting, not of z to the independent variables,
+x and/or y. (To be technical, the second {and higher} derivatives of
+the fitting function with respect to the parameters are zero for a
+linear least-squares problem).
+
+ For linear least-squares (LLS), the user-defined function will be a
+sum of simple functions, not involving any parameters, each multiplied
+by one parameter. NLLS handles more 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
+estimating values of the parameters is a linear least-squares problem.
+However, if c is an unknown parameter, the problem is nonlinear.
+
+ In the linear case, parameter values can be determined by
+comparatively simple linear algebra, in one direct step. However LLS
+is a special case which is also solved along with more general NLLS
+problems by the iterative procedure that `gnuplot` uses. *note fit::
+attempts to find the minimum by doing a search. Each step (iteration)
+calculates WSSR with a new set of parameter values. The
+Marquardt-Levenberg algorithm selects the parameter values for the next
+iteration. The process continues until a preset criterion is met,
+either (1) the fit has "converged" (the relative change in WSSR is less
+than FIT_LIMIT), or (2) it reaches a preset iteration count limit,
+FIT_MAXITER (see *note variables::). The fit may also be interrupted
+and subsequently halted from the keyboard (see *note fit::). 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.
+
+ 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
+*note fit:: can be used to find values for the free parameters of the
+model, to determine how well the data fits the model, and to estimate
+an error range for each parameter. See `fit error_estimates`.
+
+ Alternatively, in curve-fitting, functions are selected independent
+of a model (on the basis of experience as to which are likely to
+describe the trend of the data with the desired resolution and a
+minimum number of parameters*functions.) The *note fit:: solution then
+provides an analytic representation of the curve.
+
+ However, if all you really want is a smooth curve through your data
+points, the *note smooth:: option to `plot` may be what you've been
+looking for rather than *note fit::.
+
+
+File: gnuplot.info, Node: error_estimates, Next: control, Prev:
short_introduction, Up: fit
+
+3.7.3 error estimates
+---------------------
+
+In *note fit::, the term "error" is used in two different contexts,
+data error estimates and parameter error estimates.
+
+ Data error estimates are used to calculate the relative weight of
+each data point when determining the weighted sum of squared residuals,
+WSSR or chisquare. They can affect the parameter estimates, since they
+determine how much influence the deviation of each data point from the
+fitted function has on the final values. Some of the *note fit::
+output information, including the parameter error estimates, is more
+meaningful if accurate data error estimates have been provided.
+
+ The 'statistical overview' describes some of the *note fit:: output
+and gives some background for the 'practical guidelines'.
+
+* Menu:
+
+* statistical_overview::
+* practical_guidelines::
+
+
+File: gnuplot.info, Node: statistical_overview, Next: practical_guidelines,
Prev: error_estimates, Up: error_estimates
+
+3.7.3.1 statistical overview
+............................
+
+The theory of non-linear least-squares (NLLS) is generally described in
+terms of a normal distribution of errors, that is, the input data is
+assumed to be a sample from a population having a given mean and a
+Gaussian (normal) distribution about the mean with a given standard
+deviation. For a sample of sufficiently large size, and knowing the
+population standard deviation, one can use the statistics of the
+chisquare distribution to describe a "goodness of fit" by looking at
+the variable often called "chisquare". Here, it is sufficient to say
+that a reduced chisquare (chisquare/degrees of freedom, where degrees
+of freedom is the number of datapoints less the number of parameters
+being fitted) of 1.0 is an indication that the weighted sum of squared
+deviations between the fitted function and the data points is the same
+as that expected for a random sample from a population characterized by
+the function with the current value of the parameters and the given
+standard deviations.
+
+ If the standard deviation for the population is not constant, as in
+counting statistics where variance = counts, then each point should be
+individually weighted when comparing the observed sum of deviations and
+the expected sum of deviations.
+
+ At the conclusion *note fit:: reports '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 calculating the residuals of
+the datapoints were obtained from the same data. 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)
+
+ To estimate confidence levels for the parameters, one can use the
+minimum chisquare obtained from the fit and chisquare statistics to
+determine the value of chisquare corresponding to the desired
+confidence level, but considerably more calculation is required to
+determine the combinations of parameters which produce such values.
+
+ Rather than determine confidence intervals, *note fit:: reports
+parameter error estimates which are readily obtained from the
+variance-covariance matrix after the final iteration. By convention,
+these estimates are called "standard errors" or "asymptotic standard
+errors", since they are calculated in the same way as the standard
+errors (standard deviation of each parameter) of a linear least-squares
+problem, even though the statistical conditions for designating the
+quantity calculated to be a standard deviation are not generally valid
+for the NLLS problem. The asymptotic standard errors are generally
+over-optimistic and should not be used for determining confidence
+levels, but are useful for qualitative purposes.
+
+ The final solution also produces a correlation matrix indicating
+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 magnitude, with a sign depending on
+whether the relation is proportional or inversely proportional. The
+smaller the magnitudes of the off-diagonal elements, the closer the
+estimates of the standard deviation of each parameter would be to the
+asymptotic standard error.
+
+
+File: gnuplot.info, Node: practical_guidelines, Prev: statistical_overview,
Up: error_estimates
+
+3.7.3.2 practical guidelines
+............................
+
+If you have a basis for assigning weights to each data point, doing so
+lets you make use of additional knowledge about your measurements,
+e.g., take into account that some points may be more reliable than
+others. That may affect the final values of the parameters.
+
+ Weighting the data provides a basis for interpreting the additional
+*note fit:: output after the last iteration. Even if you weight each
+point equally, estimating an average standard deviation rather than
+using a weight of 1 makes WSSR a dimensionless variable, as chisquare
+is by definition.
+
+ Each fit iteration will display information which can be used to
+evaluate the progress of the fit. (An '*' 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 between the data and
+your fitted function; *note fit:: has 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 deviation
+of the data from the fitted function, in user units.
+
+ If you supplied valid data errors, the number of data points is
+large enough, and the model is correct, the reduced chisquare should be
+about unity. (For details, look up the 'chi-squared distribution' in
+your favourite statistics reference.) If so, there are additional
+tests, beyond the scope of this overview, for determining how well the
+model fits the data.
+
+ A reduced chisquare much larger than 1.0 may be due to incorrect
+data error estimates, data errors not normally distributed, systematic
+measurement errors, 'outliers', or an incorrect model function. A plot
+of the residuals, e.g., `plot 'datafile' using 1:($2-f($1))`, 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.
+
+ You'll have to get used to both *note fit:: and 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 *note fit::, in common with most NLLS implementations,
+minimizes the weighted sum of squared distances (y-f(x))**2. It does
+not provide any means to account for "errors" in the values of x, only
+in y. Also, any "outliers" (data points outside the normal
+distribution of the model) will have an exaggerated effect on the
+solution.
+
+
+File: gnuplot.info, Node: control, Next: multi-branch, Prev:
error_estimates, Up: fit
+
+3.7.4 control
+-------------
+
+There are a number of `gnuplot` variables that can be defined to affect
+*note fit::. Those which can be defined once `gnuplot` is running are
+listed under 'control_variables' while those defined before starting
+`gnuplot` are listed under 'environment_variables'.
+
+* Menu:
+
+* control_variables::
+* environment_variables::
+
+
+File: gnuplot.info, Node: control_variables, Next: environment_variables,
Prev: control, Up: control
+
+3.7.4.1 control variables
+.........................
+
+The default epsilon limit (1e-5) may be changed by declaring a value for
+ FIT_LIMIT
+
+ When the sum of squared residuals changes between two iteration
+steps by a factor less than this number (epsilon), the fit is
+considered to have 'converged'.
+
+ The maximum number of iterations may be limited by declaring a value
+for
+ FIT_MAXITER
+
+ A value of 0 (or not defining it at all) means that there is no
+limit.
+
+ If you need even more control about the algorithm, and know the
+Marquardt-Levenberg algorithm well, there are some more variables to
+influence it. The startup value of `lambda` is normally calculated
+automatically from the ML-matrix, but if you want to, you may provide
+your own one with
+ FIT_START_LAMBDA
+
+ Specifying FIT_START_LAMBDA as zero or less will re-enable the
+automatic selection. The variable
+ FIT_LAMBDA_FACTOR
+
+ gives the factor by which `lambda` is increased or decreased whenever
+the chi-squared target function increased or decreased significantly.
+Setting FIT_LAMBDA_FACTOR to zero re-enables the default factor of 10.0.
+
+ Other variables with the FIT_ prefix may be added to *note fit::, so
+it is safer not to use that prefix for user-defined variables.
+
+ The variables FIT_SKIP and FIT_INDEX were used by earlier releases of
+`gnuplot` with a 'fit' patch called `gnufit` and are no longer
+available. The datafile *note every:: modifier provides the
+functionality of FIT_SKIP. FIT_INDEX was used for multi-branch
+fitting, but multi-branch fitting of one independent variable is now
+done as a pseudo-3D fit in which the second independent variable and
+*note using:: are used to specify the branch. See *note multi-branch::.
+
+
+File: gnuplot.info, Node: environment_variables, Prev: control_variables,
Up: control
+
+3.7.4.2 environment variables
+.............................
+
+The environment variables must be defined before `gnuplot` is executed;
+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 command `set fit logfile`.
+
+ FIT_SCRIPT
+
+ specifies a command that may be executed after an user interrupt.
+The default is *note replot::, but a `plot` or `load` command may be
+useful to display a plot customized to highlight the progress of the
+fit.
+
+
+File: gnuplot.info, Node: multi-branch, Next: starting_values, Prev:
control, Up: fit
+
+3.7.5 multi-branch
+------------------
+
+In multi-branch fitting, multiple data sets can be simultaneously fit
+with functions of one independent variable having common parameters by
+minimizing the total WSSR. The function and parameters (branch) for
+each data set are selected by using a 'pseudo-variable', e.g., either
+the dataline number (a '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
+describing a different data set but having a common decay time,
+estimate the values of the parameters. If the datafile has the format
+x:z:s, then
+ f(x,y) = (y==0) ? a*exp(-x/tau) : b*exp(-x/tau)
+ fit f(x,y) 'datafile' using 1:-2:2:3 via a, b, tau
+
+ For a more complicated example, see the file "hexa.fnc" used by the
+"fit.dem" demo.
+
+ Appropriate weighting may be required since unit weights may cause
+one branch to predominate if there is a difference in the scale of the
+dependent variable. Fitting each branch 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.
+
+
+File: gnuplot.info, Node: starting_values, Next: tips, Prev: multi-branch,
Up: fit
+
+3.7.6 starting values
+---------------------
+
+Nonlinear fitting is not guaranteed to converge to the global optimum
+(the solution with the smallest sum of squared residuals, SSR), and can
+get stuck at a local minimum. The routine has no way to determine
+that; it is up to you to judge whether this has happened.
+
+ *note fit:: may, 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
+"undefined value" message or `gnuplot` halting.
+
+ To improve the chances of finding the global optimum, you should set
+the starting values at least roughly in the vicinity of the solution,
+e.g., within an order of magnitude, if possible. The closer your
+starting values are to the solution, the less chance of stopping at
+another minimum. One way to find starting values is to plot data and
+the fitting function on the same graph and change parameter values and
+*note replot:: until reasonable similarity is reached. The same plot
+is also useful to check whether the fit stopped at a minimum with a
+poor fit.
+
+ Of course, a reasonably good fit is not proof there is not a
+"better" fit (in either a statistical sense, characterized by an
+improved goodness-of-fit criterion, or a physical sense, with a
+solution more consistent with the model.) Depending on the problem, it
+may be desirable to *note fit:: with various sets of starting values,
+covering a reasonable range for each parameter.
+
+
+File: gnuplot.info, Node: tips, Prev: starting_values, Up: fit
+
+3.7.7 tips
+----------
+
+Here are some tips to keep in mind to get the most out of *note fit::.
+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 `via` argument to *note fit:: serve two largely
+distinct purposes. The `via "file"` form is best used for (possibly
+unattended) batch operation, where you just supply the startup values
+in a file and can later use *note update:: to copy the results back
+into another (or the same) parameter file.
+
+ The `via var1, var2, ...` form is best used interactively, where the
+command history mechanism may be used to edit the list of parameters to
+be fitted or to supply new startup values for the next try. This is
+particularly useful for hard problems, where a direct fit to all
+parameters at once won't work without good starting values. To find
+such, you can iterate several times, fitting only some of the
+parameters, until the values are close enough to the goal that the
+final fit to all parameters at once will work.
+
+ Make sure that there is no mutual dependency among parameters of the
+function you are fitting. For example, don't try to fit a*exp(x+b),
+because a*exp(x+b)=a*exp(b)*exp(x). Instead, fit either a*exp(x) or
+exp(x+b).
+
+ A technical issue: the parameters must not be too different in
+magnitude. The larger the ratio of the largest and the smallest
+absolute parameter values, the slower the fit will converge. If the
+ratio is close to or above the inverse of the machine floating point
+precision, it may take next to forever to converge, or refuse to
+converge at all. You will have to adapt your function to avoid this,
+e.g., replace 'parameter' by '1e9*parameter' in the function
+definition, and divide the starting value by 1e9.
+
+ If you can write your function as a linear combination of 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
+experimentation courses, may have you first fit some functions to your
+data, perhaps in a multi-step process of accounting for several aspects
+of the underlying theory one by one, and then extract the information
+you really wanted from the fitting parameters of those functions. With
+*note fit::, 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 correct.
+
+ A "singular matrix" message indicates that this implementation of the
+Marquardt-Levenberg algorithm can't calculate parameter values for the
+next iteration. Try different starting values, writing the function in
+another form, or a simpler function.
+
+ Finally, a nice quote from the manual of another fitting package
+(fudgit), that kind of summarizes all these issues: "Nonlinear fitting
+is an art!"
+
+
+File: gnuplot.info, Node: help, Next: history, Prev: fit, Up: Commands
+
+3.8 help
+========
+
+The *note help:: command displays built-in help. To specify information
+on a particular topic use the syntax:
+
+ help {<topic>}
+
+ If <topic> is not specified, a short message is printed about
+`gnuplot`. 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 `gnuplot` command line will
+return.
+
+ If a question mark (?) is given as the topic, the list of topics
+currently available is printed on the screen.
+
+
+File: gnuplot.info, Node: history, Next: if, Prev: help, Up: Commands
+
+3.9 history
+===========
+
+`history` command lists or saves previous entries in the history of the
+command line editing, or executes an entry.
+
+ Here you find 'usage by examples':
+
+ history # show the complete history
+ history 5 # show last 5 entries in the history
+ history quiet 5 # show last 5 entries without entry 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
+ hi !reread # execute last entry starting with "reread"
+ hist !"set xr" # like above, several words enclosed in quotes
+ hi !hi # guess yourself :-))
+
+ On systems which support a popen function (Unix), the output of
+history can be piped through an external program by starting the file
+name with a '|', as one of the above examples demonstrates.
+
+
+File: gnuplot.info, Node: if, Next: iteration, Prev: history, Up: Commands
+
+3.10 if
+=======
+
+New syntax:
+ if (<condition>) { <command>; <command>
+ <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 `if` or `else` is immediately followed by an
+opening "{", then conditional execution applies to all statements,
+possibly on multiple input lines, until a matching "}" terminates the
+block. If commands may be nested.
+
+ The old single-line if/else syntax is still supported, but can not be
+mixed with the new block-structured syntax. See *note if-old::.
+
+* Menu:
+
+* if-old::
+
+
+File: gnuplot.info, Node: if-old, Prev: if, Up: if
+
+3.10.1 if-old
+-------------
+
+Through gnuplot version 4.4, the scope of the if/else commands was
+limited to a single input line. This has been replaced by allowing a
+multi-line clause to be enclosed in curly brackets. The old syntax is
+still honored by itself but cannot be used inside a bracketed clause.
+
+ If no opening "{" follows the `if` keyword, the command(s) in
+<command-line> will be executed if <condition> is true (non-zero) or
+skipped if <condition> is false (zero). Either case will consume
+commands on the input line until the end of the line or an occurrence
+of `else`. Note that use of `;` to 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!)
+
+ See *note reread:: for an example of using if and reread together to
+perform a loop.
+
+
+File: gnuplot.info, Node: iteration, Next: load, Prev: if, Up: Commands
+
+3.11 iteration
+==============
+
+The `plot`, `splot`, `set` and *note unset:: commands may optionally
+contain an iteration clause. This has the effect of executing the
+basic command multiple times, each time re-evaluating any expressions
+that make use of the iteration control variable. Iteration of
+arbitrary command sequences can be requested using the `do` command.
+Two forms of iteration clause are currently supported:
+
+ for [intvar = start:end{:increment}]
+ for [stringvar in "A B C D"]
+
+ Examples:
+
+ plot for [filename in "A.dat B.dat C.dat"] filename using 1:2 with
lines
+ plot for [basename in "A B C"] basename.".dat" using 1:2 with lines
+ set for [i = 1:10] style line i lc rgb "blue"
+ unset for [tag = 100:200] label tag
+
+ Nested iteration is supported:
+
+ set for [i=1:9] for [j=1:9] label i*10+j sprintf("%d",i*10+j) at i,j
+
+ See additional documentation for *note iteration::, `do`.
+
+
+File: gnuplot.info, Node: load, Next: lower, Prev: iteration, Up: Commands
+
+3.12 load
+=========
+
+The `load` command executes each line of the specified input file as if
+it had been typed in interactively. Files created by the *note save::
+command can later be `load`ed. Any text file containing valid commands
+can be created and then executed by the `load` command. Files being
+`load`ed may themselves contain `load` or *note call:: commands. See
+`comments` for information about comments in commands. To `load` with
+arguments, see *note call::.
+
+ Syntax:
+ load "<input-file>"
+
+ The name of the input file must be enclosed in quotes.
+
+ The special filename "-" may be used to `load` commands from
+standard input. This allows a `gnuplot` command file to accept some
+commands from standard input. Please see help for `batch/interactive`
+for more details.
+
+ On some systems which support a popen function (Unix), the load file
+can be read from a pipe by starting the file name with a '<'.
+
+ Examples:
+ load 'work.gnu'
+ load "func.dat"
+ load "< loadfile_generator.sh"
+
+ The `load` command is performed implicitly on any file names given as
+arguments to `gnuplot`. These are loaded in the order specified, and
+then `gnuplot` exits.
+
+
+File: gnuplot.info, Node: lower, Next: pause, Prev: load, Up: Commands
+
+3.13 lower
+==========
+
+Syntax:
+ lower {plot_window_nb}
+
+ The *note lower:: command lowers (opposite to *note raise::) plot
+window(s) associated with the interactive terminal of your gnuplot
+session, i.e. `pm`, `win`, `wxt` or `x11`. It puts the plot window to
+bottom in the z-order windows stack of the window manager of your
+desktop.
+
+ As `x11` and `wxt` support multiple plot windows, then by default
+they lower these windows in descending order of most recently created
+on top to the least recently created on bottom. If a plot number is
+supplied as an optional parameter, only the associated plot window will
+be lowered if it exists.
+
+ The optional parameter is ignored for single plot-window terminals,
+i.e. `pm` and `win`.
+
+
+File: gnuplot.info, Node: pause, Next: plot, Prev: lower, Up: Commands
+
+3.14 pause
+==========
+
+The *note pause:: command displays any text associated with the command
+and then waits a specified amount of time or until the carriage return
+is pressed. *note pause:: is especially useful in conjunction with
+`load` files.
+
+ Syntax:
+ pause <time> {"<string>"}
+ pause mouse {<endcondition>}{, <endcondition>} {"<string>"}
+
+ <time> may be any constant or expression. Choosing -1 will wait
+until a carriage return is hit, zero (0) won't pause at all, and a
+positive number will wait the specified number of seconds. The time is
+rounded to an integer number of seconds if subsecond time resolution is
+not supported by the given platform. `pause 0` is synonymous with
+*note print::.
+
+ If the current terminal supports `mousing`, then `pause mouse` will
+terminate on either a mouse click or on ctrl-C. For all other
+terminals, or if mousing is not active, `pause mouse` is equivalent to
+`pause -1`.
+
+ If one or more end conditions are given after `pause mouse`, then
+any one of the conditions will terminate the pause. The possible end
+conditions are `keypress`, `button1`, `button2`, `button3`, `close`,
+and `any`. If the pause terminates on a keypress, then the ascii value
+of the key pressed is returned in MOUSE_KEY. The character itself is
+returned as a one character string in MOUSE_CHAR. Hotkeys (bind
+command) are disabled if keypress is 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 *note variables::.
+
+ Note: Since *note pause:: communicates with the operating system
+rather than the graphics, it may behave differently with different
+device drivers (depending upon how text and graphics are mixed).
+
+ Examples:
+ pause -1 # Wait until a carriage return is hit
+ pause 3 # Wait three seconds
+ pause -1 "Hit return to continue"
+ pause 10 "Isn't this pretty? It's a cubic spline."
+ pause mouse "Click any mouse button on selected data point"
+ pause mouse keypress "Type a letter from A-F in the active window"
+ pause mouse button1,keypress
+ pause mouse any "Any key or button will terminate"
+
+ The variant "pause mouse key" will resume after any keypress in the
+active plot window. If you want to wait for a particular key to be
+pressed, you can use a reread loop such as:
+
+ print "I will resume after you hit the Tab key in the plot window"
+ load "wait_for_tab"
+
+ File "wait_for_tab" contains the lines
+
+ pause mouse key
+ if (MOUSE_KEY != 9) reread
+
+
+File: gnuplot.info, Node: plot, Next: print, Prev: pause, Up: Commands
+
+3.15 plot
+=========
+
+`plot` is the primary command for drawing plots with `gnuplot`. It
+creates plots of functions and data in many, many ways. `plot` is used
+to draw 2D functions and data; `splot` draws 2D projections of 3D
+surfaces and data. `plot` and `splot` offer many features in common;
+see `splot` for differences. Note specifically that although the
+`binary <binary list>` variation does work for both `plot` and `splot`,
+there are small differences between them.
+
+ Syntax:
+ plot {<ranges>}
+ {<iteration>}
+ {<function> | {"<datafile>" {datafile-modifiers}}}
+ {axes <axes>} {<title-spec>} {with <style>}
+ {, {definitions{,}} <function> ...}
+
+ where either a <function> or the name of a data file enclosed in
+quotes is supplied. A function is a mathematical expression or a pair
+of mathematical expressions in parametric mode. Functions may be
+builtin, user-defined, or provided in the plot command itself.
+Multiple datafiles and/or functions may be plotted in a single command,
+separated by commas. See `data`, *note functions::.
+
+ 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 `show plot`.
+
+* Menu:
+
+* axes::
+* binary::
+* data::
+* errorbars::
+* errorlines::
+* functions::
+* parametric::
+* ranges::
+* iteration_::
+* title::
+* with::
+
+
+File: gnuplot.info, Node: axes, Next: binary, Prev: plot, Up: plot
+
+3.15.1 axes
+-----------
+
+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.
+`x1y1` refers to the axes on the bottom and left; `x2y2` to those on
+the top and right; `x1y2` to those on the bottom and right; and `x2y1`
+to those on the top and left. Ranges specified on the `plot` command
+apply only to the first set of axes (bottom left).
+
+
+File: gnuplot.info, Node: binary, Next: data, Prev: axes, Up: plot
+
+3.15.2 binary
+-------------
+
+BINARY DATA FILES:
+
+ Some earlier versions of `gnuplot` automatically detected binary
+data files. It is now necessary to provide the keyword *note binary::
+after 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 *note filetype::. In particular, there are two structures for
+binary files, binary matrix format and binary general format.
+
+ The *note matrix:: format contains a two dimensional array of 32 bit
+IEEE float values with an additional column and row of coordinate
+values. As with ASCII matrix, in the *note using:: list, enumeration
+of the coordinate row constitutes column 1, enumeration of the
+coordinate column constitutes column 2, and the array of values
+constitutes column 3.
+
+ The *note general:: format contains an arbitrary number of columns
+for which information must be specified at the command line. For
+example, *note array::, *note record::, `format` and *note using:: can
+indicate the size, format 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 coordinates are not part of the file when uniform sampling is
+inherent in the data. Different from matrix binary or ASCII, general
+binary does not treat the generated columns as 1, 2 or 3 in the *note
+using:: list. Rather, column 1 begins with column 1 of the file, or as
+specified in the `format` list.
+
+ 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 `(s)plot <filename> binary ...` command. This syntax is `set
+datafile binary ...`. The general rule is that common command-line
+specified parameters override file-extracted parameters which override
+default parameters.
+
+ *note matrix:: is the default binary format when no keywords
+specific to *note general:: are given, i.e., *note array::, *note
+record::, `format`, *note filetype::.
+
+ General binary data can be entered at the command line via the
+special file name '-'. However, this is intended for use through a
+pipe where programs can exchange binary data, not for keyboards. There
+is no "end of record" character for binary data. Gnuplot continues
+reading from a pipe until it has read the number of points declared in
+the *note array:: qualifier. See *note matrix:: or *note general:: for
+more details.
+
+ The *note index:: keyword is not supported, since the file format
+allows only one surface per file. The *note every:: and *note using::
+filters are supported. *note using:: operates as if the data were read
+in the above triplet form. Binary File Splot Demo.
+(http://www.gnuplot.info/demo/binary.html)
+
+* Menu:
+
+* general::
+* array::
+* record::
+* skip::
+* format::
+* endian::
+* filetype::
+* keywords::
+
+
+File: gnuplot.info, Node: general, Next: array, Prev: binary, Up: binary
+
+3.15.2.1 general
+................
+
+General binary data in which format information is not necessarily part
+of the file can be read by giving further details about the file format
+at the command line. Although the syntax is slightly arcane to the
+casual user, general binary is particularly useful for application
+programs using gnuplot and sending large amounts of data.
+
+ 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., *note array::,
+*note record::, `format` or *note filetype::. Otherwise, matrix binary
+format is assumed. (See *note matrix:: for more details.)
+
+ There are some standard file types that may be read for which
+details about the binary format may be extracted automatically. (Type
+*note binary:: at the command line for a list.) Otherwise, details
+must be specified at the command line or set in the defaults. Keywords
+are described below.
+
+ The keyword *note filetype:: in <binary list> controls the routine
+used to read the file, i.e., the format of the data. For a list of the
+supported file types, type `show datafile binary filetypes`. If no
+file type is given, the rule is that traditional gnuplot binary is
+assumed for `splot` if the *note binary:: keyword stands alone. In all
+other circumstances, for `plot` or when one of the <binary list>
+keywords appears, a raw binary file is assumed whereby the keywords
+specify the binary format.
+
+ General binary data files fall into two basic classes, and some
+files may be of both classes depending upon how they are treated.
+There is that class for which uniform sampling is assumed and point
+coordinates must be generated. This is the class for which full
+control via the <binary list> keywords applies. For this class, the
+settings precedence is that command line parameters override in-file
+parameters, which override default settings. The other class is that
+set of files for which coordinate information is contained within the
+file or there is possibly a non-uniform sampling such as gnuplot binary.
+
+ Other than for the unique data files such as gnuplot binary, one
+should think of binary data as conceptually the same as ASCII data.
+Each point has columns of information which are selected via the
+`<using list>` associated with *note using::. When no `format` string
+is specified, gnuplot will retrieve a number of binary variables equal
+to the largest column given in the `<using list>`. For example, `using
+1:3` will result in three columns being read, of which the second will
+be ignored. There are default using lists based upon the typical
+number of parameters associated with a certain plot type. For example,
+`with image` has a default of `using 1`, while *note rgbimage:: has a
+default of `using 1:2:3`. Note that the special characters for *note
+using:: representing point/line/index generally should not be used for
+binary data. There are keywords in <binary list> that control this.
+
+
+File: gnuplot.info, Node: array, Next: record, Prev: general, Up: binary
+
+3.15.2.2 array
+..............
+
+Describes the sampling array dimensions associated with the binary file.
+The coordinates will be generated by gnuplot. A number must be
+specified for each dimension of the array. For example,
+`array=(10,20)` means the underlying sampling structure is
+two-dimensional with 10 points along the first (x) dimension and 20
+points along the second (y) dimension. A negative number indicates
+that data should be read until the end of file. If there is only one
+dimension, the parentheses may be omitted. A colon can be used to
+separate the dimensions for multiple records. For example,
+`array=25:35` indicates there are two one-dimensional records in the
+file.
+ Note: Gnuplot version 4.2 used the syntax array=128x128 rather than
+ array=(128,128). The older syntax is now deprecated, but may
+ still work if your copy of gnuplot was built to support
+ backwards compatibility.
+
+
+File: gnuplot.info, Node: record, Next: skip, Prev: array, Up: binary
+
+3.15.2.3 record
+...............
+
+This keyword serves the same function as *note array::, having the same
+syntax. However, *note record:: causes gnuplot to not generate
+coordinate information. This is for the case where such information
+may be included in one of the columns of the binary data file.
+
+
+File: gnuplot.info, Node: skip, Next: format, Prev: record, Up: binary
+
+3.15.2.4 skip
+.............
+
+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 ...
+
+
+File: gnuplot.info, Node: format, Next: endian, Prev: skip, Up: binary
+
+3.15.2.5 format
+...............
+
+The default binary format is a float. For more flexibility, the format
+can include details about variable sizes. For example,
+`format="%uchar%int%float"` associates 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 specifications 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 *note using:: specification, the format
+can include discarded columns via the `*` character and have implicit
+repetition via a numerical repeat-field. For example,
+`format="%*2int%3float"` causes gnuplot to discard two ints before
+reading three floats. To list variable sizes, type `show datafile
+binary datasizes`. There are a group of names that are machine
+dependent along with their sizes in bytes for the particular
+compilation. There is also a group of names which attempt to be
+machine independent.
+
+
+File: gnuplot.info, Node: endian, Next: filetype, Prev: format, Up: binary
+
+3.15.2.6 endian
+...............
+
+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
+`endian=little` means treat the binary file as having byte significance
+from least to greatest. The options are
+
+ little: least significant to greatest significance
+ big: greatest significance to least significance
+ 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.
+
+
+File: gnuplot.info, Node: filetype, Next: keywords, Prev: endian, Up:
binary
+
+3.15.2.7 filetype
+.................
+
+For some standard binary file formats gnuplot can extract all the
+necessary information from the file in question. As an example,
+"format=edf" will read ESRF Header File format files. For a list of
+the currently supported file formats, type `show datafile binary
+filetypes`.
+
+ There is a special file type called `auto` for which gnuplot will
+check if the binary file's extension is a quasi-standard extension for
+a supported format.
+
+ Command line keywords may be used to override settings extracted
+from the file. The settings from the file override any defaults. (See
+*note binary:: for details.)
+
+-- AVS --
+
+ `avs` is 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
+alpha/red/green/blue.
+
+-- EDF --
+
+ `edf` is 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
+
+-- PNG --
+
+ 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
+
+
+File: gnuplot.info, Node: keywords, Prev: filetype, Up: binary
+
+3.15.2.8 keywords
+.................
+
+The following keywords apply only when generating coordinates from
+binary data files. That is, the control mapping the individual
+elements of a binary array, matrix, or image to specific x/y/z
+positions.
+
+-- SCAN --
+
+ A great deal of confusion can arise concerning the relationship
+between how gnuplot scans a binary file and the dimensions seen on the
+plot. To lessen the confusion, conceptually think of gnuplot _always_
+scanning the binary file point/line/plane or fast/medium/slow. Then
+this keyword is used to tell gnuplot how to map this scanning
+convention to the Cartesian convention shown in plots, i.e., x/y/z.
+The qualifier for scan is a two or three letter code representing where
+point is assigned (first letter), line is assigned (second letter), and
+plane is assigned (third letter). For example, `scan=yx` means the
+fastest, point-by-point, increment should be mapped along the Cartesian
+y dimension and the middle, line-by-line, increment should be mapped
+along the x dimension.
+
+ When the plotting mode is `plot`, the qualifier code can include the
+two letters x and y. For `splot`, 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 analogous to the x, y and z of
+Cartesian coordinates.
+
+-- TRANSPOSE --
+
+ Shorthand notation for `scan=yx` or `scan=yxz`.
+
+-- DX, DY, DZ --
+
+ When gnuplot generates coordinates, it uses the spacing described by
+these keywords. For example `dx=10 dy=20` would mean space samples
+along the x dimension by 10 and space samples along the y dimension by
+20. `dy` cannot appear if `dx` does not appear. Similarly, `dz`
+cannot appear if `dy` does not appear. If the underlying dimensions
+are greater than the keywords specified, the spacing of the highest
+dimension given is extended to the other dimensions. For example, if
+an image is being read from a file and only `dx=3.5` is given gnuplot
+uses a delta x and delta y of 3.5.
+
+ The following keywords also apply only when generating coordinates.
+However they may also be used with matrix binary files.
+
+-- FLIPX, FLIPY, FLIPZ --
+
+ Sometimes the scanning directions in a binary datafile are not
+consistent with that assumed by gnuplot. These keywords can flip the
+scanning direction along dimensions x, y, z.
+
+-- ORIGIN --
+
+ When gnuplot generates coordinates based upon transposition and
+flip, it attempts to always position the lower left point in the array
+at the origin, i.e., the data lies in the first quadrant of a Cartesian
+system after transpose and flip.
+
+ To position the array somewhere else on the graph, the *note
+origin:: keyword 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 `plot` and a triple for `splot`. For example,
+`origin=(100,100):(100,200)` is for two records in the file and
+intended for plotting in two dimensions. A second example,
+`origin=(0,0,3.5)`, is for plotting in three dimensions.
+
+-- CENTER --
+
+ Similar to *note origin::, this keyword will position the array such
+that its center lies at the point given by the tuple. For example,
+`center=(0,0)`. Center does not apply when the size of the array is
+`Inf`.
+
+-- ROTATE --
+
+ 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 rotational vector described by a
+rotational angle in two dimensions.
+
+ The `rotate` keyword applies to the two-dimensional plane, whether
+it be `plot` or `splot`. The rotation is done with respect to the
+positive angle of the Cartesian plane.
+
+ The angle can be expressed in radians, radians as a multiple of pi,
+or degrees. For example, `rotate=1.5708`, `rotate=0.5pi` and
+`rotate=90deg` are equivalent.
+
+ If *note origin:: is specified, the rotation is done about the lower
+left sample point before translation. Otherwise, the rotation is done
+about the array `center`.
+
+-- PERPENDICULAR --
+
+ For `splot`, the concept of a rotational vector is implemented by a
+triple representing the vector to be oriented normal to the
+two-dimensional x-y plane. Naturally, the default is (0,0,1). Thus
+specifying both rotate and perpendicular together can orient data
+myriad ways in three-space.
+
+ The two-dimensional rotation is done first, followed by the
+three-dimensional rotation. That is, if R' is the rotational 2 x 2
+matrix described by an angle, and P is the 3 x 3 matrix projecting
+(0,0,1) to (xp,yp,zp), let R be constructed from R' at the upper left
+sub-matrix, 1 at element 3,3 and zeros 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-dimensional, logical rules are used to
+place the data in three-space. (E.g., usually setting the z-dimension
+value to zero and placing 2D data in the x-y plane.)
+
+
+File: gnuplot.info, Node: data, Next: errorbars, Prev: binary, Up: plot
+
+3.15.3 data
+-----------
+
+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
+`plot` command line.
+
+ Syntax:
+ plot '<file_name>' {binary <binary list>}
+ {{nonuniform} matrix}
+ {index <index list> | index "<name>"}
+ {every <every list>}
+ {thru <thru expression>}
+ {using <using list>}
+ {smooth <option>}
+ {volatile} {noautoscale}
+
+ The modifiers *note binary::, *note index::, *note every::, *note
+thru::, *note using::, and *note smooth:: are discussed separately. In
+brief, *note binary:: allows data entry from a binary file (default is
+ASCII), *note index:: selects which data sets in a multi-data-set file
+are to be plotted, *note every:: specifies which points within a single
+data set are to be plotted, *note using:: determines how the columns
+within a single record are to be interpreted (*note thru:: is a special
+case of *note using::), and *note smooth:: allows for simple
+interpolation and approximation. (`splot` has a similar syntax, but
+does not support the *note smooth:: and *note thru:: options.)
+
+ The `noautoscale` keyword means that the points making up this plot
+will be ignored when automatically determining axis range limits.
+
+ ASCII DATA FILES:
+
+ Data files should contain at least one data point per record (*note
+using:: can select one data point from the record). Records beginning
+with `#` (and also with `!` on VMS) will be treated as comments and
+ignored. Each data point represents an (x,y) pair. For `plot`s with
+error bars or error bars with lines (see *note errorbars:: or *note
+errorlines::), each data point is (x,y,ydelta), (x,y,ylow,yhigh),
+(x,y,xdelta), (x,y,xlow,xhigh), or (x,y,xlow,xhigh,ylow,yhigh).
+
+ In all cases, the numbers of each record of a data file must be
+separated by white space (one or more blanks or tabs) unless a format
+specifier is provided by the *note using:: option. This white space
+divides each record into columns. However, 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 `set datafile fortran` is in effect.
+
+ Only one column (the y value) need be provided. If x is omitted,
+`gnuplot` provides integer values starting at 0.
+
+ In datafiles, blank records (records with no characters other than
+blanks and a newline and/or carriage return) are significant.
+
+ Single blank records designate discontinuities in a `plot`; no line
+will join points separated by a blank records (if they are plotted with
+a line style).
+
+ Two blank records in a row indicate a break between separate data
+sets. See *note index::.
+
+ If autoscaling has been enabled (*note autoscale::), the axes are
+automatically extended to include all datapoints, with a whole number
+of tic marks if tics are being drawn. This has two consequences: i)
+For `splot`, the corner of the surface may not coincide with the corner
+of the base. In this case, no vertical line is drawn. ii) When
+plotting data with the same x range on a dual-axis graph, the x
+coordinates may not coincide if the x2tics are not being drawn. This
+is because the x axis has been autoextended to a whole number of tics,
+but the x2 axis has not. The following example illustrates the problem:
+
+ reset; plot '-', '-' axes x2y1
+ 1 1
+ 19 19
+ e
+ 1 1
+ 19 19
+ e
+
+ To avoid this, you can use the `fixmin`/`fixmax` feature of the
+*note autoscale:: command, which turns off the automatic extension of
+the axis range up to the next tic mark.
+
+ Label coordinates and text can also be read from a data file (see
+*note labels::).
+
+* Menu:
+
+* every::
+* example_datafile::
+* index::
+* smooth::
+* special-filenames::
+* thru::
+* using::
+* volatile::
+
+
+File: gnuplot.info, Node: every, Next: example_datafile, Prev: data, Up:
data
+
+3.15.3.1 every
+..............
+
+The *note every:: keyword allows a periodic sampling of a data set to
+be plotted.
+
+ In the discussion a "point" is a datum defined by a single record in
+the file; "block" here will mean the same thing as "datablock" (see
+`glossary`).
+
+ 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
+<`start_point`> to <`end_point`> with increment <`point_incr`> and the
+blocks according to a loop from <`start_block`> to <`end_block`> with
+increment <`block_incr`>.
+
+ 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. If *note every:: is not specified, all points in
+all lines are plotted.
+
+ Examples:
+ every :::3::3 # selects just the fourth block ('0' is first)
+ every :::::9 # selects the first 10 blocks
+ every 2:2 # selects every other point in every other block
+ every ::5::15 # selects points 5 through 15 in each block
+
+ See simple plot demos (simple.dem)
+(http://www.gnuplot.info/demo/simple.html) , Non-parametric splot demos
+(http://www.gnuplot.info/demo/surface1.html) , and Parametric splot
+demos (http://www.gnuplot.info/demo/surface2.html) .
+
+
+File: gnuplot.info, Node: example_datafile, Next: index, Prev: every, Up:
data
+
+3.15.3.2 example datafile
+.........................
+
+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 orientation (start
+ # at top left corner) translates to the Cartesian plane. Pixel
+ # spacing is given and there are two images in the file. One of
them
+ # is translated via origin.
+ plot '<file_name>' binary 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 different 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 endian=swap u
1:2:3
+
+ See also *note matrix::.
+
+
+File: gnuplot.info, Node: index, Next: smooth, Prev: example_datafile, Up:
data
+
+3.15.3.3 index
+..............
+
+The *note index:: keyword 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. `index <m>`
+selects only set <m>; `index <m>:<n>` selects sets in the range <m> to
+<n>; and `index <m>:<n>:<p>` selects indices <m>, <m>+<p>, <m>+2<p>,
+etc., but stopping at <n>. Following C indexing, the index 0 is
+assigned to the first data set in the file. Specifying too large an
+index results in an error message. If <p> is specified but <n> is left
+blank then every <p>-th dataset is read until the end of the file. If
+*note index:: is 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 `column(-2)`. This leads
+to an alternative way of distinguishing individual data sets within a
+file as shown below. This is more awkward than the *note index::
+command if all you are doing is selecting one data set for plotting,
+but is very useful if you want to assign different properties to each
+data set. See `pseudocolumns`, `lc variable`.
+
+ Example:
+ plot 'file' using 1:(column(-2)==4 ? $2 : NaN) # very awkward
+ plot 'file' using 1:2:(column(-2)) linecolor variable # very useful!
+
+ `index '<name>'` selects the data set with name '<name>'. Names are
+assigned to data sets in comment lines. The comment character and
+leading white space are removed from the comment line. If the
+resulting line starts with <name>, the following data set is now named
+<name> and can be selected.
+
+ Example:
+ plot 'file' index 'Population'
+
+ Please note that every comment that starts with <name> will name the
+following data set. To avoid problems it may be useful to choose a
+naming scheme like '== Population ==' or '[Population]'.
+
+ splot with indices demo.
+(http://www.gnuplot.info/demo/multimsh.html)</p>
+
+
+File: gnuplot.info, Node: smooth, Next: special-filenames, Prev: index,
Up: data
+
+3.15.3.4 smooth
+...............
+
+`gnuplot` includes a few general-purpose routines for interpolation and
+approximation of data; these are grouped under the *note smooth::
+option. More sophisticated data processing may be performed by
+preprocessing the data externally or by using *note fit:: with an
+appropriate model.
+
+ Syntax:
+ smooth {unique | frequency | cumulative | cnormal | kdensity
+ | csplines | acsplines | bezier | sbezier}
+
+ `unique`, `frequency`, `cumulative` and `cnormal` plot the data after
+making them monotonic. Each of the other routines uses the data to
+determine the coefficients of a continuous curve between the endpoints
+of the data. This curve is then plotted in the same manner as a
+function, that is, by finding its value at uniform intervals along the
+abscissa (see *note samples::) and connecting these points with straight
+line segments (if a line style is chosen).
+
+ If *note autoscale:: is in effect, the ranges will be computed such
+that the plotted curve lies within the borders of the graph.
+
+ If *note autoscale:: is not in effect, and the smooth option is
+either `acspline` or `cspline`, the sampling of the generated curve is
+done across the intersection of the x range covered by the input data
+and the fixed abscissa range as defined by *note xrange::.
+
+ If too few points are available to allow the selected option to be
+applied, an error message is produced. The minimum number is one for
+`unique` and `frequency`, four for `acsplines`, and three for the
+others.
+
+ The *note smooth:: options have no effect on function plots.
+
+-- ACSPLINES --
+
+ The `acsplines` option approximates the data with a "natural
+smoothing spline". After the data are made monotonic in x (see `smooth
+unique`), a curve is piecewise constructed from segments of cubic
+polynomials whose coefficients are found by the weighting the data
+points; the weights are taken from the third column in the data file.
+That default can be modified by the third entry in the *note using::
+list, e.g.,
+ plot 'data-file' using 1:2:(1.0) smooth acsplines
+
+ Qualitatively, the absolute magnitude of the weights determines the
+number of segments used to construct the curve. If the weights are
+large, the effect of each datum is large and the curve approaches that
+produced by connecting consecutive points with natural cubic splines.
+If the weights are small, the curve is composed of fewer segments and
+thus is smoother; the limiting case is the single segment produced by a
+weighted linear least squares fit to all the data. The smoothing
+weight can be expressed in terms of errors as a statistical weight for
+a point divided by a "smoothing factor" for the curve so that
+(standard) errors in the file can be used as smoothing weights.
+
+ Example:
+ sw(x,S)=1/(x*x*S)
+ plot 'data_file' using 1:2:(sw($3,100)) smooth acsplines
+
+-- BEZIER --
+
+ The `bezier` option approximates the data with a Bezier curve of
+degree n (the number of data points) that connects the endpoints.
+
+-- CSPLINES --
+
+ The `csplines` option connects consecutive points by natural cubic
+splines after rendering the data monotonic (see `smooth unique`).
+
+-- SBEZIER --
+
+ The `sbezier` option first renders the data monotonic (`unique`) and
+then applies the `bezier` algorithm.
+
+-- UNIQUE --
+
+ The `unique` option makes the data monotonic in x; points with the
+same x-value are replaced by a single point having the average y-value.
+The resulting points are then connected by straight line segments.
+
+-- FREQUENCY --
+
+ The `frequency` option makes the data monotonic in x; points with
+the same x-value are replaced by a single point having the summed
+y-values. The resulting points are then connected by straight line
+segments. See also smooth.dem
+(http://www.gnuplot.info/demo/smooth.html)
+
+-- CUMULATIVE --
+
+ The `cumulative` option 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
+cumulative distribution function from data. See also smooth.dem
+(http://www.gnuplot.info/demo/smooth.html)
+
+-- CNORMAL --
+
+ The `cnormal` option makes the data monotonic in x and normalises the
+y-values onto the range [0:1]. Points with the same x-value are
+replaced by a single point containing the cumulative sum of y-values of
+all data points with lower x-values (i.e. to the left of the current
+data point) divided by the total sum of all y-values. This can be used
+to obtain a normalised cumulative distribution function from data
+(useful when comparing sets of samples with differing numbers of
+members). See also smooth.dem
+(http://www.gnuplot.info/demo/smooth.html)
+
+-- KDENSITY --
+
+ The `kdensity` option is a way to plot a kernel density estimate
+(which is a smooth histogram) for a random collection of points, using
+Gaussian kernels. A Gaussian is placed at the location of each point
+in the first column and the sum of all these Gaussians is plotted as a
+function. The value in the second column is taken as weight of the
+Gaussian. (To obtain a normalized histogram, this should be
+1/number-of-points). The value of the third column, if supplied, is
+taken as the bandwidth for the kernels. If only two columns have been
+specified, or if the value of the third column is zero or less, gnuplot
+calculates the bandwidth which would be optimal if the input data was
+normally distributed. (This will usually be a very conservative, i.e.
+broad bandwidth.)
+
+
+File: gnuplot.info, Node: special-filenames, Next: thru, Prev: smooth, Up:
data
+
+3.15.3.5 special-filenames
+..........................
+
+There are a few filenames that have a special meaning: ", '-', '+' and
+'++'.
+
+ The empty filename " tells gnuplot to re-use the previous input file
+in the same plot command. So to plot two columns from the same input
+file:
+
+ plot 'filename' using 1:2, '' using 1:3
+
+ The special filenames '+' and '++' are a mechanism to allow the full
+range of *note using:: specifiers and plot styles with in-line
+functions. Normally a function plot can only have a single y (or z)
+value associated with each sampled point. The pseudo-file '+' treats
+the sampled points as column 1, and allows additional column values to
+be specified via a *note using:: specification, just as for a true
+input file. The number of samples returned is controlled by *note
+samples::. Example:
+
+ plot '+' using ($1):(sin($1)):(sin($1)**2) with filledcurves
+
+ Similarly the pseudo-file '++' returns 2 columns of data forming a
+regular grid of [x,y] coordinates with the number of points along x
+controlled by *note samples:: and the number of points along y
+controlled by *note isosamples::. You must set xrange and yrange
+before plotting '++'. Examples:
+
+ splot '++' using 1:2:(sin($1)*sin($2)) with pm3d
+ plot '++' using 1:2:(sin($1)*sin($2)) with image
+
+ The special filename `'-'` specifies that the data are inline; i.e.,
+they follow the command. Only the data follow the command; `plot`
+options like filters, titles, and line styles remain on the `plot`
+command line. This is similar to << in unix shell script, and $DECK in
+VMS DCL. The data are entered as though they are being read from a
+file, one data point per record. The letter "e" at the start of the
+first column terminates data entry. The *note using:: option can be
+applied to these data--using it to filter them through a function might
+make sense, but selecting columns probably doesn't!
+
+ `'-'` is intended for situations where it is useful to have data and
+commands together, e.g., when `gnuplot` is run as a sub-process of some
+front-end application. Some of the demos, for example, might use this
+feature. While `plot` options such as *note index:: and *note every::
+are recognized, their use forces you to enter data that won't be used.
+For example, while
+
+ plot '-' index 0, '-' index 1
+ 2
+ 4
+ 6
+
+ 10
+ 12
+ 14
+ e
+ 2
+ 4
+ 6
+
+ 10
+ 12
+ 14
+ e
+
+ does indeed work,
+
+ plot '-', '-'
+ 2
+ 4
+ 6
+ e
+ 10
+ 12
+ 14
+ e
+
+ is a lot easier to type.
+
+ If you use `'-'` with *note replot::, you may need to enter the data
+more than once. See *note replot::, *note refresh::.
+
+ A blank filename (") specifies that the previous filename should be
+reused. This can be useful with things like
+
+ plot 'a/very/long/filename' using 1:2, '' using 1:3, '' using 1:4
+
+ (If you use both `'-'` and `"` on the same `plot` command, you'll
+need to have two sets of inline data, as in the example above.)
+
+ On systems with a popen function, the datafile can be piped through
+a shell command by starting the file name with a '<'. For example,
+
+ pop(x) = 103*exp(-x/10)
+ plot "< awk '{print $1-1965, $2}' population.dat", pop(x)
+
+ would plot the same information as the first population example but
+with years since 1965 as the x axis. If you want to execute this
+example, you have to delete all 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}' population.dat"
+
+ While this approach is most flexible, it is possible to achieve
+simple filtering with the *note using:: or *note thru:: keywords.
+
+
+File: gnuplot.info, Node: thru, Next: using, Prev: special-filenames, Up:
data
+
+3.15.3.6 thru
+.............
+
+The *note thru:: function is provided for backward compatibility.
+
+ Syntax:
+ plot 'file' thru f(x)
+
+ It is equivalent to:
+
+ plot 'file' using 1:(f($2))
+
+ While the latter appears more complex, it is much more flexible.
+The more natural
+
+ plot 'file' thru f(y)
+
+ also works (i.e. you can use y as the dummy variable).
+
+ *note thru:: is parsed for `splot` and *note fit:: but has no effect.
+
+
+File: gnuplot.info, Node: using, Next: volatile, Prev: thru, Up: data
+
+3.15.3.7 using
+..............
+
+The most common datafile modifier is *note using::. It tells the
+program 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 `datafile separator`.
+
+ Each <entry> may be a simple column number that selects the value
+from one field of the input file, a string that matches a column label
+in the first line of a data set, an expression enclosed in parentheses,
+or a special function not enclosed in parentheses such as xticlabels(2).
+
+ If the entry is an expression in parentheses, then the function
+column(N) may be used to indicate the value in column N. That is,
+column(1) refers to the first item read, column(2) to the second, and
+so on. The special symbols $1, $2, ... are shorthand for column(1),
+column(2) ... The function `valid(N)` tests whether the value in the
+Nth column is a valid number.
+
+ If each column of data in the input file contains a label in the
+first row rather than a data value, this label can be used to identify
+the column on input and/or in the plot legend. The column() function
+can be used to select an input column by label rather than by column
+number. For example, if the data file contains
+ Height Weight Age
+ val1 val1 val1
+ ... ... ...
+
+ then the following plot commands are all equivalent
+ plot 'datafile' using 3:1, '' using 3:2
+ plot 'datafile' using (column("Age")):(column(1)), \
+ '' using (column("Age")):(column(2))
+ plot 'datafile' using "Age":"Height", '' using "Age":"Weight"
+
+ To use the column labels in the plot legend, use *note columnhead::.
+
+ In addition to the actual columns 1...N in the input data file,
+gnuplot presents data from several "pseudo-columns" that hold
+bookkeeping information. E.g. $0 or column(0) returns the sequence
+number of this data record within a dataset. Please see
+`pseudocolumns`.
+
+ An empty <entry> will default to its order in the list of entries.
+For example, `using ::4` is interpreted as `using 1:2:4`.
+
+ If the *note using:: list 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, "`plot 'file' using 1`" is identical to "`plot 'file'
+using 0:1`". If the *note using:: list has two entries, these will be
+used for x and y. See *note style:: and *note fit:: for details about
+plotting styles that make use of data from additional columns of input.
+
+ 'scanf' accepts several numerical specifications but `gnuplot`
+requires all inputs to be double-precision floating-point variables, 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
+double-quotes rather than single-quotes.
+
+-- USING_EXAMPLES --
+
+ This creates a plot of the sum of the 2nd and 3rd data against the
+first: The format string specifies comma- rather than space-separated
+columns. The same result could be achieved by specifying `set datafile
+separator ","`.
+ 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 default)
+ %*20[^\n] ignore 20 non-newline characters
+ %lf read a double-precision number (y by default)
+
+ One trick is to use the ternary `?:` operator to filter data:
+
+ plot 'file' using 1:($3>10 ? $2 : 1/0)
+
+ which plots the datum in column two against that in column one
+provided the datum in column three exceeds ten. `1/0` is undefined;
+`gnuplot` quietly 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 parenthesis; constructs like
+`using 0+(complicated expression)` can be used. The crucial point is
+that the expression is evaluated once if it doesn't start with a left
+parenthesis, or once for each data point read if it does.
+
+ If timeseries data are being used, the time can span multiple
+columns. The starting column should be specified. Note that the
+spaces within the time must be included when calculating starting
+columns for other data. E.g., if the first element on a line is a time
+with an embedded space, the y value should be specified as column three.
+
+ It should be noted that `plot 'file'`, `plot 'file' using 1:2`, and
+`plot 'file' using ($1):($2)` can be subtly different: 1) if `file` has
+some lines with one column and some with two, the first will invent x
+values when they are missing, the second will quietly ignore the lines
+with one column, and the third will store an undefined value for lines
+with one point (so that in a plot with lines, no line joins points
+across the bad point); 2) if a line contains text at the first column,
+the first will abort the plot on an error, but the second and third
+should quietly skip the garbage.
+
+ In fact, it is often possible to plot a file with lots of lines of
+garbage at the top simply by specifying
+
+ plot 'file' using 1:2
+
+ However, if you want to leave text in your data files, it is safer
+to put the comment character (#) in the first column of the text lines.
+
+-- PSEUDOCOLUMNS --
+
+ Expressions in the *note using:: clause 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 and is reset by two sequential
blank
+ records. The shorthand form $0 is available.
+ column(-1) This counter starts at 0 and is reset by a single blank
line.
+ This corresponds to the data line in array or grid data.
+ column(-2) The index number of the current data set within a file
that
+ contains multiple data sets. See *note index::.
+
+-- XTICLABELS --
+
+ 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(stringcolumn(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 `ticlabels(<labelcol>)` specifiers must come after all of
+the data coordinate specifiers in the *note using:: portion 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. `xticlabels()` may be shortened to `xtic()` and 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" depending on the value in column 3.
+
+-- X2TICLABELS --
+
+ See `plot using xticlabels`.
+
+-- YTICLABELS --
+
+ See `plot using xticlabels`.
+
+-- Y2TICLABELS --
+
+ See `plot using xticlabels`.
+
+-- ZTICLABELS --
+
+ See `plot using xticlabels`.
+
+
+File: gnuplot.info, Node: volatile, Prev: using, Up: data
+
+3.15.3.8 volatile
+.................
+
+The *note volatile:: keyword in a plot command indicates that the data
+previously read from the input stream or file may not be available for
+re-reading. This tells the program to use *note refresh:: rather than
+*note replot:: commands whenever possible. See *note refresh::.
+
+
+File: gnuplot.info, Node: errorbars, Next: errorlines, Prev: data, Up: plot
+
+3.15.4 errorbars
+----------------
+
+Error bars are supported for 2D data file plots by reading one to four
+additional columns (or *note using:: entries); these additional values
+are used in different ways by the various errorbar styles.
+
+ In the default situation, `gnuplot` expects to see three, four, or
+six numbers on each line of the data file--either
+
+ (x, y, ydelta),
+ (x, y, ylow, yhigh),
+ (x, y, xdelta),
+ (x, y, xlow, xhigh),
+ (x, y, xdelta, ydelta), or
+ (x, y, xlow, xhigh, ylow, yhigh).
+
+ The x coordinate must be specified. The order of the numbers must be
+exactly as given above, though the *note using:: qualifier can
+manipulate the order and provide values for missing columns. For
+example,
+
+ plot 'file' with errorbars
+ plot 'file' using 1:2:(sqrt($1)) with xerrorbars
+ plot 'file' using 1:2:($1-$3):($1+$3):4:5 with xyerrorbars
+
+ The last example is for a file containing an unsupported combination
+of relative x and absolute y errors. The *note using:: entry generates
+absolute x min and max from the relative error.
+
+ The y error bar is a vertical line plotted from (x, ylow) to (x,
+yhigh). If ydelta is specified instead of ylow and yhigh, ylow = y -
+ydelta and yhigh = y + ydelta are derived. If there are only two
+numbers on the record, yhigh and ylow are both set to y. The x error
+bar is a horizontal line computed in the same fashion. To get lines
+plotted between the data points, `plot` the data file twice, once with
+errorbars and once with lines (but remember to use the `notitle` option
+on one to avoid two entries in the key). Alternately, use the
+errorlines command (see *note errorlines::).
+
+ The error bars have crossbars at each end unless *note bars:: is used
+(see *note bars:: for details).
+
+ If autoscaling is on, the ranges will be adjusted to include the
+error bars.
+
+ See also errorbar demos. (http://www.gnuplot.info/demo/mgr.html)
+
+ See *note using::, *note with::, and *note style:: for more
+information.
+
+
+File: gnuplot.info, Node: errorlines, Next: functions, Prev: errorbars,
Up: plot
+
+3.15.5 errorlines
+-----------------
+
+Lines with error bars are supported for 2D data file plots by reading
+one to four additional columns (or *note using:: entries); these
+additional values are used in different ways by the various errorlines
+styles.
+
+ In the default situation, `gnuplot` expects to see three, four, or
+six numbers on each line of the data file--either
+
+ (x, y, ydelta),
+ (x, y, ylow, yhigh),
+ (x, y, xdelta),
+ (x, y, xlow, xhigh),
+ (x, y, xdelta, ydelta), or
+ (x, y, xlow, xhigh, ylow, yhigh).
+
+ The x coordinate must be specified. The order of the numbers must be
+exactly as given above, though the *note using:: qualifier can
+manipulate the order and provide values for missing columns. For
+example,
+
+ plot 'file' with errorlines
+ plot 'file' using 1:2:(sqrt($1)) with xerrorlines
+ plot 'file' using 1:2:($1-$3):($1+$3):4:5 with xyerrorlines
+
+ The last example is for a file containing an unsupported combination
+of relative x and absolute y errors. The *note using:: entry generates
+absolute x min and max from the relative error.
+
+ The y error bar is a vertical line plotted from (x, ylow) to (x,
+yhigh). If ydelta is specified instead of ylow and yhigh, ylow = y -
+ydelta and yhigh = y + ydelta are derived. If there are only two
+numbers on the record, yhigh and ylow are both set to y. The x error
+bar is a horizontal line computed in the same fashion.
+
+ The error bars have crossbars at each end unless *note bars:: is used
+(see *note bars:: for details).
+
+ If autoscaling is on, the ranges will be adjusted to include the
+error bars.
+
+ See *note using::, *note with::, and *note style:: for more
+information.
+
+
+File: gnuplot.info, Node: functions, Next: parametric, Prev: errorlines,
Up: plot
+
+3.15.6 functions
+----------------
+
+Built-in or user-defined functions can be displayed by the `plot` and
+`splot` commands 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 *note samples:: and *note
+isosamples::. 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 `set style function`.
+For information on built-in functions, see *note functions::. For
+information on defining your own functions, see `user-defined`.
+
+
+File: gnuplot.info, Node: parametric, Next: ranges, Prev: functions, Up:
plot
+
+3.15.7 parametric
+-----------------
+
+When in parametric mode (`set parametric`) mathematical expressions
+must be given in pairs for `plot` and in triplets for `splot`.
+
+ 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 (`sin(t)` above) and the y
+parametric function (`t**2` above) must not be interrupted with any
+modifiers or data functions; doing so will generate a syntax error
+stating that the parametric function is not fully specified.
+
+ Other modifiers, such as *note with:: and *note title::, 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.
+(http://www.gnuplot.info/demo/param.html)
+
+
+File: gnuplot.info, Node: ranges, Next: iteration_, Prev: parametric, Up:
plot
+
+3.15.8 ranges
+-------------
+
+The optional ranges specify the region of the graph that will be
+displayed. Note that if you specify the range as part of a plot
+command rather than using a separate `set range` statement, you will
+not be able to pan or zoom the plot interactively, and will not be able
+to change the range later and then *note replot::.
+
+ Syntax:
+ [{<dummy-var>=}{{<min>}:{<max>}}]
+ [{{<min>}:{<max>}}]
+
+ The first form applies to the independent variable (*note xrange::
+or *note trange::, if in parametric mode). The second form applies to
+the dependent variable *note yrange:: (and *note xrange::, too, if in
+parametric mode). <dummy-var> is a new name for the independent
+variable. (The defaults may be changed with *note dummy::.) The
+optional <min> and <max> terms can be constant expressions or *.
+
+ In non-parametric mode, the order in which ranges must be given is
+*note xrange:: and *note yrange::.
+
+ In parametric mode, the order for the `plot` command is *note
+trange::, *note xrange::, and *note yrange::. The following `plot`
+command shows setting the *note trange:: to [-pi:pi], the *note
+xrange:: to [-1.3:1.3] and the *note yrange:: to [-1:1] for the
+duration of the graph:
+
+ plot [-pi:pi] [-1.3:1.3] [-1:1] sin(t),t**2
+
+ Note that the x2range and y2range cannot be specified here--*note
+x2range:: and *note y2range:: must be used.
+
+ Ranges are interpreted in the order listed above for the appropriate
+mode. Once all those needed are specified, no further ones must be
+listed, but unneeded ones cannot be skipped--use an empty range `[]` as
+a placeholder.
+
+ `*` can be used to allow autoscaling of either of min and max. See
+also *note autoscale::.
+
+ Ranges specified on the `plot` or `splot` command line affect only
+that graph; use the *note xrange::, *note yrange::, etc., commands to
+change the default ranges for future graphs.
+
+ With time data, you must provide the range (in the same manner as
+the time appears in the datafile) within quotes. `gnuplot` uses the
+*note timefmt:: string to read the value--see *note timefmt::.
+
+ Examples:
+
+ This uses the current ranges:
+ plot cos(x)
+
+ This sets the x range only:
+ plot [-10:30] sin(pi*x)/(pi*x)
+
+ This is the same, but uses t as the dummy-variable:
+ plot [t = -10 :30] sin(pi*t)/(pi*t)
+
+ This sets both the x and y ranges:
+ plot [-pi:pi] [-3:3] tan(x), 1/x
+
+ This sets only the y range, and turns off autoscaling on both axes:
+ plot [ ] [-2:sin(5)*-8] sin(x)**besj0(x)
+
+ This sets xmax and ymin only:
+ plot [:200] [-pi:] exp(sin(x))
+
+ This sets the x range for a timeseries:
+ set timefmt "%d/%m/%y %H:%M"
+ plot ["1/6/93 12:00":"5/6/93 12:00"] 'timedata.dat'
+
+
+File: gnuplot.info, Node: iteration_, Next: title, Prev: ranges, Up: plot
+
+3.15.9 iteration
+----------------
+
+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. Iteration can not be nested.
+
+ This will plot one curve, sin(3x), because iteration ends at the
+comma
+ plot for [i=1:3] j=i, sin(j*x)
+
+ This will plot three curves because there is no comma after the
+definition of j
+ plot for [i=1:3] j=i 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:
+ 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 is example does exactly the same thing as the previous example,
+but uses the string iterator form of the command rather than an integer
+iterator.
+
+
+File: gnuplot.info, Node: title, Next: with, Prev: iteration_, Up: plot
+
+3.15.10 title
+-------------
+
+By default each plot is listed in the key by the corresponding function
+or file name. You can give an explicit plot title instead using the
+*note title:: option.
+
+ Syntax:
+ title <text> | notitle [<ignored text>]
+ title columnheader | title columnheader(N)
+
+ where <text> is a quoted string or an expression that evaluates to a
+string. The quotes will not be shown in the key.
+
+ 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 `datastrings`. This can be made the default
+by specifying *note columnhead::.
+
+ The line title and sample can be omitted from the key by using the
+keyword `notitle`. A null title (`title "`) is equivalent to
+`notitle`. If only the sample is wanted, use one or more blanks
+(`title ' '`). If `notitle` is followed by a string this string is
+ignored.
+
+ If `key autotitles` is set (which is the default) and neither *note
+title:: nor `notitle` are specified the line title is the function name
+or the file name as it appears on the `plot` command. If it is a file
+name, any datafile modifiers specified will be included in the default
+title.
+
+ The layout of the key itself (position, title justification, etc.)
+can be controlled by `set key`. Please see `set key` for details.
+
+ Examples:
+
+ This plots y=x with the title 'x':
+ plot x
+
+ This plots x squared with title "x^2" and file "data.1" with title
+"measured data":
+ plot x**2 title "x^2", 'data.1' t "measured data"
+
+ This puts an untitled circular border around a polar graph:
+ set polar; plot my_function(t), 1 notitle
+
+ Plot multiple columns of data, each of which contains its own title
+in the file
+ plot for [i=1:4] 'data' using i title columnhead
+
+
+File: gnuplot.info, Node: with, Prev: title, Up: plot
+
+3.15.11 with
+------------
+
+Functions and data may be displayed in one of a large number of styles.
+The *note with:: keyword 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>}
+ {fill | fs <fillstyle>}
+ {nohidden3d} {nocontours} {nosurface}
+ {palette}}
+ }
+
+ where <style> is one of
+
+ lines dots steps errorbars xerrorbar
xyerrorlines
+ points impulses fsteps errorlines xerrorlines
yerrorbars
+ linespoints labels histeps financebars xyerrorbars
yerrorlines
+ vectors
+
+ or
+ boxes candlesticks image circles
+ boxerrorbars filledcurves rgbimage ellipses
+ boxxyerrorbars histograms rgbalpha pm3d
+ boxplot
+
+ The first group of styles have associated line, point, and text
+properties. The second group of styles also have fill properties. See
+`fillstyle`. Some styles have further sub-styles. See `plotting
+styles` for details of each.
+
+ A default style may be chosen by `set style function` and `set style
+data`.
+
+ 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 *note test::.
+
+ 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 *note test:: to 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 *note pointsize:: for details. But note that both
+<point_size> as set here and as set by *note pointsize:: multiply the
+default point size--their effects are not cumulative. That is, `set
+pointsize 2; plot x w p ps 3` will use points three times default size,
+not six.
+
+ It is also possible to specify `pointsize variable` either as part
+of a line style or for an individual plot. In this case one extra
+column of input is required, i.e. 3 columns for a 2D plot and 4 columns
+for a 3D splot. The size of each individual point is determined by
+multiplying the global pointsize by the value read from the data file.
+
+ If you have defined specific line type/width and point type/size
+combinations with `set style line`, one of these may be selected by
+setting <line_style> to the index of the desired style.
+
+ If gnuplot was built with *note pm3d:: support, the special keyword
+*note palette:: is allowed for smooth color change of lines, points and
+dots in `splots`. The color is chosen from a smooth palette which was
+set previously with the command *note palette::. The color value
+corresponds to the z-value of the point coordinates or to the color
+coordinate if specified by the 4th parameter in *note using::. Both 2D
+and 3D plots (`plot` and `splot` commands) can use palette colors as
+specified by either their fractional value or the corresponding value
+mapped to the colorbox range. A palette color value can also be read
+from an explicitly specified input column in the *note using::
+specifier. See `colors`, *note palette::, `linetype`.
+
+ The keyword `nohidden3d` applies only to plots made with the `splot`
+command. Normally the global option *note hidden3d:: applies to all
+plots in the graph. You can attach the `nohidden3d` option to any
+individual plots that you want to exclude from the hidden3d processing.
+The individual elements other than surfaces (i.e. lines, dots, labels,
+...) of a plot marked `nohidden3d` will all be drawn, even if they
+would normally be obscured by other plot elements.
+
+ Similarly, the keyword `nocontours` will turn off contouring for an
+individual plot even if the global property *note contour:: is active.
+
+ Similarly, the keyword `nosurface` will turn off the 3D surface for
+an individual plot even if the global property *note surface:: is
+active.
+
+ The keywords may be abbreviated as indicated.
+
+ Note that the `linewidth`, *note pointsize:: and *note palette::
+options are not supported by all terminals.
+
+ Examples:
+
+ This plots sin(x) with impulses:
+ plot sin(x) with impulses
+
+ This plots x with points, x**2 with the default:
+ plot x w points, x**2
+
+ This plots tan(x) with the default function style, file "data.1"
+with lines:
+ plot [ ] [-2:5] tan(x), 'data.1' with l
+
+ This plots "leastsq.dat" with impulses:
+ plot 'leastsq.dat' w i
+
+ This plots the data file "population" with boxes:
+ plot 'population' with boxes
+
+ This plots "exper.dat" with errorbars and lines connecting the points
+(errorbars require three or four columns):
+ plot 'exper.dat' w lines, 'exper.dat' notitle w errorbars
+
+ Another way to plot "exper.dat" with errorlines (errorbars require
+three or four columns):
+ plot 'exper.dat' w errorlines
+
+ This plots sin(x) and cos(x) with linespoints, using the same line
+type but different point types:
+ plot sin(x) with linesp lt 1 pt 3, cos(x) with linesp lt 1 pt 4
+
+ This plots file "data" with points of type 3 and twice usual size:
+ plot 'data' with points pointtype 3 pointsize 2
+
+ This plots 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 y1=10
+
+ This plots x*x and a color box:
+ plot x*x, (x>=-5 && x<=5 ? 40 : 1/0) with filledcurve y1=10 lt 8
+
+ This plots a surface with color lines:
+ splot x*x-y*y with line palette
+
+ This plots two color surfaces at different altitudes:
+ splot x*x-y*y with pm3d, x*x+y*y with pm3d at t
+
+
+File: gnuplot.info, Node: print, Next: pwd, Prev: plot, Up: Commands
+
+3.16 print
+==========
+
+The *note print:: command prints the value of <expression> to the
+screen. It is synonymous with `pause 0`. <expression> may be anything
+that `gnuplot` can evaluate that produces a number, or it can be a
+string.
+
+ Syntax:
+ print <expression> {, <expression>, ...}
+
+ See `expressions`. The output file can be set with *note print::.
+
+
+File: gnuplot.info, Node: pwd, Next: quit, Prev: print, Up: Commands
+
+3.17 pwd
+========
+
+The *note pwd:: command prints the name of the working directory to the
+screen.
+
+ Note that if you wish to store the current directory into a string
+variable or use it in string expressions, then you can use variable
+GPVAL_PWD, see `show variables all`.
+
+
+File: gnuplot.info, Node: quit, Next: raise, Prev: pwd, Up: Commands
+
+3.18 quit
+=========
+
+The *note exit:: and *note quit:: commands and END-OF-FILE character
+will exit `gnuplot`. Each of these commands will clear the output
+device (as does the *note clear:: command) before exiting.
+
+
+File: gnuplot.info, Node: raise, Next: refresh, Prev: quit, Up: Commands
+
+3.19 raise
+==========
+
+Syntax:
+ raise {plot_window_nb}
+
+ The *note raise:: command raises (opposite to *note lower::) plot
+window(s) associated with the interactive terminal of your gnuplot
+session, i.e. `pm`, `win`, `wxt` or `x11`. It puts the plot window to
+front (top) in the z-order windows stack of the window manager of your
+desktop.
+
+ As `x11` and `wxt` support multiple plot windows, then by default
+they raise these windows in descending order of most recently created
+on top to the least recently created on bottom. If a plot number is
+supplied as an optional parameter, only the associated plot window will
+be raised if it exists.
+
+ The optional parameter is ignored for single plot-windows terminal,
+i.e. `pm` and `win`.
+
+ If the window is not raised under X11, then perhaps the plot window
+is running in a different X11 session (telnet or ssh session, for
+example), or perhaps raising is blocked by your window manager policy
+setting.
+
+
+File: gnuplot.info, Node: refresh, Next: replot, Prev: raise, Up: Commands
+
+3.20 refresh
+============
+
+The *note refresh:: command is similar to *note replot::, with two
+major differences. *note refresh:: reformats and redraws the current
+plot using the data already read in. This means that you can use *note
+refresh:: for plots with in-line data (pseudo-device '-') and for plots
+from datafiles whose contents are volatile. You cannot use the *note
+refresh:: command to add new data to an existing plot.
+
+ Mousing operations, in particular zoom and unzoom, will use *note
+refresh:: rather than *note replot:: if 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
+
+
+File: gnuplot.info, Node: replot, Next: reread, Prev: refresh, Up: Commands
+
+3.21 replot
+===========
+
+The *note replot:: command without arguments repeats the last `plot` or
+`splot` command. This can be useful for viewing a plot with different
+`set` options, or when generating the same plot for several devices.
+
+ Arguments specified after a *note replot:: command will be added
+onto the last `plot` or `splot` command (with an implied ',' separator)
+before it is repeated. *note replot:: accepts the same arguments as
+the `plot` and `splot` commands except that ranges cannot be specified.
+Thus you can use *note replot:: to plot a function against the second
+axes if the previous command was `plot` but not if it was `splot`.
+
+ 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 *note refresh::
+command instead, which will redraw the plot using the data previously
+read in.
+
+ Note that *note replot:: does not work in *note multiplot:: mode,
+since it reproduces only the last plot rather than the entire screen.
+
+ See also `command-line-editing` for ways to edit the last `plot`
+(`splot`) command.
+
+ See also `show plot` to show the whole current plotting command, and
+the possibility to copy it into the `history`.
+
+
+File: gnuplot.info, Node: reread, Next: reset, Prev: replot, Up: Commands
+
+3.22 reread
+===========
+
+The *note reread:: command causes the current `gnuplot` command file,
+as specified by a `load` command or on the command line, to be reset to
+its starting point before further commands are read from it. This
+essentially implements an endless loop of the commands from the
+beginning of the command file to the *note reread:: command. (But this
+is not necessarily a disaster--*note reread:: can be very useful when
+used in conjunction with `if`.) The *note reread:: command has no
+effect if input from standard input.
+
+ Examples:
+
+ Suppose the file "looper" contains the commands
+ a=a+1
+ plot sin(x*a)
+ pause -1
+ if(a<5) reread
+
+ and from within `gnuplot` you submit the commands
+ a=0
+ load 'looper'
+
+ The result will be five plots (separated by the *note pause::
+message).
+
+ Suppose the file "data" contains six columns of numbers with a total
+yrange from 0 to 10; the first is x and the next are five different
+functions of x. Suppose also that the file "plotter" contains the
+commands
+ c_p = c_p+1
+ plot "$0" using 1:c_p with lines linetype c_p
+ if(c_p < n_p) reread
+
+ and from within `gnuplot` you submit the commands
+ n_p=6
+ c_p=1
+ unset key
+ set yrange [0:10]
+ set multiplot
+ call 'plotter' 'data'
+ unset multiplot
+
+ The result is a single graph consisting of five plots. The yrange
+must be set explicitly to guarantee that the five separate graphs
+(drawn on top of each other in multiplot mode) will have exactly the
+same axes. The linetype must be specified; otherwise all the plots
+would be drawn with the same type. See animate.dem in demo directory
+for an animated example.
+
+
+File: gnuplot.info, Node: reset, Next: save, Prev: reread, Up: Commands
+
+3.23 reset
+==========
+
+The *note reset:: command causes all graph-related options that can be
+set with the `set` command to take on their default values. This
+command is useful, e.g., to restore the default graph settings at the
+end of a command file, or to return to a defined state after lots of
+settings have been changed within a command file. Please refer to the
+`set` command to see the default values that the various options take.
+
+ The following are _not_ affected by *note reset::.
+ `set term` *note output:: *note loadpath:: *note fontpath:: `set
linetype`
+ *note encoding:: *note decimalsign:: *note locale:: *note psdir::
+
+ `reset errors` clears only the error state variables GPVAL_ERRNO and
+GPVAL_ERRMSG.
+
+ `reset bind` restores all hotkey bindings to their default state.
+
+
+File: gnuplot.info, Node: save, Next: set-show, Prev: reset, Up: Commands
+
+3.24 save
+=========
+
+The *note save:: command saves user-defined functions, variables, the
+`set term` status, all `set` options, or all of these, plus the last
+`plot` (`splot`) command to the specified file.
+
+ Syntax:
+ save {<option>} '<filename>'
+
+ where <option> is *note functions::, *note variables::, *note
+terminal:: or `set`. If no option is used, `gnuplot` saves functions,
+variables, `set` options and the last `plot` (`splot`) command.
+
+ *note save::d files are written in text format and may be read by the
+`load` command. For *note save:: with the `set` option or without any
+option, the *note terminal:: choice and the *note output:: filename 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.
+
+ *note terminal:: will write out just the *note terminal:: status,
+without the comment marker in front of it. This is mainly useful for
+switching the *note terminal:: setting for a short while, and getting
+back to the previously set terminal, afterwards, by loading the saved
+*note terminal:: status. Note that for a single gnuplot session you may
+rather use the other method of saving and restoring current terminal by
+the commands `set term push` and `set term pop`, see `set term`.
+
+ The filename must be enclosed in quotes.
+
+ The special filename "-" may be used to *note save:: commands 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
+`gnuplot`'s internal settings to programs which communicate with
+`gnuplot` through a pipe. Please see help for `batch/interactive` for
+more details.
+
+ Examples:
+ save 'work.gnu'
+ save functions 'func.dat'
+ save var 'var.dat'
+ save set 'options.dat'
+ save term 'myterm.gnu'
+ save '-'
+ save '|grep title >t.gp'
+
+
+File: gnuplot.info, Node: set-show, Next: shell, Prev: save, Up: Commands
+
+3.25 set-show
+=============
+
+The `set` command can be used to set _lots_ of options. No screen is
+drawn, however, until a `plot`, `splot`, or *note replot:: command is
+given.
+
+ The `show` command shows their settings; `show all` shows all the
+settings.
+
+ Options changed using `set` can be returned to the default state by
+giving the corresponding *note unset:: command. See also the *note
+reset:: command, which returns all settable parameters to default
+values.
+
+ If a variable contains time/date data, `show` will display it
+according to the format currently defined by *note timefmt::, even if
+that was not in effect when the variable was initially defined.
+
+ The `set` and *note unset:: commands may optionally contain an
+iteration clause. See *note iteration::.
+
+* Menu:
+
+* angles::
+* arrow::
+* autoscale::
+* bars::
+* bind_::
+* bmargin::
+* border::
+* boxwidth::
+* clabel::
+* clip::
+* cntrparam::
+* color_box::
+* colornames::
+* contour::
+* data_style::
+* datafile::
+* decimalsign::
+* dgrid3d::
+* dummy::
+* encoding::
+* fit_::
+* fontpath::
+* format_::
+* function_style::
+* functions_::
+* grid::
+* hidden3d::
+* historysize::
+* isosamples::
+* key::
+* label::
+* linetype::
+* lmargin::
+* loadpath::
+* locale::
+* logscale::
+* macros::
+* mapping::
+* margin::
+* mouse::
+* multiplot::
+* mx2tics::
+* mxtics::
+* my2tics::
+* mytics::
+* mztics::
+* object::
+* offsets::
+* origin::
+* output::
+* parametric_::
+* plot_::
+* pm3d::
+* palette::
+* pointintervalbox::
+* pointsize::
+* polar_::
+* print_::
+* psdir::
+* raxis::
+* rmargin::
+* rrange::
+* rtics::
+* samples::
+* size::
+* style::
+* surface::
+* table::
+* terminal::
+* termoption::
+* tics::
+* ticslevel::
+* ticscale::
+* timestamp::
+* timefmt::
+* title_::
+* tmargin::
+* trange::
+* urange::
+* variables::
+* version::
+* view::
+* vrange::
+* x2data::
+* x2dtics::
+* x2label::
+* x2mtics::
+* x2range::
+* x2tics::
+* x2zeroaxis::
+* xdata::
+* xdtics::
+* xlabel::
+* xmtics::
+* xrange::
+* xtics::
+* xyplane::
+* xzeroaxis::
+* y2data::
+* y2dtics::
+* y2label::
+* y2mtics::
+* y2range::
+* y2tics::
+* y2zeroaxis::
+* ydata::
+* ydtics::
+* ylabel::
+* ymtics::
+* yrange::
+* ytics::
+* yzeroaxis::
+* zdata::
+* zdtics::
+* zzeroaxis::
+* cbdata::
+* cbdtics::
+* zero::
+* zeroaxis::
+* zlabel::
+* zmtics::
+* zrange::
+* ztics::
+* cblabel::
+* cbmtics::
+* cbrange::
+* cbtics::
+
+
+File: gnuplot.info, Node: angles, Next: arrow, Prev: set-show, Up: set-show
+
+3.25.1 angles
+-------------
+
+By default, `gnuplot` assumes the independent variable in polar graphs
+is in units of radians. If `set angles degrees` is specified before
+`set polar`, 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 *note mapping:: command.
+
+ Syntax:
+ set angles {degrees | radians}
+ show angles
+
+ The angle specified in `set grid polar` is also read and displayed
+in the units specified by *note angles::.
+
+ *note angles:: also affects the arguments of the machine-defined
+functions sin(x), cos(x) and tan(x), and the outputs of asin(x),
+acos(x), atan(x), atan2(x), and arg(x). It has no effect on the
+arguments of hyperbolic functions or Bessel functions. However, the
+output arguments of inverse hyperbolic functions of complex arguments
+are affected; if these functions are used, `set angles radians` 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 *note angles:: demo.
+(http://www.gnuplot.info/demo/poldat.html)
+
+
+File: gnuplot.info, Node: arrow, Next: autoscale, Prev: angles, Up:
set-show
+
+3.25.2 arrow
+------------
+
+Arbitrary arrows can be placed on a plot using the *note arrow::
+command.
+
+ Syntax:
+ set arrow {<tag>} {from <position>} {to|rto <position>}
+ { {arrowstyle | as <arrow_style>}
+ | { {nohead | head | backhead | heads}
+ {size <length>,<angle>{,<backangle>}}
+ {filled | empty | nofilled}
+ {front | back}
+ { {linestyle | ls <line_style>}
+ | {linetype | lt <line_type>}
+ {linewidth | lw <line_width} } } }
+
+ unset arrow {<tag>}
+ show arrow {<tag>}
+
+ <tag> is an integer that identifies the arrow. If no tag is given,
+the lowest unused tag value is assigned automatically. The tag can be
+used to delete or change a specific arrow. To change any attribute of
+an existing arrow, use the *note arrow:: command with the appropriate
+tag and specify the parts of the arrow to be changed.
+
+ The <position>s are specified by either x,y or x,y,z, and may be
+preceded by `first`, `second`, `graph`, `screen`, or `character` to
+select the coordinate system. Unspecified coordinates default to 0.
+The end points can be specified in one of five coordinate
+systems--`first` or `second` axes, `graph`, `screen`, or `character`.
+See `coordinates` for details. A coordinate system specifier does not
+carry over from the "from" position to the "to" position. Arrows
+outside the screen boundaries are permitted but may cause device
+errors. If the end point is specified by "rto" instead of "to" it is
+drawn relatively to the start point. For linear axes, `graph` and
+`screen` coordinates, the distance between the start and the end point
+corresponds to the given relative coordinate. For logarithmic axes, the
+relative given coordinate corresponds to the factor of the coordinate
+between start and end point. Thus, a negative relative value or zero
+are not allowed for logarithmic axes.
+
+ Specifying `nohead` produces an arrow drawn without a head--a line
+segment. This gives you yet another way to draw a line segment on the
+plot. By default, an arrow has a head at its end. Specifying
+`backhead` draws an arrow head at the start point of the arrow while
+`heads` draws arrow heads on both ends of the line. Not all terminal
+types support double-ended arrows.
+
+ Head size can be controlled by `size <length>,<angle>` or `size
+<length>,<angle>,<backangle>`, where `<length>` defines length of each
+branch of the arrow head and `<angle>` the angle (in degrees) they make
+with the arrow. `<Length>` is in x-axis units; this can be changed by
+`first`, `second`, `graph`, `screen`, or `character` before the
+<length>; see `coordinates` for details. `<Backangle>` only takes
+effect when `filled` or `empty` is also used. Then, `<backangle>` is
+the angle (in degrees) the back branches make with the arrow (in the
+same direction as `<angle>`). The `fig` terminal has a restricted
+backangle function. It supports three different angles. There are two
+thresholds: Below 70 degrees, the arrow head gets an indented back
+angle. Above 110 degrees, the arrow head has an acute back angle.
+Between these thresholds, the back line is straight.
+
+ Specifying `filled` produces filled arrow heads (if heads are used).
+Filling is supported on filled-polygon capable terminals, see help of
+*note pm3d:: for their list, otherwise the arrow heads are closed but
+not filled. The same result (closed but not filled arrow head) is
+reached by specifying `empty`. Further, filling and outline is
+obviously not supported on terminals drawing arrows by their own
+specific routines, like `metafont`, `metapost`, `latex` or `tgif`.
+
+ The line style may be selected from a user-defined list of line
+styles (see `set style line`) or may be defined here by providing
+values for <line_type> (an index from the default list of styles)
+and/or <line_width> (which is a multiplier for the default width).
+
+ Note, however, that if a user-defined line style has been selected,
+its properties (type and width) cannot be altered merely by issuing
+another *note arrow:: command with the appropriate index and `lt` or
+`lw`.
+
+ If `front` is given, the arrow is written on top of the graphed
+data. If `back` is given (the default), the arrow is written underneath
+the graphed data. Using `front` will prevent an arrow from being
+obscured by dense data.
+
+ Examples:
+
+ To set an arrow pointing from the origin to (1,2) with user-defined
+style 5, use:
+ set arrow to 1,2 ls 5
+
+ To set an arrow from bottom left of plotting area to (-5,5,3), and
+tag the arrow number 3, use:
+ set arrow 3 from graph 0,0 to -5,5,3
+
+ To change the preceding arrow to end at 1,1,1, without an arrow head
+and double its width, use:
+ set arrow 3 to 1,1,1 nohead lw 2
+
+ To draw a vertical line from the bottom to the top of the graph at
+x=3, use:
+ set arrow from 3, graph 0 to 3, graph 1 nohead
+
+ To draw a vertical arrow with T-shape ends, use:
+ set arrow 3 from 0,-5 to 0,5 heads size screen 0.1,90
+
+ To draw an arrow relatively to the start point, where the 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. (http://www.gnuplot.info/demo/arrowstyle.html)
+
+
+File: gnuplot.info, Node: autoscale, Next: bars, Prev: arrow, Up: set-show
+
+3.25.3 autoscale
+----------------
+
+Autoscaling may be set individually on the x, y or z axis or globally
+on all axes. The default is to autoscale all axes. If you want to
+autoscale based on a subset of the plots in the figure, you can mark
+the other ones with the flag `noautoscale`. See *note datafile::.
+
+ Syntax:
+ set autoscale {<axes>{|min|max|fixmin|fixmax|fix} | fix | keepfix}
+ unset autoscale {<axes>}
+ show autoscale
+
+ where <axes> is either `x`, `y`, `z`, `cb`, `x2`, `y2` or `xy`. A
+keyword with `min` or `max` appended (this cannot be done with `xy`)
+tells `gnuplot` to autoscale just the minimum or maximum of that axis.
+If no keyword is given, all axes are autoscaled.
+
+ A keyword with `fixmin`, `fixmax` or `fix` appended tells gnuplot to
+disable extension of the axis range to the next tic mark position, for
+autoscaled axes using equidistant tics; `set autoscale fix` sets this
+for all axes. Command `set autoscale keepfix` autoscales all axes
+while keeping the fix settings.
+
+ When autoscaling, the axis range is automatically computed and the
+dependent axis (y for a `plot` and z for `splot`) is scaled to include
+the range of the function or data being plotted.
+
+ If autoscaling of the dependent axis (y or z) is not set, the
+current y or z range is used.
+
+ Autoscaling the independent variables (x for `plot` and x,y for
+`splot`) is a request to set the domain to match any data file being
+plotted. If there are no data files, autoscaling an independent
+variable has no effect. In other words, in the absence of a data file,
+functions alone do not affect the x range (or the y range if plotting z
+= f(x,y)).
+
+ Please see *note xrange:: for additional information about ranges.
+
+ The behavior of autoscaling remains consistent in parametric mode,
+(see `set parametric`). 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 `plot`s and u,v for
+`splot`s. *note autoscale:: in parametric mode, then, controls all
+ranges (t, u, v, x, y, and z) and allows x, y, and z to be fully
+autoscaled.
+
+ Autoscaling works the same way for polar mode as it does for
+parametric mode for `plot`, with the extension that in polar mode *note
+dummy:: can be used to change the independent variable from t (see
+*note dummy::).
+
+ When tics are displayed on second axes but no plot has been
+specified for those axes, x2range and y2range are inherited from xrange
+and yrange. This is done _before_ xrange and yrange are autoextended
+to a whole number of tics, which can cause unexpected results. You can
+use the `fixmin` or `fixmax` options to avoid this.
+
+ Examples:
+
+ This sets autoscaling of the y axis (other axes are not affected):
+ set autoscale y
+
+ This sets autoscaling only for the minimum of the y axis (the
+maximum of the y axis and the other axes are not affected):
+ set autoscale ymin
+
+ This disables extension of the x2 axis tics to the next tic mark,
+thus keeping the exact range as found in the plotted data and functions:
+ set autoscale x2fixmin
+ set autoscale x2fixmax
+
+ This sets autoscaling of the x and y axes:
+ set autoscale xy
+
+ This sets autoscaling of the x, y, z, x2 and y2 axes:
+ set autoscale
+
+ This disables autoscaling of the x, y, z, x2 and y2 axes:
+ unset autoscale
+
+ This disables autoscaling of the z axis only:
+ unset autoscale z
+
+* Menu:
+
+* parametric_mode::
+* polar_mode::
+
+
+File: gnuplot.info, Node: parametric_mode, Next: polar_mode, Prev:
autoscale, Up: autoscale
+
+3.25.3.1 parametric mode
+........................
+
+When in parametric mode (`set parametric`), the xrange is as fully
+scalable as the y range. In other words, in parametric mode the x axis
+can be automatically scaled to fit the range of the parametric function
+that is being plotted. Of course, the y axis can also be automatically
+scaled just as in the non-parametric case. If autoscaling on the x
+axis is not set, the current x range is used.
+
+ Data files are plotted the same in parametric and non-parametric
+mode. However, there is a difference in mixed function and data plots:
+in non-parametric mode with autoscaled x, the x range of the datafile
+controls the x range of the functions; in parametric mode it has no
+influence.
+
+ For completeness a last command `set autoscale t` is accepted.
+However, the effect of this "scaling" is very minor. When `gnuplot`
+determines that the t range would be empty, it makes a small adjustment
+if autoscaling is true. Otherwise, `gnuplot` gives an error. Such
+behavior may, in fact, not be very useful and the command `set
+autoscale t` is certainly questionable.
+
+ `splot` extends the above ideas as you would expect. If autoscaling
+is set, then x, y, and z ranges are computed and each axis scaled to
+fit the resulting data.
+
+
+File: gnuplot.info, Node: polar_mode, Prev: parametric_mode, Up: autoscale
+
+3.25.3.2 polar mode
+...................
+
+When in polar mode (`set polar`), the xrange and the yrange may be left
+in autoscale mode. If *note rrange:: is 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 *note rrange::. The trange
+may also be autoscaled. Note that if the trange is contained within
+one quadrant, autoscaling will produce a polar plot of only that single
+quadrant.
+
+ Explicitly setting one or two ranges but not others may lead to
+unexpected results. See also polar demos.
+(http://www.gnuplot.info/demo/poldat.html)
+
+
+File: gnuplot.info, Node: bars, Next: bind_, Prev: autoscale, Up: set-show
+
+3.25.4 bars
+-----------
+
+The *note bars:: command controls the tics at the ends of error bars,
+and also at the end of the whiskers belonging to a boxplot.
+
+ Syntax:
+ set bars {small | large | fullwidth | <size>} {front | back}
+ unset bars
+ show bars
+
+ `small` is a synonym for 0.0, and `large` for 1.0. The default is
+1.0 if no size is given.
+
+ The keyword `fullwidth` is 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 `front` and `back` keywords are relevant only to errorbars
+attached to filled rectangles (boxes, candlesticks, histograms).
+
+
+File: gnuplot.info, Node: bind_, Next: bmargin, Prev: bars, Up: set-show
+
+3.25.5 bind
+-----------
+
+Show the current state of all hotkey bindings. See `bind`.
+
+
+File: gnuplot.info, Node: bmargin, Next: border, Prev: bind_, Up: set-show
+
+3.25.6 bmargin
+--------------
+
+The command *note bmargin:: sets the size of the bottom margin. Please
+see *note margin:: for details.
+
+
+File: gnuplot.info, Node: border, Next: boxwidth, Prev: bmargin, Up:
set-show
+
+3.25.7 border
+-------------
+
+The *note border:: and *note border:: commands control the display of
+the graph borders for the `plot` and `splot` commands. Note that the
+borders do not necessarily coincide with the axes; with `plot` they
+often do, but with `splot` they usually do not.
+
+ Syntax:
+ set border {<integer>} {front | back} {linewidth | lw <line_width>}
+ {{linestyle | ls <line_style>} | {linetype | lt
<line_type>}}
+ unset border
+ show border
+
+ With a `splot` displayed in an arbitrary orientation, like `set view
+56,103`, the four corners of the x-y plane can be referred to as
+"front", "back", "left" and "right". A similar set of four corners
+exist for the top surface, of course. Thus the border connecting, say,
+the back and right corners of the x-y plane is the "bottom right back"
+border, and the border connecting the top and bottom front corners is
+the "front vertical". (This nomenclature is defined solely to allow
+the reader to figure out the table that follows.)
+
+ The borders are encoded in a 12-bit integer: the bottom four bits
+control the border for `plot` and the sides of the base for `splot`;
+the next four bits control the verticals in `splot`; the top four bits
+control the edges on top of the `splot`. In detail, `<integer>` should
+be 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
+
+ Various bits or combinations of bits may be added together in the
+command.
+
+ The default is 31, which is all four sides for `plot`, and base and
+z axis for `splot`.
+
+ In 2D plots the border is normally drawn on top of all plots elements
+(`front`). If you want the border to be drawn behind the plot elements,
+use `set border back`.
+
+ Using the optional <line_style>, <line_type> and <line_width>
+specifiers, the way the border lines are drawn can be influenced
+(limited by what the current terminal driver supports).
+
+ For `plot`, tics may be drawn on edges other than bottom and left by
+enabling the second axes - see `set xtics` for details.
+
+ If a `splot` draws only on the base, as is the case with "`unset
+surface; set contour base`", then the verticals and the top are not
+drawn even if they are specified.
+
+ The `set grid` options 'back', 'front' and 'layerdefault' also
+control the order in which the border lines are drawn with respect to
+the output of the plotted data.
+
+ Examples:
+
+ Draw default borders:
+ set border
+
+ Draw only the left and bottom (`plot`) or both front and back bottom
+left (`splot`) borders:
+ set border 3
+
+ Draw a complete box around a `splot`:
+ set border 4095
+
+ Draw a topless box around a `splot`, omitting the front vertical:
+ set border 127+256+512 # or set border 1023-128
+
+ Draw only the top and right borders for a `plot` and label them as
+axes:
+ unset xtics; unset ytics; set x2tics; set y2tics; set border 12
+
+
+File: gnuplot.info, Node: boxwidth, Next: clabel, Prev: border, Up:
set-show
+
+3.25.8 boxwidth
+---------------
+
+The *note boxwidth:: command is used to set the default width of boxes
+in the *note boxes::, *note boxerrorbars::, *note boxplot::, *note
+candlesticks:: and *note histograms:: 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 *note
+boxwidth:: command. `Relative` widths 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 (`absolute`) unless the modifier
+`relative` is given. If the x axis is a log-scale (see `set log`) then
+the value of boxwidth is truly "absolute" only at x=1; this physical
+width is maintained everywhere along the axis (i.e. the boxes do not
+become narrower the value of x increases). If the range spanned by a
+log scale x axis is far from x=1, some experimentation may be required
+to find a useful value of boxwidth.
+
+ The default is superseded by explicit width information taken from
+an extra data column in styles *note boxes:: or *note boxerrorbars::.
+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 *note boxes:: and *note
+boxerrorbars:: 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 *note using:: keyword in
+`plot`:
+ 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
+
+
+File: gnuplot.info, Node: clabel, Next: clip, Prev: boxwidth, Up: set-show
+
+3.25.9 clabel
+-------------
+
+`gnuplot` will vary the linetype used for each contour level when
+clabel is set. When this option on (the default), a legend labels each
+linestyle with the z level it represents. It is not possible at
+present to separate the contour labels from the surface key.
+
+ Syntax:
+ set clabel {'<format>'}
+ unset clabel
+ show clabel
+
+ The default for the format string is %8.3g, which gives three
+decimal places. This may produce poor label alignment if the key is
+altered from its default configuration.
+
+ The first contour linetype, or only contour linetype when clabel is
+off, is the surface linetype +1; contour points are the same style as
+surface points.
+
+ See also *note contour::.
+
+
+File: gnuplot.info, Node: clip, Next: cntrparam, Prev: clabel, Up: set-show
+
+3.25.10 clip
+------------
+
+`gnuplot` can clip data points and lines that are near the boundaries
+of a graph.
+
+ Syntax:
+ set clip <clip-type>
+ unset clip <clip-type>
+ show clip
+
+ Three clip types for points and lines are supported by `gnuplot`:
+`points`, `one`, and `two`. One, two, or all three clip types may be
+active for a single graph. Note that clipping of color filled
+quadrangles drawn by *note pm3d:: maps and surfaces is not controlled
+by this command, but by `set pm3d clip1in` and `set pm3d clip4in`.
+
+ The `points` clip type forces `gnuplot` to clip (actually, not plot
+at all) data points that fall within but too close to the boundaries.
+This is done so that large symbols used for points will not extend
+outside the boundary lines. Without clipping points near the
+boundaries, the plot may look bad. Adjusting the x and y ranges may
+give similar results.
+
+ Setting the `one` clip type causes `gnuplot` to draw a line segment
+which has only one of its two endpoints within the graph. Only the
+in-range portion of the line is drawn. The alternative is to not draw
+any portion of the line segment.
+
+ Some lines may have both endpoints out of range, but pass through
+the graph. Setting the `two` clip-type allows the visible portion of
+these lines to be drawn.
+
+ In no case is a line drawn outside the graph.
+
+ The defaults are `noclip points`, `clip one`, and `noclip two`.
+
+ To check the state of all forms of clipping, use
+ show clip
+
+ For backward compatibility with older versions, the following forms
+are also permitted:
+ set clip
+ unset clip
+
+ `set clip` is synonymous with `set clip points`; `unset clip` turns
+off all three types of clipping.
+
+
+File: gnuplot.info, Node: cntrparam, Next: color_box, Prev: clip, Up:
set-show
+
+3.25.11 cntrparam
+-----------------
+
+*note cntrparam:: controls the generation of contours and their
+smoothness for a contour plot. *note contour:: displays current
+settings of *note cntrparam:: as well as *note contour::.
+
+ Syntax:
+ set cntrparam { { linear
+ | cubicspline
+ | bspline
+ | points <n>
+ | order <n>
+ | levels { auto {<n>} | <n>
+ | discrete <z1> {,<z2>{,<z3>...}}
+ | incremental <start>, <incr> {,<end>}
+ }
+ }
+ }
+ show contour
+
+ This command has two functions. First, it sets the values of z for
+which contour points are to be determined (by linear interpolation
+between data points or function isosamples.) Second, it controls the
+way contours are drawn between the points determined to be of equal z.
+<n> should be an integral constant expression and <z1>, <z2> ... any
+constant expressions. The parameters are:
+
+ `linear`, `cubicspline`, `bspline`--Controls type of approximation or
+interpolation. If `linear`, then straight line segments connect points
+of equal z magnitude. If `cubicspline`, then piecewise-linear contours
+are interpolated between the same equal z points to form somewhat
+smoother contours, but which may undulate. If `bspline`, a
+guaranteed-smoother curve is drawn, which only approximates the
+position of the points of equal-z.
+
+ `points`--Eventually all drawings are done with piecewise-linear
+strokes. This number controls the number of line segments used to
+approximate the `bspline` or `cubicspline` curve. Number of
+cubicspline or bspline segments (strokes) = `points` * number of linear
+segments.
+
+ `order`--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 `bspline` mode only.
+Allowed values are integers in the range from 2 (linear) to 10.
+
+ `levels`-- Selection of contour levels, controlled by `auto`
+(default), `discrete`, `incremental`, and <n>, number of contour levels.
+
+ For `auto`, <n> specifies a nominal number of levels; the actual
+number will be adjusted to give simple labels. If the surface is
+bounded by zmin and zmax, contours will be generated at integer
+multiples of dz between zmin and zmax, where dz is 1, 2, or 5 times
+some power of ten (like the step between two tic marks).
+
+ For `levels discrete`, contours will be generated at z = <z1>, <z2>
+... as specified; the number of discrete levels sets the number of
+contour levels. In `discrete` mode, any `set cntrparam levels <n>` are
+ignored.
+
+ For `incremental`, contours are generated at values of z beginning
+at <start> and increasing by <increment>, until the number of contours
+is reached. <end> is used to determine the number of contour levels,
+which will be changed by any subsequent `set cntrparam levels <n>`. If
+the z axis is logarithmic, <increment> will be interpreted as a factor,
+just like in *note ztics::.
+
+ If the command *note cntrparam:: is given without any arguments
+specified, the defaults are used: linear, 5 points, order 4, 5 auto
+levels.
+
+ Examples:
+ set cntrparam bspline
+ set cntrparam points 7
+ set cntrparam order 10
+
+ To select levels automatically, 5 if the level increment criteria
+are met:
+ set cntrparam levels auto 5
+
+ To specify discrete levels at .1, .37, and .9:
+ set cntrparam levels discrete .1,1/exp(1),.9
+
+ To specify levels from 0 to 4 with increment 1:
+ set cntrparam levels incremental 0,1,4
+
+ To set the number of levels to 10 (changing an incremental end or
+possibly the number of auto levels):
+ set cntrparam levels 10
+
+ To set the start and increment while retaining the number of levels:
+ set cntrparam levels incremental 100,50
+
+ See also *note contour:: for control of where the contours are
+drawn, and *note clabel:: for control of the format of the contour
+labels and linetypes.
+
+ See also contours demo (contours.dem)
+(http://www.gnuplot.info/demo/contours.html) and contours with user
+defined levels demo (discrete.dem).
+(http://www.gnuplot.info/demo/discrete.html)
+
+
+File: gnuplot.info, Node: color_box, Next: colornames, Prev: cntrparam,
Up: set-show
+
+3.25.12 color box
+-----------------
+
+The color scheme, i.e. the gradient of the smooth color with min_z and
+max_z values of *note pm3d::'s *note palette::, is drawn in a color box
+unless `unset colorbox`.
+
+ set colorbox
+ set colorbox {
+ { vertical | horizontal }
+ { default | user }
+ { origin x, y }
+ { size x, y }
+ { front | back }
+ { noborder | bdefault | border [line style] }
+ }
+ show colorbox
+ unset colorbox
+
+ Color box position can be `default` or `user`. If the latter is
+specified the values as given with the *note origin:: and *note size::
+subcommands are used. The box can be drawn after (`front`) or before
+(`back`) the graph or the surface.
+
+ The orientation of the color gradient can be switched by options
+`vertical` and `horizontal`.
+
+ `origin x, y` and `size x, y` are used only in combination with the
+`user` 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 `set view map`, 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.
+
+ *note border:: turns the border on (this is the default). `noborder`
+turns the border off. If an positive integer argument is given after
+*note border::, 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 `2604`, a thin line with the default border
+color (-1) for drawing the border. `bdefault` (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 `cb` and it is controlled by
+means of the usual axes commands, i.e. `set/unset/show` with *note
+cbrange::, `[m]cbtics`, `format cb`, `grid [m]cb`, *note cblabel::, and
+perhaps even *note cbdata::, `[no]cbdtics`, `[no]cbmtics`.
+
+ `set colorbox` without any parameter switches the position to
+default. `unset colorbox` resets the default parameters for the
+colorbox and switches the colorbox off.
+
+ See also help for *note pm3d::, *note palette::, *note pm3d::, and
+`set style line`.
+
+
+File: gnuplot.info, Node: colornames, Next: contour, Prev: color_box, Up:
set-show
+
+3.25.13 colornames
+------------------
+
+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 *note colornames::.
+Example:
+
+ set style line 1 linecolor rgb "sea-green"
+
+
+File: gnuplot.info, Node: contour, Next: data_style, Prev: colornames, Up:
set-show
+
+3.25.14 contour
+---------------
+
+*note contour:: enables contour drawing for surfaces. This option is
+available for `splot` only. It requires grid data, see `grid_data` for
+more details. If contours are desired from non-grid data, *note
+dgrid3d:: can 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: `base` draws
+the contours on the grid base where the x/ytics are placed, *note
+surface:: draws the contours on the surfaces themselves, and `both`
+draws the contours on both the base and the surface. If no option is
+provided, the default is `base`.
+
+ See also *note cntrparam:: for the parameters that affect the
+drawing of contours, and *note clabel:: for control of labelling of the
+contours.
+
+ The surface can be switched off (see *note surface::), giving a
+contour-only graph. Though it is possible to use *note size:: to
+enlarge the plot to fill the screen, more control over the output
+format can be obtained by writing the contour information to a file,
+and rereading it as a 2D datafile plot:
+
+ unset surface
+ set contour
+ set cntrparam ...
+ set table 'filename'
+ splot ...
+ unset table
+ # contour info now in filename
+ set term <whatever>
+ plot 'filename'
+
+ In order to draw contours, the data should be organized as "grid
+data". In such a file all the points for a single y-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. See also *note datafile::.
+
+ See also contours demo (contours.dem)
+(http://www.gnuplot.info/demo/contours.html) and contours with user
+defined levels demo (discrete.dem).
+(http://www.gnuplot.info/demo/discrete.html)
+
+
+File: gnuplot.info, Node: data_style, Next: datafile, Prev: contour, Up:
set-show
+
+3.25.15 data style
+------------------
+
+This form of the command is deprecated. Please see `set style data`.
+
+
+File: gnuplot.info, Node: datafile, Next: decimalsign, Prev: data_style,
Up: set-show
+
+3.25.16 datafile
+----------------
+
+The *note datafile:: command options control interpretation of fields
+read from input data files by the `plot`, `splot`, and *note fit::
+commands. Six such options are currently implemented.
+
+* Menu:
+
+* set_datafile_fortran::
+* set_datafile_nofpe_trap::
+* set_datafile_missing::
+* set_datafile_separator::
+* set_datafile_commentschars::
+* set_datafile_binary::
+
+
+File: gnuplot.info, Node: set_datafile_fortran, Next:
set_datafile_nofpe_trap, Prev: datafile, Up: datafile
+
+3.25.16.1 set datafile fortran
+..............................
+
+The `set datafile fortran` command 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 `unset datafile fortran`.
+
+
+File: gnuplot.info, Node: set_datafile_nofpe_trap, Next:
set_datafile_missing, Prev: set_datafile_fortran, Up: datafile
+
+3.25.16.2 set datafile nofpe_trap
+.................................
+
+The `set datafile nofpe_trap` command tells gnuplot not to
+re-initialize a floating point exception handler before every
+expression evaluation used while reading data from an input file. This
+can significantly speed data input from very large files at the risk of
+program termination if a floating-point exception is generated.
+
+
+File: gnuplot.info, Node: set_datafile_missing, Next:
set_datafile_separator, Prev: set_datafile_nofpe_trap, Up: datafile
+
+3.25.16.3 set datafile missing
+..............................
+
+The `set datafile missing` command allows you to tell `gnuplot` what
+character string is used in a data file to denote missing data.
+Exactly how this missing value will be treated depends on the *note
+using:: specifier of the `plot` or `splot` command.
+
+ Syntax:
+ set datafile missing {"<string>"}
+ show datafile missing
+ unset datafile
+
+ Example:
+ # Ignore entries containing IEEE NaN ("Not a Number") code
+ set datafile missing "NaN"
+
+ Example:
+ set style data linespoints
+ plot '-'
+ 1 10
+ 2 20
+ 3 ?
+ 4 40
+ 5 50
+ e
+ set datafile missing "?"
+ plot '-'
+ 1 10
+ 2 20
+ 3 ?
+ 4 40
+ 5 50
+ e
+ plot '-' using 1:2
+ 1 10
+ 2 20
+ 3 ?
+ 4 40
+ 5 50
+ e
+ plot '-' using 1:($2)
+ 1 10
+ 2 20
+ 3 ?
+ 4 40
+ 5 50
+ e
+
+ The first `plot` will recognize only the first datum in the "3 ?"
+line. It will use the single-datum-on-a-line convention that the line
+number is "x" and the datum is "y", so the point will be plotted (in
+this case erroneously) at (2,3).
+
+ The second and third `plot` commands will correctly ignore the
+middle line. The plotted line will connect the points at (2,20) and
+(4,40).
+
+ The fourth `plot` will also correctly ignore the middle line, but
+the plotted line will not connect the points at (2,20) and (4,40).
+
+ There is no default character for `missing`, but in many cases any
+non-parsible string of characters found where a numerical value is
+expected will be treated as missing data.
+
+
+File: gnuplot.info, Node: set_datafile_separator, Next:
set_datafile_commentschars, Prev: set_datafile_missing, Up: datafile
+
+3.25.16.4 set datafile separator
+................................
+
+The command `set datafile separator "<char>"` tells `gnuplot` that data
+fields in subsequent input files are separated by <char> rather than by
+whitespace. The most common use is to read in csv (comma-separated
+value) files written by spreadsheet or database programs. By default
+data fields are separated by whitespace.
+
+ Syntax:
+ set datafile separator {"<char>" | whitespace}
+
+ Examples:
+ # Input file contains tab-separated fields
+ set datafile separator "\t"
+
+ # Input file contains comma-separated values fields
+ set datafile separator ","
+
+
+File: gnuplot.info, Node: set_datafile_commentschars, Next:
set_datafile_binary, Prev: set_datafile_separator, Up: datafile
+
+3.25.16.5 set datafile commentschars
+....................................
+
+The `set datafile commentschars` command allows you to tell `gnuplot`
+what characters are used in a data file to denote comments. Gnuplot
+will ignore rest of the line behind the specified characters if either
+of them is the first non-blank character on the line.
+
+ Syntax:
+ set datafile commentschars {"<string>"}
+ show datafile commentschars
+ unset commentschars
+
+ Default value of the string is "#!" on VMS and "#" otherwise.
+
+ Then, the following line in a data file is completely ignored
+ # 1 2 3 4
+
+ but the following
+ 1 # 3 4
+
+ produces rather unexpected plot unless
+ set datafile missing '#'
+
+ is specified as well.
+
+ Example:
+ set datafile commentschars "#!%"
+
+
+File: gnuplot.info, Node: set_datafile_binary, Prev:
set_datafile_commentschars, Up: datafile
+
+3.25.16.6 set datafile binary
+.............................
+
+The *note binary:: command is used to set the defaults when reading
+binary data files. The syntax matches precisely that used for commands
+`plot` and `splot`. See *note matrix:: and *note general:: for details
+about the keywords that can be present in <binary list>.
+
+ Syntax:
+ set datafile binary <binary list>
+ show datafile binary
+ show datafile
+ unset datafile
+
+ Examples:
+ set datafile binary filetype=auto
+ set datafile binary array=(512,512) format="%uchar"
+
+ show datafile binary # list current settings
+
+
+File: gnuplot.info, Node: decimalsign, Next: dgrid3d, Prev: datafile, Up:
set-show
+
+3.25.17 decimalsign
+-------------------
+
+The *note decimalsign:: command selects a decimal sign for numbers
+printed into tic labels or `set label` strings.
+
+ 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 default, 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
+numbers that are printed using gnuplot's gprintf() formatting routine,
+include axis tics. It does not affect the format expected for input
+data, and it does not affect numbers printed with the sprintf()
+formatting routine. To change the behavior of both input and output
+formatting, instead use the form
+
+ set decimalsign locale
+
+ This instructs the program to use both input and output formats in
+accordance with the current setting of the LC_ALL, LC_NUMERIC, or LANG
+environmental variables.
+
+ set decimalsign locale "foo"
+
+ This instructs the program to format all input and output in
+accordance with locale "foo", which must be installed. If 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 "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
+correct for the current locale, but over-rides this with an explicit
+'.' in numbers formatted using gnuplot's internal gprintf() function.
+
+
+File: gnuplot.info, Node: dgrid3d, Next: dummy, Prev: decimalsign, Up:
set-show
+
+3.25.18 dgrid3d
+---------------
+
+The *note dgrid3d:: command enables, and can set parameters for,
+non-grid to grid data mapping. See `splot grid_data` for more details
+about the grid data structure.
+
+ Syntax:
+ set dgrid3d {<rows>} {,{<cols>}}
+ { splines |
+ qnorm {<norm>} |
+ (gauss | cauchy | exp | box | hann)
+ {kdensity} {<dx>} {,<dy>} }
+ unset dgrid3d
+ show dgrid3d
+
+ By default *note dgrid3d:: is disabled. When enabled, 3D data read
+from a file are always treated as a scattered data set. A grid with
+dimensions derived from a bounding box of the scattered data and size
+as specified by the row/col_size parameters is created for plotting and
+contouring. The grid is equally spaced in x (rows) and in y (columns);
+the z values are computed as weighted averages or spline interpolations
+of the scattered points' z values. In other words, a regularly spaced
+grid is created and the a smooth approximation to the raw data is
+evaluated for all grid points. This approximation is plotted in place
+of the raw data.
+
+ The number of columns defaults to the number of rows, which defaults
+to 10.
+
+ Several algorithms are available to calculate the approximation from
+the raw data. Some of these algorithms can take additional parameters.
+These interpolations are such the closer the data point is to a grid
+point, the more effect it has on that grid point.
+
+ The `splines` algorithm calculates an interpolation based on "thin
+plate splines". It does not take additional parameters.
+
+ The `qnorm` algorithm calculates a weighted average of the input
+data at each grid point. Each data point is weighted inversely by its
+distance from the grid point raised to the norm power. (Actually, the
+weights are given by the inverse of dx^norm + dy^norm, where dx and dy
+are the components of the separation of the grid point from each data
+point. For some norms that are powers of two, specifically 4, 8, and
+16, the computation is optimized by using the Euclidean distance in the
+weight calculation, (dx^2+dy^2)^norm/2. However, any non-negative
+integer can be used.) The power of the norm can be specified as a
+single optional parameter. 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(2*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 coordinates
+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 possible to
+control the radius over which data points contribute to a grid point IN
+THE UNITS OF THE DATA ITSELF.
+
+ The optional keyword `kdensity2d`, which must come after the name of
+the kernel, but before the (optional) scale parameters, modifies the
+algorithm so that the values calculated for the grid points are not
+divided by the sum of the weights ( z = Sum_i w(d_i) * z_i ). If all
+z_i are constant, this effectively plots a bivariate kernel density
+estimate: a kernel function (one of the five defined above) is placed
+at each data point, the sum of these kernels is evaluated at every grid
+point, and this smooth surface is plotted instead of the original data.
+This is similar in principle to + what the `smooth kdensity` option
+does to 1D datasets. (See kdensity2d.dem for usage demo)
+
+ A slightly different syntax is also supported for reasons of
+backwards compatibility. If no interpolation algorithm has been
+explicitly selected, the `qnorm` algorithm is assumed. Up to three
+comma-separated, optional parameters can be specified, which are
+interpreted as the the number of rows, the number of columns, and the
+norm value, respectively.
+
+ The *note dgrid3d:: option is a simple scheme which replaces
+scattered data with weighted averages on a regular grid. More
+sophisticated approaches to this problem exist and should be used to
+preprocess the data outside `gnuplot` if this simple solution is found
+inadequate.
+
+ See also dgrid3d.dem: dgrid3d demo.
+(http://www.gnuplot.info/demo/dgrid3d.html) and scatter.dem: dgrid3d
+demo. (http://www.gnuplot.info/demo/scatter.html)
+
+
+File: gnuplot.info, Node: dummy, Next: encoding, Prev: dgrid3d, Up:
set-show
+
+3.25.19 dummy
+-------------
+
+The *note dummy:: command changes the default dummy variable names.
+
+ Syntax:
+ set dummy {<dummy-var>} {,<dummy-var>}
+ show dummy
+
+ By default, `gnuplot` assumes that the independent, or "dummy",
+variable for the `plot` command is "t" if in parametric or polar mode,
+or "x" otherwise. Similarly the independent variables for the `splot`
+command are "u" and "v" in parametric mode (`splot` cannot be used in
+polar mode), or "x" and "y" otherwise.
+
+ It may be more convenient to call a dummy variable by a more
+physically meaningful or conventional name. For example, when plotting
+time functions:
+
+ set dummy t
+ plot sin(t), cos(t)
+
+ At least one dummy variable must be set on the command; *note
+dummy:: by itself will generate an error message.
+
+ Examples:
+ set dummy u,v
+ set dummy ,s
+
+ The second example sets the second variable to s.
+
+
+File: gnuplot.info, Node: encoding, Next: fit_, Prev: dummy, Up: set-show
+
+3.25.20 encoding
+----------------
+
+The *note encoding:: command selects a character encoding. Syntax:
+ set encoding {<value>}
+ set encoding locale
+ show encoding
+
+ Valid values are
+ default - tells a terminal to use its default encoding
+ iso_8859_1 - the most common Western European encoding used by many
+ Unix workstations and by MS-Windows. This encoding is
+ known in the PostScript world as 'ISO-Latin1'.
+ iso_8859_15 - a variant of iso_8859_1 that includes the Euro symbol
+ iso_8859_2 - used in Central and Eastern Europe
+ iso_8859_9 - used in Turkey (also known as Latin5)
+ koi8r - popular Unix cyrillic encoding
+ koi8u - ukrainian Unix cyrillic encoding
+ cp437 - codepage for MS-DOS
+ cp850 - codepage for OS/2, Western Europe
+ cp852 - codepage for OS/2, Central and Eastern Europe
+ cp950 - MS version of Big5 (emf terminal only)
+ cp1250 - codepage for MS Windows, Central and Eastern Europe
+ cp1251 - codepage for 8-bit Russian, Serbian, Bulgarian,
Macedonian
+ cp1254 - codepage for MS Windows, Turkish (superset of Latin5)
+ sjis - shift-JIS Japanese encoding
+ utf8 - variable-length (multibyte) representation of Unicode
+ entry point for each character
+
+ The command *note locale:: is different from the other options. It
+attempts to determine the current locale from the runtime environment.
+On most systems this is controlled by the environmental variables
+LC_ALL, LC_CTYPE, or LANG. This mechanism is necessary, for example, to
+pass multibyte character encodings such as UTF-8 or EUC_JP to the wxt
+and cairopdf terminals. This command does not affect the
+locale-specific representation of dates or numbers. See also *note
+locale:: and *note decimalsign::.
+
+ Generally you must set the encoding before setting the terminal type.
+Note that encoding is not supported by all terminal drivers and that
+the device must be able to produce the desired non-standard characters.
+
+
+File: gnuplot.info, Node: fit_, Next: fontpath, Prev: encoding, Up:
set-show
+
+3.25.21 fit
+-----------
+
+The *note fit:: setting defines where the *note fit:: command writes
+its output.
+
+ Syntax:
+ set fit {logfile {"<filename>"}} {{no}errorvariables} {{no}quiet}
+ unset fit
+ show fit
+
+ The <filename> argument must be enclosed in single or double quotes.
+
+ If no filename is given or *note fit:: is used the log file is reset
+to its default value "fit.log" or the value of the environmental
+variable `FIT_LOG`.
+
+ If the given logfile name ends with a / or \, it is interpreted to be
+a directory name, and the actual filename will be "fit.log" in that
+directory.
+
+ If the `errorvariables` option is turned on, the error of each fitted
+parameter computed by *note fit:: will be copied to a user-defined
+variable whose name is formed by appending "_err" to the name of the
+parameter itself. This is useful mainly to put the parameter and its
+error onto a plot of the data and the fitted function, for reference,
+as in:
+
+ set fit errorvariables
+ fit f(x) 'datafile' using 1:2 via a, b
+ print "error of a is:", a_err
+ set label 'a=%6.2f', a, '+/- %6.2f', a_err
+ plot 'datafile' using 1:2, f(x)
+
+ By default the information written to the log file is also echoed to
+the terminal session. `set fit quiet` turns off the echo.
+
+
+File: gnuplot.info, Node: fontpath, Next: format_, Prev: fit_, Up: set-show
+
+3.25.22 fontpath
+----------------
+
+The *note fontpath:: setting defines additional locations for font files
+searched when including font files. Currently only the postscript
+terminal supports *note fontpath::. If a file cannot be found in the
+current directory, the directories in *note fontpath:: are tried.
+Further documentation concerning the supported file formats is included
+in the `terminal postscript` section of the documentation.
+
+ Syntax:
+ set fontpath {"pathlist1" {"pathlist2"...}}
+ show fontpath
+
+ Path names may be entered as single directory names, or as a list of
+path names separated by a platform-specific path separator, eg. colon
+(':') on Unix, semicolon (';') on DOS/Windows/OS/2 platforms. The
+*note fontpath::, *note save:: and `save set` commands replace the
+platform-specific separator with a space character (' ') for maximum
+portability. If a directory name ends with an exclamation mark ('!')
+also the subdirectories of this directory are searched for font files.
+
+ If the environmental variable GNUPLOT_FONTPATH is set, its contents
+are appended to *note fontpath::. If it is not set, a system dependent
+default value is used. It is set by testing several directories for
+existence when using the fontpath the first time. Thus, the first call
+of *note fontpath::, *note fontpath::, *note fontpath::, `plot`, or
+`splot` with embedded font files takes a little more time. If you want
+to save this time you may set the environmental variable
+GNUPLOT_FONTPATH since probing is switched off, then. You can find out
+which is the default fontpath by using *note fontpath::.
+
+ *note fontpath:: prints the contents of the user-defined fontpath
+and the system fontpath separately. However, the *note save:: and
+`save set` commands save only the user-specified parts of *note
+fontpath::.
+
+ For terminal drivers that access fonts by filename via the gd
+library, the font search path is controlled by the environmental
+variable GDFONTPATH.
+
+
+File: gnuplot.info, Node: format_, Next: function_style, Prev: fontpath,
Up: set-show
+
+3.25.23 format
+--------------
+
+The format of the tic-mark labels can be set with the `set format`
+command or with the `set tics format` or individual `set {axis}tics
+format` commands.
+
+ Syntax:
+ set format {<axes>} {"<format-string>"}
+ set format {<axes>} {'<format-string>'}
+ show format
+
+ where <axes> is either `x`, `y`, `xy`, `x2`, `y2`, `z`, `cb` or
+nothing (which applies the format to all axes). The following two
+commands are equivalent:
+ set format y "%.2f"
+ set ytics format "%.2f"
+
+ The length of the string is restricted to 100 characters. The
+default format is "% g", but other formats such as "%.2f" or "%3.0em"
+are often desirable. The format "$%g$" is often desirable for LaTeX.
+If no format string is given, the format will be returned to 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 `unset xtics` or `set tics scale 0`.
+
+ Newline (\n) and enhanced text markup is accepted in the format
+string. Use double-quotes rather than single-quotes in this case. See
+also `syntax`. Characters not preceded by "%" are printed verbatim.
+Thus you can include spaces and labels in your format string, such as
+"%g m", which will put " m" after each number. If you want "%" itself,
+double it: "%g %%".
+
+ See also `set xtics` for more information about tic labels, and
+*note decimalsign:: for how to use non-default decimal separators in
+numbers printed this way. See also electron demo (electron.dem).
+(http://www.gnuplot.info/demo/electron.html)
+
+* Menu:
+
+* gprintf_::
+* format_specifiers::
+* time/date_specifiers::
+
+
+File: gnuplot.info, Node: gprintf_, Next: format_specifiers, Prev: format_,
Up: format_
+
+3.25.23.1 gprintf
+.................
+
+The string function gprintf("format",x) uses gnuplot's own format
+specifiers, as do the gnuplot commands `set format`, *note timestamp::,
+and others. These format specifiers are not the same as those used by
+the standard C-language routine sprintf(). gprintf() accepts only a
+single variable to be formatted. Gnuplot also provides an
+sprintf("format",x1,x2,...) routine if you prefer. For a list of
+gnuplot's format options, see `format specifiers`.
+
+
+File: gnuplot.info, Node: format_specifiers, Next: time/date_specifiers,
Prev: gprintf_, Up: format_
+
+3.25.23.2 format specifiers
+...........................
+
+The acceptable formats (if not in time/date mode) are:
+
+ Format Explanation
+ %f floating point notation
+ %e or %E exponential notation; an "e" or "E" before the power
+ %g or %G the shorter of %e (or %E) and %f
+ %x or %X hex
+ %o or %O octal
+ %t mantissa to base 10
+ %l mantissa to base of current logscale
+ %s mantissa to base of current logscale; scientific power
+ %T power to base 10
+ %L power to base of current logscale
+ %S scientific power
+ %c character replacement for scientific power
+ %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 (`"%c"`) has been
+implemented for powers in the range -18 to +18. For numbers outside of
+this range the format reverts to exponential.
+
+ Other acceptable modifiers (which come after the "%" but before the
+format specifier) are "-", which left-justifies the number; "+", which
+forces all numbers to be explicitly signed; " " (a space), which makes
+positive numbers have a space in front of them where negative numbers
+have "-"; "#", which places a decimal point after floats that have only
+zeroes following the decimal point; a positive integer, which defines
+the field width; "0" (the digit, not the 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 integer, which defines the precision (the minimum number
+of digits of an integer, or the number of digits following the decimal
+point of a float).
+
+ Some 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"
+ set format y "%.0f%%"; set ytic(50) # "50%"
+
+ set log y 2; set format y '%l'; set ytics (1,2,3)
+ #displays "1.0", "1.0" and "1.5" (since 3 is 1.5 * 2^1)
+
+ There are some problem cases that arise when numbers like 9.999 are
+printed with a format that requires both rounding and a power.
+
+ If the data type for the axis is time/date, the format string must
+contain valid codes for the 'strftime' function (outside of `gnuplot`,
+type "man strftime"). See *note timefmt:: for a list of the allowed
+input format codes.
+
+
+File: gnuplot.info, Node: time/date_specifiers, Prev: format_specifiers,
Up: format_
+
+3.25.23.3 time/date specifiers
+..............................
+
+In time/date mode, the acceptable formats are:
+
+ Format Explanation
+ %a abbreviated name of day of the week
+ %A full name of day of the week
+ %b or %h abbreviated name of the month
+ %B full name of the month
+ %d day of the month, 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 number of seconds since the start of year 2000
+ %S second, integer 0--60 on output, (double) on input
+ %T shorthand for "%H:%M:%S" (only output)
+ %U week of the year (week starts on Sunday)
+ %w day of the week, 0--6 (Sunday = 0)
+ %W week of the year (week starts on Monday)
+ %y year, 0-68 for 2000-2068, 69-99 for 1969-1999
+ %Y year, 4-digit
+
+ Except for the non-numerical formats, these may be preceded by a "0"
+("zero", not "oh") to pad the field length with leading zeroes, and a
+positive digit, to define the minimum field width (which will be
+overridden if the specified width is not large enough to contain the
+number). The %S format also accepts a precision specifier so that
+fractional seconds can be written. There is a 24-character limit to
+the length of the printed text; longer strings will be truncated.
+
+ Examples:
+
+ Suppose the text is "76/12/25 23:11:11". Then
+ set format x # defaults to "12/25/76" \n "23:11"
+ set format x "%A, %d %b %Y" # "Saturday, 25 Dec 1976"
+ set format x "%r %D" # "11:11:11 pm 12/25/76"
+
+ Suppose the text is "98/07/06 05:04:03.123456". Then
+ set format x "%1y/%2m/%3d %01H:%02M:%06.3S" # "98/ 7/ 6
5:04:03.123"
+
+
+File: gnuplot.info, Node: function_style, Next: functions_, Prev: format_,
Up: set-show
+
+3.25.24 function style
+----------------------
+
+This form of the command is deprecated. Please see `set style function`.
+
+
+File: gnuplot.info, Node: functions_, Next: grid, Prev: function_style,
Up: set-show
+
+3.25.25 functions
+-----------------
+
+The *note functions:: command lists all user-defined functions and their
+definitions.
+
+ Syntax:
+ show functions
+
+ For information about the definition and usage of functions in
+`gnuplot`, please see `expressions`. See also splines as user defined
+functions (spline.dem) (http://www.gnuplot.info/demo/spline.html) and
+use of functions and complex variables for airfoils (airfoil.dem).
+(http://www.gnuplot.info/demo/airfoil.html)
+
+
+File: gnuplot.info, Node: grid, Next: hidden3d, Prev: functions_, Up:
set-show
+
+3.25.26 grid
+------------
+
+The `set grid` command allows grid lines to be drawn on the plot.
+
+ Syntax:
+ set grid {{no}{m}xtics} {{no}{m}ytics} {{no}{m}ztics}
+ {{no}{m}x2tics} {{no}{m}y2tics}
+ {{no}{m}cbtics}
+ {polar {<angle>}}
+ {layerdefault | front | back}
+ { {linestyle <major_linestyle>}
+ | {linetype | lt <major_linetype>}
+ {linewidth | lw <major_linewidth>}
+ { , {linestyle | ls <minor_linestyle>}
+ | {linetype | lt <minor_linetype>}
+ {linewidth | lw <minor_linewidth>} } }
+ unset grid
+ show grid
+
+ The grid can be enabled and disabled for the major and/or minor tic
+marks on any axis, and the linetype and linewidth can be specified for
+major and minor grid lines, also via a predefined linestyle, as far as
+the active terminal driver supports this.
+
+ Additionally, a polar grid can be selected for 2D plots--circles are
+drawn to intersect the selected tics, and radial lines are drawn at
+definable intervals. (The interval is given in degrees or radians,
+depending on the *note angles:: setting.) Note that a polar grid is no
+longer automatically generated in polar mode.
+
+ The pertinent tics must be enabled before `set grid` can draw them;
+`gnuplot` will quietly ignore instructions to draw grid lines at
+non-existent tics, but they will appear if the tics are subsequently
+enabled.
+
+ If no linetype is specified for the minor gridlines, the same
+linetype as the major gridlines is used. The default polar angle is 30
+degrees.
+
+ If `front` is given, the grid is drawn on top of the graphed data. If
+`back` is given, the grid is drawn underneath the graphed data. Using
+`front` will prevent the grid from being obscured by dense data. The
+default setup, `layerdefault`, is equivalent to `back` for 2D plots.
+In 3D plots the default is to split up the grid and the graph box into
+two layers: one behind, the other in front of the plotted data and
+functions. Since *note hidden3d:: mode does its own sorting, it ignores
+all grid drawing order options and passes the grid lines through the
+hidden line removal machinery instead. These options actually affect
+not only the grid, but also the lines output by *note border:: and the
+various ticmarks (see `set xtics`).
+
+ Z grid lines are drawn on the bottom of the plot. This looks better
+if a partial box is drawn around the plot--see *note border::.
+
+
+File: gnuplot.info, Node: hidden3d, Next: historysize, Prev: grid, Up:
set-show
+
+3.25.27 hidden3d
+----------------
+
+The *note hidden3d:: command enables hidden line removal for surface
+plotting (see `splot`). Some optional features of the underlying
+algorithm can also be controlled using this command.
+
+ Syntax:
+ set hidden3d {defaults} |
+ { {front|back}
+ {{offset <offset>} | {nooffset}}
+ {trianglepattern <bitpattern>}
+ {{undefined <level>} | {noundefined}}
+ {{no}altdiagonal}
+ {{no}bentover} }
+ unset hidden3d
+ show hidden3d
+
+ In contrast to the usual display in gnuplot, hidden line removal
+actually treats the given function or data grids as real surfaces that
+can't be seen through, so plot elements behind the surface will be
+hidden by it. For this to work, the surface needs to have 'grid
+structure' (see *note datafile:: about this), and it has to be drawn
+`with lines` or *note linespoints::.
+
+ When *note hidden3d:: is set, both the hidden portion of the surface
+and possibly its contours drawn on the base (see *note contour::) 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
+surface is plotted. Contours drawn on the surface (*note surface::)
+don't work.
+
+ Labels and arrows are always visible and are unaffected. The key
+box is never hidden by the surface. As of gnuplot version 4.6, hidden3d
+also affects 3D plotting styles `points`, *note labels::, *note
+vectors::, and *note impulses:: even if no surface is present in the
+graph. Individual plots within the graph may be explicitly excluded
+from this processing by appending the extra option `nohidden3d` to the
+*note with:: specifier.
+
+ Hidden3d does not affect solid surfaces drawn using the pm3d mode.
+To achieve a similar effect purely for pm3d surfaces, use instead `set
+pm3d depthorder`. To mix pm3d surfaces with normal *note hidden3d::
+processing, use the option `set hidden3d front` to force all elements
+included in hidden3d processing to be drawn after any remaining plot
+elements. Then draw the surface twice, once `with lines lt -2` and a
+second time *note pm3d::. The first instance will include the surface
+during calculation of occluded elements but will not draw the surface
+itself.
+
+ Functions are evaluated at isoline intersections. The algorithm
+interpolates linearly between function points or data points when
+determining the visible line segments. This means that the appearance
+of a function may be different when plotted with *note hidden3d:: than
+when plotted with `nohidden3d` because in the latter case functions are
+evaluated at each sample. Please see *note samples:: and *note
+isosamples:: 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
+`defaults` will set them all to their default settings, as detailed
+below. If `defaults` is not given, only explicitly specified options
+will be influenced: all others will keep their previous values, so you
+can turn on/off hidden line removal via `set {no}hidden3d`, without
+modifying the set of options you chose.
+
+ The first option, `offset`, 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 linetype
+offset to add instead of the default 1, by `offset <offset>`. Option
+`nooffset` stands for `offset 0`, making the two sides of the surface
+use the same linetype.
+
+ Next comes the option `trianglepattern <bitpattern>`. <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 visible, but not the
+diagonals. You may want to choose 7 to see those diagonals as well.
+
+ The `undefined <level>` option lets you decide what the algorithm is
+to do with data points that are undefined (missing data, or undefined
+function values), or exceed the given x-, y- or z-ranges. Such points
+can either be plotted nevertheless, or taken out of the input data set.
+All surface elements touching a point that is taken out will be taken
+out as well, thus creating a hole in the surface. If <level> = 3,
+equivalent to option `noundefined`, no points will be thrown away at
+all. This may produce all kinds of problems elsewhere, so you should
+avoid this. <level> = 2 will throw away undefined points, but keep the
+out-of-range ones. <level> = 1, the default, will get rid of
+out-of-range points as well.
+
+ By specifying `noaltdiagonal`, you can override the default handling
+of a special case can occur if `undefined` is active (i.e. <level> is
+not 3). Each cell of the grid-structured input surface will be divided
+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 `undefined` handler,
+and this is on the usual diagonal, both triangles will be excluded.
+However if the default setting of `altdiagonal` is active, the other
+diagonal will be chosen for this cell instead, minimizing the size of
+the hole in the surface.
+
+ The `bentover` option controls what happens to another special case,
+this time in conjunction with the `trianglepattern`. For rather
+crumply surfaces, it can happen that the two triangles a surface cell
+is divided into are seen from opposite sides (i.e. the original
+quadrangle is 'bent over'), as illustrated in the following ASCII art:
+
+ C----B
+ original quadrangle: A--B displayed quadrangle: |\ |
+ ("set view 0,0") | /| ("set view 75,75" perhaps) | \ |
+ |/ | | \ |
+ C--D | \|
+ A D
+
+ If the diagonal edges of the surface cells aren't generally made
+visible by bit 2 of the <bitpattern> there, the edge CB above wouldn't
+be drawn at all, normally, making the resulting display hard to
+understand. Therefore, the default option of `bentover` will turn it
+visible in this case. If you don't want that, you may choose
+`nobentover` instead. See also hidden line removal demo (hidden.dem)
+(http://www.gnuplot.info/demo/hidden.html) and complex hidden line demo
+(singulr.dem). (http://www.gnuplot.info/demo/singulr.html)
+
+
+File: gnuplot.info, Node: historysize, Next: isosamples, Prev: hidden3d,
Up: set-show
+
+3.25.28 historysize
+-------------------
+
+Note: the command *note historysize:: is only available when gnuplot
+has been configured to use the GNU readline library.
+
+ Syntax:
+ set historysize <int>
+ unset historysize
+
+ When leaving gnuplot, the value of historysize is used for
+truncating the history to at most that much lines. The default is 500.
+*note historysize:: will disable history truncation and thus allow an
+infinite number of lines to be written to the history file.
+
+
+File: gnuplot.info, Node: isosamples, Next: key, Prev: historysize, Up:
set-show
+
+3.25.29 isosamples
+------------------
+
+The isoline density (grid) for plotting functions as surfaces may be
+changed by the *note isosamples:: command.
+
+ Syntax:
+ set isosamples <iso_1> {,<iso_2>}
+ show isosamples
+
+ Each function surface plot will have <iso_1> iso-u lines and <iso_2>
+iso-v lines. If you only specify <iso_1>, <iso_2> will be set to the
+same value as <iso_1>. By default, sampling is set to 10 isolines per
+u or v axis. A higher sampling rate will produce more accurate plots,
+but will take longer. These parameters have no effect on data file
+plotting.
+
+ An isoline is a curve parameterized by one of the surface parameters
+while the other surface parameter is fixed. Isolines provide a simple
+means to display a surface. By fixing the u parameter of surface
+s(u,v), the iso-u lines of the form c(v) = s(u0,v) are produced, and by
+fixing the v parameter, the iso-v lines of the form c(u) = s(u,v0) are
+produced.
+
+ When a function surface plot is being done without the removal of
+hidden lines, *note samples:: controls the number of points sampled
+along each isoline; see *note samples:: and *note hidden3d::. The
+contour algorithm assumes that a function sample occurs at each isoline
+intersection, so change in *note samples:: as well as *note
+isosamples:: may be desired when changing the resolution of a function
+surface/contour.
+
+
+File: gnuplot.info, Node: key, Next: label, Prev: isosamples, Up: set-show
+
+3.25.30 key
+-----------
+
+The `set key` command enables a key (or legend) describing plots on a
+plot.
+
+ The contents of the key, i.e., the names given to each plotted data
+set and function and samples of the lines and/or symbols used to
+represent them, are determined by the *note title:: and *note with::
+options of the {`s`}`plot` command. Please see *note title:: and *note
+with:: for more information.
+
+ Syntax:
+ set key {on|off} {default}
+ {{inside | outside} | {lmargin | rmargin | tmargin |
bmargin}
+ | {at <position>}}
+ {left | right | center} {top | bottom | center}
+ {vertical | horizontal} {Left | Right}
+ {{no}opaque}
+ {{no}reverse} {{no}invert}
+ {samplen <sample_length>} {spacing <vertical_spacing>}
+ {width <width_increment>}
+ {height <height_increment>}
+ {{no}autotitle {columnheader}}
+ {title "<text>"} {{no}enhanced}
+ {font "<face>,<size>"} {textcolor <colorspec>}
+ {{no}box { {linestyle | ls <line_style>}
+ | {linetype | lt <line_type>}
+ {linewidth | lw <line_width>}}}
+ {maxcols {<max no. of columns> | auto}}
+ {maxrows {<max no. of rows> | auto}}
+ unset key
+ show key
+
+ The key contains a title and a sample (line, point, box) for each
+plot in the graph. The key may be turned off by requesting `set key
+off` or `unset key`. Individual key entries may be turned off by using
+the `notitle` keyword in the corresponding plot command.
+
+ Elements within the key are stacked according to `vertical` or
+`horizontal`. In the case of `vertical`, the key occupies as few
+columns as possible. That is, elements are aligned in a column until
+running out of vertical space at which point a new column is started.
+The vertical space may be limited using 'maxrows'. In the case of
+`horizontal`, the key occupies as few rows as possible. The horizontal
+space may be limited using 'maxcols'.
+
+ By default the key is placed in the upper right inside corner of the
+graph. The keywords `left`, `right`, `top`, `bottom`, `center`,
+`inside`, `outside`, *note lmargin::, *note rmargin::, *note tmargin::,
+*note bmargin:: (, `above`, `over`, `below` and `under`) may be used to
+automatically place the key in other positions of the graph. Also an
+`at <position>` may be given to indicate precisely where the plot
+should be placed. In this case, the keywords `left`, `right`, `top`,
+`bottom` and `center` serve an analogous purpose for alignment. For
+more information, see `key placement`.
+
+ Justification of the plot titles within the key is controlled by
+`Left` or `Right` (default). The text and sample can be reversed
+(`reverse`) and a box can be drawn around the key (`box {...}`) in a
+specified `linetype` and `linewidth`, or a user-defined `linestyle`.
+
+ 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.
+`set key opaque` causes the key to be generated after all the plots.
+In this case the key area is filled with background color and then the
+key symbols and titles are written. Therefore the key itself may
+obscure portions of some plot elements. The default can be restored by
+`set key noopaque`.
+
+ By default the first plot label is at the top of the key and
+successive labels are entered below it. The `invert` option causes the
+first label to be placed at the bottom of the key, with successive
+labels entered above it. This option is useful to force the vertical
+ordering of labels in the key to match the order of box types in a
+stacked histogram.
+
+ The <height_increment> is a number of character heights to be added
+to or subtracted from the height of the key box. This is useful mainly
+when you are putting a box around the key and want larger borders
+around the key entries.
+
+ All plotted curves of `plot`s and `splot`s are titled according to
+the default option `autotitles`. The automatic generation of titles can
+be suppressed by `noautotitles`; then only those titles explicitly
+defined by `(s)plot ... title ...` will be drawn.
+
+ The command `set key autotitle columnheader` causes the first entry
+in each column of input data to be interpreted as a text string and
+used as a title for the corresponding plot. If the quantity being
+plotted is a function of data from several columns, gnuplot may be
+confused as to which column to draw the title from. In this case it is
+necessary to specify the column explicitly in the plot command, e.g.
+
+ plot "datafile" using (($2+$3)/$4) title columnhead(3) with lines
+
+ An overall title can be put on the key (`title "<text>"`)--see also
+`syntax` for the distinction between text in single- or double-quotes.
+The key title uses the same justification as do the plot titles.
+
+ The defaults for `set key` are `on`, `right`, `top`, `vertical`,
+`Right`, `noreverse`, `noinvert`, `samplen 4`, `spacing 1.25`, `title
+""`, and `nobox`. The default <linetype> is the same as that used for
+the plot borders. Entering `set key default` returns the key to its
+default configuration.
+
+ The key is drawn as a sequence of lines, with one plot described on
+each line. On the right-hand side (or the left-hand side, if `reverse`
+is selected) of each line is a representation that attempts to mimic
+the way the curve is plotted. On the other side of each line is the
+text description (the line title), obtained from the `plot` command.
+The lines are vertically arranged so that an imaginary straight line
+divides the left- and right-hand sides of the key. It is the
+coordinates of the top of this line that are specified with the `set
+key` command. In a `plot`, only the x and y coordinates are used to
+specify the line position. For a `splot`, x, y and z are all used as a
+3D location mapped using the same mapping as the graph itself to form
+the required 2D screen position of the imaginary line.
+
+ When using the TeX or other terminals where formatting information
+is embedded in the string, `gnuplot` can only estimate the correctly
+exact width of the string for key positioning. If the key is to be
+positioned at the left, it may be convenient to use the combination
+`set key left Left reverse`.
+
+ If `splot` is being used to draw contours, the contour labels will
+be listed in the key. If the alignment of these labels is poor or a
+different number of decimal places is desired, the label format can be
+specified. See *note clabel:: for details.
+
+ Examples:
+
+ This places the key at the default location:
+ set key default
+
+ This disables the key:
+ unset key
+
+ This places a key at coordinates 2,3.5,2 in the default (first)
+coordinate system:
+ set key at 2,3.5,2
+
+ This places the key below the graph:
+ set key below
+
+ This places the key in the bottom left corner, left-justifies the
+text, gives it a title, and draws a box around it in linetype 3:
+ set key left bottom Left title 'Legend' box 3
+
+* Menu:
+
+* key_placement::
+* key_samples::
+
+
+File: gnuplot.info, Node: key_placement, Next: key_samples, Prev: key, Up:
key
+
+3.25.30.1 key placement
+.......................
+
+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 `left/center/right` (l/c/r) and `top/center/bottom` (t/c/b)
+control where within the particular region the key should be placed.
+
+ When in `inside` mode, the keywords `left` (l), `right` (r), `top`
+(t), `bottom` (b), and `center` (c) push the key out toward the plot
+boundary as illustrated:
+
+ t/l t/c t/r
+
+ c/l c c/r
+
+ b/l b/c b/r
+
+ When in `outside` mode, 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 interfere with other
+labels and may cause an error on some devices. 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 ambiguity about which border to move. For the corners,
+when the stack direction is `vertical`, the left or right border is
+moved inward appropriately. When the stack direction is `horizontal`,
+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 *note lmargin:: (lm), *note
+rmargin:: (rm), *note tmargin:: (tm), and *note bmargin:: (bm) is
+combined with a single, non-conflicting direction keyword, the
+following illustrated positions may contain the key:
+
+ l/tm c/tm r/tm
+
+ t/lm t/rm
+
+ c/lm c/rm
+
+ b/lm b/rm
+
+ l/bm c/bm r/bm
+
+ Keywords `above` and `over` are synonymous with *note tmargin::.
+For version compatibility, `above` or `over` without an additional
+l/c/r or stack direction keyword uses `center` and `horizontal`.
+Keywords `below` and `under` are synonymous with *note bmargin::. For
+compatibility, `below` or `under` without an additional l/c/r or stack
+direction keyword uses `center` and `horizontal`. A further
+compatibility issue is that `outside` appearing without an additional
+t/b/c or stack direction keyword uses `top`, `right` and `vertical`
+(i.e., the same as t/rm above).
+
+ The <position> can be a simple x,y,z as in previous versions, but
+these can be preceded by one of five keywords (`first`, `second`,
+`graph`, `screen`, `character`) which selects the coordinate system in
+which the position of the first sample line is specified. See
+`coordinates` for more details. The effect of `left`, `right`, `top`,
+`bottom`, and `center` when <position> is given is to align the key as
+though it were text positioned using the label command, i.e., `left`
+means left align with key to the right of <position>, etc.
+
+
+File: gnuplot.info, Node: key_samples, Prev: key_placement, Up: key
+
+3.25.30.2 key samples
+.....................
+
+By default, each plot on the graph generates a corresponding entry in
+the key. This entry contains a plot title and a sample line/point/box
+of the same color and fill properties as used in the plot itself. The
+font and textcolor properties control the appearance of the individual
+plot titles that appear in the key. Setting the textcolor to "variable"
+causes the text for each key entry to be the same color as the line or
+fill color for that plot. This was the default in some earlier
+versions of gnuplot.
+
+ The length of the sample line can be controlled by `samplen`. The
+sample length is computed as the sum of the tic length and
+<sample_length> times the character width. `samplen` also affects the
+positions of point samples in the key since these are drawn at the
+midpoint of the sample line, even if the sample line itself is not
+drawn.
+
+ The vertical spacing between lines is controlled by `spacing`. The
+spacing is set equal to the product of the pointsize, the vertical tic
+size, and <vertical_spacing>. The program will guarantee that the
+vertical spacing is no smaller than the character height.
+
+ The <width_increment> is a number of character widths to be added to
+or subtracted from the length of the string. This is useful only when
+you are putting a box around the key and you are using control
+characters in the text. `gnuplot` simply counts the number of
+characters in the string when computing the box width; this allows you
+to correct it.
+
+
+File: gnuplot.info, Node: label, Next: linetype, Prev: key, Up: set-show
+
+3.25.31 label
+-------------
+
+Arbitrary labels can be placed on the plot using the `set label`
+command.
+
+ Syntax:
+ set label {<tag>} {"<label text>"} {at <position>}
+ {left | center | right}
+ {norotate | rotate {by <degrees>}}
+ {font "<name>{,<size>}"}
+ {noenhanced}
+ {front | back}
+ {textcolor <colorspec>}
+ {point <pointstyle> | nopoint}
+ {offset <offset>}
+ unset label {<tag>}
+ show label
+
+ The <position> is specified by either x,y or x,y,z, and may be
+preceded by `first`, `second`, `graph`, `screen`, or `character` to
+select the coordinate system. See `coordinates` for details.
+
+ The tag is an integer that is used to identify the label. If no <tag>
+is given, the lowest unused tag value is assigned automatically. The
+tag can be used to delete or modify a specific label. To change any
+attribute of an existing label, use the `set label` command with the
+appropriate tag, and specify the parts of the label to be changed.
+
+ The <label text> can be a string constant, a string variable, or a
+string- valued expression. See `strings`, *note sprintf::, and *note
+gprintf::.
+
+ 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 `left`, `right` or
+`center`, indicating that the point is to be at the left, right or
+center of the text. Labels outside the plotted boundaries are
+permitted but may interfere with axis labels or other text.
+
+ If `rotate` is given, the label is written vertically (if the
+terminal can do so, of course). If `rotate by <degrees>` is given,
+conforming terminals will try to write the text at the specified angle;
+non-conforming terminals will treat this as vertical text.
+
+ Font and its size can be chosen explicitly by `font
+"<name>{,<size>}"` 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 `noenhanced` property can be used to exempt a specific
+label from the enhanced text mode processing. The can be useful if the
+label contains underscores, for example. See `enhanced text`.
+
+ If `front` is given, the label is written on top of the graphed
+data. If `back` is given (the default), the label is written underneath
+the graphed data. Using `front` will prevent a label from being
+obscured by dense data.
+
+ `textcolor <colorspec>` changes the color of the label text.
+<colorspec> can be a linetype, an rgb color, or a palette mapping. See
+help for *note colorspec:: and *note palette::. `textcolor` may be
+abbreviated `tc`.
+ `tc default` resets the text color to its default state.
+ `tc lt <n>` sets the text color to that of line type <n>.
+ `tc 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
corresponding to
+ the mapping [0:1] to grays/colors of the *note palette::.
+ `tc rgb "#RRGGBB"` selects an arbitrary 24-bit RGB color.
+
+ If a <pointstyle> is given, using keywords `lt`, `pt` and `ps`, see
+*note style::, a point with the given style and color of the given line
+type is plotted at the label position and the text of the label is
+displaced slightly. This option is used by default for placing labels
+in `mouse` enhanced terminals. Use `nopoint` to turn off the drawing
+of a point near the label (this is the default).
+
+ The displacement defaults to 1,1 in *note pointsize:: units if a
+<pointstyle> is given, 0,0 if no <pointstyle> is given. The
+displacement can be controlled by the optional `offset <offset>` where
+<offset> is specified by either x,y or x,y,z, and may be preceded by
+`first`, `second`, `graph`, `screen`, or `character` to select the
+coordinate system. See `coordinates` for details.
+
+ If one (or more) axis is timeseries, the appropriate coordinate
+should be given as a quoted time string according to the *note
+timefmt:: format string. See *note xdata:: and *note timefmt::.
+
+ The EEPIC, Imagen, LaTeX, and TPIC drivers allow \\ in a string to
+specify a newline.
+
+ Label coordinates and text can also be read from a data file (see
+*note labels::).
+
+ Examples:
+
+ To set a label at (1,2) to "y=x", use:
+ set label "y=x" at 1,2
+
+ To set a Sigma of size 24, from the Symbol font set, at the center of
+the graph, use:
+ set label "S" at graph 0.5,0.5 center font "Symbol,24"
+
+ To set a label "y=x^2" with the right of the text at (2,3,4), and
+tag the label as number 3, use:
+ set label 3 "y=x^2" at 2,3,4 right
+
+ To change the preceding label to center justification, use:
+ set label 3 center
+
+ To delete label number 2, use:
+ unset label 2
+
+ To delete all labels, use:
+ unset label
+
+ To show all labels (in tag order), use:
+ show label
+
+ To set a label on a graph with a timeseries on the x axis, use, for
+example:
+ set timefmt "%d/%m/%y,%H:%M"
+ set label "Harvest" at "25/8/93",1
+
+ To display a freshly fitted parameter on the plot with the data and
+the fitted function, do this after the *note fit::, but before the
+`plot`:
+ 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 parameters,
+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
+
+
+File: gnuplot.info, Node: linetype, Next: lmargin, Prev: label, Up:
set-show
+
+3.25.32 linetype
+----------------
+
+The `set linetype` command 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 `set linetype` are
+persistent; they are not affected by *note reset::.
+
+ For example, linetypes one and two default to red and green. 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 rather than
+a thin red line (the previous default meaning of lt 1). This includes
+uses such as the definition of a temporary linestyle derived from the
+base linetype 1.
+
+ `Note`: This command is new to gnuplot version 4.6. It supersedes a
+rather cryptic command in version 4.2 "set style increment user". The
+older command is now deprecated.
+
+ 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
+
+ if ((GPVAL_VERSION < 4.5) \
+ || (!strstrt(GPVAL_COMPILE_OPTIONS,"+USER_LINETYPES"))) \
+ exit
+ set linetype 1 lc rgb "dark-violet" lw 2 pt 0
+ 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). The first few
+lines of the example script insure that the commands will be skipped by
+older versions of gnuplot.
+
+ Similar script files can be used to define theme-based color
+choices, or sets of colors optimized for a particular plot type or
+output device.
+
+ The command `set linetype cycle 8` tells gnuplot to re-use these
+definitions for the color and linewidth of higher-numbered linetypes.
+That is, linetypes 9-16, 17-24, and so on will use this same sequence
+of colors and widths. The point properties (pointtype, pointsize,
+pointinterval) are not affected by this command. `unset linetype
+cycle` disables this feature. If the line properties of a higher
+numbered linetype are explicitly defined, this takes precedence over
+the recycled low-number linetype properties.
+
+
+File: gnuplot.info, Node: lmargin, Next: loadpath, Prev: linetype, Up:
set-show
+
+3.25.33 lmargin
+---------------
+
+The command *note lmargin:: sets the size of the left margin. Please
+see *note margin:: for details.
+
+
+File: gnuplot.info, Node: loadpath, Next: locale, Prev: lmargin, Up:
set-show
+
+3.25.34 loadpath
+----------------
+
+The *note loadpath:: setting defines additional locations for data and
+command files searched by the *note call::, `load`, `plot` and `splot`
+commands. If a file cannot be found in the current directory, the
+directories in *note loadpath:: are tried.
+
+ Syntax:
+ set loadpath {"pathlist1" {"pathlist2"...}}
+ show loadpath
+
+ Path names may be entered as single directory names, or as a list of
+path names separated by a platform-specific path separator, eg. colon
+(':') on Unix, semicolon (';') on DOS/Windows/OS/2 platforms. The
+*note loadpath::, *note save:: and `save set` commands replace the
+platform-specific separator with a space character (' ').
+
+ If the environment variable GNUPLOT_LIB is set, its contents are
+appended to *note loadpath::. However, *note loadpath:: prints the
+contents of *note loadpath:: and GNUPLOT_LIB separately. Also, the
+*note save:: and `save set` commands ignore the contents of GNUPLOT_LIB.
+
+
+File: gnuplot.info, Node: locale, Next: logscale, Prev: loadpath, Up:
set-show
+
+3.25.35 locale
+--------------
+
+The *note locale:: setting determines the language with which
+`{x,y,z}{d,m}tics` will write the days and months.
+
+ Syntax:
+ set locale {"<locale>"}
+
+ <locale> may be any language designation acceptable to your
+installation. See your system documentation for the available options.
+The command `set locale ""` will try to determine the locale from the
+LC_TIME, LC_ALL, or LANG environment variables.
+
+ To change the decimal point locale, see *note decimalsign::. To
+change the character encoding to the current locale, see *note
+encoding::.
+
+
+File: gnuplot.info, Node: logscale, Next: macros, Prev: locale, Up:
set-show
+
+3.25.36 logscale
+----------------
+
+Syntax:
+ set logscale <axes> {<base>}
+ unset logscale <axes>
+ show logscale
+
+ where <axes> may be any combinations of `x`, `x2`, `y`, `y2`, `z`,
+`cb`, and `r` 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 `r`. The command *note logscale:: turns off log
+scaling for all axes. Note that the ticmarks generated for logscaled
+axes are not uniformly spaced. See `set xtics`.
+
+ 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
+
+
+File: gnuplot.info, Node: macros, Next: mapping, Prev: logscale, Up:
set-show
+
+3.25.37 macros
+--------------
+
+If command line macro substitution is enabled, then tokens in the
+command line of the form @<stringvariablename> will be replaced by the
+text string contained in <stringvariablename>. See `substitution`.
+
+ Syntax:
+ set macros
+
+
+File: gnuplot.info, Node: mapping, Next: margin, Prev: macros, Up: set-show
+
+3.25.38 mapping
+---------------
+
+If data are provided to `splot` in spherical or cylindrical coordinates,
+the *note mapping:: command should be used to instruct `gnuplot` 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 *note using:: entries). The first two are interpreted as
+the azimuthal and polar angles theta and phi (or "longitude" and
+"latitude"), in the units specified by *note angles::. 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)
+ 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 *note angles::) 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 *note mapping:: can be duplicated with the *note
+using:: filter on the `splot` command, but *note mapping:: may be more
+convenient if many data files are to be processed. However even if
+*note mapping:: is used, *note using:: may still be necessary if the
+data in the file are not in the required order.
+
+ *note mapping:: has no effect on `plot`. world.dem: mapping demos.
+(http://www.gnuplot.info/demo/world.html)
+
+
+File: gnuplot.info, Node: margin, Next: mouse, Prev: mapping, Up: set-show
+
+3.25.39 margin
+--------------
+
+The *note margin:: is 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 *note margin:: commands.
+*note margin:: shows the current settings. To alter the distance
+between the inside of the plot border and the data in the plot itself,
+see *note offsets::.
+
+ Syntax:
+ set bmargin {{at screen} <margin>}
+ set lmargin {{at screen} <margin>}
+ set rmargin {{at screen} <margin>}
+ set tmargin {{at screen} <margin>}
+ show margin
+
+ The default units of <margin> are character heights or widths, as
+appropriate. A positive value defines the absolute size of the margin.
+A negative value (or none) causes `gnuplot` to revert to the computed
+value. For 3D plots, only the left margin can be set using character
+units.
+
+ The keywords `at screen` indicates 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 *note origin:: and *note
+size::, 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 (`set xtics axis`, 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.
+
+
+File: gnuplot.info, Node: mouse, Next: multiplot, Prev: margin, Up:
set-show
+
+3.25.40 mouse
+-------------
+
+The command `set mouse` enables mouse actions for the current
+interactive terminal. It is usually enabled by default in interactive
+mode, but disabled by default if commands are being read from a file.
+
+ There are two mouse modes. The 2D mode works for `plot` commands and
+for `splot` maps (i.e. *note view:: with z-rotation 0, 90, 180, 270 or
+360 degrees, including `set view map`). 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 `splot`, 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 *note xyplane::. 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.
+
+ Mousing is not available inside multiplot mode. When multiplot is
+completed using *note multiplot::, 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} \
+ {noruler | ruler {at x,y}} \
+ {polardistance{deg|tan} | nopolardistance} \
+ {format <string>} \
+ {clipboardformat <int>/<string>} \
+ {mouseformat <int>/<string>} \
+ {{no}labels {"labeloptions"}} \
+ {{no}zoomjump} {{no}verbose}
+ unset mouse
+
+ The options `noruler` and `ruler` switch the ruler off and on, the
+latter optionally setting the origin at the given coordinates. While
+the ruler is on, the distance in user units from the ruler origin to
+the mouse is displayed continuously. By default, toggling the ruler has
+the key binding 'r'.
+
+ The option `polardistance` determines if the distance between the
+mouse cursor and the ruler is also shown in polar coordinates (distance
+and angle in degrees or tangent (slope)). This corresponds to the
+default key binding '5'.
+
+ Choose the option *note labels:: to define persistent gnuplot labels
+using Button 2. The default is `nolabels`, which makes Button 2 draw
+only a temporary label at the mouse position. Labels are drawn with the
+current setting of *note mouseformat::. The `labeloptions` string is
+passed to the `set label` command. The default is "point pointstyle 1"
+which will plot a small plus at the label position. Temporary labels
+will disappear at the next *note replot:: or mouse zoom operation.
+Persistent 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 *note pointsize::.
+
+ If the option `verbose` is turned on the communication commands are
+shown during execution. This option can also be toggled by hitting `6`
+in the driver's window. `verbose` is off by default.
+
+ Press 'h' in the driver's window for a short summary of the mouse
+and key bindings. This will also display user defined bindings or
+`hotkeys` which can be defined using the `bind` command, see help for
+`bind`. Note, that user defined `hotkeys` may override the default
+bindings. See also help for `bind` and `label`.
+
+* Menu:
+
+* doubleclick::
+* mouseformat::
+* scrolling::
+* X11_mouse::
+* zoom::
+
+
+File: gnuplot.info, Node: doubleclick, Next: mouseformat, Prev: mouse, Up:
mouse
+
+3.25.40.1 doubleclick
+.....................
+
+The doubleclick resolution is given in milliseconds and used for Button
+1, which copies the current mouse position to the `clipboard`. The
+default value is 300 ms. Setting the value to 0 ms triggers the copy
+on a single click.
+
+
+File: gnuplot.info, Node: mouseformat, Next: scrolling, Prev: doubleclick,
Up: mouse
+
+3.25.40.2 mouseformat
+.....................
+
+The `set mouse format` command specifies a format string for sprintf()
+which determines how the mouse cursor [x,y] coordinates are printed to
+the plot window and to the clipboard. The default is "% #g".
+
+ `set mouse clipboardformat` and *note mouseformat:: are used for
+formatting the text on Button1 and Button2 actions - copying the
+coordinates to the clipboard and temporarily annotating the 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 6 and should contain two float specifiers. Example:
+ `set mouse mouseformat "mouse x,y = %5.2g, %10.3f"`.
+
+ Use `set mouse mouseformat ""` to 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 *note 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 *note mouseformat::, e.g. "mouse x,y = 1.23, 2.450"
+
+
+File: gnuplot.info, Node: scrolling, Next: X11_mouse, Prev: mouseformat,
Up: mouse
+
+3.25.40.3 scrolling
+...................
+
+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.
+
+
+File: gnuplot.info, Node: X11_mouse, Next: zoom, Prev: scrolling, Up: mouse
+
+3.25.40.4 X11 mouse
+...................
+
+If multiple X11 plot windows have been opened using the `set term x11
+<n>` terminal option, then only the current plot window supports the
+entire range of mouse commands and hotkeys. The other windows will,
+however, continue to display mouse coordinates at the lower left.
+
+
+File: gnuplot.info, Node: zoom, Prev: X11_mouse, Up: mouse
+
+3.25.40.5 zoom
+..............
+
+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 `zoomcoordinates` determines if the coordinates of the
+zoom box are drawn at the edges while zooming. This is on by default.
+
+ If the option `zoomjump` is on, the mouse pointer will be
+automatically offset a small distance after starting a zoom region with
+button 3. This can be useful to avoid a tiny (or even empty) zoom
+region. `zoomjump` is off by default.
+
+
+File: gnuplot.info, Node: multiplot, Next: mx2tics, Prev: mouse, Up:
set-show
+
+3.25.41 multiplot
+-----------------
+
+The command *note multiplot:: places `gnuplot` in the multiplot mode,
+in which several plots are placed on the same page, window, or screen.
+
+ Syntax:
+ set multiplot { layout <rows>,<cols>
+ {rowsfirst|columnsfirst} {downwards|upwards}
+ {title <page title>}
+ {scale <xscale>{,<yscale>}} {offset <xoff>{,<yoff>}}
+ }
+ unset multiplot
+
+ For some terminals, no plot is displayed until the command *note
+multiplot:: is given, which causes the entire page to be drawn and then
+returns gnuplot to its normal single-plot mode. For other terminals,
+each separate `plot` command produces an updated display, either by
+redrawing all previous ones and the newly added plot, or by just adding
+the new plot to the existing display.
+
+ The area to be used by the next plot is not erased before doing the
+new plot. The *note clear:: command can be used to do this if wanted,
+as is typically the case for "inset" plots.
+
+ Any labels or arrows that have been defined will be drawn for each
+plot according to the current size and origin (unless their coordinates
+are defined in the `screen` system). Just about everything else that
+can be `set` is applied to each plot, too. If you want something to
+appear only once on the page, for instance a single time stamp, you'll
+need to put a `set time`/`unset time` pair around one of the `plot`,
+`splot` or *note replot:: commands within the *note multiplot::/*note
+multiplot:: block.
+
+ 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 *note origin:: and *note size:: must be used to
+correctly position each plot if no layout is specified or if fine
+tuning is desired. See *note origin:: and *note size:: for 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).
+
+ *note size:: and *note origin:: refer to the entire plotting area
+used for each plot. Please also see *note size::. If you want to have
+the axes themselves line up, you can guarantee that the margins are the
+same size with the *note margin:: commands. See *note margin:: for
+their use. Note that the margin settings are absolute, in character
+units, so the appearance of the graph in the remaining space will
+depend on the screen size of the display device, e.g., perhaps quite
+different on a video display and a printer.
+
+ With the `layout` option you can generate simple multiplots without
+having to give the *note size:: and *note origin:: commands before each
+plot: Those are generated automatically, but can be overridden at any
+time. With `layout` the 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 `downwards` or
+`upwards`. Default is `rowsfirst` and `downwards`.
+
+ Each plot can be scaled by `scale` and shifted with `offset`; if the
+y-values for scale or offset are omitted, the x-value will be used.
+*note multiplot:: will turn off the automatic layout and restore the
+values of *note size:: and *note origin:: as they were before `set
+multiplot layout`.
+
+ 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.
+
+ See also multiplot demo (multiplt.dem)
+(http://www.gnuplot.info/demo/multiplt.html)
+
+
+File: gnuplot.info, Node: mx2tics, Next: mxtics, Prev: multiplot, Up:
set-show
+
+3.25.42 mx2tics
+---------------
+
+Minor tic marks along the x2 (top) axis are controlled by *note
+mx2tics::. Please see *note mxtics::.
+
+
+File: gnuplot.info, Node: mxtics, Next: my2tics, Prev: mx2tics, Up:
set-show
+
+3.25.43 mxtics
+--------------
+
+Minor tic marks along the x axis are controlled by *note mxtics::.
+They can be turned off with *note mxtics::. Similar commands control
+minor tics along the other axes.
+
+ Syntax:
+ set mxtics {<freq> | default}
+ unset mxtics
+ show mxtics
+
+ The same syntax applies to *note mytics::, *note mztics::, *note
+mx2tics::, *note my2tics:: and `mcbtics`.
+
+ <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 `default` will return the number of minor
+ticks to its default value.
+
+ If the axis is logarithmic, the number of sub-intervals will be set
+to a reasonable number by default (based upon the length of a decade).
+This will be overridden if <freq> is given. However the usual minor
+tics (2, 3, ..., 8, 9 between 1 and 10, for example) are obtained by
+setting <freq> to 10, even though there are but nine sub-intervals.
+
+ To set minor tics at arbitrary positions, use the ("<label>" <pos>
+<level>, ...) form of `set {x|x2|y|y2|z}tics` with <label> empty and
+<level> set to 1.
+
+ The `set m{x|x2|y|y2|z}tics` commands work only when there are
+uniformly spaced major tics. If all major tics were placed explicitly
+by `set {x|x2|y|y2|z}tics`, then minor tic commands are ignored.
+Implicit major tics and explicit minor tics can be combined using `set
+{x|x2|y|y2|z}tics` and `set {x|x2|y|y2|z}tics add`.
+
+ 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
+logarithmic axes. They inherit the settings for `axis|border` and
+`{no}mirror` specified for the major tics. Please see `set xtics` for
+information about these.
+
+
+File: gnuplot.info, Node: my2tics, Next: mytics, Prev: mxtics, Up: set-show
+
+3.25.44 my2tics
+---------------
+
+Minor tic marks along the y2 (right-hand) axis are controlled by *note
+my2tics::. Please see *note mxtics::.
+
+
+File: gnuplot.info, Node: mytics, Next: mztics, Prev: my2tics, Up: set-show
+
+3.25.45 mytics
+--------------
+
+Minor tic marks along the y axis are controlled by *note mytics::.
+Please see *note mxtics::.
+
+
+File: gnuplot.info, Node: mztics, Next: object, Prev: mytics, Up: set-show
+
+3.25.46 mztics
+--------------
+
+Minor tic marks along the z axis are controlled by *note mztics::.
+Please see *note mxtics::.
+
+
+File: gnuplot.info, Node: object, Next: offsets, Prev: mztics, Up: set-show
+
+3.25.47 object
+--------------
+
+The *note object:: command defines a single object which will appear in
+all subsequent 2D plots. You may define as many objects as you like.
+Currently the supported object types are *note rectangle::, `circle`,
+`ellipse`, and *note polygon::. Rectangles inherit a default set of
+style properties (fill, color, border) from those set by the command
+*note rectangle::, but each object can also be given individual style
+properties. Circles, ellipses, and polygons inherit the fill style
+from `set style fill`.
+
+ Syntax:
+ set object <index>
+ <object-type> <object-properties>
+ {front|back|behind} {fc|fillcolor <colorspec>} {fs <fillstyle>}
+ {default} {lw|linewidth <width>}
+
+ <object-type> is either *note rectangle::, `ellipse`, `circle`, or
+*note polygon::. Each object type has its own set of characteristic
+properties.
+
+ Setting `front` will draw the object in front of all plot elements,
+but behind any labels that are also marked `front`. Setting `back` will
+place the object behind all plot curves and labels. Setting `behind`
+will place the object behind everything including the axes and `back`
+rectangles, 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.
+
+ The fill color of the object is taken from the <colorspec>.
+`fillcolor` may be abbreviated `fc`. The fill style is taken from
+<fillstyle>. See *note colorspec:: and `fillstyle`. If the keyword
+`default` is given, these properties are inherited from the default
+settings at the time a plot is drawn. See *note rectangle::.
+
+* Menu:
+
+* rectangle::
+* ellipse::
+* circle::
+* polygon::
+
+
+File: gnuplot.info, Node: rectangle, Next: ellipse, Prev: object, Up:
object
+
+3.25.47.1 rectangle
+...................
+
+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 `coordinates`. The options `at` and `center` are
+synonyms.
+
+ Examples:
+ # Force the entire area enclosed by the axes to have background color
cyan
+ set object 1 rect from graph 0, graph 0 to graph 1, graph 1 back
+ set object 1 rect fc rgb "cyan" fillstyle solid 1.0
+
+ # 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"
+
+ # Return fill and color to the default style but leave vertices
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.
+
+
+File: gnuplot.info, Node: ellipse, Next: circle, Prev: rectangle, Up:
object
+
+3.25.47.2 ellipse
+.................
+
+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 `at` and `center` are synonyms. The center
+position may be given in axis, graph, or screen coordinates. See
+`coordinates`. 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 default ellipse orientation will be used instead
+(see `set style ellipse`). The `units` keyword controls the scaling of
+the axes of the ellipse. `units xy` means that the major axis is
+interpreted in terms of units along the x axis, while the minor axis in
+that of the y axis. `units xx` means that both axes of the ellipses are
+scaled in the units of the x axis, while `units yy` means that both
+axes are in units of the y axis. The default is `xy` or whatever `set
+style ellipse units` was set to.
+
+ NB: If the x and y axis scales are not equal, (e.g. `units xy` is in
+effect) then the major/minor axis ratio will no longer be correct after
+rotation.
+
+ Note that `set object ellipse size <2r>,<2r>` does not in general
+produce the same result as `set object circle <r>`. 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 `units` is set
+to `xy`, then 'set object ellipse' interprets the first <2r> in terms
+of x axis units and the second <2r> in terms of y axis units. This will
+only produce a circle if the x and y axis scales are identical and the
+plot aspect ratio is 1. On the other hand, if `units` is set to `xx`
+or `yy`, then the diameters specified in the 'set object' command will
+be interpreted in the same units, so the ellipse will have the correct
+aspect ratio, and it will maintain its aspect ratio even if the plot is
+resized.
+
+
+File: gnuplot.info, Node: circle, Next: polygon, Prev: ellipse, Up: object
+
+3.25.47.3 circle
+................
+
+Syntax:
+ set object <index> circle {at|center} <position> size <radius>
+ {arc [<begin>:<end>]}
+ {<other-object-properties>}
+
+ The position of the circle is specified by giving the position of
+the center center followed by the radius. The keywords `at` and
+`center` are synonyms. The position and radius may be given in x-axis,
+graph, or canvas coordinates. See `coordinates`. In all cases the
+radius is calculated relative to the horizontal scale of the axis,
+graph, or canvas. Any disparity between the horizontal and vertical
+scaling will be corrected for so that the result is always a circle.
+
+ By default a full circle is drawn. The optional qualifier `arc`
+specifies a starting angle and ending angle, in degrees, for one arc of
+the circle. The arc is always drawn counterclockwise.
+
+
+File: gnuplot.info, Node: polygon, Prev: circle, Up: object
+
+3.25.47.4 polygon
+.................
+
+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 position
+of a sequence of vertices. These may be given in axis, graph, or screen
+coordinates. If relative coordinates are used (rto) then the
+coordinate type must match that of the previous vertex. See
+`coordinates`.
+
+ 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
+
+
+File: gnuplot.info, Node: offsets, Next: origin, Prev: object, Up: set-show
+
+3.25.48 offsets
+---------------
+
+Offsets provide a mechanism to put an empty boundary around the data
+inside an autoscaled graph. The offsets only affect the x1 and y1
+axes, and only in 2D `plot` commands.
+
+ 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
+axis range by using the keyword "graph". A positive offset expands the
+axis range in the specified direction, e.g., a positive bottom offset
+makes ymin more negative. Negative offsets, while permitted, can have
+unexpected interactions with autoscaling and clipping. To prevent the
+auto-scaling from further adjusting your axis ranges, it is useful to
+also specify "set auto fix".
+
+ Example:
+ set auto fix
+ set offsets graph 0.05, 0, 2, 2
+ plot sin(x)
+
+ This graph of sin(x) will have a y range [-3:3] because the function
+will be autoscaled to [-1:1] and the vertical offsets are each two.
+The x range will be [-11:10] because the default is [-10:10] and it has
+been expanded to the left by 0.05 of that total range.
+
+
+File: gnuplot.info, Node: origin, Next: output, Prev: offsets, Up: set-show
+
+3.25.49 origin
+--------------
+
+The *note origin:: command is used to specify the origin of a plotting
+surface (i.e., the graph and its margins) on the screen. The
+coordinates are given in the `screen` coordinate system (see
+`coordinates` for information about this system).
+
+ Syntax:
+ set origin <x-origin>,<y-origin>
+
+
+File: gnuplot.info, Node: output, Next: parametric_, Prev: origin, Up:
set-show
+
+3.25.50 output
+--------------
+
+By default, screens are displayed to the standard output. The *note
+output:: command redirects the display to the specified file or device.
+
+ Syntax:
+ set output {"<filename>"}
+ show output
+
+ The filename must be enclosed in quotes. If the filename is
+omitted, any output file opened by a previous invocation of *note
+output:: will be closed and new output will be sent to STDOUT. (If you
+give the command `set output "STDOUT"`, your output may be sent to a
+file named "STDOUT"! ["May be", not "will be", because some terminals,
+like `x11` or `wxt`, ignore *note output::.])
+
+ When both *note terminal:: and *note output:: are used together, it
+is safest to give *note terminal:: first, because some terminals set a
+flag which is needed in some operating systems. This would be the
+case, for example, if the operating system needs to know whether or not
+a file is to be formatted in order to open it properly.
+
+ On machines with popen functions (Unix), output can be piped through
+a shell command if the first non-whitespace character of the filename
+is '|'. For instance,
+
+ set output "|lpr -Plaser filename"
+ set output "|lp -dlaser filename"
+
+ On MSDOS machines, `set output "PRN"` will direct the output to the
+default printer. On VMS, output can be sent directly to any spooled
+device. It is also possible to send the output to DECnet transparent
+tasks, which allows some flexibility.
+
+
+File: gnuplot.info, Node: parametric_, Next: plot_, Prev: output, Up:
set-show
+
+3.25.51 parametric
+------------------
+
+The `set parametric` command changes the meaning of `plot` (`splot`)
+from normal functions to parametric functions. The command `unset
+parametric` restores the plotting style to normal, single-valued
+expression plotting.
+
+ Syntax:
+ set parametric
+ unset parametric
+ show parametric
+
+ For 2D plotting, a parametric function is determined by a pair of
+parametric functions operating on a parameter. An example of a 2D
+parametric function would be `plot sin(t),cos(t)`, which draws a circle
+(if the aspect ratio is set correctly--see *note size::). `gnuplot`
+will display an error message if both functions are not provided for a
+parametric `plot`.
+
+ 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 `cos(u)*cos(v),cos(u)*sin(v),sin(u)`,
+which draws a sphere. `gnuplot` will display an error message if all
+three functions are not provided for a parametric `splot`.
+
+ The total set of possible plots is a superset of the simple f(x)
+style plots, since the two functions can describe the x and y values to
+be computed separately. In fact, plots of the type t,f(t) are
+equivalent to those produced with f(x) because the x values are
+computed using the identity function. 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
+xfunction, yfunction (and zfunction) and that each operates over the
+common parametric domain.
+
+ Also, the `set parametric` function 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
+*note trange::, *note urange::, and *note vrange::, or by specifying
+the range on the `plot` or `splot` commands. Currently the default
+range for these parametric variables is [-5:5]. Setting the ranges to
+something more meaningful is expected.
+
+
+File: gnuplot.info, Node: plot_, Next: pm3d, Prev: parametric_, Up:
set-show
+
+3.25.52 plot
+------------
+
+The `show plot` command shows the current plotting command as it results
+from the last `plot` and/or `splot` and possible subsequent *note
+replot:: commands.
+
+ In addition, the `show plot add2history` command adds this current
+plot command into the `history`. It is useful if you have used *note
+replot:: to add more curves to the current plot and you want to edit
+the whole command now.
+
+
+File: gnuplot.info, Node: pm3d, Next: palette, Prev: plot_, Up: set-show
+
+3.25.53 pm3d
+------------
+
+pm3d is an `splot` style for drawing palette-mapped 3d and 4d data as
+color/gray maps and surfaces. It uses an algorithm that allows plotting
+gridded as well as non-gridded data without preprocessing, even when
+the data scans do not have the same number of points.
+
+ Syntax (the options can be given in any order):
+ set pm3d {
+ { at <position> }
+ { interpolate <steps/points in scan, between scans> }
+ { scansautomatic | scansforward | scansbackward |
depthorder }
+ { flush { begin | center | end } }
+ { ftriangles | noftriangles }
+ { clip1in | clip4in }
+ { corners2color {
mean|geomean|median|min|max|c1|c2|c3|c4 } }
+ { hidden3d {<linestyle>} | nohidden3d }
+ { implicit | explicit }
+ { map }
+ }
+ show pm3d
+ unset pm3d
+
+ A pm3d color surface is drawn if the splot command specifies *note
+pm3d::, if the data or function *note style:: is set to pm3d globally,
+or if the pm3d mode is `set pm3d implicit`. 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 `explicit` is on (or `implicit` is off) only plots
+specified by the *note pm3d:: attribute 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 `explicit`. For historical and
+compatibility reasons, the commands `set pm3d;` (i.e. no options) and
+`set pm3d at X ...` (i.e. `at` is the first option) change the mode to
+`implicit`. The command `set pm3d;` sets other options to their
+default state.
+
+ If you set the default data or function style to *note pm3d::, e.g.:
+ set style data pm3d
+
+ then the options `implicit` and `explicit` have no effect.
+
+ Note that when plotting several plots, they are plotted in the order
+given on the command line. This can be of interest especially for
+filled surfaces which can overwrite and therefore hide part of earlier
+plots.
+
+ The pm3d coloring can be drawn at any or all of three different
+positions, `top`, `bottom`, or *note surface::. See *note position::.
+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 *note palette::, *note cbrange::, `set colorbox`,
+and definitely the demo file `demo/pm3d.dem`.
+
+* Menu:
+
+* algorithm::
+* position::
+* scanorder::
+* clipping::
+* color_assignment::
+* hidden3d_::
+* interpolate::
+* deprecated_options::
+
+
+File: gnuplot.info, Node: algorithm, Next: position, Prev: pm3d, Up: pm3d
+
+3.25.53.1 algorithm
+...................
+
+Let us first describe how a map/surface is drawn. The input data come
+from an evaluated function or from an `splot data file`. Each surface
+consists of a sequence of separate scans (isolines). The pm3d
+algorithm fills the region between two neighbouring points in one scan
+with another two points in the next scan by a gray (or color) according
+to z-values (or according to an additional 'color' column, see help for
+*note using::) of these 4 corners; by default the 4 corner values are
+averaged, but this can be changed by the option `corners2color`. 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 averaged (or
+`corners2color`) z-coordinate of the four corners of the
+above-specified quadrangle into the range [min_color_z,max_color_z] of
+*note zrange:: or *note cbrange:: providing a gray value in the range
+[0:1]. This value can be used directly as the gray for gray maps. The
+normalized gray value can be further mapped into a color--see *note
+palette:: for the complete description.
+
+ 2. splot of data file with two or four data columns: The gray/color
+value is obtained by using the last-column coordinate instead of the
+z-value, thus allowing the color and the z-coordinate be mutually
+independent. This can be used for 4d data drawing.
+
+ Other notes:
+
+ 1. The term 'scan' referenced above is used more among physicists
+than the term 'iso_curve' referenced in gnuplot documentation and
+sources. You measure maps recorded one scan after another scan, that's
+why.
+
+ 2. The 'gray' or 'color' scale is a linear mapping of a continuous
+variable onto a smoothly varying palette of colors. The mapping is
+shown in a rectangle next to the main plot. This documentation refers
+to this as a "colorbox", and refers to the indexing variable as lying
+on the colorbox axis. See `set colorbox`, *note cbrange::.
+
+ 3. To use pm3d coloring to generate a two-dimensional plot rather
+than a 3D surface, use `set view map` or `set pm3d map`.
+
+
+File: gnuplot.info, Node: position, Next: scanorder, Prev: algorithm, Up:
pm3d
+
+3.25.53.2 position
+..................
+
+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 `at` option with a string of up to 6
+combinations of `b`, `t` and `s`. For instance, `at b` plots at bottom
+only, `at st` plots firstly surface and then top map, while `at bstbst`
+will never by seriously used.
+
+ Colored quadrangles are plotted one after another. When plotting
+surfaces (`at s`), 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
+`scansforward` and `scansbackward` to force the first scan of the data
+to be plotted first or last. The default is `scansautomatic` where
+gnuplot makes a guess about scans order. On the other hand, the
+`depthorder` option completely reorders the quadrangles. The rendering
+is performed after a depth sorting, which allows to visualize even
+complicated surfaces; see `pm3d depthorder` for more details.
+
+
+File: gnuplot.info, Node: scanorder, Next: clipping, Prev: position, Up:
pm3d
+
+3.25.53.3 scanorder
+...................
+
+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
+`scansautomatic`|`scansforward`|`scansbackward`. These scan options
+are not in general compatible with hidden-surface removal.
+
+ If two successive scans do not have same number of points, then it
+has to be decided whether to start taking points for quadrangles from
+the beginning of both scans (`flush begin`), from their ends (`flush
+end`) or to center them (`flush center`). Note, that `flush
+(center|end)` are incompatible with `scansautomatic`: if you specify
+`flush center` or `flush end` and `scansautomatic` is set, it is
+silently switched to `scansforward`.
+
+ If two subsequent scans do not have the same number of points, the
+option `ftriangles` specifies whether color triangles are drawn at the
+scan tail(s) where there are not enough points in either of the scan.
+This can be used to draw a smooth map boundary.
+
+ Gnuplot does not do true hidden surface removal for solid surfaces,
+but often it is sufficient to render the component quadrangles in order
+from furthest to closest. This mode may be selected using the options
+ set pm3d depthorder hidden3d
+
+ The `depthorder` option orders the solid quadrangles; the *note
+hidden3d:: option similarly orders the bounding lines (if drawn). Note
+that the global option *note hidden3d:: does not affect pm3d surfaces.
+
+
+File: gnuplot.info, Node: clipping, Next: color_assignment, Prev:
scanorder, Up: pm3d
+
+3.25.53.4 clipping
+..................
+
+Clipping with respect to x, y coordinates of quadrangles can be done in
+two ways. `clip1in`: all 4 points of each quadrangle must be defined
+and at least 1 point of the quadrangle must lie in the x and y ranges.
+`clip4in`: all 4 points of each quadrangle must lie in the x and y
+ranges.
+
+
+File: gnuplot.info, Node: color_assignment, Next: hidden3d_, Prev:
clipping, Up: pm3d
+
+3.25.53.5 color_assignment
+..........................
+
+`3 columns of data (x,y,z)`:
+
+ The coloring setup as well as the color box drawing are determined by
+*note palette::. There can be only one palette for the current plot.
+Drawing of several surfaces with different palettes can be achieved by
+*note multiplot:: with fixed *note origin:: and *note size::; don't
+forget to use `set palette maxcolors` when your terminal is running out
+of available colors.
+
+ There is a single gray/color value associated to each drawn pm3d
+quadrangle (no smooth color change among vertices). The value is
+calculated from z-coordinates from the surrounding corners according to
+`corners2color <option>`. The options 'mean' (default), 'geomean' and
+'median' produce various kinds of surface color smoothing, while
+options 'min' and 'max' choose minimal or maximal value, respectively.
+This may not be desired for pixel images or for maps with sharp and
+intense peaks, in which case the options 'c1', 'c2', 'c3' or 'c4' can
+be used instead to assign the quadrangle color based on the
+z-coordinate of only one corner. Some experimentation may be needed to
+determine which corner corresponds to 'c1', as the orientation depends
+on the drawing direction. Because the pm3d algorithm does not extend
+the colored surface outside the range of the input data points, the
+'c<j>' coloring options will result in pixels along two edges of the
+grid not contributing to the color of any quadrangle. For example,
+applying the pm3d algorithm to the 4x4 grid of data points in script
+`demo/pm3d.dem` (please have a look) produces only (4-1)x(4-1)=9
+colored rectangles.
+
+ `4 columns of data (x,y,z,color)`:
+
+ If a fourth column of data is provided, it is normally interpreted
+as a separate palette-mapped gray value. The coloring of individual
+quadrangles works as above, except that the color value is distinct
+from the z value. As a separate coloring option, the fourth data
+column may provide instead an RGB color. See `rgbcolor variable`. In
+this case the plotting command must be
+
+ splot ... using 1:2:3:4 with pm3d lc rgb variable
+
+ Another drawing algorithm, which would draw quadrangles around a
+given node by taking corners from averaged (x,y)-coordinates of its
+surrounding 4 nodes while using node's color, could be implemented in
+the future. This is already done for drawing images (2D grids) via
+`image` and *note rgbimage:: styles.
+
+ Notice that ranges of z-values and color-values for surfaces are
+adjustable independently by *note zrange::, *note cbrange::, as well as
+`set log` for z or cb. Maps can be adjusted by the cb-axis only; see
+also `set view map` and `set colorbox`.
+
+
+File: gnuplot.info, Node: hidden3d_, Next: interpolate, Prev:
color_assignment, Up: pm3d
+
+3.25.53.6 hidden3d
+..................
+
+The option *note hidden3d:: draws the bounding lines of each quadrangle
+at the same time that the quadrangle itself is drawn. Normally it is
+used in conjunction with the `depthorder` option to achieve an
+approximation to true hidden line removal. This is far more efficient
+than using the command *note hidden3d::. The command takes an optional
+linestyle controlling the appearance of the bounding lines. If the
+linestyle parameter is negative, or omitted, then the line properties
+given in the plot command are used. Example of recommended usage:
+
+ set pm3d at s hidden3d depthorder
+ unset hidden3d
+ unset surf
+ splot x*x+y*y linecolor rgb "black" linewidth 0.5
+
+
+File: gnuplot.info, Node: interpolate, Next: deprecated_options, Prev:
hidden3d_, Up: pm3d
+
+3.25.53.7 interpolate
+.....................
+
+The option `interpolate m,n` will interpolate grid points into a finer
+mesh, and color each quadrangle appropriately. For data files, this
+will smoothen the color surface, and enhance spikes in a color surface.
+For functions, interpolation makes little sense, except to trade off
+precision for memory. It would usually make more sense to use *note
+samples:: and *note isosamples:: when working with functions. For
+positive m and n, each quadrangle or triangle is interpolated 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 consider this as a special gridding
+function. Zeros, i.e. `interpolate 0,0`, will automatically choose an
+optimal number of interpolated surface points.
+
+
+File: gnuplot.info, Node: deprecated_options, Prev: interpolate, Up: pm3d
+
+3.25.53.8 deprecated_options
+............................
+
+There used to be an option {transparent|solid} to this command. Now
+you get the same effect from `set grid {front|layerdefault}`,
+respectively.
+
+ The command `set pm3d map` is equivalent to `set pm3d at b`; `set
+view map`; *note pm3d::; *note pm3d::;. It is used for backwards
+compatibility, when `set view map` was not available. Take care that
+you properly use *note zrange:: and *note cbrange:: for input data point
+filtering and color range scaling, respectively; and also `set
+(no)surface` seems to have a (side?) effect.
+
+
+File: gnuplot.info, Node: palette, Next: pointintervalbox, Prev: pm3d, Up:
set-show
+
+3.25.54 palette
+---------------
+
+Palette is a color storage for use by *note pm3d::, filled color
+contours or polygons, color histograms, color gradient background, and
+whatever it is or it will be implemented... Here it stands for a
+palette of smooth "continuous" colors or grays, but let's call it just
+a palette.
+
+ Color palettes require terminal entries for filled color polygons and
+palettes of smooth colors, are currently available for terminals listed
+in help for *note pm3d::. The range of color values are adjustable
+independently by *note cbrange:: and `set log cb`. The whole color
+palette is visualized in the `colorbox`.
+
+ Syntax:
+ set palette
+ set palette {
+ { gray | color }
+ { gamma <gamma> }
+ { rgbformulae <r>,<g>,<b>
+ | defined { ( <gray1> <color1> {, <grayN> <colorN>}...
) }
+ | file '<filename>' {datafile-modifiers}
+ | functions <R>,<G>,<B>
+ }
+ { cubehelix {start <val>} {cycles <val>} {saturation
<val>} }
+ { model { RGB | HSV | CMY | YIQ | XYZ } }
+ { positive | negative }
+ { nops_allcF | ps_allcF }
+ { maxcolors <maxcolors> }
+ }
+ show palette
+ show palette palette <n> {{float | int}}
+ show palette gradient
+ show palette fit2rgbformulae
+ show palette rgbformulae
+ show colornames
+
+ *note palette:: (i.e. without options) sets up the default values.
+Otherwise, the options can be given in any order. *note palette::
+shows the current palette properties.
+
+ `show palette gradient` displays the gradient defining the palette
+(if appropriate). *note rgbformulae:: prints the available fixed gray
+-> color transformation formulae. *note colornames:: prints the known
+color names.
+
+ `show palette palette <n>` prints to the screen or to the file given
+by *note print:: a table of RGB triplets calculated for the current
+palette settings and a palette having <n> discrete colors. The default
+wide table can be limited to 3 columns of r,g,b float values [0..1] or
+integer values [0..255] by options float or int, respectively. This
+way, the current gnuplot color palette can be loaded into other imaging
+applications, for example Octave. Additionally to this textual list of
+RGB table, you can use the *note palette:: command to plot the R,G,B
+profiles for the current palette.
+
+ The following options determine the coloring properties.
+
+ Figure using this palette can be `gray` or `color`. For instance,
+in *note pm3d:: color surfaces the gray of each small spot is obtained
+by mapping the averaged z-coordinate of the 4 corners of surface
+quadrangles into the range [min_z,max_z] providing range of grays
+[0:1]. This value can be used directly as the gray for gray maps. The
+color map requires a transformation gray -> (R,G,B), i.e. a mapping
+[0:1] -> ([0:1],[0:1],[0:1]).
+
+ Basically two different types of mappings can be used: Analytic
+formulae to convert gray to color, or discrete mapping tables which are
+interpolated. *note rgbformulae:: and *note functions:: use analytic
+formulae whereas *note defined:: and `palette file` use interpolated
+tables. *note rgbformulae:: reduces the size of postscript output to a
+minimum.
+
+ The command `show palette fit2rgbformulae` finds the best matching
+*note rgbformulae:: for the current *note palette::. 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 (http://zimg.sourceforge.net) ).
+
+ `set palette gray` switches to a gray only palette. *note
+rgbformulae::, *note defined::, `set palette file` and *note
+functions:: switch to a color mapping. `set palette color` is an easy
+way to switch back from the gray palette to the last color mapping.
+
+ Automatic gamma correction via `set palette gamma <gamma>` can be
+done for gray maps (`set palette gray`) and for the *note cubehelix::
+color palette schemes. Gamma = 1 produces a linear ramp of intensity.
+See *note palette::.
+
+ Many terminals support only discrete number of colors (e.g. 256
+colors in gif). After the default gnuplot linetype colors are
+allocated, the rest of the available colors are by default 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 `set palette maxcolors <N>` with 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 *note
+defined:: instead of a single continuous palette.
+
+ RGB color space might not be the most useful color space to work in.
+For that reason you may change the color space with `model` to one of
+`RGB`, `HSV`, `CMY`, `YIQ` and `XYZ`. Using color names for *note
+defined:: tables and a color space other than RGB will result in funny
+colors. All explanation have been written for RGB color space, so
+please note, that `R` can be `H`, `C`, `Y`, or `X`, depending on the
+actual color space (`G` and `B` accordingly).
+
+ All values for all color spaces are limited to [0,1].
+
+ RGB stands for Red, Green and Blue; CMY stands for Cyan, Magenta
+and Yellow; HSV stands for Hue, Saturation, and Value; YIQ is the
+color model used by the U.S. Commercial Color Television Broadcasting,
+it is basically an RGB recoding with downward compatibility for black
+and white television; XYZ are the three primary colors of the color
+model defined by the 'Commission Internationale de l'Eclairage' (CIE).
+For more information on color models see:
+http://en.wikipedia.org/wiki/Color_space
+(http://en.wikipedia.org/wiki/Color_space)
+
+* Menu:
+
+* rgbformulae::
+* defined_::
+* functions__::
+* cubehelix::
+* file::
+* gamma_correction::
+* postscript::
+
+
+File: gnuplot.info, Node: rgbformulae, Next: defined_, Prev: palette, Up:
palette
+
+3.25.54.1 rgbformulae
+.....................
+
+For *note rgbformulae:: three suitable mapping functions have to be
+chosen. This is done via `rgbformulae <r>,<g>,<b>`. The available
+mapping functions are listed by *note rgbformulae::. Default is
+`7,5,15`, some other examples are `3,11,6`, `21,23,3` or `3,23,21`.
+Negative numbers, like `3,-11,-6`, mean inverted color (i.e. 1-gray
+passed into the formula, see also `positive` and `negative` options
+below).
+
+ Some nice schemes in RGB color space
+ 7,5,15 ... traditional pm3d (black-blue-red-yellow)
+ 3,11,6 ... green-red-violet
+ 23,28,3 ... ocean (green-blue-white); try also all other permutations
+ 21,22,23 ... hot (black-red-yellow-white)
+ 30,31,32 ... color printable on gray (black-blue-violet-yellow-white)
+ 33,13,10 ... rainbow (blue-green-yellow-red)
+ 34,35,36 ... AFM hot (black-red-yellow-white)
+
+ A full color palette in HSV color space
+ 3,2,2 ... red-yellow-green-cyan-blue-magenta-red
+
+ Please note that even if called *note rgbformulae:: the formulas
+might actually determine the <H>,<S>,<V> or <X>,<Y>,<Z> or ... color
+components as usual.
+
+ Use `positive` and `negative` to invert the figure colors.
+
+ Note that it is possible to find a set of the best matching
+rgbformulae for any other color scheme by the command
+ show palette fit2rgbformulae
+
+
+File: gnuplot.info, Node: defined_, Next: functions__, Prev: rgbformulae,
Up: palette
+
+3.25.54.2 defined
+.................
+
+Gray-to-rgb mapping can be manually set by use of *note defined::: 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 selected as color space. Use *note colornames::
+for 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 or <X> in CIE-XYZ space, or ...
+depending on the selected color model.
+
+ The <gray> values have to form an ascending sequence of real
+numbers; the sequence will be automatically rescaled to [0,1].
+
+ *note defined:: (without a gradient definition in braces) switches to
+RGB color space and uses a preset full-spectrum color gradient. Use
+`show palette gradient` to display the gradient.
+
+ Examples:
+
+ To produce a gray palette (useless but instructive) use:
+ set palette model RGB
+ set palette defined ( 0 "black", 1 "white" )
+
+ To produce a blue yellow red palette use (all equivalent):
+ set palette defined ( 0 "blue", 1 "yellow", 2 "red" )
+ set palette defined ( 0 0 0 1, 1 1 1 0, 2 1 0 0 )
+ set palette defined ( 0 "#0000ff", 1 "#ffff00", 2 "#ff0000" )
+
+ To produce some rainbow-like palette use:
+ set palette defined ( 0 "blue", 3 "green", 6 "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" )
+
+
+File: gnuplot.info, Node: functions__, Next: cubehelix, Prev: defined_,
Up: palette
+
+3.25.54.3 functions
+...................
+
+Use `set palette functions <Rexpr>, <Gexpr>, <Bexpr>` to define three
+formulae for the R(gray), G(gray) and B(gray) mapping. The three
+formulae may depend on the variable `gray` which 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 XYZ functions gray**0.35, gray**0.5, gray**0.8
+
+ A gamma-corrected black and white palette
+ gamma = 2.2
+ color(gray) = gray**(1./gamma)
+ set palette model RGB functions color(gray), color(gray),
color(gray)
+
+
+File: gnuplot.info, Node: cubehelix, Next: file, Prev: functions__, Up:
palette
+
+3.25.54.4 cubehelix
+...................
+
+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
+
+ `start` defines the starting point along the color wheel in radians.
+`cycles` defines how many color wheel cycles span the palette range.
+Larger values of `saturation` produce more saturated color; saturation
+> 1 may lead to clipping of the individual RGB components and to
+intensity becoming non-monotonic. The palette is also affected by `set
+palette gamma`. The default values are
+ set palette cubehelix start 0.5 cycles -1.5 saturation 1
+ set palette gamma 1.5
+
+
+File: gnuplot.info, Node: file, Next: gamma_correction, Prev: cubehelix,
Up: palette
+
+3.25.54.5 file
+..............
+
+`set palette file` is basically a `set palette defined (<gradient>)`
+where <gradient> is read from a datafile. Either 4 columns
+(gray,R,G,B) or just three columns (R,G,B) have to be selected via the
+*note using:: data file modifier. In the three column case, the line
+number will be used as gray. The gray range is automatically rescaled
+to [0,1]. The file is read as a normal data file, so all datafile
+modifiers can be used. Please note, that `R` might actually be e.g.
+`H` if HSV color space is selected.
+
+ As usual <filename> may be `'-'` which means that the data follow
+the command inline and are terminated by a single `e` on a line of its
+own.
+
+ Use `show palette gradient` to display the gradient.
+
+ Examples:
+
+ Read in a palette of RGB triples each in range [0,255]:
+ set palette file 'some-palette' using ($1/255):($2/255):($3/255)
+
+ 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 *note general::.
+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
+
+
+File: gnuplot.info, Node: gamma_correction, Next: postscript, Prev: file,
Up: palette
+
+3.25.54.6 gamma correction
+..........................
+
+For gray mappings gamma correction can be turned on by `set palette
+gamma <gamma>`. <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 functions.
+
+ Example:
+ set palette model RGB
+ set palette functions gray**0.64, gray**0.67, gray**0.70
+
+ To use gamma correction with interpolated gradients specify
+intermediate gray values with appropriate colors. Instead of
+
+ set palette defined ( 0 0 0 0, 1 1 1 1 )
+
+ use e.g.
+
+ set palette defined ( 0 0 0 0, 0.5 .73 .73 .73, 1 1 1 1 )
+
+ or even more intermediate points until the linear interpolation fits
+the "gamma corrected" interpolation well enough.
+
+
+File: gnuplot.info, Node: postscript, Prev: gamma_correction, Up: palette
+
+3.25.54.7 postscript
+....................
+
+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 drawing, 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 `nops_allcF`. Using the option `ps_allcF`
+writes postscript definitions of all formulae. This you may find
+interesting if you want to edit the postscript file in order to have
+different palettes for different surfaces in one graph. Well, you can
+achieve this functionality by *note multiplot:: with fixed *note
+origin:: and *note size::.
+
+ If pm3d map has been plotted from gridded or almost regular data
+with an output to a postscript file, then it is possible to reduce the
+size of this postscript file up to at about 50% by the enclosed awk
+script `pm3dCompress.awk`. This you may find interesting if you
+intend to keep the file for including it into your publication or
+before downloading a very large file into a slow printer. Usage:
+ awk -f pm3dCompress.awk thefile.ps >smallerfile.ps
+
+ If pm3d map has been plotted from rectangular gridded data with an
+output to a postscript file, then it is possible to reduce the file
+size even more by the enclosed awk script `pm3dConvertToImage.awk`.
+Usage:
+ awk -f pm3dConvertToImage.awk <thefile.ps >smallerfile.ps
+
+ You may manually change the postscript output from gray to color and
+vice versa and change the definition of <maxcolors>.
+
+
+File: gnuplot.info, Node: pointintervalbox, Next: pointsize, Prev: palette,
Up: set-show
+
+3.25.55 pointintervalbox
+------------------------
+
+The `pointinterval` property of line types is used in plot style *note
+linespoints::. A negative value of pointinterval, e.g. -N, means that
+point symbols are drawn only for every Nth point, and that a box
+(actually circle) behind each point symbol is blanked out by filling
+with the background color. The command *note pointintervalbox::
+controls the radius of this blanked-out region. It is a multiplier for
+the default radius, which is equal to the point size.
+
+
+File: gnuplot.info, Node: pointsize, Next: polar_, Prev: pointintervalbox,
Up: set-show
+
+3.25.56 pointsize
+-----------------
+
+The *note pointsize:: command scales the size of the points used in
+plots.
+
+ Syntax:
+ set pointsize <multiplier>
+ show pointsize
+
+ The default is a multiplier of 1.0. Larger pointsizes may be useful
+to make points more visible in bitmapped graphics.
+
+ The pointsize of a single plot may be changed on the `plot` command.
+See *note with:: for details.
+
+ Please note that the pointsize setting is not supported by all
+terminal types.
+
+
+File: gnuplot.info, Node: polar_, Next: print_, Prev: pointsize, Up:
set-show
+
+3.25.57 polar
+-------------
+
+The `set polar` command changes the meaning of the plot from rectangular
+coordinates to polar coordinates.
+
+ Syntax:
+ set polar
+ unset polar
+ show polar
+
+ In polar coordinates, the dummy variable (t) is an angle. The
+default range of t is [0:2*pi], or, if degree units have been selected,
+to [0:360] (see *note angles::).
+
+ The command `unset polar` changes the meaning of the plot back to
+the default rectangular coordinate system.
+
+ The `set polar` command is not supported for `splot`s. See the
+*note mapping:: command for similar functionality for `splot`s.
+
+ While in polar coordinates the meaning of an expression in t is
+really r = f(t), where t is an angle of rotation. The trange controls
+the domain (the angle) of the function. The r, x and y ranges control
+the extent of the graph in the x and y directions. Each of these
+ranges, as well as the rrange, may be autoscaled or set explicitly.
+For details, see *note rrange:: and *note xrange::.
+
+ Example:
+ set polar
+ plot t*sin(t)
+ set trange [-2*pi:2*pi]
+ set rrange [0:3]
+ plot t*sin(t)
+
+ The first `plot` uses the default polar angular domain of 0 to 2*pi.
+The radius and the size of the graph are scaled automatically. The
+second `plot` expands 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].
+
+ You may want to `set size square` to have `gnuplot` try to make the
+aspect ratio equal to unity, so that circles look circular. See also
+polar demos (polar.dem) (http://www.gnuplot.info/demo/polar.html) and
+polar data plot (poldat.dem). (http://www.gnuplot.info/demo/poldat.html)
+
+
+File: gnuplot.info, Node: print_, Next: psdir, Prev: polar_, Up: set-show
+
+3.25.58 print
+-------------
+
+The *note print:: command redirects the output of the *note print::
+command to a file.
+
+ Syntax:
+ set print
+ set print "-"
+ set print "<filename>"
+ set print "<filename>" append
+ set print "|<shell_command>"
+
+ Without "<filename>", the output file is restored to <STDERR>. The
+<filename> "-" means <STDOUT>. The `append` flag causes the file to be
+opened in append mode. A <filename> starting with "|" is opened as a
+pipe to the <shell_command> on platforms that support piping.
+
+
+File: gnuplot.info, Node: psdir, Next: raxis, Prev: print_, Up: set-show
+
+3.25.59 psdir
+-------------
+
+The `set psdir <directory>` command controls the search path used by the
+postscript terminal to find prologue.ps and character encoding files.
+You can use this mechanism to switch between different sets of
+locally-customized prolog files. The search order is
+ 1) The directory specified by *note psdir::, if any
+ 2) The directory specified by environmental variable GNUPLOT_PS_DIR
+ 3) A built-in header or one from the default system directory
+ 4) Directories set by *note loadpath::
+
+
+File: gnuplot.info, Node: raxis, Next: rmargin, Prev: psdir, Up: set-show
+
+3.25.60 raxis
+-------------
+
+The commands *note raxis:: and *note raxis:: toggle 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 `polar`, *note rrange::,
+*note rtics::, `set grid`.
+
+
+File: gnuplot.info, Node: rmargin, Next: rrange, Prev: raxis, Up: set-show
+
+3.25.61 rmargin
+---------------
+
+The command *note rmargin:: sets the size of the right margin. Please
+see *note margin:: for details.
+
+
+File: gnuplot.info, Node: rrange, Next: rtics, Prev: rmargin, Up: set-show
+
+3.25.62 rrange
+--------------
+
+The *note rrange:: command 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. Autoscaling of rmin always
+results in rmin = 0.
+
+
+File: gnuplot.info, Node: rtics, Next: samples, Prev: rrange, Up: set-show
+
+3.25.63 rtics
+-------------
+
+The *note rtics:: command places tics along the polar axis. These will
+only be shown in polar plot mode. The tics and labels are drawn to the
+right of the origin. The `mirror` keyword causes them to be drawn also
+to the left of the origin. See `polar`, and see `set xtics` for
+discussion of other keywords.
+
+
+File: gnuplot.info, Node: samples, Next: size, Prev: rtics, Up: set-show
+
+3.25.64 samples
+---------------
+
+The sampling rate of functions, or for interpolating data, may be
+changed by the *note samples:: command.
+
+ Syntax:
+ set samples <samples_1> {,<samples_2>}
+ show samples
+
+ By default, sampling is set to 100 points. A higher sampling rate
+will produce more accurate plots, but will take longer. This parameter
+has no effect on data file plotting unless one of the
+interpolation/approximation options is used. See *note smooth:: re 2D
+data and *note cntrparam:: and *note dgrid3d:: re 3D data.
+
+ When a 2D graph is being done, only the value of <samples_1> is
+relevant.
+
+ When a surface plot is being done without the removal of hidden
+lines, the value of samples specifies the number of samples that are to
+be evaluated for the isolines. Each iso-v line will have <sample_1>
+samples and each iso-u line will have <sample_2> samples. If you only
+specify <samples_1>, <samples_2> will be set to the same value as
+<samples_1>. See also *note isosamples::.
+
+
+File: gnuplot.info, Node: size, Next: style, Prev: samples, Up: set-show
+
+3.25.65 size
+------------
+
+Syntax:
+ set size {{no}square | ratio <r> | noratio} {<xscale>,<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
+ *note size:: to control also the size of the output canvas; others
did not.
+ In version 4.6 almost all terminals now follow the following
convention:
+
+ `set term <terminal_type> size <XX>, <YY>` controls the size of the
+output file, or `canvas`. Please see individual terminal documentation
+for allowed values of the size parameters. By default, the plot will
+fill this canvas.
+
+ `set size <XX>, <YY>` scales the plot itself relative to the size of
+the canvas. Scale values less than 1 will cause the plot to not fill
+the entire canvas. Scale values larger than 1 will cause only a
+portion of the plot to fit on the canvas. Please be aware that setting
+scale values larger than 1 may cause problems on some terminal types.
+
+ `ratio` causes `gnuplot` to try to create a graph with an aspect
+ratio of <r> (the ratio of the y-axis length to the x-axis length)
+within the portion of the plot specified by <xscale> and <yscale>.
+
+ The meaning of a negative value for <r> is different. If <r>=-1,
+gnuplot tries to set the scales so that the unit has the same length on
+both the x and y axes. This is equivalent to `set view equal xy`. See
+`set view equal`. If <r>=-2, the unit on y has twice the length of the
+unit on x, and so on.
+
+ The success of `gnuplot` in producing the requested aspect ratio
+depends on the terminal selected. The graph area will be the largest
+rectangle of aspect ratio <r> that will fit into the specified portion
+of the output (leaving adequate margins, of course).
+
+ `square` is a synonym for `ratio 1`.
+
+ Both `noratio` and `nosquare` return the graph to the default aspect
+ratio of the terminal, but do not return <xscale> or <yscale> to their
+default values (1.0).
+
+ `ratio` and `square` have no effect on 3D plots, but do affect 3D
+projections created using `set view map`. See also `set view equal`,
+which forces the x and y axes of a 3D onto the same scale.
+
+ Examples:
+
+ To set the size so that the plot fills the available canvas:
+ set size 1,1
+
+ To make the graph half size and square use:
+ set size square 0.5,0.5
+
+ To make the graph twice as high as wide use:
+ set size ratio 2
+
+
+File: gnuplot.info, Node: style, Next: surface, Prev: size, Up: set-show
+
+3.25.66 style
+-------------
+
+Default plotting styles are chosen with the `set style data` and `set
+style function` commands. See *note with:: for information about how to
+override the default plotting style for individual functions and data
+sets. See `plotting styles` for a complete list of styles.
+
+ Syntax:
+ set style function <style>
+ set style data <style>
+ show style function
+ show style data
+
+ Default styles for specific plotting elements may also be set.
+
+ Syntax:
+ set style arrow <n> <arrowstyle>
+ set style fill <fillstyle>
+ set style histogram <histogram style options>
+ set style line <n> <linestyle>
+
+ If `gnuplot` was built with the support of objects, then the
+following options are also available:
+
+ Syntax:
+ set style rectangle <object options> <linestyle> <fillstyle>
+ set style circle radius <size>
+ set style ellipse size <size> units {xy|xx|yy}
+
+* Menu:
+
+* set_style_arrow::
+* boxplot_::
+* set_style_data::
+* set_style_fill::
+* set_style_function::
+* set_style_increment::
+* set_style_line::
+* set_style_circle::
+* set_style_rectangle::
+* set_style_ellipse::
+
+
+File: gnuplot.info, Node: set_style_arrow, Next: boxplot_, Prev: style,
Up: style
+
+3.25.66.1 set style arrow
+.........................
+
+Each terminal has a default set of arrow and point types, which can be
+seen by using the command *note test::. *note arrow:: defines a set of
+arrow types and widths and point types and sizes so that you can refer
+to them later by an index instead of repeating all the information at
+each invocation.
+
+ Syntax:
+ set style arrow <index> default
+ set style arrow <index> {nohead | head | heads}
+ {size <length>,<angle>{,<backangle>}}
+ {filled | empty | nofilled}
+ {front | back}
+ { {linestyle | ls <line_style>}
+ | {linetype | lt <line_type>}
+ {linewidth | lw <line_width} }
+ unset style arrow
+ show style arrow
+
+ <index> is an integer that identifies the arrowstyle.
+
+ If `default` is given all arrow style parameters are set to their
+default values.
+
+ If the linestyle <index> already exists, only the given parameters
+are changed while all others are preserved. If not, all undefined
+values are set to the default values.
+
+ Specifying `nohead` produces arrows drawn without a head--a line
+segment. This gives you yet another way to draw a line segment on the
+plot. By default, arrows have one head. Specifying `heads` draws arrow
+heads on both ends of the line.
+
+ Head size can be controlled by `size <length>,<angle>` or `size
+<length>,<angle>,<backangle>`, where `<length>` defines length of each
+branch of the arrow head and `<angle>` the angle (in degrees) they make
+with the arrow. `<Length>` is in x-axis units; this can be changed by
+`first`, `second`, `graph`, `screen`, or `character` before the
+<length>; see `coordinates` for details. `<Backangle>` only takes
+effect when `filled` or `empty` is also used. Then, `<backangle>` is
+the angle (in degrees) the back branches make with the arrow (in the
+same direction as `<angle>`). The `fig` terminal has a restricted
+backangle function. It supports three different angles. There are two
+thresholds: Below 70 degrees, the arrow head gets an indented back
+angle. Above 110 degrees, the arrow head has an acute back angle.
+Between these thresholds, the back line is straight.
+
+ Specifying `filled` produces filled arrow heads (if heads are used).
+Filling is supported on filled-polygon capable terminals, see help of
+*note pm3d:: for their list, otherwise the arrow heads are closed but
+not filled. The same result (closed but not filled arrow head) is
+reached by specifying `empty`. Further, filling and outline is
+obviously not supported on terminals drawing arrows by their own
+specific routines, like `metafont`, `metapost`, `latex` or `tgif`.
+
+ The line style may be selected from a user-defined list of line
+styles (see `set style line`) or may be defined here by providing
+values for `<line_type>` (an index from the default list of styles)
+and/or `<line_width>` (which is a multiplier for the default width).
+
+ Note, however, that if a user-defined line style has been selected,
+its properties (type and width) cannot be altered merely by issuing
+another *note arrow:: command with the appropriate index and `lt` or
+`lw`.
+
+ If `front` is given, the arrows are written on top of the graphed
+data. If `back` is given (the default), the arrow is written underneath
+the graphed data. Using `front` will prevent a arrow from being
+obscured by dense data.
+
+ Examples:
+
+ To draw an arrow without an arrow head and double width, use:
+ set style arrow 1 nohead lw 2
+ set arrow arrowstyle 1
+
+ See also *note arrow:: for further examples.
+
+
+File: gnuplot.info, Node: boxplot_, Next: set_style_data, Prev:
set_style_arrow, Up: style
+
+3.25.66.2 boxplot
+.................
+
+The *note boxplot:: command allows you to change the layout of plots
+created using the *note boxplot:: plot style.
+
+ Syntax:
+ set style boxplot {range <r> | fraction <f>}
+ {{no}outliers} {pointtype <p>}
+ {candlesticks | financebars}
+ {separation <x>}
+ {labels off | auto | x | x2}
+ {sorted | unsorted}
+
+ The box in the boxplot always spans the range of values from the
+first quartile to the third quartile of the data points. The limit of
+the whiskers that extend from the box can be controlled in two
+different ways. By default the whiskers extend from each end of the box
+for a range equal to 1.5 times the interquartile range (i.e. the
+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 considered
+outliers. By default these are drawn as individual circles (pointtype
+7). The option `nooutliers` disables this.
+
+ By default boxplots are drawn in a style similar to candlesticks,
+but you have the option of using instead a style similar to finance
+bars.
+
+ If the using specification for a boxplot contains a fourth column,
+the values in that column will be interpreted as the discrete leveles
+of a factor variable. In this case more than one boxplots may be
+drawn, as many as the number of levels of the factor variable. These
+boxplots will be 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 `separation`.
+
+ The *note labels:: option governs how and where these boxplots (each
+representing a part of the dataset) are labeled. By default the value
+of the factor is put as a tick label on the horizontal axis - x or x2,
+depending on which one is used for the plot itself. This setting
+corresponds to option `labels auto`. The labels can be forced to use
+either of the x or x2 axes - options `labels x` and `labels x2`,
+respectively -, or they can be turned off altogether with the option
+`labels off`.
+
+ 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 `unsorted` option. If the `sorted` option is active, the levels
+are first sorted alphabetically, and the boxplots are drawn in the
+sorted order.
+
+ The `separation`, *note labels::, `sorted` and `unsorted` option
+only have an effect if a fourth column is given the plot specification.
+
+ See *note boxplot::, *note candlesticks::, *note financebars::.
+
+
+File: gnuplot.info, Node: set_style_data, Next: set_style_fill, Prev:
boxplot_, Up: style
+
+3.25.66.3 set style data
+........................
+
+The `set style data` command changes the default plotting style for data
+plots.
+
+ Syntax:
+ set style data <plotting-style>
+ show style data
+
+ See `plotting styles` for the choices. If no choice is given, the
+choices are listed. `show style data` shows the current default data
+plotting style.
+
+
+File: gnuplot.info, Node: set_style_fill, Next: set_style_function, Prev:
set_style_data, Up: style
+
+3.25.66.4 set style fill
+........................
+
+The `set style fill` command 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. See also 'set style rectangle'.
+
+ Syntax:
+ set style fill {empty
+ | {transparent} solid {<density>}
+ | {transparent} pattern {<n>}}
+ {border {lt} {lc <colorspec>} | noborder}
+
+ The default fillstyle is `empty`.
+
+ The `solid` option causes filling with a solid color, if the terminal
+supports that. The <density> parameter specifies the intensity of the
+fill color. At a <density> of 0.0, the box is empty, at <density> of
+1.0, the inner area is of the same color as the current linetype. Some
+terminal types can vary the density continuously; others implement only
+a few levels of partial fill. If no <density> parameter is given, it
+defaults to 1.
+
+ The `pattern` option causes filling to be done with a fill pattern
+supplied by the terminal driver. The kind and number of available fill
+patterns depend on the terminal driver. If multiple datasets using
+filled boxes are plotted, the pattern cycles through all available
+pattern types, starting from pattern <n>, much as the line type cycles
+for multiple line plots.
+
+ The `empty` option causes filled boxes not to be filled. This is the
+default.
+
+ By default, *note border::, the box is bounded by a solid line of
+the current linetype. `border <colorspec>` allows you to change the
+color of the border. `noborder` specifies that no bounding lines are
+drawn.
+
+-- SET STYLE FILL TRANSPARENT --
+
+ Some terminals support the attribute `transparent` for filled areas.
+In the case of transparent solid fill areas, the `density` parameter 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.
+
+ terminal solid pattern pm3d
+ --------------------------------
+ gif no yes no
+ jpeg yes no yes
+ pdf yes yes yes
+ png TrueColor index yes
+ post no yes no
+ svg yes no yes
+ win yes yes yes
+ wxt yes yes yes
+ x11 no yes no
+
+ Note that there may be additional limitations on the creation or
+viewing of graphs containing transparent fill areas. For example, the
+png terminal can only use transparent fill if the "truecolor" option is
+set. Some pdf viewers may not correctly display the fill areas even if
+they are correctly described in the pdf file. Ghostscript/gv does not
+correctly display pattern-fill areas even though actual PostScript
+printers generally have no problem.
+
+
+File: gnuplot.info, Node: set_style_function, Next: set_style_increment,
Prev: set_style_fill, Up: style
+
+3.25.66.5 set style function
+............................
+
+The `set style function` command changes the default plotting style for
+function plots (e.g. lines, points, filledcurves). See `plotting
+styles`.
+
+ Syntax:
+ set style function <plotting-style>
+ show style function
+
+
+File: gnuplot.info, Node: set_style_increment, Next: set_style_line, Prev:
set_style_function, Up: style
+
+3.25.66.6 set style increment
+.............................
+
+`Note`: This command has been deprecated. Instead please use the newer
+command `set linetype`, which redefines the linetypes themselves rather
+than searching for a suitable temporary line style to substitute. See
+`set linetype`
+
+ 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 terminal type.
+However, choosing `set style increment user` allows 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.
+
+
+File: gnuplot.info, Node: set_style_line, Next: set_style_circle, Prev:
set_style_increment, Up: style
+
+3.25.66.7 set style line
+........................
+
+Each terminal has a default set of line and point types, which can be
+seen by using the command *note test::. `set style line` defines a set
+of line types and widths and point types and sizes so that you can
+refer to them later by an index instead of repeating all the
+information at each invocation.
+
+ Syntax:
+ set style line <index> default
+ 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>}
+ {palette}
+ unset style line
+ show style line
+
+ `default` sets all line style parameters to those of the linetype
+with that same index.
+
+ If the linestyle <index> already exists, only the given parameters
+are changed while all others are preserved. If not, all undefined
+values are set to the default values.
+
+ Line styles created by this mechanism do not replace the default
+linetype styles; both may be used. Line styles are temporary. They are
+lost whenever you execute a *note reset:: command. To redefine the
+linetype itself, please see `set linetype`.
+
+ 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*note pointsize::).
+
+ The `pointinterval` controls the spacing between points in a plot
+drawn with style *note linespoints::. The default is 0 (every point is
+drawn). For example, `set style line N pi 3` defines a linestyle that
+uses pointtype N, pointsize and linewidth equal to the current defaults
+for the terminal, and will draw every 3rd point in plots using *note
+linespoints::. 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.
+
+ Not all terminals support the `linewidth` and *note pointsize::
+features; if not supported, the option will be ignored.
+
+ Terminal-independent colors may be assigned using either `linecolor
+<colorspec>` or `linetype <colorspec>`, abbreviated `lc` or `lt`. 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 `colors`, *note
+colorspec::, *note palette::, *note colornames::, *note cbrange::.
+
+ `set style line <n> linetype <lt>` will set both a
+terminal-dependent dot/dash pattern and color. The commands`set style
+line <n> linecolor <colorspec>` or `set style line <n> linetype
+<colorspec>` will set a new line color while leaving the existing
+dot-dash pattern unchanged.
+
+ In 3d mode (`splot` command), the special keyword *note palette:: is
+allowed as a shorthand for "linetype palette z". The color value
+corresponds to the z-value (elevation) of the splot, and varies
+smoothly along a line or surface.
+
+ Examples: Suppose that the default lines for indices 1, 2, and 3 are
+red, green, and blue, respectively, and the default point shapes for
+the same indices are a square, a cross, and a triangle, respectively.
+Then
+
+ set style line 1 lt 2 lw 2 pt 3 ps 0.5
+
+ defines a new linestyle that is green and twice the default width
+and a new pointstyle that is a half-sized triangle. The commands
+
+ set style function lines
+ plot f(x) lt 3, g(x) ls 1
+
+ will create a plot of f(x) using the default blue line and a plot of
+g(x) using the user-defined wide green line. Similarly the commands
+
+ set style function linespoints
+ plot p(x) lt 1 pt 3, q(x) ls 1
+
+ will create a plot of p(x) using the default triangles connected by
+a red line and q(x) using small triangles connected by a green line.
+
+ splot sin(sqrt(x*x+y*y))/sqrt(x*x+y*y) w l pal
+
+ creates a surface plot using smooth colors according to *note
+palette::. Note, that this works only on some terminals. See also *note
+palette::, *note pm3d::.
+
+ set style line 10 linetype 1 linecolor rgb "cyan"
+
+ will assign linestyle 10 to be a solid cyan line on any terminal that
+supports rgb colors.
+
+
+File: gnuplot.info, Node: set_style_circle, Next: set_style_rectangle,
Prev: set_style_line, Up: style
+
+3.25.66.8 set style circle
+..........................
+
+Syntax:
+ set style circle {radius {graph|screen} <R>}
+
+ 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".
+
+
+File: gnuplot.info, Node: set_style_rectangle, Next: set_style_ellipse,
Prev: set_style_circle, Up: style
+
+3.25.66.9 set style rectangle
+.............................
+
+Rectangles defined with the *note object:: command can have individual
+styles. However, if the object is not assigned a private style then it
+inherits a default that is taken from the *note rectangle:: command.
+
+ Syntax:
+ set style rectangle {front|back} {lw|linewidth <lw>}
+ {fillcolor <colorspec>} {fs <fillstyle>}
+
+ See *note colorspec:: and `fillstyle`. `fillcolor` may be
+abbreviated as `fc`.
+
+ 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.
+
+
+File: gnuplot.info, Node: set_style_ellipse, Prev: set_style_rectangle, Up:
style
+
+3.25.66.10 set style ellipse
+............................
+
+Syntax:
+ set style ellipse {units xx|xy|yy}
+ {size {graph|screen} <a>, {{graph|screen} <b>}}
+ {angle <angle>}
+
+ This command governs whether the diameters of ellipses are
+interpreted in the same units or not. Default is `xy`, which means
+that the major diameter (first axis) of ellipses will be interpreted in
+the same units as the x (or x2) axis, while the minor (second) diameter
+in those of the y (or y2) axis. In this mode the ratio of the ellipse
+axes depends on the scales of the plot axes and aspect ratio of the
+plot. When set to `xx` or `yy`, 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 `plot` command,
+however, the value of `units` can also be redefined on a per-plot and
+per-object basis.
+
+ It is also possible to set a default size for ellipses with the
+*note size:: keyword. This default size applies to data plots with only
+2 columns of data (x,y) and to function plots. The two values are
+interpreted as the major and minor diameters (as opposed to semi-major
+and semi-minor axes) of the ellipse.
+
+ The default is "set style ellipse size graph 0.05,0.03".
+
+ Last, but not least it is possible to set the default orientation
+with the `angle` keyword. 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.
+
+ For defining ellipse objects, see `set object ellipse`; for the 2D
+plot style, see *note ellipses::.
+
+
+File: gnuplot.info, Node: surface, Next: table, Prev: style, Up: set-show
+
+3.25.67 surface
+---------------
+
+The command *note surface:: controls the display of surfaces by `splot`.
+
+ Syntax:
+ set surface
+ unset surface
+ show surface
+
+ The surface is drawn with the style specified by *note with::, or
+else the appropriate style, data or function.
+
+ *note surface:: will cause `splot` to not draw points or lines
+corresponding to any of the function or data file points. If you want
+to turn off the surface for an individual function or data file while
+leaving the others active, use the `nosurface` keyword in the `splot`
+command. Contours may still be drawn on the surface, depending on the
+*note contour:: option. The combination `unset surface; set contour
+base` is useful for displaying contours on the grid base. See also
+*note contour::.
+
+
+File: gnuplot.info, Node: table, Next: terminal, Prev: surface, Up:
set-show
+
+3.25.68 table
+-------------
+
+When *note table:: mode is enabled, `plot` and `splot` commands print
+out a multicolumn ASCII table of X Y {Z} R values rather than creating
+an actual plot on the current terminal. The character R takes on one
+of three values: "i" if the point is in the active range, "o" if it is
+out-of-range, or "u" if it is undefined. The data format is determined
+by the format of the axis labels (see `set format`), 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, perhaps for
+plotting with `plot`; see *note contour:: for example. The same
+method can be used to save interpolated data (see *note samples:: and
+*note dgrid3d::).
+
+ Syntax:
+ set table {"outfile"}
+ plot <whatever>
+ unset table
+
+ Tabular output is written to the named file, if any, otherwise it is
+written to the current value of *note output::. You must explicitly
+*note table:: in order to go back to normal plotting on the current
+terminal.
+
+
+File: gnuplot.info, Node: terminal, Next: termoption, Prev: table, Up:
set-show
+
+3.25.69 terminal
+----------------
+
+`gnuplot` supports many different graphics devices. Use *note
+terminal:: to tell `gnuplot` what kind of output to generate. Use *note
+output:: to redirect that output to a file or device.
+
+ Syntax:
+ set terminal {<terminal-type> | push | pop}
+ show terminal
+
+ If <terminal-type> is omitted, `gnuplot` will list the available
+terminal types. <terminal-type> may be abbreviated.
+
+ If both *note terminal:: and *note output:: are used together, it is
+safest to give *note terminal:: first, 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 `set term <term> <options>` of a given `<term>` are
+remembered, thus subsequent `set term <term>` does not reset them.
+This helps in printing, for instance, when switching among different
+terminals--previous options don't have to be repeated.
+
+ The command `set term push` remembers the current terminal including
+its settings while `set term pop` restores it. This is equivalent to
+`save term` and `load term`, 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 `startup` file is pushed automatically.
+Therefore portable scripts can rely that `set term pop` restores the
+default terminal on a given platform unless another terminal has been
+pushed explicitly.
+
+ For more information, see the `complete list of terminals`.
+
+
+File: gnuplot.info, Node: termoption, Next: tics, Prev: terminal, Up:
set-show
+
+3.25.70 termoption
+------------------
+
+The *note termoption:: command allows you to change the behaviour of the
+current terminal without requiring a new *note terminal:: command. Only
+one option can be changed per command, and only a small number of
+options can be changed this way. Currently the only options accepted are
+
+ set termoption {no}enhanced
+ set termoption font "<fontname>{,<fontsize>}"
+ set termoption fontscale <scale>
+ set termoption {solid|dashed}
+ set termoption {linewidth <lw>}{lw <lw>}
+
+
+File: gnuplot.info, Node: tics, Next: ticslevel, Prev: termoption, Up:
set-show
+
+3.25.71 tics
+------------
+
+Control of the major (labelled) tics on all axes at once is possible
+with the `set tics` command.
+
+ Fine control of the major (labelled) tics on all axes at once is
+possible with the `set tics` command. The tics may be turned off with
+the `unset tics` command, and may be turned on (the default state) with
+`set tics`. Similar commands (by preceding 'tics' by the axis name)
+control the major tics on a single axis.
+
+ Syntax:
+ set tics {axis | border} {{no}mirror}
+ {in | out} {scale {default | <major> {,<minor>}}}
+ {{no}rotate {by <ang>}} {offset <offset> | nooffset}
+ {left | right | center | autojustify}
+ { format "formatstring" } { font "name{,<size>}" }
+ { textcolor <colorspec> }
+ set tics {front | back}
+ unset tics
+ show tics
+
+ The options in the first set above can be applied individually to
+any or all axes, i.e., x, y, z, x2, y2, and cb.
+
+ Set tics `front` or `back` applies 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.
+
+ `axis` or *note border:: tells `gnuplot` to put the tics (both the
+tics themselves and the accompanying labels) along the axis or the
+border, respectively. If the axis is very close to the border, the
+`axis` option will move the tic labels to outside the border in case
+the border is printed (see *note border::). The relevant margin
+settings will usually be sized badly by the automatic layout algorithm
+in this case.
+
+ `mirror` tells `gnuplot` to put unlabelled tics at the same
+positions on the opposite border. `nomirror` does what you think it
+does.
+
+ `in` and `out` change the tic marks to be drawn inwards or outwards.
+
+ With `scale`, 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 `scale default`.
+
+ `rotate` asks `gnuplot` to rotate the text through 90 degrees, which
+will be done if the terminal driver in use supports text rotation.
+`norotate` cancels this. `rotate by <ang>` asks for rotation by <ang>
+degrees, supported by some terminal types.
+
+ The defaults are `border mirror norotate` for tics on the x and y
+axes, and `border nomirror norotate` for tics on the x2 and y2 axes.
+For the z axis, the default is `nomirror`.
+
+ The <offset> is specified by either x,y or x,y,z, and may be
+preceded by `first`, `second`, `graph`, `screen`, or `character` to
+select the coordinate system. <offset> is the offset of the tics texts
+from their default positions, while the default coordinate system is
+`character`. See `coordinates` for details. `nooffset` switches off
+the offset.
+
+ By default, tic labels are justified automatically depending on the
+axis and rotation angle to produce aesthetically pleasing results. If
+this is not desired, justification can be overridden with an explicit
+`left`, `right` or `center` keyword. `autojustify` restores the default
+behavior.
+
+ `set tics` with no options restores to place tics inwards. Every
+other options are retained.
+
+ See also `set xtics` for more control of major (labelled) tic marks
+and *note mxtics:: for control of minor tic marks. These commands
+provide control at a axis by axis basis.
-
-File: gnuplot.info, Node: angles, Prev: set-show, Up: set-show, Next: arrow
-
- By default, `gnuplot` (*note gnuplot:: ) assumes the independent variable in
- polar graphs is in units of radians. If `set angles degrees` is specified
- before `set polar` (*note polar:: ), 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 3-d mapping as set via
- the `set mapping` (*note mapping:: ) command.
-
- Syntax:
- set angles {degrees | radians}
- show angles
-
- The angle specified in `set grid polar` is also read and displayed in the
- units specified by `set angles`.
-
- `set angles` also affects the arguments of the machine-defined functions
- sin(x), cos(x) and tan(x), and the outputs of asin(x), acos(x), atan(x),
- atan2(x), and arg(x). It has no effect on the arguments of hyperbolic
- functions or Bessel functions. However, the output arguments of inverse
- hyperbolic functions of complex arguments are affected; if these functions
- are used, `set angles radians` 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}
-
-
-File: gnuplot.info, Node: arrow, Prev: angles, Up: set-show, Next: autoscale
-
- Arbitrary arrows can be placed on a plot using the `set arrow` command.
-
- Syntax:
- set arrow {<tag>} {from <position>} {to <position>} {{no}head}
- { {linestyle | ls <line_style>}
- | {linetype | lt <line_type>}
- {linewidth | lw <line_width} }
- set noarrow {<tag>}
- show arrow
-
- <tag> is an integer that identifies the arrow. If no tag is given, the
- lowest unused tag value is assigned automatically. The tag can be used to
- delete or change a specific arrow. To change any attribute of an existing
- arrow, use the `set arrow` command with the appropriate tag and specify the
- parts of the arrow to be changed.
-
- The <position>s are specified by either x,y or x,y,z, and may be preceded by
- `first`, `second`, `graph`, or `screen` to select the coordinate system.
- Unspecified coordinates default to 0. The endpoints can be specified in
- one of four coordinate systems---`first` or `second` axes, `graph` or
- `screen`. See `coordinates` (*note Coordinates:: ) for details. A coordinate
- system specifier does not carry over from the "from" position to the "to"
- position. Arrows outside the screen boundaries are permitted but may cause
- device errors.
-
- Specifying `nohead` produces an arrow drawn without a head---a line segment.
- This gives you yet another way to draw a line segment on the plot. By
- default, arrows have heads.
-
- The line style may be selected from a user-defined list of line styles (see
- `set linestyle` (*note linestyle:: )) or may be defined here by providing
- values for <line_type> (an index from the default list of styles) and/or
- <line_width> (which is a multiplier for the default width).
-
- Note, however, that if a user-defined line style has been selected, its
- properties (type and width) cannot be altered merely by issuing another
- `set arrow` command with the appropriate index and `lt` or `lw`.
-
- Examples:
-
- To set an arrow pointing from the origin to (1,2) with user-defined style 5,
- use:
- set arrow to 1,2 ls 5
-
- To set an arrow from bottom left of plotting area to (-5,5,3), and tag the
- arrow number 3, use:
- set arrow 3 from graph 0,0 to -5,5,3
-
- To change the preceding arrow to end at 1,1,1, without an arrow head and
- double its width, use:
- set arrow 3 to 1,1,1 nohead lw 2
-
- To draw a vertical line from the bottom to the top of the graph at x=3, use:
- set arrow from 3, graph 0 to 3, graph 1 nohead
-
- To delete arrow number 2, use:
- set noarrow 2
-
- To delete all arrows, use:
- set noarrow
-
- To show all arrows (in tag order), use:
- show arrow
-
-
-File: gnuplot.info, Node: autoscale, Prev: arrow, Up: set-show, Next:
parametric mode
-
- Autoscaling may be set individually on the x, y or z axis or globally on all
- axes. The default is to autoscale all axes.
-
- Syntax:
- set autoscale {<axes>{min|max}}
- set noautoscale {<axes>{min|max}}
- show autoscale
-
- where <axes> is either `x`, `y`, `z`, `x2`, `y2` or `xy`. A keyword with
- `min` or `max` appended (this cannot be done with `xy`) tells `gnuplot`
- (*note gnuplot:: ) to autoscale just the minimum or maximum of that axis. If
- no keyword is given, all axes are autoscaled.
-
- When autoscaling, the axis range is automatically computed and the dependent
- axis (y for a `plot` (*note plot:: ) and z for `splot` (*note splot:: )) is
- scaled to include the range of the function or data being plotted.
-
- If autoscaling of the dependent axis (y or z) is not set, the current y or z
- range is used.
-
- Autoscaling the independent variables (x for `plot` and x,y for `splot`) is a
- request to set the domain to match any data file being plotted. If there are
- no data files, autoscaling an independent variable has no effect. In other
- words, in the absence of a data file, functions alone do not affect the x
- range (or the y range if plotting z = f(x,y)).
+
+File: gnuplot.info, Node: ticslevel, Next: ticscale, Prev: tics, Up:
set-show
- Please see `set xrange` (*note xrange:: ) for additional information about
- ranges.
+3.25.72 ticslevel
+-----------------
- The behavior of autoscaling remains consistent in parametric mode, (see `set
- parametric`). 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 `plot`s and u,v for `splot`s. `autoscale` in
- parametric mode, then, controls all ranges (t, u, v, x, y, and z) and allows
- x, y, and z to be fully autoscaled.
+Deprecated. See *note xyplane::.
- Autoscaling works the same way for polar mode as it does for parametric mode
- for `plot`, with the extension that in polar mode `set dummy` (*note dummy:: )
- can be used to change the independent variable from t (see `set dummy`).
+
+File: gnuplot.info, Node: ticscale, Next: timestamp, Prev: ticslevel, Up:
set-show
- When tics are displayed on second axes but no plot has been specified for
- those axes, x2range and y2range are inherited from xrange and yrange. This
- is done _before_ xrange and yrange are autoextended to a whole number of
- tics, which can cause unexpected results.
+3.25.73 ticscale
+----------------
- Examples:
+The *note ticscale:: command is deprecated, use `set tics scale`
+instead.
- This sets autoscaling of the y axis (other axes are not affected):
- set autoscale y
+
+File: gnuplot.info, Node: timestamp, Next: timefmt, Prev: ticscale, Up:
set-show
- 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
+3.25.74 timestamp
+-----------------
- This sets autoscaling of the x and y axes:
- set autoscale xy
+The command *note timestamp:: places the time and date of the plot in
+the left margin.
- This sets autoscaling of the x, y, z, x2 and y2 axes:
- set autoscale
+ Syntax:
+ set timestamp {"<format>"} {top|bottom} {{no}rotate}
+ {offset <xoff>{,<yoff>}} {font "<fontspec>"}
+ unset timestamp
+ show timestamp
- This disables autoscaling of the x, y, z, x2 and y2 axes:
- set noautoscale
+ The format string allows you to choose the format used to write the
+date and time. Its default value is what asctime() uses: "%a %b %d
+%H:%M:%S %Y" (weekday, month name, day of the month, hours, minutes,
+seconds, four-digit year). With `top` or `bottom` you can place the
+timestamp at the top or bottom of the left margin (default: bottom).
+`rotate` lets you write the timestamp vertically, if your terminal
+supports vertical text. 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.
- This disables autoscaling of the z axis only:
- set noautoscale z
+ The abbreviation `time` may be used in place of *note timestamp::.
-* Menu:
+ Example:
+ set timestamp "%d/%m/%y %H:%M" offset 80,-2 font "Helvetica"
-* parametric mode::
-* polar mode::
+ See *note timefmt:: for more information about time format strings.
-
-File: gnuplot.info, Node: parametric mode, Prev: autoscale, Up: autoscale,
Next: polar mode
+
+File: gnuplot.info, Node: timefmt, Next: title_, Prev: timestamp, Up:
set-show
+
+3.25.75 timefmt
+---------------
+
+This command applies to timeseries where data are composed of
+dates/times. It has no meaning unless the command `set xdata time` is
+given also.
+
+ Syntax:
+ set timefmt "<format string>"
+ show timefmt
+
+ The string argument tells `gnuplot` how to read timedata from the
+datafile. The valid formats are:
+
+ 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
+
+ Any character is allowed in the string, but must match exactly. \t
+(tab) is recognized. Backslash-octals (\nnn) are converted to char.
+If there is no separating character between the time/date elements,
+then %d, %m, %y, %H, %M and %S read two digits each. If a decimal
+point immediately follows the field read by %S, the decimal and any
+following digits are interpreted as a fractional second. %Y reads four
+digits. %j reads three digits. %b requires three characters, and %B
+requires as many as it needs.
+
+ Spaces are treated slightly differently. A space in the string
+stands for zero or more whitespace characters in the file. That is,
+"%H %M" can be used to read "1220" and "12 20" as well as "12 20".
+
+ Each set of non-blank characters in the timedata counts as one
+column in the `using n:n` specification. Thus `11:11 25/12/76 21.0`
+consists of three columns. To avoid confusion, `gnuplot` requires that
+you provide a complete *note using:: specification 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. `gnuplot` will determine the
+proper month and weekday from the numerical values. See `set format`
+for more details about these and other options for printing time data.
+
+ When reading two-digit years with %y, values 69-99 refer to the 20th
+century, while values 00-68 refer to the 21st century. NB: This is in
+accordance with the UNIX98 spec, but conventions vary widely and
+two-digit year values are inherently ambiguous.
+
+ See also *note xdata:: and `time/date` for more information.
+
+ Example:
+ set timefmt "%d/%m/%Y\t%H:%M"
+
+ tells `gnuplot` to read date and time separated by tab. (But look
+closely at your data--what began as a tab may have been converted to
+spaces somewhere along the line; the format string must match what is
+actually in the file.) See also time data demo.
+(http://www.gnuplot.info/demo/timedat.html)
+
+
+File: gnuplot.info, Node: title_, Next: tmargin, Prev: timefmt, Up:
set-show
- When in parametric mode (`set parametric` (*note parametric:: )), the xrange
- is as fully scalable as the y range. In other words, in parametric mode the x
- axis can be automatically scaled to fit the range of the parametric function
- that is being plotted. Of course, the y axis can also be automatically scaled
- just as in the non-parametric case. If autoscaling on the x axis is not set,
- the current x range is used.
+3.25.76 title
+-------------
- Data files are plotted the same in parametric and non-parametric mode.
- However, there is a difference in mixed function and data plots: in
- non-parametric mode with autoscaled x, the x range of the datafile controls
- the x range of the functions; in parametric mode it has no influence.
+The *note title:: command produces a plot title that is centered at the
+top of the plot. *note title:: is a special case of `set label`.
- For completeness a last command `set autoscale t` is accepted. However, the
- effect of this "scaling" is very minor. When `gnuplot` (*note gnuplot:: )
- determines that the t range would be empty, it makes a small adjustment if
- autoscaling is true. Otherwise, `gnuplot` gives an error. Such behavior may,
- in fact, not be very useful and the command `set autoscale t` is certainly
- questionable.
+ Syntax:
+ set title {"<title-text>"} {offset <offset>} {font
"<font>{,<size>}"}
+ {{textcolor | tc} {<colorspec> | default}} {{no}enhanced}
+ show title
- `splot` (*note splot:: ) extends the above ideas as you would expect. If
- autoscaling is set, then x, y, and z ranges are computed and each axis scaled
- to fit the resulting data.
+ 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 `first`, `second`, `graph`,
+`screen`, or `character` to select the coordinate system. See
+`coordinates` for details. By default, the `character` coordinate
+system is used. For example, "`set title offset 0,-1`" will change
+only the y offset of the title, moving the title down by roughly the
+height of one character. The size of a character depends on both the
+font and the terminal.
+ <font> is used to specify the font with which the title is to be
+written; the units of the font <size> depend upon which terminal is
+used.
-
-File: gnuplot.info, Node: polar mode, Prev: parametric mode, Up: autoscale
+ `textcolor <colorspec>` changes the color of the text. <colorspec>
+can be a linetype, an rgb color, or a palette mapping. See help for
+*note colorspec:: and *note palette::.
- When in polar mode (`set polar` (*note polar:: )), the xrange and the yrange
- are both found from the polar coordinates, and thus they can both be
- automatically scaled. In other words, in polar mode both the x and y axes can
- be automatically scaled to fit the ranges of the polar function that is being
- plotted.
+ `noenhanced` requests that the title not be processed by the
+enhanced text mode parser, even if enhanced text mode is currently
+active.
- When plotting functions in polar mode, the rrange may be autoscaled. When
- plotting data files in polar mode, the trange may also be autoscaled. Note
- that if the trange is contained within one quadrant, autoscaling will produce
- a polar plot of only that single quadrant.
+ *note title:: with no parameters clears the title.
- Explicitly setting one or two ranges but not others may lead to unexpected
- results.
+ See `syntax` for details about the processing of backslash sequences
+and the distinction between single- and double-quotes.
-
-File: gnuplot.info, Node: bar, Prev: autoscale, Up: set-show, Next: bmargin
+
+File: gnuplot.info, Node: tmargin, Next: trange, Prev: title_, Up: set-show
- The `set bar` command controls the tics at the ends of errorbars.
+3.25.77 tmargin
+---------------
- Syntax:
- set bar {small | large | <size>}
- show bar
+The command *note tmargin:: sets the size of the top margin. Please
+see *note margin:: for details.
- `small` is a synonym for 0.0, and `large` for 1.0.
- The default is 1.0 if no size is given.
+
+File: gnuplot.info, Node: trange, Next: urange, Prev: tmargin, Up: set-show
-
-File: gnuplot.info, Node: bmargin, Prev: bar, Up: set-show, Next: border
+3.25.78 trange
+--------------
- The command `set bmargin` sets the size of the bottom margin. Please see
- `set margin` (*note margin:: ) for details.
+The *note trange:: command sets the parametric range used to compute x
+and y values when in parametric or polar modes. Please see *note
+xrange:: for details.
+
+File: gnuplot.info, Node: urange, Next: variables, Prev: trange, Up:
set-show
-
-File: gnuplot.info, Node: border, Prev: bmargin, Up: set-show, Next: boxwidth
+3.25.79 urange
+--------------
- The `set border` and `set noborder` commands control the display of the graph
- borders for the `plot` (*note plot:: ) and `splot` (*note splot:: )
- commands.
+The *note urange:: and *note vrange:: commands set the parametric
+ranges used to compute x, y, and z values when in `splot` parametric
+mode. Please see *note xrange:: for details.
- Syntax:
- set border {<integer> { {linestyle | ls <line_style>}
- | {linetype | lt <line_type> }
- {linewidth | lw <line_width>} } }
- set noborder
- show border
+
+File: gnuplot.info, Node: variables, Next: version, Prev: urange, Up:
set-show
- The borders are encoded in a 12-bit integer: the bottom four bits control the
- border for `plot` and the sides of the base for `splot`; The next four bits
- control the verticals in `splot`; the top four bits control the edges on top
- of the `splot`. In detail, the `<integer>` should be the sum of the
- appropriate entries from the following table:
+3.25.80 variables
+-----------------
- plot border splot splot
- Side splot base verticals top
- bottom (south) 1 16 256
- left (west) 2 32 512
- top (north) 4 64 1024
- right (east) 8 128 2048
+The *note variables:: command lists the current value of user-defined
+and internal variables. Gnuplot internally defines variables whose
+names begin with GPVAL_, MOUSE_, FIT_, and TERM_.
- The default is 31, which is all four sides for `plot`, and base and z axis
- for `splot`.
+ Syntax:
+ show variables # show variables that do not begin with GPVAL_
+ show variables all # show all variables including those beginning
GPVAL_
+ show variables NAME # show only variables beginning with NAME
- Using the optional <line_style>, <line_type> and <line_width>
- specifiers, the way the border lines are drawn can be influenced
- (limited by what the current terminal driver supports).
+
+File: gnuplot.info, Node: version, Next: view, Prev: variables, Up:
set-show
- Various axes or combinations of axes may be added together in the command.
+3.25.81 version
+---------------
- To have tics on edges other than bottom and left, disable the usual tics and
- enable the second axes.
+The *note version:: command lists the version of gnuplot being run, its
+last modification date, the copyright holders, and email addresses for
+the FAQ, the gnuplot-info mailing list, and reporting bugs-in short,
+the information listed on the screen when the program is invoked
+interactively.
- Examples:
+ Syntax:
+ show version {long}
- Draw all borders:
- set border
+ When the `long` option is given, it also lists the operating system,
+the compilation options used when `gnuplot` was installed, the location
+of the help file, and (again) the useful email addresses.
- Draw only the SOUTHWEST borders:
- set border 3
+
+File: gnuplot.info, Node: view, Next: vrange, Prev: version, Up: set-show
+
+3.25.82 view
+------------
+
+The *note view:: command sets the viewing angle for `splot`s. 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
+supports both 3D projection or orthogonal 2D projection into a 2D
+plot-like map.
+
+ Syntax:
+ set view <rot_x>{,{<rot_z>}{,{<scale>}{,<scale_z>}}}
+ set view map
+ set view {no}equal {xy|xyz}
+ 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
+perpendicular to the screen is z. The first rotation applied is
+<rot_x> around the x axis. The second rotation applied is <rot_z>
+around the new z axis.
+
+ Command `set view map` is used to represent the drawing as a map. It
+can be used for *note contour:: plots, or for color *note pm3d:: maps.
+In the latter, take care that you properly use *note zrange:: and *note
+cbrange:: for input data point filtering and color range scaling,
+respectively.
+
+ <rot_x> is bounded to the [0:180] range with a default of 60
+degrees, while <rot_z> is bounded to the [0:360] range with a default
+of 30 degrees. <scale> controls the scaling of the entire `splot`,
+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.
- Draw a complete box around a `splot`:
- set border 4095
+* Menu:
- Draw a partial box, omitting the front vertical:
- set border 127+256+512
+* equal_axes::
- Draw only the NORTHEAST borders:
- set noxtics; set noytics; set x2tics; set y2tics; set border 12
+
+File: gnuplot.info, Node: equal_axes, Prev: view, Up: view
+3.25.82.1 equal_axes
+....................
-
-File: gnuplot.info, Node: boxwidth, Prev: border, Up: set-show, Next: clabel
+The command `set view equal xy` forces 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 `set view equal xyz` additionally
+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.
- The `set boxwidth` command is used to set the default width of boxes in the
- `boxes` (*note boxes:: ) and `boxerrorbars` (*note boxerrorbars:: ) styles.
+ See also *note xyplane::.
- Syntax:
- set boxwidth {<width>}
- show boxwidth
+
+File: gnuplot.info, Node: vrange, Next: x2data, Prev: view, Up: set-show
- If a data file is plotted without the width being specified in the third,
- fourth, or fifth column (or `using` (*note using:: ) entry), or if a function
- is plotted, the width of each box is set by the `set boxwidth` command. (If a
- width is given both in the file and by the `set boxwidth` command, the one in
- the file is used.) If the width is not specified in one of these ways, the
- width of each box will be calculated automatically so that it touches the
- adjacent boxes. 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 `set style boxerrorbars` for
- more details.
+3.25.83 vrange
+--------------
- To set the box width to automatic use the command
- set boxwidth
- or, for four-column data,
- set boxwidth -2
+The *note urange:: and *note vrange:: commands set the parametric
+ranges used to compute x, y, and z values when in `splot` parametric
+mode. Please see *note xrange:: for details.
- The same effect can be achieved with the `using` keyword in `plot`
- (*note plot:: ): plot 'file' using 1:2:3:4:(-2)
+
+File: gnuplot.info, Node: x2data, Next: x2dtics, Prev: vrange, Up: set-show
+3.25.84 x2data
+--------------
-
-File: gnuplot.info, Node: clabel, Prev: boxwidth, Up: set-show, Next: clip
+The *note x2data:: command sets data on the x2 (top) axis to timeseries
+(dates/times). Please see *note xdata::.
- `gnuplot` (*note gnuplot:: ) will vary the linetype used for each contour
- level when clabel is set. When this option on (the default), a legend labels
- each linestyle with the z level it represents. It is not possible at present
- to separate the contour labels from the surface key.
+
+File: gnuplot.info, Node: x2dtics, Next: x2label, Prev: x2data, Up:
set-show
- Syntax:
- set clabel {'<format>'}
- set noclabel
- show clabel
+3.25.85 x2dtics
+---------------
- The default for the format string is %8.3g, which gives three decimal places.
- This may produce poor label alignment if the key is altered from its default
- configuration.
+The *note x2dtics:: command changes tics on the x2 (top) axis to days
+of the week. Please see *note xdtics:: for details.
- The first contour linetype, or only contour linetype when clabel is off, is
- the surface linetype +1; contour points are the same style as surface points.
+
+File: gnuplot.info, Node: x2label, Next: x2mtics, Prev: x2dtics, Up:
set-show
- See also `set contour` (*note contour:: ).
+3.25.86 x2label
+---------------
+The *note x2label:: command sets the label for the x2 (top) axis.
+Please see *note xlabel::.
-
-File: gnuplot.info, Node: clip, Prev: clabel, Up: set-show, Next: cntrparam
+
+File: gnuplot.info, Node: x2mtics, Next: x2range, Prev: x2label, Up:
set-show
- `gnuplot` (*note gnuplot:: ) can clip data points and lines that are near the
- boundaries of a graph.
+3.25.87 x2mtics
+---------------
- Syntax:
- set clip <clip-type>
- set noclip <clip-type>
- show clip
+The *note x2mtics:: command changes tics on the x2 (top) axis to months
+of the year. Please see *note xmtics:: for details.
- Three clip types are supported by `gnuplot`: `points` (*note points:: ), one,
- and two. One, two, or all three clip types may be active for a single graph.
+
+File: gnuplot.info, Node: x2range, Next: x2tics, Prev: x2mtics, Up:
set-show
- The `points` clip type forces `gnuplot` to clip (actually, not plot at all)
- data points that fall within but too close to the boundaries. This is done
- so that large symbols used for points will not extend outside the boundary
- lines. Without clipping points near the boundaries, the plot may look bad.
- Adjusting the x and y ranges may give similar results.
+3.25.88 x2range
+---------------
- Setting the `one` clip type causes `gnuplot` to draw a line segment which has
- only one of its two endpoints within the graph. Only the in-range portion of
- the line is drawn. The alternative is to not draw any portion of the line
- segment.
+The *note x2range:: command sets the horizontal range that will be
+displayed on the x2 (top) axis. Please see *note xrange:: for details.
- Some lines may have both endpoints out of range, but pass through the graph.
- Setting the `two` clip-type allows the visible portion of these lines to be
- drawn.
+
+File: gnuplot.info, Node: x2tics, Next: x2zeroaxis, Prev: x2range, Up:
set-show
- In no case is a line drawn outside the graph.
+3.25.89 x2tics
+--------------
- The defaults are `noclip points`, `clip one`, and `noclip two`.
+The *note x2tics:: command controls major (labelled) tics on the x2
+(top) axis. Please see `set xtics` for details.
- To check the state of all forms of clipping, use
- show clip
+
+File: gnuplot.info, Node: x2zeroaxis, Next: xdata, Prev: x2tics, Up:
set-show
- For backward compatibility with older versions, the following forms are also
- permitted:
- set clip
- set noclip
+3.25.90 x2zeroaxis
+------------------
- `set clip` is synonymous with `set clip points`; `set noclip` turns off all
- three types of clipping.
+The *note x2zeroaxis:: command draws a line at the origin of the x2
+(top) axis (y2 = 0). For details, please see *note zeroaxis::.
-
-File: gnuplot.info, Node: cntrparam, Prev: clip, Up: set-show, Next: contour
+
+File: gnuplot.info, Node: xdata, Next: xdtics, Prev: x2zeroaxis, Up:
set-show
- `set cntrparam` controls the generation of contours and their smoothness for
- a contour plot. `show contour` (*note contour:: ) displays current settings of
- cntrparam as well as `contour`.
+3.25.91 xdata
+-------------
- Syntax:
- set cntrparam { {linear | cubicspline | bspline}
- { points <n>} { order <n> }
- { levels auto {<n>} | <n>
- | discrete <z1> {,<z2>{,<z3>...}}
- | incremental <start>, <incr> {,<end>}
- }
- }
- show contour
-
- This command has two functions. First, it sets the values of z for which
- contour points are to be determined (by linear interpolation between data
- points or function isosamples.) Second, it controls the way contours are
- drawn between the points determined to be of equal z. <n> should be an
- integral constant expression and <z1>, <z2> ... any constant expressions.
- The parameters are:
-
- `linear`, `cubicspline`, `bspline`---Controls type of approximation or
- interpolation. If `linear`, then straight line segments connect points of
- equal z magnitude. If `cubicspline`, then piecewise-linear contours are
- interpolated between the same equal z points to form somewhat smoother
- contours, but which may undulate. If `bspline`, a guaranteed-smoother curve
- is drawn, which only approximates the position of the points of equal-z.
-
- `points` (*note points:: )---Eventually all drawings are done with
- piecewise-linear strokes. This number controls the number of line segments
- used to approximate the `bspline` or `cubicspline` curve. Number of
- cubicspline or bspline segments (strokes) = `points` * number of linear
- segments.
-
- `order`---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 `bspline` mode only. Allowed values are
- integers in the range from 2 (linear) to 10.
-
- `levels`--- Selection of contour levels, controlled by `auto` (default),
- `discrete`, `incremental`, and <n>, number of contour levels, limited to
- MAX_DISCRETE_LEVELS as defined in plot.h (30 is standard.)
-
- For `auto`, <n> specifies a nominal number of levels; the actual number will
- be adjusted to give simple labels. If the surface is bounded by zmin and zmax,
- contours will be generated at integer multiples of dz between zmin and zmax,
- where dz is 1, 2, or 5 times some power of ten (like the step between two
- tic marks).
-
- For `levels discrete`, contours will be generated at z = <z1>, <z2> ... as
- specified; the number of discrete levels sets the number of contour levels.
- In `discrete` mode, any `set cntrparms levels <n>` are ignored.
-
- For `incremental`, contours are generated at values of z beginning at <start>
- and increasing by <increment>, until the number of contours is reached. <end>
- is used to determine the number of contour levels, which will be changed by
- any subsequent `set cntrparam levels <n>`.
-
- If the command `set cntrparam` is given without any arguments specified, the
- defaults are used: linear, 5 points, order 4, 5 auto levels.
-
- Examples:
- set cntrparam bspline
- set cntrparam points 7
- set cntrparam order 10
-
- To select levels automatically, 5 if the level increment criteria are met:
- set cntrparam levels auto 5
-
- To specify discrete levels at .1, .37, and .9:
- set cntrparam levels discrete .1,1/exp(1),.9
-
- To specify levels from 0 to 4 with increment 1:
- set cntrparam levels incremental 0,1,4
-
- To set the number of levels to 10 (changing an incremental end or possibly
- the number of auto levels):
- set cntrparam levels 10
-
- To set the start and increment while retaining the number of levels:
- set cntrparam levels incremental 100,50
-
- See also `set contour` for control of where the contours are drawn, and `set
- clabel` for control of the format of the contour labels and linetypes.
-
-
-File: gnuplot.info, Node: contour, Prev: cntrparam, Up: set-show, Next: data
style
-
- `set contour` enables contour drawing for surfaces. This option is available
- for `splot` (*note splot:: ) only.
-
- Syntax:
- set contour {base | surface | both}
- set nocontour
- show contour
-
- The three options specify where to draw the contours: `base` draws the
- contours on the grid base where the x/ytics are placed, `surface`
- (*note surface:: ) draws the contours on the surfaces themselves, and `both`
- draws the contours on both the base and the surface. If no option is
- provided, the default is `base`.
-
- See also `set cntrparam` (*note cntrparam:: ) for the parameters that affect
- the drawing of contours, and `set clabel` (*note clabel:: ) for control of
- labelling of the contours.
-
- The surface can be switched off (see `set surface`), giving a contour-only
- graph. Though it is possible to use `set size` (*note size:: ) to enlarge the
- plot to fill the screen, more control over the output format can be obtained
- by writing the contour information to a file, and rereading it as a 2-d
- datafile plot:
-
- set nosurface
- set contour
- set cntrparam ...
- set term table
- set out 'filename'
- splot ...
- set out
- # contour info now in filename
- set term <whatever>
- plot 'filename'
-
- In order to draw contours, the data should be organized as "grid data". In
- such a file all the points for a single y-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. See also `splot datafile`
- (*note data-file:: ).
-
- If contours are desired from non-grid data, `set dgrid3d` (*note dgrid3d:: )
- can be used to create an appropriate grid. See `set dgrid3d` for more
- information.
-
-
-
-File: gnuplot.info, Node: data style, Prev: contour, Up: set-show, Next:
dgrid3d
-
- The `set data style` command changes the default plotting style for data
- plots.
-
- Syntax:
- set data style <style-choice>
- show data style
-
- See `set style` (*note style:: ) for the choices. If no choice is given, the
- choices are listed. `show data style` shows the current default data plotting
- style.
-
-
-
-File: gnuplot.info, Node: dgrid3d, Prev: data style, Up: set-show, Next: dummy
-
- The `set dgrid3d` command enables, and can set parameters for, non-grid
- to grid data mapping.
-
- Syntax:
- set dgrid3d {<row_size>} {,{<col_size>} {,<norm>}}
- set nodgrid3d
- show dgrid3d
-
- By default `dgrid3d` is disabled. When enabled, 3-d data read from a file
- are always treated as a scattered data set. A grid with dimensions derived
- from a bounding box of the scattered data and size as specified by the
- row/col_size parameters is created for plotting and contouring. The grid
- is equally spaced in x (rows) and in y (columns); the z values are computed
- as weighted averages of the scattered points' z values.
-
- The third parameter, norm, controls the weighting: Each data point is
- weighted inversely by its distance from the grid point raised to the norm
- power. (Actually, the weights are given by the inverse of dx^norm + dy^norm,
- where dx and dy are the components of the separation of the grid point from
- each data point. For some norms that are powers of two, specifically 4, 8,
- and 16, the computation is optimized by using the Euclidean distance in the
- weight calculation, (dx^2+dx^2)^norm/2. However, any non-negative integer
- can be used.)
-
- The closer the data point is to a grid point, the more effect it has on
- that grid point and the larger the value of norm the less effect more
- distant data points have on that grid point.
-
- The `dgrid3d` option is a simple low pass filter that converts scattered
- data to a grid data set. More sophisticated approaches to this problem
- exist and should be used to preprocess the data outside `gnuplot`
- (*note gnuplot:: ) if this simple solution is found inadequate.
-
- (The z values are found by weighting all data points, not by interpolating
- between nearby data points; also edge effects may produce unexpected and/or
- undesired results. In some cases, small norm values produce a grid point
- reflecting the average of distant data points rather than a local average,
- while large values of norm may produce "steps" with several grid points
- having the same value as the closest data point, rather than making a smooth
- transition between adjacent data points. Some areas of a grid may be filled
- by extrapolation, to an arbitrary boundary condition. The variables are
- not normalized; consequently the units used for x and y will affect the
- relative weights of points in the x and y directions.)
-
- Examples:
- set dgrid3d 10,10,1 # defaults
- set dgrid3d ,,4
-
- The first specifies that a grid of size 10 by 10 is to be constructed using
- a norm value of 1 in the weight computation. The second only modifies the
- norm, changing it to 4.
-
-
-
-File: gnuplot.info, Node: dummy, Prev: dgrid3d, Up: set-show, Next: encoding
-
- The `set dummy` command changes the default dummy variable names.
-
- Syntax:
- set dummy {<dummy-var>} {,<dummy-var>}
- show dummy
-
- By default, `gnuplot` (*note gnuplot:: ) assumes that the independent, or
- "dummy", variable for the `plot` (*note plot:: ) command is "t" if in
- parametric or polar mode, or "x" otherwise. Similarly the independent
- variables for the `splot` (*note splot:: ) command are "u" and "v" in
- parametric mode (`splot` cannot be used in polar mode), or "x" and "y"
- otherwise.
+This command sets the datatype on the x axis to time/date. A similar
+command does the same thing for each of the other axes.
- It may be more convenient to call a dummy variable by a more physically
- meaningful or conventional name. For example, when plotting time functions:
-
- set dummy t
- plot sin(t), cos(t)
+ Syntax:
+ set xdata {time}
+ show xdata
- At least one dummy variable must be set on the command; `set dummy` by itself
- will generate an error message.
+ The same syntax applies to *note ydata::, *note zdata::, *note
+x2data::, *note y2data:: and *note cbdata::.
- Examples:
- set dummy u,v
- set dummy ,s
+ The `time` option signals that the datatype is indeed time/date. If
+the option is not specified, the datatype reverts to normal.
- The second example sets the second variable to s.
-
-
-File: gnuplot.info, Node: encoding, Prev: dummy, Up: set-show, Next: format
-
- The `set encoding` command selects a character encoding. Valid values are
- `default`, which tells a terminal to use its default; `iso_8859_1` (known in
- the PostScript world as `ISO-Latin1`), which is used on many Unix workstations
- and with MS-Windows; `cp850`, for OS/2; and `cp437`, for MS-DOS.
-
- Syntax:
- set encoding {<value>}
- show encoding
-
- Note that encoding is not supported by all terminal drivers and that
- the device must be able to produce the desired non-standard characters.
-
-
-File: gnuplot.info, Node: format, Prev: encoding, Up: set-show, Next: format
specifiers
-
- The format of the tic-mark labels can be set with the `set format` command.
-
- Syntax:
- set format {<axes>} {"<format-string>"}
- set format {<axes>} {'<format-string>'}
- show format
-
- where <axes> is either `x`, `y`, `z`, `xy`, `x2`, `y2` or nothing (which is
- the same as `xy`). The length of the string representing a tic mark (after
- formatting with 'printf') is restricted to 100 characters. If the format
- string is omitted, the format will be returned to the default "%g". For
- LaTeX users, the format "$%g$" is often desirable. If the empty string "" is
- used, no label will be plotted with each tic, though the tic mark will still
- be plotted. To eliminate all tic marks, use `set noxtics` (*note xtics:: ) or
- `set noytics` (*note ytics:: ).
-
- Newline (\n) is accepted in the format string. Use double-quotes rather than
- single-quotes to enable such interpretation. See also `syntax`
- (*note Syntax:: ).
+ See *note timefmt:: to tell gnuplot how to read date or time data.
+The time/date is converted to seconds from start of the century. There
+is currently only one timefmt, which implies that all the time/date
+columns must conform to this format. Specification of ranges should be
+supplied as quoted strings according to this format to avoid
+interpretation of the time/date as an expression.
- The default format for both axes is "%g", but other formats such as "%.2f" or
- "%3.0em" are often desirable. Anything accepted by 'printf' when given a
- double precision number, and accepted by the terminal, will work. Some other
- options have been added. If the format string looks like a floating point
- format, then `gnuplot` (*note gnuplot:: ) tries to construct a reasonable
- format.
+ The function 'strftime' (type "man strftime" on unix to look it up)
+is used to print tic-mark labels. `gnuplot` tries to figure out a
+reasonable format for this unless the `set format x "string"` has
+supplied something that does not look like a decimal format (more than
+one '%' or neither %f nor %g).
- Characters not preceded by "%" are printed verbatim. Thus you can include
- spaces and labels in your format string, such as "%g m", which will put " m"
- after each number. If you want "%" itself, double it: "%g %%".
+ See also `time/date` for more information.
- See also `set xtics` for more information about tic labels.
+
+File: gnuplot.info, Node: xdtics, Next: xlabel, Prev: xdata, Up: set-show
-* Menu:
+3.25.92 xdtics
+--------------
-* format specifiers::
-* time/date specifiers::
-
-
-File: gnuplot.info, Node: format specifiers, Prev: format, Up: format, Next:
time/date specifiers
-
- The acceptable formats (if not in time/date mode) are:
-
- Format Explanation
- %f floating point notation
- %e or %E exponential notation; an "e" or "E" before the power
- %g or %G the shorter of %e (or %E) and %f
- %x or %X hex
- %o or %O octal
- %t mantissa to base 10
- %l mantissa to base of current logscale
- %s mantissa to base of current logscale; scientific power
- %T power to base 10
- %L power to base of current logscale
- %S scientific power
- %c character replacement for scientific power
- %P multiple of pi
-
- A 'scientific' power is one such that the exponent is a multiple of three.
- Character replacement of scientific powers (`"%c"`) has been implemented
- for powers in the range -18 to +18. For numbers outside of this range the
- format reverts to exponential.
-
- Other acceptable modifiers (which come after the "%" but before the format
- specifier) are "-", which left-justifies the number; "+", which forces all
- numbers to be explicitly signed; "#", which places a decimal point after
- floats that have only zeroes following the decimal point; a positive integer,
- which defines the field width; "0" (the digit, not the letter) immediately
- preceding the field width, which indicates that leading zeroes are to be used
- instead of leading blanks; and a decimal point followed by a non-negative
- integer, which defines the precision (the minimum number of digits of an
- integer, or the number of digits following the decimal point of a float).
-
- Some releases of 'printf' may not support all of these modifiers but may also
- support others; in case of doubt, check the appropriate documentation and
- then experiment.
-
- Examples:
- set format y "%t"; set ytics (5,10) # "5.0" and "1.0"
- set format y "%s"; set ytics (500,1000) # "500" and "1.0"
- set format y "+-12.3f"; set ytics(12345) # "+12345.000 "
- set format y "%.2t*10^%+03T"; set ytic(12345)# "1.23*10^+04"
- set format y "%s*10^{%S}"; set ytic(12345) # "12.345*10^{3}"
- set format y "%s %cg"; set ytic(12345) # "12.345 kg"
- set format y "%.0P pi"; set ytic(6.283185) # "2 pi"
- set format y "%.0P%%"; set ytic(50) # "50%"
-
- set log y 2; set format y '%l'; set ytics (1,2,3)
- #displays "1.0", "1.0" and "1.5" (since 3 is 1.5 * 2^1)
-
- There are some problem cases that arise when numbers like 9.999 are printed
- with a format that requires both rounding and a power.
-
- If the data type for the axis is time/date, the format string must contain
- valid codes for the 'strftime' function (outside of `gnuplot`
- (*note gnuplot:: ), type "man strftime"). See `set timefmt`
- (*note timefmt:: ) for a list of the allowed input format codes.
-
-
-
-File: gnuplot.info, Node: time/date specifiers, Prev: format specifiers, Up:
format
-
- In time/date mode, the acceptable formats are:
-
- Format Explanation
- %a abbreviated name of day of the week
- %A full name of day of the week
- %b or %h abbreviated name of the month
- %B full name of the month
- %d day of the month, 1--31
- %D shorthand for "%m/%d/%y"
- %H or %k hour, 0--24
- %I or %l hour, 0--12
- %j day of the year, 1--366
- %m month, 1--12
- %M minute, 0--60
- %p "am" or "pm"
- %r shorthand for "%I:%M:%S %p"
- %R shorthand for %H:%M"
- %S second, 0--60
- %T shorthand for "%H:%M:%S"
- %U week of the year (week starts on Sunday)
- %w day of the week, 0--6 (Sunday = 0)
- %W week of the year (week starts on Monday)
- %y year, 0-99
- %Y year, 4-digit
-
- Except for the non-numerical formats, these may be preceded by a "0" ("zero",
- not "oh") to pad the field length with leading zeroes, and a positive digit,
- to define the minimum field width (which will be overridden if the specified
- width is not large enough to contain the number). There is a 24-character
- limit to the length of the printed text; longer strings will be truncated.
-
- Examples:
-
- Suppose the text is "76/12/25 23:11:11". Then
- set format x # defaults to "12/25/76" \n "23:11"
- set format x "%A, %d %b %Y" # "Saturday, 25 Dec 1976"
- set format x "%r %d" # "11:11:11 pm 12/25/76"
-
- Suppose the text is "98/07/06 05:04:03". Then
- set format x "%1y/%2m/%3d %01H:%02M:%03S" # "98/ 7/ 6 5:04:003"
-
-
-File: gnuplot.info, Node: function style, Prev: format, Up: set-show, Next:
functions
-
- The `set function style` command changes the default plotting style for
- function plots.
-
- Syntax:
- set function style <style-choice>
- show function style
-
- See `set style` (*note style:: ) for the choices. If no choice is given, the
- choices are listed. `show function style` shows the current default function
- plotting style.
-
-
-
-File: gnuplot.info, Node: functions, Prev: function style, Up: set-show, Next:
grid
-
- The `show functions` command lists all user-defined functions and their
- definitions.
-
- Syntax:
- show functions
-
- For information about the definition and usage of functions in `gnuplot`
- (*note gnuplot:: ), please see `expressions` (*note Expressions:: ).
-
-
-
-File: gnuplot.info, Node: grid, Prev: functions, Up: set-show, Next: hidden3d
-
- The `set grid` command allows grid lines to be drawn on the plot.
-
- Syntax:
- set grid {{no}{m}xtics} {{no}{m}ytics} {{no}{m}ztics}
- {{no}{m}x2tics} {{no}{m}y2tics}
- {polar {<angle>}}
- { {linestyle <major_linestyle>}
- | {linetype | lt <major_linetype>}
- {linewidth | lw <major_linewidth>}
- { , {linestyle | ls <minor_linestyle>}
- | {linetype | lt <minor_linetype>}
- {linewidth | lw <minor_linewidth>} } }
- set nogrid
- show grid
-
- The grid can be enabled and disabled for the major and/or minor tic
- marks on any axis, and the linetype and linewidth can be specified
- for major and minor grid lines, also via a predefined linestyle, as
- far as the active terminal driver supports this.
-
- Additionally, a polar grid can be selected for 2-d plots---circles are drawn
- to intersect the selected tics, and radial lines are drawn at definable
- intervals. (The interval is given in degrees or radians ,depending on the
- `set angles` (*note angles:: ) setting.) Note that a polar grid is no longer
- automatically generated in polar mode.
-
- The pertinent tics must be enabled before `set grid` can draw them; `gnuplot`
- (*note gnuplot:: ) will quietly ignore instructions to draw grid lines at
- non-existent tics, but they will appear if the tics are subsequently enabled.
-
- If no linetype is specified for the minor gridlines, the same linetype as the
- major gridlines is used. The default polar angle is 30 degrees.
-
- Z grid lines are drawn on the back of the plot. This looks better if a
- partial box is drawn around the plot---see `set border` (*note border:: ).
-
-
-
-File: gnuplot.info, Node: hidden3d, Prev: grid, Up: set-show, Next: isosamples
-
- The `set hidden3d` command enables hidden line removal for surface plotting
- (see `splot` (*note splot:: )). Some optional features of the underlying
- algorithm can also be controlled using this command.
-
- Syntax:
- set hidden3d {defaults} |
- { {{offset <offset>} | {nooffset}}
- {trianglepattern <bitpattern>}
- {{undefined <level>} | {noundefined}}
- {{no}altdiagonal}
- {{no}bentover} }
- set nohidden3d
- show hidden3d
-
- In contrast to the usual display in gnuplot, hidden line removal actually
- treats the given function or data grids as real surfaces that can't be seen
- through, so parts behind the surface will be hidden by it. For this to be
- possible, the surface needs to have 'grid structure' (see `splot datafile`
- (*note data-file:: ) about this), and it has to be drawn `with lines` or `with
- linespoints`.
-
- When `hidden3d` is set, both the hidden portion of the surface and possibly
- its contours drawn on the base (see `set contour` (*note contour:: )) 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 surface is
- plotted. Contours drawn on the surface (`set contour surface`) don't
- work. Labels and arrows are always visible and are unaffected. The key is
- also never hidden by the surface.
-
- Functions are evaluated at isoline intersections. The algorithm interpolates
- linearly between function points or data points when determining the visible
- line segments. This means that the appearance of a function may be different
- when plotted with `hidden3d` than when plotted with `nohidden3d` because in
- the latter case functions are evaluated at each sample. Please see `set
- samples` and `set isosamples` (*note isosamples:: ) 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 `defaults` will
- set them all to their default settings, as detailed below. If `defaults` is
- not given, only explicitly specified options will be influenced: all others
- will keep their previous values, so you can turn on/off hidden line removal
- via `set {no}hidden3d`, without modifying the set of options you chose.
-
- The first option, `offset`, influences the linestyle used for lines on the
- 'back' side. Normally, they are drawn in a linestyle one index number higher
- than the one used for the front, to make the two sides of the surface
- distinguishable. You can specify a different line style offset to add
- instead of the default 1, by `offset <offset>`. Option `nooffset` stands for
- `offset 0`, making the two sides of the surface use the same linestyle.
-
- Next comes the option `trianglepattern <bitpattern>`. <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 visible, but not the diagonals. You may want to choose 7 to
- see those diagonals as well.
-
- The `undefined <level>` option lets you decide what the algorithm is to do
- with data points that are undefined (missing data, or undefined function
- values), or exceed the given x-, y- or z-ranges. Such points can either be
- plotted nevertheless, or taken out of the input data set. All surface
- elements touching a point that is taken out will be taken out as well, thus
- creating a hole in the surface. If <level> = 3, equivalent to option
- `noundefined`, no points will be thrown away at all. This may produce all
- kinds of problems elsewhere, so you should avoid this. <level> = 2 will
- throw away undefined points, but keep the out-of-range ones. <level> = 1,
- the default, will get rid of out-of-range points as well.
-
- By specifying `noaltdiagonal`, you can override the default handling of a
- special case can occur if `undefined` is active (i.e. <level> is not 3).
- Each cell of the grid-structured input surface will be divided 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 `undefined` handler, and this is on the usual
- diagonal, both triangles will be excluded. However if the default setting
- of `altdiagonal` is active, the other diagonal will be chosen for this cell
- instead, minimizing the size of the hole in the surface.
-
- The `bentover` option controls what happens to another special case, this
- time in conjunction with the `trianglepattern`. For rather crumply surfaces,
- it can happen that the two triangles a surface cell is divided into are seen
- from opposite sides (i.e. the original quadrangle is 'bent over'), as
- illustrated in the following ASCII art:
-
- C----B
- original quadrangle: A--B displayed quadrangle: |\ |
- ("set view 0,0") | /| ("set view 75,75" perhaps) | \ |
- |/ | | \ |
- C--D | \|
- A D
-
- If the diagonal edges of the surface cells aren't generally made visible by
- bit 2 of the <bitpattern> there, the edge CB above wouldn't be drawn at all,
- normally, making the resulting display hard to understand. Therefore, the
- default option of `bentover` will turn it visible in this case. If you don't
- want that, you may choose `nobentover` instead.
-
-
-File: gnuplot.info, Node: isosamples, Prev: hidden3d, Up: set-show, Next: key
-
- The isoline density (grid) for plotting functions as surfaces may be changed
- by the `set isosamples` command.
-
- Syntax:
- set isosamples <iso_1> {,<iso_2>}
- show isosamples
-
- Each function surface plot will have <iso_1> iso-u lines and <iso_2> iso-v
- lines. If you only specify <iso_1>, <iso_2> will be set to the same value
- as <iso_1>. By default, sampling is set to 10 isolines per u or v axis.
- A higher sampling rate will produce more accurate plots, but will take longer.
- These parameters have no effect on data file plotting.
-
- An isoline is a curve parameterized by one of the surface parameters while
- the other surface parameter is fixed. Isolines provide a simple means to
- display a surface. By fixing the u parameter of surface s(u,v), the iso-u
- lines of the form c(v) = s(u0,v) are produced, and by fixing the v parameter,
- the iso-v lines of the form c(u) = s(u,v0) are produced.
-
- When a function surface plot is being done without the removal of hidden
- lines, `set samples` (*note samples:: ) controls the number of points sampled
- along each isoline; see `set samples` and `set hidden3d`
- (*note hidden3d:: ). The contour algorithm assumes that a function sample
- occurs at each isoline intersection, so change in `samples` as well as
- `isosamples` may be desired when changing the resolution of a function
- surface/contour.
-
-
-
-File: gnuplot.info, Node: key, Prev: isosamples, Up: set-show, Next: label
-
- The `set key` enables a key (or legend) describing plots on a plot.
-
- The contents of the key, i.e., the names given to each plotted data set and
- function and samples of the lines and/or symbols used to represent them, are
- determined by the `title` (*note title:: ) and `with` (*note with:: ) options
- of the {s}s`}`plot` (*note plot:: ) command. Please see `plot title` and `plot
- with` for more information.
-
- Syntax:
- set key { left | right | top | bottom | outside | below
- | <position>}
- {Left | Right} {{no}reverse}
- {samplen <sample_length>} {spacing <vertical_spacing>}
- {width <width_increment>}
- {title "<text>"}
- {{no}box { {linestyle | ls <line_style>}
- | {linetype | lt <line_type>}
- {linewidth | lw <line_width>}}}
- set nokey
- show key
-
- By default the key is placed in the upper right corner of the graph. The
- keywords `left`, `right`, `top`, `bottom`, `outside` and `below` may be used
- to place the key in the other corners inside the graph or to the right
- (outside) or below the graph. They may be given alone or combined.
-
- Justification of the labels within the key is controlled by `Left` or `Right`
- (default is `Right`). The text and sample can be reversed (`reverse`) and a
- box can be drawn around the key (`box {...}`) in a specified `linetype`
- and `linewidth` (*note linewidth:: ), or a user-defined `linestyle`
- (*note linestyle:: ). Note that not all terminal drivers support linewidth
- selection, though.
-
- The length of the sample line can be controlled by `samplen`. The sample
- length is computed as the sum of the tic length and <sample_length> times the
- character width. `samplen` also affects the positions of point samples in
- the key since these are drawn at the midpoint of the sample line, even if it
- is not drawn. <sample_length> must be an integer.
-
- The vertical spacing between lines is controlled by `spacing`. The spacing
- is set equal to the product of the pointsize, the vertical tic size, and
- <vertical_spacing>. The program will guarantee that the vertical spacing is
- no smaller than the character height.
-
- The <width_increment> is a number of character widths to be added to or
- subtracted from the length of the string. This is useful only when you are
- putting a box around the key and you are using control characters in the text.
- `gnuplot` (*note gnuplot:: ) simply counts the number of characters in the
- string when computing the box width; this allows you to correct it.
-
- A title can be put on the key (`title "<text>"`)---see also `syntax`
- (*note Syntax:: ) for the distinction between text in single- or
- double-quotes. The key title uses the same justification as do the plot
- titles.
-
- The defaults for `set key` are `right`, `top`, `Right`, `noreverse`, `samplen
- 4`, `spacing 1.25`, `title ""`, and `nobox`. The default <linetype> is the
- same as that used for the plot borders. Entering `set key` with no options
- returns the key to its default configuration.
-
- The <position> can be a simple x,y,z as in previous versions, but these can
- be preceded by one of four keywords (`first`, `second`, `graph`, `screen`)
- which selects the coordinate system in which the position is specified. See
- `coordinates` (*note Coordinates:: ) for more details.
-
- The key is drawn as a sequence of lines, with one plot described on each
- line. On the right-hand side (or the left-hand side, if `reverse` is
- selected) of each line is a representation that attempts to mimic the way the
- curve is plotted. On the other side of each line is the text description
- (the line title), obtained from the `plot` command. The lines are vertically
- arranged so that an imaginary straight line divides the left- and right-hand
- sides of the key. It is the coordinates of the top of this line that are
- specified with the `set key` command. In a `plot`, only the x and y
- coordinates are used to specify the line position. For a `splot`
- (*note splot:: ), x, y and z are all used as a 3-d location mapped using the
- same mapping as the graph itself to form the required 2-d screen position of
- the imaginary line.
-
- Some or all of the key may be outside of the graph boundary, although this
- may interfere with other labels and may cause an error on some devices. If
- you use the keywords `outside` or `below`, `gnuplot` makes space for the keys
- and the graph becomes smaller. Putting keys outside to the right, they
- occupy as few columns as possible, and putting them below, as many columns as
- possible (depending of the length of the labels), thus stealing as little
- space from the graph as possible.
-
- When using the TeX or PostScript drivers, or similar drivers where formatting
- information is embedded in the string, `gnuplot` is unable to calculate
- correctly the width of the string for key positioning. If the key is to be
- positioned at the left, it may be convenient to use the combination `set key
- left Left reverse`. The box and gap in the grid will be the width of the
- literal string.
-
- If `splot` is being used to draw contours, the contour labels will be listed
- in the key. If the alignment of these labels is poor or a different number
- of decimal places is desired, the label format can be specified. See `set
- clabel` for details.
-
- Examples:
-
- This places the key at the default location:
- set key
-
- This disables the key:
- set nokey
-
- This places a key at coordinates 2,3.5,2 in the default (first) coordinate
- system:
- set key 2,3.5,2
-
- This places the key below the graph:
- set key below
-
- This places the key in the bottom left corner, left-justifies the text,
- gives it a title, and draws a box around it in linetype 3:
- set key left bottom Left title 'Legend' box 3
-
-
-File: gnuplot.info, Node: label, Prev: key, Up: set-show, Next: linestyle
-
- Arbitrary labels can be placed on the plot using the `set label` command.
-
- Syntax:
- set label {<tag>} {"<label_text>"} {at <position>}
- {<justification>} {{no}rotate} {font "<name><,size>"}
- set nolabel {<tag>}
- show label
-
- The <position> is specified by either x,y or x,y,z, and may be preceded by
- `first`, `second`, `graph`, or `screen` to select the coordinate system.
- See `coordinates` (*note Coordinates:: ) for details.
-
- The tag is an integer that is used to identify the label. If no <tag> is
- given, the lowest unused tag value is assigned automatically. The tag can be
- used to delete or modify a specific label. To change any attribute of an
- existing label, use the `set label` command with the appropriate tag, and
- specify the parts of the label to be changed.
-
- 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
- parameter <justification>, which may be `left`, `right` or `center`,
- indicating that the point is to be at the left, right or center of the text.
- Labels outside the plotted boundaries are permitted but may interfere with
- axis labels or other text.
-
- If `rotate` (*note rotate:: ) is given, the label is written vertically (if
- the terminal can do so, of course).
-
- If one (or more) axis is timeseries, the appropriate coordinate should be
- given as a quoted time string according to the `timefmt` (*note timefmt:: )
- format string. See `set xdata` (*note xdata:: ) and set timefmt.
-
- The EEPIC, Imagen, LaTeX, and TPIC drivers allow \\ in a string to specify
- a newline.
-
- Examples:
-
- To set a label at (1,2) to "y=x", use:
- set label "y=x" at 1,2
-
- To set a Sigma of size 24, from the Symbol font set, at the center of
- the graph, use:
- set label "S" at graph 0.5,0.5 center font "Symbol,24"
-
- To set a label "y=x^2" with the right of the text at (2,3,4), and tag the
- label as number 3, use:
- set label 3 "y=x^2" at 2,3,4 right
-
- To change the preceding label to center justification, use:
- set label 3 center
-
- To delete label number 2, use:
- set nolabel 2
+The *note xdtics:: commands converts the x-axis tic marks to days of
+the week where 0=Sun and 6=Sat. Overflows are converted modulo 7 to
+dates. `set noxdtics` returns the labels to their default values.
+Similar commands do the same things for the other axes.
- To delete all labels, use:
- set nolabel
+ Syntax:
+ set xdtics
+ unset xdtics
+ show xdtics
- To show all labels (in tag order), use:
- show label
+ The same syntax applies to *note ydtics::, *note zdtics::, *note
+x2dtics::, *note y2dtics:: and *note cbdtics::.
- 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
+ See also the `set format` command.
-
-File: gnuplot.info, Node: linestyle, Prev: label, Up: set-show, Next: lmargin
+
+File: gnuplot.info, Node: xlabel, Next: xmtics, Prev: xdtics, Up: set-show
- Each terminal has a default set of line and point types, which can be seen
- by using the command `test` (*note test:: ). set linestyle defines a set of
- line types and widths and point types and sizes so that you can refer to them
- later by an index instead of repeating all the information at each
- invocation.
+3.25.93 xlabel
+--------------
- Syntax:
- set linestyle <index> {linetype | lt <line_type>}
- {linewidth | lw <line_width>}
- {pointtype | pt <point_type>}
- {pointsize | ps <point_size>}
- set nolinestyle
- show linestyle
+The *note xlabel:: command sets the x axis label. Similar commands set
+labels on the other axes.
- The line and point types are taken from the default types for the terminal
- currently in use. The line width and point size are multipliers for the
- default width and size (but note that <point_size> here is unaffected by
- the multiplier given on 'set pointsize').
+ Syntax:
+ set xlabel {"<label>"} {offset <offset>} {font "<font>{,<size>}"}
+ {textcolor <colorspec>} {{no}enhanced}
+ {rotate by <degrees> | rotate parallel | norotate}
+ show xlabel
- The defaults for the line and point types is the index. The defaults for
- the width and size are both unity.
+ The same syntax applies to *note x2label::, *note ylabel::, *note
+y2label::, *note zlabel:: and *note cblabel::.
- Linestyles created by this mechanism do not replace the default styles;
- both may be used.
+ 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 `first`, `second`, `graph`,
+`screen`, or `character` to select the coordinate system. See
+`coordinates` for details. By default, the `character` coordinate
+system is used. For example, "`set xlabel offset -1,0`" 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.
- Not all terminals support the `linewidth` (*note linewidth:: ) and
- `pointsize` (*note pointsize:: ) features; if not supported, the option will
- be ignored.
+ <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.
- Note that this feature is not completely implemented; linestyles defined by
- this mechanism may be used with 'plot', 'splot', 'replot', and 'set arrow',
- but not by other commands that allow the default index to be used, such as
- 'set grid'.
+ `noenhanced` requests that the label text not be processed by the
+enhanced text mode parser, even if enhanced text mode is currently
+active.
- Example:
- Suppose that the default lines for indices 1, 2, and 3 are red, green, and
- blue, respectively, and the default point shapes for the same indices are a
- square, a cross, and a triangle, respectively. Then
+ To clear a label, put no options on the command line, e.g., "*note
+y2label::".
- set linestyle 1 lt 2 lw 2 pt 3 ps 0.5
+ The default positions of the axis labels are as follows:
- defines a new linestyle that is green and twice the default width and a new
- pointstyle that is a half-sized triangle. The commands
+ xlabel: The x-axis label is centered below the bottom of the plot.
- set function style lines
- plot f(x) lt 3, g(x) ls 1
+ ylabel: The y-axis label is centered to the left of the plot,
+defaulting to either horizontal or vertical orientation depending on
+the terminal type.
- 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
+ zlabel: The z-axis label is centered along the z axis and placed in
+the space above the grid level.
- set function style linespoints
- plot p(x) lt 1 pt 3, q(x) ls 1
+ 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.
- will create a plot of f(x) using the default triangles connected by a red
- line and q(x) using small triangles connected by a green line.
+ 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.
-
-File: gnuplot.info, Node: lmargin, Prev: linestyle, Up: set-show, Next: locale
+ 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.,
- The command `set lmargin` sets the size of the left margin. Please see
- `set margin` (*note margin:: ) for details.
+ 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.
-
-File: gnuplot.info, Node: locale, Prev: lmargin, Up: set-show, Next: logscale
+ The orientation (rotation angle) of the x, x2, y and y2 axis labels
+in 2D plots can be changed by specifying `rotate by <degrees>`. The
+orientation of the x and y axis labels in 3D plots defaults to
+horizontal but can be changed to run parallel to the axis by specifying
+`rotate parallel`.
- The `locale` setting determines the language with which `{x,y,z}{d,m}tics`
- will write the days and months.
+ If you are not satisfied with the default position of an axis label,
+use `set label` instead-that command gives you much more control over
+where text is placed.
- Syntax:
- set locale {"<locale>"}
+ Please see `syntax` for further information about backslash
+processing and the difference between single- and double-quoted strings.
- <locale> may be any language designation acceptable to your installation.
- See your system documentation for the available options. The default value
- is determined from the LANG environment variable.
+
+File: gnuplot.info, Node: xmtics, Next: xrange, Prev: xlabel, Up: set-show
+
+3.25.94 xmtics
+--------------
+
+The *note xmtics:: command converts the x-axis tic marks to months of
+the year where 1=Jan and 12=Dec. Overflows are converted modulo 12 to
+months. The tics are returned to their default labels by *note
+xmtics::. Similar commands perform the same duties for the other axes.
+
+ Syntax:
+ set xmtics
+ unset xmtics
+ show xmtics
+
+ The same syntax applies to *note x2mtics::, *note ymtics::, *note
+y2mtics::, *note zmtics:: and *note cbmtics::.
+
+ See also the `set format` command.
+
+
+File: gnuplot.info, Node: xrange, Next: xtics, Prev: xmtics, Up: set-show
+
+3.25.95 xrange
+--------------
+
+The *note xrange:: command sets the horizontal range that will be
+displayed. A similar command exists for each of the other axes, as
+well as for the polar radius r and the parametric variables t, u, and v.
+
+ Syntax:
+ set xrange { [{{<min>}:{<max>}}] {{no}reverse} {{no}writeback} }
+ | restore
+ show xrange
+
+ where <min> and <max> terms are constants, expressions or an
+asterisk to set autoscaling. See below for full autoscaling syntax.
+If the data are time/date, you must give the range as a quoted string
+according to the *note timefmt:: format. Any value omitted will not be
+changed.
+
+ The same syntax applies to *note yrange::, *note zrange::, *note
+x2range::, *note y2range::, *note cbrange::, *note rrange::, *note
+trange::, *note urange:: and *note vrange::.
+
+ The `reverse` option reverses the direction of the axis, e.g., `set
+xrange [0:1] reverse` will produce an axis with 1 on the left and 0 on
+the right. This is identical to the axis produced by `set xrange
+[1:0]`, of course. `reverse` is intended primarily for use with *note
+autoscale::.
+
+ Autoscaling: If <min> (the same applies for correspondingly to
+<max>) is an asterisk "*" autoscaling is turned on. The range in which
+autoscaling is being performed may be limited by a lower bound <lb> or
+an upper bound <ub> or both. The syntax is
+ { <lb> < } * { < <ub> }
+
+ For example,
+ 0 < * < 200
+
+ sets <lb> = 0 and <ub> = 200. With such a setting <min> would be
+autoscaled, but its final value will be between 0 and 200 (both
+inclusive despite the '<' sign). If no lower or upper bound is
+specified, the '<' to also be ommited. 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 `writeback` option essentially saves the range found by *note
+autoscale:: in the buffers that would be filled by *note xrange::.
+This is useful if you wish to plot several functions together but have
+the range determined by only some of them. The `writeback` operation
+is performed during the `plot` execution, so it must be specified
+before that command. To restore, the last saved horizontal range use
+`set xrange restore`. 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 *note yrange::
+after each command in the above example should help you understand what
+is going on.
+
+ In 2D, *note xrange:: and *note yrange:: determine the extent of the
+axes, *note trange:: determines the range of the parametric variable in
+parametric mode or the range of the angle in polar mode. Similarly in
+parametric 3D, *note xrange::, *note yrange::, and *note zrange::
+govern the axes and *note urange:: and *note vrange:: govern the
+parametric variables.
+
+ In polar mode, *note rrange:: determines the radial range plotted.
+<rmin> acts as an additive constant to the radius, whereas <rmax> acts
+as a clip to the radius--no point with radius greater than <rmax> will
+be plotted. *note xrange:: and *note yrange:: are affected--the ranges
+can be set as if the graph was of r(t)-rmin, with rmin added to all the
+labels.
+
+ Any range may be partially or totally autoscaled, although it may
+not make sense to autoscale a parametric variable unless it is plotted
+with data.
+
+ Ranges may also be specified on the `plot` command line. A range
+given on the plot line will be used for that single `plot` command; a
+range given by a `set` command will be used for all subsequent plots
+that do not specify their own ranges. The same holds true for `splot`.
+
+ Examples:
+
+ To set the xrange to the default:
+ set xrange [-10:10]
+
+ To set the yrange to increase downwards:
+ set yrange [10:-10]
+
+ To change zmax to 10 without affecting zmin (which may still be
+autoscaled):
+ set zrange [:10]
+
+ To autoscale xmin while leaving xmax unchanged:
+ set xrange [*:]
+
+ To autoscale xmin but keeping xmin positive:
+ set xrange [0<*:]
+
+ To autoscale x but keep minimum range of 10 to 50 (actual might be
+larger):
+ set xrange [*<10:50<*]
+
+ Autoscaling but limit maximum xrange to -1000 to 1000, i.e.
+autoscaling within [-1000:1000]
+ set xrange [-1000<*:*<1000]
+
+ Make sure xmin is somewhere between -200 and 100:
+ set xrange [-200<*<100:]
-
-File: gnuplot.info, Node: logscale, Prev: locale, Up: set-show, Next: mapping
+
+File: gnuplot.info, Node: xtics, Next: xyplane, Prev: xrange, Up: set-show
+
+3.25.96 xtics
+-------------
+
+Fine control of the major (labelled) tics on the x axis is possible
+with the `set xtics` command. The tics may be turned off with the
+`unset xtics` command, and may be turned on (the default state) with
+`set xtics`. 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>}" }
+ { rangelimited }
+ { textcolor <colorspec> }
+ unset xtics
+ show xtics
+
+ The same syntax applies to *note ytics::, *note ztics::, *note
+x2tics::, *note y2tics:: and *note cbtics::.
+
+ `axis` or *note border:: tells `gnuplot` to put the tics (both the
+tics themselves and the accompanying labels) along the axis or the
+border, respectively. If the axis is very close to the border, the
+`axis` option will move the tic labels to outside the border. The
+relevant margin settings will usually be sized badly by the automatic
+layout algorithm in this case.
+
+ `mirror` tells `gnuplot` to put unlabelled tics at the same
+positions on the opposite border. `nomirror` does what you think it
+does.
+
+ `in` and `out` change the tic marks to be drawn inwards or outwards.
+
+ With `scale`, 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 `scale default`.
+
+ `rotate` asks `gnuplot` to rotate the text through 90 degrees, which
+will be done if the terminal driver in use supports text rotation.
+`norotate` cancels this. `rotate by <ang>` asks for rotation by <ang>
+degrees, supported by some terminal types.
+
+ The defaults are `border mirror norotate` for tics on the x and y
+axes, and `border nomirror norotate` for tics on the x2 and y2 axes.
+For the z axis, the `{axis | border}` option is not available and the
+default is `nomirror`. If you do want to mirror the z-axis tics, you
+might want to create a bit more room for them with *note border::.
+
+ The <offset> is specified by either x,y or x,y,z, and may be
+preceded by `first`, `second`, `graph`, `screen`, or `character` to
+select the coordinate system. <offset> is the offset of the tics texts
+from their default positions, while the default coordinate system is
+`character`. See `coordinates` for details. `nooffset` switches 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 explicit
+`left`, `right` or `center` keyword. `autojustify` restores the default
+behavior.
+
+ `set xtics` with no options restores the default border or axis if
+xtics are being displayed; otherwise it has no effect. Any previously
+specified tic frequency or position {and labels} are retained.
+
+ Positions of the tics are calculated automatically by default or if
+the `autofreq` option is given; otherwise they may be specified in
+either of two forms:
+
+ The implicit <start>, <incr>, <end> form specifies that a series of
+tics will be plotted on the axis between the values <start> and <end>
+with an increment of <incr>. If <end> is not given, it is assumed to
+be infinity. The increment may be negative. If neither <start> nor
+<end> is given, <start> is assumed to be negative infinity, <end> is
+assumed to be positive infinity, and the tics will be drawn at integral
+multiples of <incr>. If the axis is logarithmic, the increment will be
+used as a multiplicative factor.
+
+ If you specify to a negative <start> or <incr> after a numerical
+value (e.g., `rotate by <angle>` or `offset <offset>`), the parser
+fails because it subtracts <start> or <incr> from that value. As a
+workaround, specify `0-<start>` resp. `0-<incr>` in 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 `set grid` options 'front', 'back' and 'layerdefault' affect the
+drawing order of the xtics, too.
+
+ Examples:
+
+ Make tics at 0, 0.5, 1, 1.5, ..., 9.5, 10.
+ set xtics 0,.5,10
+
+ Make tics at ..., -10, -5, 0, 5, 10, ...
+ set xtics 5
+
+ Make tics at 1, 100, 1e4, 1e6, 1e8.
+ set logscale x; set xtics 1,100,1e8
+
+ The explicit ("<label>" <pos> <level>, ...) form allows 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. Note that the label is a string enclosed by
+quotes. It may be a constant string, such as "hello", may contain
+formatting information for converting the position into its label, such
+as "%3f clients", or may be empty, "". See `set format` for more
+information. If no string is given, the default label (numerical) is
+used.
+
+ An explicit tic mark has a third parameter, the "level". The default
+is level 0, a major tic. A level of 1 generates a minor tic. If the
+level is specified, then the label must also be supplied.
+
+ Examples:
+ set xtics ("low" 0, "medium" 50, "high" 100)
+ set xtics (1,2,4,8,16,32,64,128,256,512,1024)
+ set ytics ("bottom" 0, "" 10, "top" 20)
+ set ytics ("bottom" 0, "" 10 1, "top" 20)
+
+ In the second example, all tics are labelled. In the third, only
+the end tics are labelled. In the fourth, the unlabeled tic is a minor
+tic.
+
+ Normally if explicit tics are given, they are used instead of
+auto-generated tics. Conversely if you specify `set xtics auto` or the
+like it will erase any previously specified explicit tics. You can mix
+explicit and auto- generated tics by using the keyword `add`, 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.
+
+ However they are specified, tics will only be plotted when in range.
- Log scaling may be set on the x, y, z, x2 and/or y2 axes.
+ Format (or omission) of the tic labels is controlled by `set
+format`, unless the explicit text of a label is included in the `set
+xtics ("<label>")` form.
+
+ Minor (unlabelled) tics can be added automatically by the *note
+mxtics:: command, or at explicit positions by the `set xtics ("" <pos>
+1, ...)` form.
+
+* Menu:
- Syntax:
- set logscale <axes> <base>
- set nologscale <axes>
- show logscale
+* xtics_time_data::
+* xtics_rangelimited::
- where <axes> may be any combinations of `x`, `y`, and `z`, in any order, or
- `x2` or `y2` and where <base> is the base of the log scaling. If <base> is
- not given, then 10 is assumed. If <axes> is not given, then all axes are
- assumed. `set nologscale` turns off log scaling for the specified axes.
+
+File: gnuplot.info, Node: xtics_time_data, Next: xtics_rangelimited, Prev:
xtics, Up: xtics
+
+3.25.96.1 xtics time_data
+.........................
+
+In case of timeseries data, axis tic position values must be given as
+quoted dates or times according to the format *note timefmt::. If the
+<start>, <incr>, <end> form is used, <start> and <end> must be given
+according to *note timefmt::, but <incr> must be in seconds. Times
+will be written out according to the format given on `set format`,
+however.
+
+ Examples:
+ set xdata time
+ set timefmt "%d/%m"
+ set xtics format "%b %d"
+ 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"
+ set xrange ["01/12":"06/12"]
+ set xtics ("01/12", "" "03/12", "05/12")
+
+ Both of these will produce tics "Dec 1", "Dec 3", and "Dec 5", but
+in the second example the tic at "Dec 3" will be unlabelled.
- Examples:
+
+File: gnuplot.info, Node: xtics_rangelimited, Prev: xtics_time_data, Up:
xtics
+
+3.25.96.2 xtics rangelimited
+............................
+
+This option limits both the auto-generated axis tic labels and the
+corresponding plot border to the range of values actually present in
+the data that has been plotted. Note that this is independent of the
+current range limits for the plot. For example, suppose that the data
+in "file.dat" all lies in the range 2 < y < 4. Then the following
+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 `range-frame` graph.
+ set border 3
+ set yrange [0:10]
+ set ytics nomirror rangelimited
+ plot "file.dat"
- To enable log scaling in both x and z axes:
- set logscale xz
+
+File: gnuplot.info, Node: xyplane, Next: xzeroaxis, Prev: xtics, Up:
set-show
- To enable scaling log base 2 of the y axis:
- set logscale y 2
+3.25.97 xyplane
+---------------
- To disable z axis log scaling:
- set nologscale z
+The *note xyplane:: command adjusts the position at which the xy plane
+is drawn in a 3D plot. The synonym "set ticslevel" is accepted for
+backwards compatibility.
-
-File: gnuplot.info, Node: mapping, Prev: logscale, Up: set-show, Next: margin
+ Syntax:
+ set xyplane at <zvalue>
+ set xyplane relative <frac>
+ set ticslevel <frac> # equivalent to set xyplane relative
+ show xyplane
- If data are provided to `splot` (*note splot:: ) in spherical or cylindrical
- coordinates, the `set mapping` command should be used to instruct `gnuplot`
- (*note gnuplot:: ) how to interpret them.
+ The form `set xyplane relative <frac>` places the xy plane below the
+range in Z, where the distance from the xy plane to Zmin is given as a
+fraction of the total range in z. The default value is 0.5. Negative
+values are permitted, but tic labels on the three axes may overlap.
+The older, deprecated, form *note ticslevel:: is retained for backwards
+compatibility.
- Syntax:
- set mapping {cartesian | spherical | cylindrical}
+ To place the xy-plane at a position 'pos' on the z-axis, *note
+ticslevel:: may be set equal to (pos - zmin) / (zmin - zmax).
+However, this position will change if the z range is changed.
- A cartesian coordinate system is used by default.
+ The alternative form `set xyplane at <zvalue>` fixes 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 `set xyplane at 0`.
- For a spherical coordinate system, the data occupy two or three columns (or
- `using` (*note using:: ) entries). The first two are interpreted as the polar
- and azimuthal angles theta and phi (in the units specified by `set angles`
- (*note angles:: )). 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:
+ See also *note view::, and *note zeroaxis::.
- x = r * cos(theta) * cos(phi)
- y = r * sin(theta) * cos(phi)
- z = r * sin(phi)
+
+File: gnuplot.info, Node: xzeroaxis, Next: y2data, Prev: xyplane, Up:
set-show
- Note that this is a "geographic" spherical system, rather than a "polar" one.
+3.25.98 xzeroaxis
+-----------------
- 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
- `set angles`) and z. The radius is either taken from the third column or set
- to unity, as in the spherical case. The mapping is:
+The *note xzeroaxis:: command draws a line at y = 0. For details,
+please see *note zeroaxis::.
- x = r * cos(theta)
- y = r * sin(theta)
- z = z
+
+File: gnuplot.info, Node: y2data, Next: y2dtics, Prev: xzeroaxis, Up:
set-show
- The effects of `mapping` can be duplicated with the `using` filter on the
- `splot` command, but `mapping` may be more convenient if many data files are
- to be processed. However even if `mapping` is used, `using` may still be
- necessary if the data in the file are not in the required order.
+3.25.99 y2data
+--------------
- `mapping` has no effect on `plot` (*note plot:: ).
+The *note y2data:: command sets y2 (right-hand) axis data to timeseries
+(dates/times). Please see *note xdata::.
+
+File: gnuplot.info, Node: y2dtics, Next: y2label, Prev: y2data, Up:
set-show
-
-File: gnuplot.info, Node: margin, Prev: mapping, Up: set-show, Next: missing
+3.25.100 y2dtics
+----------------
- Normally the margins of a plot are automatically calculated based on tics
- and axis labels (and the size of the graph correspondingly adjusted.) These
- computed values can be overridden by the `set margin` commands. `show margin`
- shows the current settings.
+The *note y2dtics:: command changes tics on the y2 (right-hand) axis to
+days of the week. Please see *note xdtics:: for details.
- Syntax:
- set bmargin {<margin>}
- set lmargin {<margin>}
- set rmargin {<margin>}
- set tmargin {<margin>}
- show margin
+
+File: gnuplot.info, Node: y2label, Next: y2mtics, Prev: y2dtics, Up:
set-show
- The units of <margin> are character heights or widths, as appropriate. A
- positive value defines the absolute size of the margin. A negative value
- (or none) causes `gnuplot` (*note gnuplot:: ) to revert to the computed
- value.
+3.25.101 y2label
+----------------
+The *note y2label:: command sets the label for the y2 (right-hand) axis.
+Please see *note xlabel::.
-
-File: gnuplot.info, Node: missing, Prev: margin, Up: set-show, Next: multiplot
+
+File: gnuplot.info, Node: y2mtics, Next: y2range, Prev: y2label, Up:
set-show
- The `set missing` command allows you to tell `gnuplot` (*note gnuplot:: ) what
- character is used in a data file to denote missing data.
+3.25.102 y2mtics
+----------------
- Syntax:
- set missing {"<character>"}
- show missing
+The *note y2mtics:: command changes tics on the y2 (right-hand) axis to
+months of the year. Please see *note xmtics:: for details.
- Example:
- set missing "?"
+
+File: gnuplot.info, Node: y2range, Next: y2tics, Prev: y2mtics, Up:
set-show
- would mean that, when plotting a file containing
+3.25.103 y2range
+----------------
- 1 1
- 2 ?
- 3 2
+The *note y2range:: command sets the vertical range that will be
+displayed on the y2 (right-hand) axis. Please see *note xrange:: for
+details.
- the middle line would be ignored.
+
+File: gnuplot.info, Node: y2tics, Next: y2zeroaxis, Prev: y2range, Up:
set-show
- There is no default character for `missing`.
+3.25.104 y2tics
+---------------
-
-File: gnuplot.info, Node: multiplot, Prev: missing, Up: set-show, Next: mx2tics
+The *note y2tics:: command controls major (labelled) tics on the y2
+(right-hand) axis. Please see `set xtics` for details.
- The command `set multiplot` places `gnuplot` (*note gnuplot:: ) in the
- multiplot mode, in which several plots are placed on the same page, window, or
- screen.
+
+File: gnuplot.info, Node: y2zeroaxis, Next: ydata, Prev: y2tics, Up:
set-show
- Syntax:
- set multiplot
- set nomultiplot
+3.25.105 y2zeroaxis
+-------------------
- For some terminals, no plot is displayed until the command `set nomultiplot`
- is given, which causes the entire page to be drawn and then returns `gnuplot`
- to its normal single-plot mode. For other terminals, each separate `plot`
- (*note plot:: ) command produces a plot, but the screen may not be cleared
- between plots.
+The *note y2zeroaxis:: command draws a line at the origin of the y2
+(right-hand) axis (x2 = 0). For details, please see *note zeroaxis::.
- Any labels or arrows that have been defined will be drawn for each plot
- according to the current size and origin (unless their coordinates are
- defined in the `screen` system). Just about everything else that can be
- `set` (*note set-show:: ) is applied to each plot, too. If you want something
- to appear only once on the page, for instance a single time stamp, you'll need
- to put a `set time`/`set notime` pair around one of the `plot`, `splot`
- (*note splot:: ) or `replot` (*note replot:: ) commands within the `set
- multiplot`/`set nomultiplot` block.
+
+File: gnuplot.info, Node: ydata, Next: ydtics, Prev: y2zeroaxis, Up:
set-show
- The commands `set origin` (*note origin:: ) and `set size` (*note size:: )
- must be used to correctly position each plot; see `set origin` and `set size`
- for details of their usage.
+3.25.106 ydata
+--------------
- Example:
- set size 0.7,0.7
- set origin 0.1,0.1
- set multiplot
- set size 0.4,0.4
- set origin 0.1,0.1
- plot sin(x)
- set size 0.2,0.2
- set origin 0.5,0.5
- plot cos(x)
- set nomultiplot
+The *note ydata:: commands sets y-axis data to timeseries (dates/times).
+Please see *note xdata::.
- displays a plot of cos(x) stacked above a plot of sin(x). Note the initial
- `set size` and `set origin`. While these are not always required, their
- inclusion is recommended. Some terminal drivers require that bounding box
- information be available before any plots can be made, and the form given
- above guarantees that the bounding box will include the entire plot array
- rather than just the bounding box of the first plot.
+
+File: gnuplot.info, Node: ydtics, Next: ylabel, Prev: ydata, Up: set-show
- `set size` and `set origin` refer to the entire plotting area used for each
- plot. If you want to have the axes themselves line up, you can guarantee
- that the margins are the same size with the `set margin` (*note margin:: )
- commands. See `set margin` for their use. Note that the margin settings are
- absolute, in character units, so the appearance of the graph in the remaining
- space will depend on the screen size of the display device, e.g., perhaps
- quite different on a video display and a printer.
+3.25.107 ydtics
+---------------
+The *note ydtics:: command changes tics on the y axis to days of the
+week. Please see *note xdtics:: for details.
-
-File: gnuplot.info, Node: mx2tics, Prev: multiplot, Up: set-show, Next: mxtics
+
+File: gnuplot.info, Node: ylabel, Next: ymtics, Prev: ydtics, Up: set-show
- Minor tic marks along the x2 (top) axis are controlled by `set mx2tics`.
- Please see `set mxtics` (*note mxtics:: ).
+3.25.108 ylabel
+---------------
+This command sets the label for the y axis. Please see *note xlabel::.
-
-File: gnuplot.info, Node: mxtics, Prev: mx2tics, Up: set-show, Next: my2tics
+
+File: gnuplot.info, Node: ymtics, Next: yrange, Prev: ylabel, Up: set-show
- Minor tic marks along the x axis are controlled by `set mxtics`. They can be
- turned off with `set nomxtics`. Similar commands control minor tics along
- the other axes.
+3.25.109 ymtics
+---------------
- Syntax:
- set mxtics {<freq> | default}
- set nomxtics
- show mxtics
+The *note ymtics:: command changes tics on the y axis to months of the
+year. Please see *note xmtics:: for details.
- The same syntax applies to `mytics` (*note mytics:: ), `mztics`
- (*note mztics:: ), `mx2tics` (*note mx2tics:: ) and `my2tics`
- (*note my2tics:: ).
+
+File: gnuplot.info, Node: yrange, Next: ytics, Prev: ymtics, Up: set-show
- <freq> is the number of sub-intervals (NOT the number of minor tics) between
- major tics (ten is the default for a linear axis, so there are nine minor
- tics between major tics). Selecting `default` will return the number of minor
- ticks to its default value.
+3.25.110 yrange
+---------------
- 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 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.
+The *note yrange:: command sets the vertical range that will be
+displayed on the y axis. Please see *note xrange:: for details.
- Minor tics can be used only with uniformly spaced major tics. Since major
- tics can be placed arbitrarily by `set {x|x2|y|y2|z}tics`, minor tics cannot
- be used if major tics are explicitly `set` (*note set-show:: ).
+
+File: gnuplot.info, Node: ytics, Next: yzeroaxis, Prev: yrange, Up:
set-show
- By default, minor tics are off for linear axes and on for logarithmic axes.
- They inherit the settings for `axis|border` and `{no}mirror` specified for
- the major tics. Please see `set xtics` (*note xtics:: ) for information about
- these.
+3.25.111 ytics
+--------------
+The *note ytics:: command controls major (labelled) tics on the y axis.
+Please see `set xtics` for details.
-
-File: gnuplot.info, Node: my2tics, Prev: mxtics, Up: set-show, Next: mytics
+
+File: gnuplot.info, Node: yzeroaxis, Next: zdata, Prev: ytics, Up: set-show
- Minor tic marks along the y2 (right-hand) axis are controlled by `set
- my2tics`. Please see `set mxtics` (*note mxtics:: ).
+3.25.112 yzeroaxis
+------------------
+The *note yzeroaxis:: command draws a line at x = 0. For details,
+please see *note zeroaxis::.
-
-File: gnuplot.info, Node: mytics, Prev: my2tics, Up: set-show, Next: mztics
-
- Minor tic marks along the y axis are controlled by `set mytics`. Please
- see `set mxtics` (*note mxtics:: ).
+
+File: gnuplot.info, Node: zdata, Next: zdtics, Prev: yzeroaxis, Up:
set-show
+3.25.113 zdata
+--------------
-
-File: gnuplot.info, Node: mztics, Prev: mytics, Up: set-show, Next: offsets
-
- Minor tic marks along the z axis are controlled by `set mztics`. Please
- see `set mxtics` (*note mxtics:: ).
+The *note zdata:: command sets zaxis data to timeseries (dates/times).
+Please see *note xdata::.
+
+File: gnuplot.info, Node: zdtics, Next: zzeroaxis, Prev: zdata, Up:
set-show
-
-File: gnuplot.info, Node: offsets, Prev: mztics, Up: set-show, Next: origin
+3.25.114 zdtics
+---------------
- Offsets provide a mechanism to put a boundary around the data inside of an
- autoscaled graph.
+The *note zdtics:: command changes tics on the z axis to days of the
+week. Please see *note xdtics:: for details.
- Syntax:
- set offsets <left>, <right>, <top>, <bottom>
- set nooffsets
- show offsets
+
+File: gnuplot.info, Node: zzeroaxis, Next: cbdata, Prev: zdtics, Up:
set-show
- Each offset may be a constant or an expression. Each defaults to 0. Left
- and right offsets are given in units of the x axis, top and bottom offsets in
- units of the y axis. A positive offset expands the graph in the specified
- direction, e.g., a positive bottom offset makes ymin more negative. Negative
- offsets, while permitted, can have unexpected interactions with autoscaling
- and clipping.
+3.25.115 zzeroaxis
+------------------
- Offsets are ignored in `splot`s (*note splot:: ).
+The *note zzeroaxis:: command draws a line through (x=0,y=0). This has
+no effect on 2D plots, including splot with `set view map`. For
+details, please see *note zeroaxis:: and *note xyplane::.
- Example:
- set offsets 0, 0, 2, 2
- plot sin(x)
+
+File: gnuplot.info, Node: cbdata, Next: cbdtics, Prev: zzeroaxis, Up:
set-show
- This graph of sin(x) will have a y range [-3:3] because the function
- will be autoscaled to [-1:1] and the vertical offsets are each two.
+3.25.116 cbdata
+---------------
-
-File: gnuplot.info, Node: origin, Prev: offsets, Up: set-show, Next: output
+Set color box axis data to timeseries (dates/times). Please see *note
+xdata::.
- The `set origin` command is used to specify the origin of a plotting surface
- (i.e., the graph and its margins) on the screen. The coordinates are given
- in the `screen` coordinate system (see `coordinates` (*note Coordinates:: )
- for information about this system).
+
+File: gnuplot.info, Node: cbdtics, Next: zero, Prev: cbdata, Up: set-show
- Syntax:
- set origin <x-origin>,<y-origin>
+3.25.117 cbdtics
+----------------
-
-File: gnuplot.info, Node: output, Prev: origin, Up: set-show, Next: parametric
+The *note cbdtics:: command changes tics on the color box axis to days
+of the week. Please see *note xdtics:: for details.
- By default, screens are displayed to the standard output. The `set output`
- command redirects the display to the specified file or device.
+
+File: gnuplot.info, Node: zero, Next: zeroaxis, Prev: cbdtics, Up: set-show
- Syntax:
- set output {"<filename>"}
- show output
+3.25.118 zero
+-------------
- The filename must be enclosed in quotes. If the filename is omitted, any
- output file opened by a previous invocation of `set output` will be closed
- and new output will be sent to STDOUT. (If you give the command `set output
- "STDOUT"`, your output may be sent to a file named "STDOUT"! ["May be", not
- "will be", because some terminals, like `x11` (*note x11:: ), ignore set
- output.])
+The `zero` value is the default threshold for values approaching 0.0.
- MSDOS users should note that the \ character has special significance in
- double-quoted strings, so single-quotes should be used for filenames in
- different directories.
+ Syntax:
+ set zero <expression>
+ show zero
- When both `set terminal` (*note terminal:: ) and set output are used together,
- it is safest to give `set terminal` first, because some terminals set a flag
- which is needed in some operating systems. This would be the case, for
- example, if the operating system needs to know whether or not a file is to be
- formatted in order to open it properly.
+ `gnuplot` will not plot a point if its imaginary part is greater in
+magnitude than the `zero` threshold. This threshold is also used in
+various other parts of `gnuplot` as a (crude) numerical-error
+threshold. The default `zero` value is 1e-8. `zero` values larger
+than 1e-3 (the reciprocal of the number of pixels in a typical bitmap
+display) should probably be avoided, but it is not unreasonable to set
+`zero` to 0.0.
- On machines with popen functions (Unix), output can be piped through a shell
- command if the first non-whitespace character of the filename is '|'.
- For instance,
+
+File: gnuplot.info, Node: zeroaxis, Next: zlabel, Prev: zero, Up: set-show
- set output "|lpr -Plaser filename"
- set output "|lp -dlaser filename"
+3.25.119 zeroaxis
+-----------------
- On MSDOS machines, `set output "PRN"` will direct the output to the default
- printer. On VMS, output can be sent directly to any spooled device. It is
- also possible to send the output to DECnet transparent tasks, which allows
- some flexibility.
+The x axis may be drawn by *note xzeroaxis:: and removed by *note
+xzeroaxis::. Similar commands behave similarly for the y, x2, y2, and
+z axes.
-
-File: gnuplot.info, Node: parametric, Prev: output, Up: set-show, Next:
pointsize
+ Syntax:
+ set {x|x2|y|y2|z}zeroaxis { {linestyle | ls <line_style>}
+ | { linetype | lt <line_type>}
+ { linewidth | lw <line_width>}}
+ unset {x|x2|y|y2|z}zeroaxis
+ show {x|y|z}zeroaxis
- The `set parametric` command changes the meaning of `plot` (*note plot:: )
- ((`splot` (*note splot:: )) from normal functions to parametric
- functions. The command `set noparametric` restores the plotting style to
- normal, single-valued expression plotting.
+ By default, these options are off. The selected zero axis is drawn
+with a line of type <line_type> and width <line_width> (if supported by
+the terminal driver currently in use), or a user-defined style
+<line_style>.
- Syntax:
- set parametric
- set noparametric
- show parametric
-
- For 2-d plotting, a parametric function is determined by a pair of parametric
- functions operating on a parameter. An example of a 2-d parametric function
- would be `plot sin(t),cos(t)`, which draws a circle (if the aspect ratio is
- set correctly---see `set size` (*note size:: )). `gnuplot`
- (*note gnuplot:: ) will display an error message if both functions are not
- provided for a parametric `plot`.
-
- For 3-d plotting, the surface is described as x=f(u,v), y=g(u,v), z=h(u,v).
- Therefore a triplet of functions is required. An example of a 3-d parametric
- function would be `cos(u)*cos(v),cos(u)*sin(v),sin(u)`, which draws a sphere.
- `gnuplot` will display an error message if all three functions are not
- provided for a parametric `splot`.
-
- The total set of possible plots is a superset of the simple f(x) style plots,
- since the two functions can describe the x and y values to be computed
- separately. In fact, plots of the type t,f(t) are equivalent to those
- produced with f(x) because the x values are computed using the identity
- function. Similarly, 3-d plots of the type u,v,f(u,v) are equivalent to
- f(x,y).
+ If no linetype is specified, any zero axes selected will be drawn
+using the axis linetype (linetype 0).
- Note that the order the parametric functions are specified is xfunction,
- yfunction (and zfunction) and that each operates over the common parametric
- domain.
-
- Also, the `set parametric` function 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 `set trange` (*note trange:: ),
- `set urange` (*note urange:: ), and `set vrange` (*note vrange:: ), or by
- specifying the range on the plot or splot commands. Currently the default
- range for these parametric variables is [-5:5]. Setting the ranges to
- something more meaningful is expected.
+ *note zeroaxis:: is equivalent to *note yzeroaxis::. Note that the
+z-axis must be set separately using *note zzeroaxis::.
+ Examples:
-
-File: gnuplot.info, Node: pointsize, Prev: parametric, Up: set-show, Next:
polar
+ To simply have the y=0 axis drawn visibly:
- The `set pointsize` command scales the size of the points used in plots.
-
- Syntax:
- set pointsize <multiplier>
- show pointsize
-
- The default is a multiplier of 1.0. Larger pointsizes may be useful to
- make points more visible in bitmapped graphics.
-
- The pointsize of a single plot may be changed on the `plot` (*note plot:: )
- command. See `plot with` (*note with:: ) for details.
-
- Please note that the pointsize setting is not supported by all terminal
- types.
-
-
-File: gnuplot.info, Node: polar, Prev: pointsize, Up: set-show, Next: rmargin
-
- The `set polar` command changes the meaning of the plot from rectangular
- coordinates to polar coordinates.
-
- Syntax:
- set polar
- set nopolar
- show polar
-
- There have been changes made to polar mode in version 3.7, so that scripts
- for `gnuplot` (*note gnuplot:: ) versions 3.5 and earlier will require
- modification. The main change is that the dummy variable t is used for the
- angle so that the x and y ranges can be controlled independently. Other
- changes are: 1) tics are no longer put along the zero axes automatically
- ---use `set xtics axis nomirror`; `set ytics axis nomirror`; 2) the grid, if
- selected, is not automatically polar ---use `set grid polar`; 3) the grid is
- not labelled with angles ---use `set label` (*note label:: ) as necessary.
+ set xzeroaxis
- In polar coordinates, the dummy variable (t) is an angle. The default range
- of t is [0:2*pi], or, if degree units have been selected, to [0:360] (see
- `set angles` (*note angles:: )).
+ If you want a thick line in a different color or pattern, instead:
- The command `set nopolar` changes the meaning of the plot back to the default
- rectangular coordinate system.
+ set xzeroaxis linetype 3 linewidth 2.5
- The `set polar` command is not supported for `splot`s (*note splot:: ). See
- the `set mapping` (*note mapping:: ) command for similar functionality for
- `splot`s.
+
+File: gnuplot.info, Node: zlabel, Next: zmtics, Prev: zeroaxis, Up:
set-show
- While in polar coordinates the meaning of an expression in t is really
- r = f(t), where t is an angle of rotation. The trange controls the domain
- (the angle) of the function, and the x and y ranges control the range of the
- graph in the x and y directions. Each of these ranges, as well as the
- rrange, may be autoscaled or set explicitly. See `set xrange`
- (*note xrange:: ) for details of all the `set range` commands.
+3.25.120 zlabel
+---------------
- Example:
- set polar
- plot t*sin(t)
- plot [-2*pi:2*pi] [-3:3] [-3:3] t*sin(t)
+This command sets the label for the z axis. Please see *note xlabel::.
- The first `plot` (*note plot:: ) uses the default polar angular domain of 0 to
- 2*pi. The radius and the size of the graph are scaled automatically. The
- second `plot` expands the domain, and restricts the size of the graph to
- [-3:3] in both directions.
+
+File: gnuplot.info, Node: zmtics, Next: zrange, Prev: zlabel, Up: set-show
- You may want to `set size square` to have `gnuplot` try to make the aspect
- ratio equal to unity, so that circles look circular.
+3.25.121 zmtics
+---------------
-
-File: gnuplot.info, Node: rmargin, Prev: polar, Up: set-show, Next: rrange
+The *note zmtics:: command changes tics on the z axis to months of the
+year. Please see *note xmtics:: for details.
- The command `set rmargin` sets the size of the right margin. Please see
- `set margin` (*note margin:: ) for details.
+
+File: gnuplot.info, Node: zrange, Next: ztics, Prev: zmtics, Up: set-show
+3.25.122 zrange
+---------------
-
-File: gnuplot.info, Node: rrange, Prev: rmargin, Up: set-show, Next: samples
+The *note zrange:: command sets the range that will be displayed on the
+z axis. The zrange is used only by `splot` and is ignored by `plot`.
+Please see *note xrange:: for details.
- The `set rrange` command sets the range of the radial coordinate for a
- graph in polar mode. Please see `set xrange` (*note xrange:: ) for details.
+
+File: gnuplot.info, Node: ztics, Next: cblabel, Prev: zrange, Up: set-show
+3.25.123 ztics
+--------------
-
-File: gnuplot.info, Node: samples, Prev: rrange, Up: set-show, Next: size
+The *note ztics:: command controls major (labelled) tics on the z axis.
+Please see `set xtics` for details.
- The sampling rate of functions, or for interpolating data, may be changed
- by the `set samples` command.
+
+File: gnuplot.info, Node: cblabel, Next: cbmtics, Prev: ztics, Up: set-show
- Syntax:
- set samples <samples_1> {,<samples_2>}
- show samples
+3.25.124 cblabel
+----------------
- By default, sampling is set to 100 points. A higher sampling rate will
- produce more accurate plots, but will take longer. This parameter has no
- effect on data file plotting unless one of the interpolation/approximation
- options is used. See `plot smooth` (*note smooth:: ) re 2-d data and `set
- cntrparam` (*note cntrparam:: ) and `set dgrid3d` (*note dgrid3d:: ) re 3-d
- data.
+This command sets the label for the color box axis. Please see *note
+xlabel::.
- When a 2-d graph is being done, only the value of <samples_1> is relevant.
+
+File: gnuplot.info, Node: cbmtics, Next: cbrange, Prev: cblabel, Up:
set-show
- When a surface plot is being done without the removal of hidden lines, the
- value of samples specifies the number of samples that are to be evaluated for
- the isolines. Each iso-v line will have <sample_1> samples and each iso-u
- line will have <sample_2> samples. If you only specify <samples_1>,
- <samples_2> will be set to the same value as <samples_1>. See also `set
- isosamples`.
+3.25.125 cbmtics
+----------------
-
-File: gnuplot.info, Node: size, Prev: samples, Up: set-show, Next: style
+The *note cbmtics:: command changes tics on the color box axis to
+months of the year. Please see *note xmtics:: for details.
- The `set size` command scales the displayed size of the plot.
+
+File: gnuplot.info, Node: cbrange, Next: cbtics, Prev: cbmtics, Up:
set-show
- Syntax:
- set size {{no}square | ratio <r> | noratio} {<xscale>,<yscale>}
- show size
+3.25.126 cbrange
+----------------
- The <xscale> and <yscale> values are the scaling factors for the size of the
- plot, which includes the graph and the margins.
+The *note cbrange:: command sets the range of values which are colored
+using the current *note palette:: by styles *note pm3d::, `with image`
+and *note palette::. Values outside of the color range use color of
+the nearest extreme.
- `ratio` causes `gnuplot` (*note gnuplot:: ) to try to create a graph with an
- aspect ratio of <r> (the ratio of the y-axis length to the x-axis length)
- within the portion of the plot specified by <xscale> and <yscale>.
+ If the cb-axis is autoscaled in `splot`, then the colorbox range is
+taken from *note zrange::. Points drawn in `splot ... pm3d|palette`
+can be filtered by using different *note zrange:: and *note cbrange::.
- The meaning of a negative value for <r> is different. If <r>=-1, gnuplot
- tries to set the scales so that the unit has the same length on both the x
- and y axes (suitable for geographical data, for instance). If <r>=-2, the
- unit on y has twice the length of the unit on x, and so on.
+ Please see *note xrange:: for details on *note cbrange:: syntax. See
+also *note palette:: and `set colorbox`.
- The success of `gnuplot` in producing the requested aspect ratio depends on
- the terminal selected. The graph area will be the largest rectangle of
- aspect ratio <r> that will fit into the specified portion of the output
- (leaving adequate margins, of course).
+
+File: gnuplot.info, Node: cbtics, Prev: cbrange, Up: set-show
- `square` is a synonym for `ratio 1`.
+3.25.127 cbtics
+---------------
- Both `noratio` and `nosquare` return the graph to the default aspect ratio
- of the terminal, but do not return <xscale> or <yscale> to their default
- values (1.0).
+The *note cbtics:: command controls major (labelled) tics on the color
+box axis. Please see `set xtics` for details.
- `ratio` and `square` have no effect on 3-d plots.
+
+File: gnuplot.info, Node: shell, Next: splot, Prev: set-show, Up: Commands
- `set size` is relative to the default size, which differs from terminal to
- terminal. Since `gnuplot` fills as much of the available plotting area as
- possible by default, it is safer to use `set size` to decrease the size of
- a plot than to increase it. See `set terminal` (*note terminal:: ) for the
- default sizes.
+3.26 shell
+==========
- On some terminals, changing the size of the plot will result in text being
- misplaced.
+The *note shell:: command spawns an interactive shell. To return to
+`gnuplot`, type `logout` if using VMS, *note exit:: or the END-OF-FILE
+character if using Unix, or *note exit:: if using MS-DOS or OS/2.
- Examples:
+ There are two ways of spawning a shell command: using *note system::
+command or via `!` ($ if using VMS). The former command takes a string
+as a parameter and thus it can be used anywhere among other gnuplot
+commands, while the latter syntax requires to be the only command on
+the line. Control will return immediately to `gnuplot` after this
+command is executed. For example, in MS-DOS or OS/2,
- To set the size to normal size use:
- set size 1,1
+ ! dir
- To make the graph half size and square use:
- set size square 0.5,0.5
+ or
+ system "dir"
- To make the graph twice as high as wide use:
- set size ratio 2
+ prints a directory listing and then returns to `gnuplot`.
+ Other examples of the former syntax:
+ system "date"; set time; plot "a.dat"
+ print=1; if (print) replot; set out; system "lpr x.ps"
-
-File: gnuplot.info, Node: style, Prev: size, Up: set-show, Next: boxerrorbars
+
+File: gnuplot.info, Node: splot, Next: stats_(Statistical_Summary), Prev:
shell, Up: Commands
- Default styles are chosen with the `set function style`
- (*note function style:: ) and `set data style` (*note data style:: )
- commands. See `plot with` (*note with:: ) for information about how to
- override the default plotting style for individual functions and data sets.
+3.27 splot
+==========
- Syntax:
- set function style <style>
- set data style <style>
- show function style
- show data style
+`splot` is the command for drawing 3D plots (well, actually projections
+on a 2D surface, but you knew that). It can create a plot from
+functions or data read from files in a manner very similar to the
+`plot` command. `splot` provides only a single x, y, and z axis; there
+is no equivalent to the x2 and y2 secondary axes provided by `plot`.
- The types used for all line and point styles (i.e., solid, dash-dot, color,
- etc. for lines; circles, squares, crosses, etc. for points) will be either
- those specified on the `plot` (*note plot:: ) or `splot` (*note splot:: )
- command or will be chosen sequentially from the types available to the
- terminal in use. Use the command `test` (*note test:: ) to see what is
- available.
+ See the `plot` command for many options available in both 2D and 3D
+plots.
- None of the styles requiring more than two columns of information (e.g.,
- `errorbars` (*note errorbars:: )) can be used with splots or function
- plots. Neither ther `boxes` (*note boxes:: ) nor any of the `steps`
- (*note steps:: ) styles can be used with splots. If an inappropriate style is
- specified, it will be changed to `points` (*note points:: ).
+ Syntax:
+ splot {<ranges>}
+ {<iteration>}
+ <function> | "<datafile>" {datafile-modifiers}}
+ {<title-spec>} {with <style>}
+ {, {definitions{,}} <function> ...}
- For 2-d data with more than two columns, `gnuplot` (*note gnuplot:: ) is picky
- about the allowed `errorbar` styles. The `using` (*note using:: ) option on
- the plot command can be used to set up the correct columns for the style you
- want. (In this discussion, "column" will be used to refer both to a column in
- the data file and an entry in the `using` list.)
+ where either a <function> or the name of a data file enclosed in
+quotes is supplied. The function can be a mathematical expression, or
+a triple of mathematical expressions in parametric mode.
- For three columns, only `xerrorbars` (*note xerrorbars:: ), `yerrorbars`
- (*note yerrorbars:: ) (or errorbars), boxes, and `boxerrorbars`
- (*note boxerrorbars:: ) are allowed. If another plot style is used, the
- style will be changed to `yerrorbars`. The `boxerrorbars` style will
- calculate the boxwidth automatically.
+ By default `splot` draws the xy plane completely below the plotted
+data. The offset between the lowest ztic and the xy plane can be
+changed by *note xyplane::. The orientation of a `splot` projection is
+controlled by *note view::. See *note view:: and *note xyplane:: for
+more information.
- For four columns, only `xerrorbars`, `yerrorbars` (or `errorbars`),
- `xyerrorbars` (*note xyerrorbars:: ), `boxxyerrorbars`
- (*note boxxyerrorbars:: ), and boxerrorbars are allowed. An illegal style
- will be changed to `yerrorbars`.
+ The syntax for setting ranges on the `splot` command is the same as
+for `plot`. In non-parametric mode, the order in which ranges must be
+given is *note xrange::, *note yrange::, and *note zrange::. In
+parametric mode, the order is *note urange::, *note vrange::, *note
+xrange::, *note yrange::, and *note zrange::.
- Five-column data allow only the `boxerrorbars`, `financebars`
- (*note financebars:: ), and `candlesticks` (*note candlesticks:: )
- styles. (The last two of these are primarily used for plots of financial
- prices.) An illegal style will be changed to `boxerrorbars` before plotting.
+ The *note title:: option is the same as in `plot`. The operation of
+*note with:: is also the same as in `plot`, except that the plotting
+styles available to `splot` are limited to `lines`, `points`, *note
+linespoints::, *note dots::, and *note impulses::; the error-bar
+capabilities of `plot` are not available for `splot`.
- Six- and seven-column data only allow the `xyerrorbars` and `boxxyerrorbars`
- styles. Illegal styles will be changed to `xyerrorbars` before plotting.
+ The *note datafile:: options have more differences.
- For more information about error bars, please see `plot errorbars`.
+ See also `show plot`.
* Menu:
-* boxerrorbars::
-* boxes::
-* boxxyerrorbars::
-* candlesticks::
-* dots::
-* financebars::
-* fsteps::
-* histeps::
-* impulses::
-* lines::
-* linespoints::
-* points::
-* steps::
-* vector::
-* xerrorbars::
-* xyerrorbars::
-* yerrorbars::
+* data-file::
+* grid_data::
+* splot_surfaces::
-
-File: gnuplot.info, Node: boxerrorbars, Prev: style, Up: style, Next: boxes
-
- The `boxerrorbars` style is only relevant to 2-d data plotting. It is a
- combination of the `boxes` (*note boxes:: ) and `yerrorbars`
- (*note yerrorbars:: ) styles. The boxwidth will come from the fourth column
- if the y errors are in the form of "ydelta" and the boxwidth was not
- previously set equal to -2.0 (`set boxwidth -2.0`) or from the fifth column if
- the y errors are in the form of "ylow yhigh". The special case `boxwidth =
- -2.0` is for four-column data with y errors in the form "ylow yhigh". In this
- case the boxwidth will be calculated so that each box touches the adjacent
- boxes. The width will also be calculated in cases where three-column data are
- used.
+
+File: gnuplot.info, Node: data-file, Next: grid_data, Prev: splot, Up:
splot
+
+3.27.1 data-file
+----------------
+
+`Splot`, like `plot`, 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 `""` and `"-"` are permitted, as in `plot`.
+See *note special-filenames::.
+
+ In brief, *note binary:: and *note matrix:: indicate that the data
+are in a special form, *note index:: selects which data sets in a
+multi-data-set file are to be plotted, *note every:: specifies which
+datalines (subsets) within a single data set are to be plotted, and
+*note using:: determines how the columns within a single record are to
+be interpreted.
+
+ The options *note index:: and *note every:: behave the same way as
+with `plot`; *note using:: does so also, except that the *note using::
+list must provide three entries instead of two.
+
+ The `plot` options *note thru:: and *note smooth:: are not available
+for `splot`, but *note cntrparam:: and *note dgrid3d:: provide limited
+smoothing capabilities.
+
+ Data file organization is essentially the same as for `plot`, except
+that each point is an (x,y,z) triple. If only a single value is
+provided, it will be used for z, the datablock number will be used for
+y, and the index of the data point in the datablock will be used for x.
+If two or four values are provided, `gnuplot` uses the last value for
+calculating the color in pm3d plots. Three values are interpreted as
+an (x,y,z) triple. Additional values are generally used as errors,
+which can be used by *note fit::.
+
+ Single blank records separate datablocks in a `splot` datafile;
+`splot` treats datablocks as the equivalent of function y-isolines. No
+line will join points separated by a blank record. If all datablocks
+contain the same number of points, `gnuplot` will draw cross-isolines
+between datablocks, connecting corresponding points. This is termed
+"grid data", and is required for drawing a surface, for contouring
+(*note contour::) and hidden-line removal (*note hidden3d::). See also
+`splot grid_data`.
+
+ It is no longer necessary to specify `parametric` mode for
+three-column `splot`s.
- The box height is determined from the y error in the same way as it is for
- the `yerrorbars` style---either from y-ydelta to y+ydelta or from ylow to
- yhigh, depending on how many data columns are provided.
+* Menu:
-
-File: gnuplot.info, Node: boxes, Prev: boxerrorbars, Up: style, Next:
boxxyerrorbars
+* matrix::
+* example_datafile_::
- The `boxes` style is only relevant to 2-d plotting. It draws a box centered
- about the given x coordinate from the x axis (not the graph border) to the
- given y coordinate. The width of the box is obtained in one of three ways.
- If it is a data plot and the data file has a third column, this will be used
- to set the width of the box. If not, if a width has been set using the `set
- boxwidth` command, this will be used. If neither of these is available, the
- width of each box will be calculated automatically so that it touches the
- adjacent boxes.
+
+File: gnuplot.info, Node: matrix, Next: example_datafile_, Prev: data-file,
Up: data-file
+
+3.27.1.1 matrix
+...............
+
+Gnuplot can interpret matrix input in two different ways. The first of
+these assumes a uniform grid of x and y coordinates, and assigns each
+value in the input matrix to one element of this uniform grid. This is
+the default for ascii data input, but not for binary input. Example
+commands for plotting uniform matrix data:
+ splot 'file' matrix using 1:2:3 # ascii input
+ splot 'file' binary general using 1:2:3 # binary input
+
+ 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 ascii input, a blank line or comment line ends the matrix, and
+starts a new surface mesh. You can select among the meshes inside a
+file by the *note index:: option to the `splot` command, as usual.
+
+ The second interpretation assumes a non-uniform grid with explicit x
+and y coordinates. The first row of input data contains the y
+coordinates; the first column of input data contains the x coordinates.
+For binary input data, the first element of the first row must contain
+the number of data columns. (This number is ignored for ascii input).
+Both the coordinates and the data values in a binary input are treated
+as single precision floats. Example commands for plotting non-uniform
+matrix data:
+ splot 'file' nonuniform matrix using 1:2:3 # ascii input
+ splot 'file' binary matrix using 1:2:3 # binary input
+
+ Thus the data organization for non-uniform matrix input is
+
+ <N+1> <y0> <y1> <y2> ... <yN>
+ <x0> <z0,0> <z0,1> <z0,2> ... <z0,N>
+ <x1> <z1,0> <z1,1> <z1,2> ... <z1,N>
+ : : : : ... :
+
+ which 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 `gnuplot` iso-curves and then
+`gnuplot` proceeds in the usual manner to do the rest of the plotting.
+
+ A collection of matrix and vector manipulation routines (in C) is
+provided in `binary.c`. The routine to write binary data is
+
+ int fwrite_matrix(file,m,nrl,nrl,ncl,nch,row_title,column_title)
+
+ An example of using these routines is provided in the file
+`bf_test.c`, which generates binary files for the demo file
+`demo/binary.dem`.
+
+ Usage in `plot`:
+ 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 *note every:: option you can specify explicit rows and columns.
+
+ Example - rescale axes of a matrix in an ascii file:
+ splot `a.dat` matrix using (1+$1):(1+$2*10):3
+
+ Example - plot the 3rd row of a matrix in an ascii 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 *note
+binary:: appearing without keyword qualifications unique to general
+binary, i.e., *note array::, *note record::, `format`, or *note
+filetype::. Other general binary keywords for translation should also
+apply to matrix binary. (See *note general:: for more details.)
-
-File: gnuplot.info, Node: boxxyerrorbars, Prev: boxes, Up: style, Next:
candlesticks
+
+File: gnuplot.info, Node: example_datafile_, Prev: matrix, Up: data-file
- The `boxxyerrorbars` style is only relevant to 2-d data plotting. It is a
- combination of the `boxes` (*note boxes:: ) and `xyerrorbars`
- (*note xyerrorbars:: ) styles.
+3.27.1.2 example datafile
+.........................
- The box width and height are determined from the x and y errors in the same
- way as they are for the `xyerrorbars` style---either from xlow to xhigh and
- from ylow to yhigh, or from x-xdelta to x+xdelta and from y-ydelta to
- y+ydelta , depending on how many data columns are provided.
+A simple example of plotting a 3D data file is
-
-File: gnuplot.info, Node: candlesticks, Prev: boxxyerrorbars, Up: style, Next:
dots
+ splot 'datafile.dat'
- The `candlesticks` style is only relevant for 2-d data plotting of financial
- data. Five columns of data are required; in order, these should be the x
- coordinate (most likely a date) and the opening, low, high, and closing
- prices. The symbol is an open rectangle, centered horizontally at the x
- coordinate and limited vertically by the opening and closing prices. A
- vertical line segment at the x coordinate extends up from the top of the
- rectangle to the high price and another down to the low. The width of the
- rectangle may be changed by `set bar` (*note bar:: ). The symbol will be
- unchanged if the low and high prices are interchanged or if the opening and
- closing prices are interchanged. See `set bar` and `financebars`
- (*note financebars:: ).
+ where the file "datafile.dat" might contain:
+ # The valley of the Gnu.
+ 0 0 10
+ 0 1 10
+ 0 2 10
-
-File: gnuplot.info, Node: dots, Prev: candlesticks, Up: style, Next:
financebars
+ 1 0 10
+ 1 1 5
+ 1 2 10
- The `dots` style plots a tiny dot at each point; this is useful for scatter
- plots with many points.
+ 2 0 10
+ 2 1 1
+ 2 2 10
-
-File: gnuplot.info, Node: financebars, Prev: dots, Up: style, Next: fsteps
+ 3 0 10
+ 3 1 0
+ 3 2 10
- The `financebars` style is only relevant for 2-d data plotting of financial
- data. Five columns of data are required; in order, these should be the x
- coordinate (most likely a date) and the opening, low, high, and closing
- prices. The symbol is a vertical line segment, located horizontally at the x
- coordinate and limited vertically by the high and low prices. A horizontal
- tic on the left marks the opening price and one on the right marks the
- closing price. The length of these tics may be changed by `set bar`
- (*note bar:: ). The symbol will be unchanged if the high and low prices are
- interchanged. See `set bar` and `candlesticks` (*note candlesticks:: ).
+ Note that "datafile.dat" defines a 4 by 3 grid ( 4 rows of 3 points
+each ). Rows (datablocks) are separated by blank records.
+ Note also that the x value is held constant within each dataline.
+If you instead keep y constant, and plot with hidden-line removal
+enabled, you will find that the surface is drawn 'inside-out'.
-
-File: gnuplot.info, Node: fsteps, Prev: financebars, Up: style, Next: histeps
+ Actually for grid data it is not necessary to keep the x values
+constant within a datablock, nor is it necessary to keep the same
+sequence of y values. `gnuplot` requires only that the number of
+points be the same for each datablock. However since the surface mesh,
+from which contours are derived, connects sequentially corresponding
+points, the effect of an irregular grid on a surface plot is
+unpredictable and should be examined on a case-by-case basis.
- The `fsteps` style is only relevant to 2-d plotting. It connects consecutive
- points with two line segments: the first from (x1,y1) to (x1,y2) and the
- second from (x1,y2) to (x2,y2).
+
+File: gnuplot.info, Node: grid_data, Next: splot_surfaces, Prev: data-file,
Up: splot
+
+3.27.2 grid data
+----------------
+
+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 *note isosamples::, or
+reading a datafile, see *note datafile::. The term "isoline" is
+applied to the mesh lines for both functions and data. Note that the
+mesh need not be rectangular in x and y, as it may be parameterized in
+u and v, see *note isosamples::.
+
+ However, `gnuplot` does not require that format. In the case of
+functions, 'samples' need not be equal to 'isosamples', i.e., not every
+x-isoline sample need intersect a y-isoline. In the case of data files,
+if there are an equal number of scattered data points in each
+datablock, then "isolines" will connect the points in a datablock, and
+"cross-isolines" will connect the corresponding points in each
+datablock to generate a "surface". In either case, contour and
+hidden3d modes may give different plots than if the points were in the
+intended format. Scattered data can be converted to a {different} grid
+format with *note dgrid3d::.
+
+ 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 `splot` contour of a surface with samples on the x-isolines that do
+not coincide with a y-isoline intersection will ignore such samples.
+Try:
+ set xrange [-pi/2:pi/2]; set yrange [-pi/2:pi/2]
+ set style function lp
+ set contour
+ set isosamples 10,10; set samples 10,10;
+ splot cos(x)*cos(y)
+ set samples 4,10; replot
+ set samples 10,4; replot
-
-File: gnuplot.info, Node: histeps, Prev: fsteps, Up: style, Next: impulses
+
+File: gnuplot.info, Node: splot_surfaces, Prev: grid_data, Up: splot
+
+3.27.3 splot surfaces
+---------------------
+
+`splot` can display a surface as a collection of points, or by
+connecting those points. As with `plot`, the points may be read from a
+data file or result from evaluation of a function at specified
+intervals, see *note isosamples::. The surface may be approximated by
+connecting the points with straight line segments, see *note surface::,
+in which case the surface can be made opaque with `set hidden3d.` The
+orientation from which the 3d surface is viewed can be changed with
+*note view::.
+
+ Additionally, for points in a grid format, `splot` can interpolate
+points having a common amplitude (see *note contour::) and can then
+connect those new points to display contour lines, either directly with
+straight-line segments or smoothed lines (see *note cntrparam::).
+Functions are already evaluated in a grid format, determined by *note
+isosamples:: and *note samples::, while file data must either be in a
+grid format, as described in *note data-file::, or be used to generate
+a grid (see *note dgrid3d::).
+
+ 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 `plot`, to take advantage of
+`plot`'s additional formatting capabilities.
- The `histeps` style is only relevant to 2-d plotting. It is intended for
- plotting histograms. Y-values are assumed to be centered at the x-values;
- the point at x1 is represented as a horizontal line from ((x0+x1)/2,y1) to
- ((x1+x2)/2,y1). The lines 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).
+
+File: gnuplot.info, Node: stats_(Statistical_Summary), Next: system_, Prev:
splot, Up: Commands
+
+3.28 stats (Statistical Summary)
+================================
+
+Syntax:
+ stats 'filename' [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 `plot` for details on the *note index::,
+*note every::, and *note using:: directives. Data points are filtered
+against both xrange and yrange before analysis. See *note xrange::. The
+summary is printed to the screen by default. Output can be redirected
+to a file by prior use of the command *note print::, or suppressed
+altogether using the `nooutput` option.
+
+ In addition to printed output, the program stores the individual
+statistics into three sets of variables. The first set of variables
+reports how the data is laid out in the file:
+ STATS_records # total number 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 data blocks in the file
+
+ The second set reports properties of the in-range data from a single
+column. If the corresponding axis is autoscaled (x-axis for the 1st
+column, y-axis for the optional second column) then no range limits are
+applied. If two columns are being analysed in a single `stats` command,
+the 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.
+ STATS_min # minimum value of in-range data points
+ STATS_max # maximum value of in-range data points
+ STATS_index_min # index i for which data[i] == STATS_min
+ STATS_index_max # 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 # mean value of in-range data points
+ STATS_stddev # standard deviation of the in-range data
points
+ STATS_sum # sum
+ STATS_sumsq # sum of squares
+
+ The third set of variables is only relevant to analysis of two data
+columns.
+ STATS_correlation # correlation coefficient between x and y
values
+ STATS_slope # A corresponding to a linear fit y = Ax + B
+ STATS_intercept # B corresponding to a linear fit y = Ax + B
+ STATS_sumxy # sum of x*y
+ 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
+
+ It may be convenient to track the statistics from more than one file
+at the same time. The `name` option causes the default prefix "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) {...}
+
+ 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
+reported 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 `stats` command to help annotate a
+subsequent plot, see stats.dem.
+(http://www.gnuplot.info/demo/stats.html)
+
+ The current implementation does not allow analysis if either the X
+or Y axis is set to log-scaling. This restriction may be removed in a
+later version.
- If `autoscale` (*note autoscale:: ) is in effect, it selects the xrange from
- the data rather than the steps, so the end points will appear only half as
- wide as the others.
+
+File: gnuplot.info, Node: system_, Next: test, Prev:
stats_(Statistical_Summary), Up: Commands
- `histeps` is only a plotting style; `gnuplot` (*note gnuplot:: ) does not have
- the ability to create bins and determine their population from some data set.
+3.29 system
+===========
+`system "command"` executes "command" using the standard shell. See
+*note shell::. If called as a function, `system("command")` returns
+the resulting character stream from stdout as a string. One optional
+trailing newline is ignored.
-
-File: gnuplot.info, Node: impulses, Prev: histeps, Up: style, Next: lines
+ This can be used to import external functions into gnuplot scripts:
- The `impulses` style displays a vertical line from the x axis (not the graph
- border), or from the grid base for `splot` (*note splot:: ), to each point.
+ f(x) = real(system(sprintf("somecommand %f", x)))
+
+File: gnuplot.info, Node: test, Next: undefine, Prev: system_, Up: Commands
-
-File: gnuplot.info, Node: lines, Prev: impulses, Up: style, Next: linespoints
+3.30 test
+=========
- The `lines` style connects adjacent points with straight line segments.
+This command graphically tests or presents terminal and palette
+capabilities.
-
-File: gnuplot.info, Node: linespoints, Prev: lines, Up: style, Next: points
+ Syntax:
+ test {terminal | palette [rgb|rbg|grb|gbr|brg|bgr]}
- The `linespoints` style does both `lines` (*note lines:: ) and `points`
- (*note points:: ), that is, it draws a small symbol at each point and then
- connects adjacent points with straight line segments. The command `set
- pointsize` (*note pointsize:: ) may be used to change the size of the
- points. See `set pointsize` for its usage.
+ *note test:: or *note terminal:: creates a display of line and point
+styles and other useful things appropriate for and supported by the
+*note terminal:: you are just using.
- `linespoints` may be abbreviated `lp`.
+ *note palette:: plots profiles of R(z),G(z),B(z), where 0<=z<=1.
+These are the RGB components of the current color *note palette::. It
+also plots the apparent net intensity as calculated using NTSC
+coefficients to map RGB onto a grayscale. The optional parameter, a
+permutation of letters rgb, determines the sequence in which the r,g,b
+profiles are drawn.
-
-File: gnuplot.info, Node: points, Prev: linespoints, Up: style, Next: steps
+
+File: gnuplot.info, Node: undefine, Next: unset, Prev: test, Up: Commands
- The `points` style displays a small symbol at each point. The command `set
- pointsize` may be used to change the size of the points. See `set pointsize`
- (*note pointsize:: ) for its usage.
+3.31 undefine
+=============
+Clear one or more previously defined user variables. This is useful in
+order to reset the state of a script containing an initialization test.
-
-File: gnuplot.info, Node: steps, Prev: points, Up: style, Next: vector
+ A variable name can contain the wildcard character `*` as 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 *note
+undefine:: has no effect.
- The `steps` style is only relevant to 2-d plotting. It connects consecutive
- points with two line segments: the first from (x1,y1) to (x2,y1) and the
- second from (x2,y1) to (x2,y2).
+ Example:
-
-File: gnuplot.info, Node: vector, Prev: steps, Up: style, Next: xerrorbars
+ undefine foo foo1 foo2
+ if (!exists("foo")) load "initialize.gp"
- The `vector` style draws a vector from (x,y) to (x+xdelta,y+ydelta). Thus
- it requires four columns of data. It also draws a small arrowhead at the
- end of the vector.
+ bar = 1; bar1 = 2; bar2 = 3
+ undefine bar* # removes all three variables
- The `vector` style is still experimental: it doesn't get clipped properly
- and other things may also be wrong with it. Use it at your own risk.
+
+File: gnuplot.info, Node: unset, Next: update, Prev: undefine, Up: Commands
-
-File: gnuplot.info, Node: xerrorbars, Prev: vector, Up: style, Next:
xyerrorbars
+3.32 unset
+==========
- The `xerrorbars` style is only relevant to 2-d data plots. `xerrorbars` is
- like `dots` (*note dots:: ), 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
- provided. A tic mark is placed at the ends of the error bar (unless `set bar`
- (*note bar:: ) is used---see set bar` for details).
+Options set using the `set` command may be returned to their default
+state by the corresponding *note unset:: command. The *note unset::
+command may contain an optional iteration clause. See *note iteration::.
+ Examples:
+ set xtics mirror rotate by -45 0,10,100
+ ...
+ unset xtics
-
-File: gnuplot.info, Node: xyerrorbars, Prev: xerrorbars, Up: style, Next:
yerrorbars
+ # Unset labels numbered between 100 and 200
+ unset for [i=100:200] label i
- The `xyerrorbars` style is only relevant to 2-d data plots. `xyerrorbars` is
- like `dots` (*note dots:: ), except that horizontal and vertical error bars
- are also drawn. At each point (x,y), lines are drawn from (x,y-ydelta) to
- (x,y+ydelta) and from (x-xdelta,y) to (x+xdelta,y) or from (x,ylow) to
- (x,yhigh) and from (xlow,y) to (xhigh,y), depending upon the number of data
- columns provided. A tic mark is placed at the ends of the error bar (unless
- `set bar` (*note bar:: ) is used---see `set bar` for details).
+
+File: gnuplot.info, Node: update, Next: While, Prev: unset, Up: Commands
- If data are provided in an unsupported mixed form, the `using`
- (*note using:: ) filter on the `plot` (*note plot:: ) command should be used
- to set up the appropriate form. For example, if the data are of the form
- (x,y,xdelta,ylow,yhigh), then you can use
+3.33 update
+===========
- plot 'data' using 1:2:($1-$3),($1+$3),4,5 with xyerrorbars
+This command writes the current values of the fit parameters into the
+given file, formatted as an initial-value file (as described in the
+*note fit::section). This is useful for saving the current values for
+later use or for restarting a converged or stopped fit.
-
-File: gnuplot.info, Node: yerrorbars, Prev: xyerrorbars, Up: style
+ Syntax:
+ update <filename> {<filename>}
- The `yerrorbars` (or `errorbars` (*note errorbars:: )) style is only relevant
- to 2-d data plots. `yerrorbars` is like `dots` (*note dots:: ), except that a
- vertical error bar is also drawn. At each point (x,y), a line is drawn from
- (x,y-ydelta) to (x,y+ydelta) or from (x,ylow) to (x,yhigh), depending on how
- many data columns are provided. A tic mark is placed at the ends of the error
- bar (unless `set bar` (*note bar:: ) is used---see `set bar` for details).
+ If a second filename is supplied, the updated values are written to
+this file, and the original parameter file is left unmodified.
+ Otherwise, if the file already exists, `gnuplot` first renames it by
+appending `.old` and then opens a new file. That is, "`update 'fred'`"
+behaves the same as "`!rename fred fred.old; update 'fred.old' 'fred'`".
+[On DOS and other systems that use the twelve-character "filename.ext"
+naming convention, "ext" will be "`old`" and "filename" will be related
+(hopefully recognizably) to the initial name. Renaming is not done at
+all on VMS systems, since they use file-versioning.]
-
-File: gnuplot.info, Node: surface, Prev: style, Up: set-show, Next: terminal
+ Please see *note fit:: for more information.
- The command `set surface` controls the display of surfaces by `splot`
- (*note splot:: ).
+
+File: gnuplot.info, Node: While, Prev: update, Up: Commands
- Syntax:
- set surface
- set nosurface
- show surface
+3.34 While
+==========
- The surface is drawn with the style specifed by `with` (*note with:: ), or
- else the appropriate style, data or function.
+Syntax:
+ while (<expr>) {
+ <commands>
+ }
- Whenever `set nosurface` is issued, `splot` will not draw points or lines
- corresponding to the function or data file points. Contours may be still be
- drawn on the surface, depending on the `set contour` (*note contour:: )
- option. set nosurface; set contour base` is useful for displaying contours on
- the grid base. See also `set contour`.
+ Execute a block of commands repeatedly so long as <expr> evaluates to
+a non-zero value. This command cannot be mixed with old-style
+(un-bracketed) if/else statements. See `if`.
+
+File: gnuplot.info, Node: Terminal_types, Next: Bugs, Prev: Commands, Up:
Top
-
-File: gnuplot.info, Node: terminal, Prev: surface, Up: set-show, Next: linux
+4 Terminal types
+****************
- `gnuplot` (*note gnuplot:: ) supports many different graphics devices. Use
- set terminal to tell `gnuplot` what kind of output to generate. Use `set
- output` (*note output:: ) to redirect that output to a file or device.
+* Menu:
- Syntax:
- set terminal {<terminal-type>}
- show terminal
+* complete_list_of_terminals::
- If <terminal-type> is omitted, `gnuplot` will list the available terminal
- types. <terminal-type> may be abbreviated.
+
+File: gnuplot.info, Node: complete_list_of_terminals, Prev: Terminal_types,
Up: Terminal_types
- If both `set terminal` and `set output` are used together, it is safest to
- give `set terminal` first, because some terminals set a flag which is needed
- in some operating systems.
+4.1 complete list of terminals
+==============================
- Several terminals have additional options. For example, see `dumb`
- (*note dumb:: ), `iris4d`, `hpljii` (*note hpljii:: ) or `postscript`
- (*note postscript:: ).
+Gnuplot supports a large number of output formats. These are selected by
+choosing an appropriate terminal type, possibly with additional
+modifying options. See *note terminal::.
- This document may describe drivers that are not available to you because they
- were not installed, or it may not describe all the drivers that are available
- to you, depending on its output format.
+ 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. @c <3 - all terminal stuff is
+pulled from the .trm files
* Menu:
-* linux::
* aed767::
-* gpic::
-* regis::
-* tek410x::
-* tek40::
-* xlib::
-* x11::
* aifm::
+* aqua::
+* be::
+* epscairo::
+* canvas::
+* cgi::
* cgm::
+* context::
* corel::
+* debug::
+* svga::
* dumb::
* dxf::
+* dxy800a::
+* eepic::
+* emf::
+* emxvga::
+* epson_180dpi::
+* excl::
* fig::
+* png_::
+* ggi::
+* gpic::
+* grass::
* hp2623a::
* hp2648::
* hp500c::
@@ -5136,2575 +14113,4880 @@ File: gnuplot.info, Node: terminal, Prev: surface,
Up: set-show, Next: linux
* hpljii::
* hppj::
* imagen::
+* kyo::
+* latex::
+* linux::
+* lua::
+* macintosh::
+* mf::
+* mp::
* mif::
+* next::
+* Openstep_(next)::
* pbm::
-* png::
-* postscript::
+* dospc::
+* pdf::
+* pstricks::
* qms::
-* table::
+* regis::
+* sun::
+* svg::
+* tek410x::
+* tek40::
+* texdraw::
* tgif::
* tkcanvas::
-* epson-180dpi::
-* latex::
-* pslatex and pstex::
-* eepic::
* tpic::
-* pstricks::
-* texdraw::
-* mf::
-
-
-File: gnuplot.info, Node: linux, Prev: terminal, Up: terminal, Next: aed767
-
- The `linux` driver has no additional options to specify. It looks at the
- environment variable GSVGAMODE for the default mode; if not set, it uses
- 1024x768x256 as default mode or, if that is not possible, 640x480x16
- (standard VGA).
-
-
-File: gnuplot.info, Node: aed767, Prev: linux, Up: terminal, Next: gpic
-
- The `aed512` and `aed767` terminal drivers support AED graphics terminals.
- The two drivers differ only in their horizontal ranges, which are 512 and
- 768 pixels, respectively. Their vertical range is 575 pixels. There are
- no options for these drivers.
-
-
-File: gnuplot.info, Node: gpic, Prev: aed767, Up: terminal, Next: regis
-
- The `gpic` terminal 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 `x` and `y` are in inches.
-
- A simple graph can be formatted using
-
- groff -p -mpic -Tps file.pic > file.ps.
-
- The output from pic can be pipe-lined into eqn, so it is possible to put
- complex functions in a graph with the `set label` (*note label:: ) and set
- {x/y}label commands. For instance,
-
- set ylab '@space 0 int from 0 to x alpha ( t ) roman d t@'
-
- will label the y axis with a nice integral if formatted with the command:
-
- gpic filename.pic | geqn -d@@ -Tps | groff -m[macro-package] -Tps
- > filename.ps
-
- Figures made this way can be scaled to fit into a 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 `gnuplot` (*note gnuplot:: ) 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 number of files, one can put
- several graphs in one figure like this (default size is 5.0x3.0 inches):
-
- .PS 8.0
- x=0;y=3
- copy "figa.pic"
- x=5;y=3
- copy "figb.pic"
- x=0;y=0
- copy "figc.pic"
- x=5;y=0
- copy "figd.pic"
- .PE
-
- This will produce an 8-inch-wide figure with four graphs in two rows on top
- of each other.
-
- One can also achieve the same thing by the command
-
- set terminal gpic x y
-
- for example, using
-
- .PS 6.0
- copy "trig.pic"
- .PE
-
-
-File: gnuplot.info, Node: regis, Prev: gpic, Up: terminal, Next: tek410x
-
- The `regis` terminal device generates output in the REGIS graphics language.
- It has the option of using 4 (the default) or 16 colors.
-
- Syntax:
- set terminal regis {4 | 16}
+* unixpc::
+* vx384::
+* vgagl::
+* VWS::
+* windows::
+* wxt::
+* x11::
+* xlib::
-
-File: gnuplot.info, Node: tek410x, Prev: regis, Up: terminal, Next: tek40
+
+File: gnuplot.info, Node: aed767, Next: aifm, Prev:
complete_list_of_terminals, Up: complete_list_of_terminals
- The `tek410x` terminal driver supports the 410x and 420x family of Tektronix
- terminals. It has no options.
+4.1.0.1 aed767
+..............
-
-File: gnuplot.info, Node: tek40, Prev: tek410x, Up: terminal, Next: xlib
+The `aed512` and `aed767` terminal drivers support AED graphics
+terminals. The two drivers differ only in their horizontal ranges,
+which are 512 and 768 pixels, respectively. Their vertical range is
+575 pixels. There are no options for these drivers."
- This family of terminal drivers supports a variety of VT-like terminals.
- `tek40xx` supports Tektronix 4010 and others as well as most TEK emulators;
- `vttek` supports VT-like tek40xx terminal emulators; `kc-tek40xx` supports
- MS-DOS Kermit Tek4010 terminal emulators in color: `km-tek40xx` supports them
- in monochrome; `selanar` supports Selanar graphics; and `bitgraph` supports
- BBN Bitgraph terminals. None have any options.
+
+File: gnuplot.info, Node: aifm, Next: aqua, Prev: aed767, Up:
complete_list_of_terminals
-
-File: gnuplot.info, Node: xlib, Prev: tek40, Up: terminal, Next: x11
+4.1.0.2 aifm
+............
- The `xlib` terminal driver supports the X11 Windows System. It generates
- gnulib_x11 commands. `set term x11` (*note x11:: ) behaves similarly to set
- terminal xlib; set output "|gnuplot_x11"`. `xlib` has no options, but see
- `x11`.
+*note terminal::, originally written for Adobe Illustrator 3.0+. Since
+Adobe Illustrator understands PostScript level 1 commands directly, you
+should use `set terminal post level1` instead.
+ Syntax:
+ set terminal aifm {color|monochrome} {"<fontname>"} {<fontsize>}
-
-File: gnuplot.info, Node: x11, Prev: xlib, Up: terminal, Next:
command-line_options
+
+File: gnuplot.info, Node: aqua, Next: be, Prev: aifm, Up:
complete_list_of_terminals
- `gnuplot` (*note gnuplot:: ) provides the x11 terminal type for use with X
- servers. This terminal type is set automatically at startup if the `DISPLAY`
- environment variable is set, if the `TERM` environment variable is set to
- `xterm`, or if the `-display` command line option is used.
+4.1.0.3 aqua
+............
- Syntax:
- set terminal x11 {reset} {<n>}
+This terminal relies on AquaTerm.app for display on Mac OS X.
- Multiple plot windows are supported: `set terminal x11 <n>` directs the
- output to plot window number n. If n>0, the terminal number will be
- appended to the window title and the icon will be labeled `gplt <n>`.
- The active window may distinguished by a change in cursor (from default
- to crosshair.)
+ Syntax:
+ set terminal aqua {<n>} {title "<wintitle>"} {size <x> <y>}
+ {font "<fontname>{,<fontsize>}"}
+ {{no}enhanced} {solid|dashed} {dl <dashlength>}}
- Plot windows remain open even when the `gnuplot` driver is changed to a
- different device. A plot window can be closed by pressing the letter q
- while that window has input focus, or by choosing `close` from a window
- manager menu. All plot windows can be closed by specifying `reset`
- (*note reset:: ), which actually terminates the subprocess which maintains the
- windows (unless `-persist` was specified).
+ 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).
- Plot windows will automatically be closed at the end of the session
- unless the `-persist` option was given.
+ Use <fontname> to specify the font (default is "Times-Roman"), and
+<fontsize> to specify the font size (default is 14.0 pt).
- The size or aspect ratio of a plot may be changed by resizing the `gnuplot`
- window.
+ The aqua terminal supports enhanced text mode (see `enhanced`),
+except for overprint. Font support is limited to the fonts available on
+the system. Character encoding can be selected by *note encoding:: and
+currently supports iso_latin_1, iso_latin_2, cp1250, and UTF8 (default).
- Linewidths and pointsizes may be changed from within `gnuplot` with
- `set linestyle` (*note linestyle:: ).
+ Lines can be drawn either solid or dashed, (default is solid) and
+the dash spacing can be modified by <dashlength> which is a multiplier
+> 0.
- For terminal type `x11`, `gnuplot` accepts (when initialized) the standard
- 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 options.
+
+File: gnuplot.info, Node: be, Next: epscairo, Prev: aqua, Up:
complete_list_of_terminals
+
+4.1.0.4 be
+..........
+
+The `be` terminal type is present if gnuplot is built for the `beos`
+operating system and for use with X servers. It is selected at program
+startup if the `DISPLAY` environment variable is set, if the `TERM`
+environment variable is set to `xterm`, or if the `-display` command
+line option is used.
+
+ Syntax:
+ set terminal be {reset} {<n>}
+
+ Multiple plot windows are supported: `set terminal be <n>` directs
+the output to plot window number n. If n>0, the terminal number will be
+appended to the window title and the icon will be labeled `gplt <n>`.
+The active window may distinguished by a change in cursor (from default
+to crosshair.)
+
+ Plot windows remain open even when the `gnuplot` driver is changed
+to a different device. A plot window can be closed by pressing the
+letter q while that window has input focus, or by choosing `close` from
+a window manager menu. All plot windows can be closed by specifying
+*note reset::, which actually terminates the subprocess which maintains
+the windows (unless `-persist` was specified).
+
+ Plot windows will automatically be closed at the end of the session
+unless the `-persist` option was given.
+
+ The size or aspect ratio of a plot may be changed by resizing the
+`gnuplot` window.
+
+ Linewidths and pointsizes may be changed from within `gnuplot` with
+`set linestyle`.
+
+ For terminal type `be`, `gnuplot` accepts (when initialized) the
+standard 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 options.
+
+ A number of other `gnuplot` options are available for the `be`
+terminal. These may be specified either as command-line options when
+`gnuplot` is invoked or as resources in the configuration file
+".Xdefaults". They are set upon initialization and cannot be altered
+during a `gnuplot` session.
+
+-- COMMAND-LINE_OPTIONS --
+
+ In addition to the X Toolkit options, the following options may be
+specified on the command line when starting `gnuplot` or 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
+
+ `gnuplot` also provides a command line option (`-pointsize <v>`) and
+a resource, `gnuplot*pointsize: <v>`, to control the size of points
+plotted with the `points` plotting style. The value `v` is a real
+number (greater than 0 and less than or equal to ten) used as a scaling
+factor for point sizes. For example, `-pointsize 2` uses points twice
+the default size, and `-pointsize 0.5` uses points half the normal size.
+
+-- MONOCHROME_OPTIONS --
+
+ For monochrome displays, `gnuplot` does not honor foreground or
+background colors. The default is black-on-white. `-rv` or
+`gnuplot*reverseVideo: on` requests white-on-black.
+
+-- COLOR_RESOURCES --
+
+ For color displays, `gnuplot` honors the following resources (shown
+here with their default values) or the greyscale resources. The values
+may be color names as listed in the BE rgb.txt file on your system,
+hexadecimal RGB color specifications (see BE documentation), or a color
+name followed by a comma and an `intensity` value from 0 to 1. For
+example, `blue, 0.5` means 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
+
+-- GRAYSCALE_RESOURCES --
+
+ When `-gray` is selected, `gnuplot` honors the following resources
+for grayscale or color displays (shown here with their default values).
+Note that the default background is black.
+
+ gnuplot*background: black
+ gnuplot*textGray: white
+ gnuplot*borderGray: gray50
+ gnuplot*axisGray: gray50
+ gnuplot*line1Gray: gray100
+ gnuplot*line2Gray: gray60
+ gnuplot*line3Gray: gray80
+ gnuplot*line4Gray: gray40
+ gnuplot*line5Gray: gray90
+ gnuplot*line6Gray: gray50
+ gnuplot*line7Gray: gray70
+ gnuplot*line8Gray: gray30
+
+-- LINE_RESOURCES --
+
+ `gnuplot` honors the following resources for setting the width (in
+pixels) of plot lines (shown here with their default values.) 0 or 1
+means a minimal width line of 1 pixel width. A value of 2 or 3 may
+improve the appearance of some plots.
+
+ gnuplot*borderWidth: 2
+ gnuplot*axisWidth: 0
+ gnuplot*line1Width: 0
+ gnuplot*line2Width: 0
+ gnuplot*line3Width: 0
+ gnuplot*line4Width: 0
+ gnuplot*line5Width: 0
+ gnuplot*line6Width: 0
+ gnuplot*line7Width: 0
+ gnuplot*line8Width: 0
+
+ `gnuplot` honors the following resources for setting the dash style
+used for plotting lines. 0 means a solid line. A two-digit number
+`jk` (`j` and `k` are >= 1 and <= 9) means a dashed line with a
+repeated pattern of `j` pixels on followed by `k` pixels off. For
+example, '16' is a "dotted" line with one pixel on followed by six
+pixels off. More elaborate on/off patterns can be specified with a
+four-digit value. For example, '4441' is four on, four off, four on,
+one off. The default values shown below are for monochrome displays or
+monochrome rendering on color or grayscale displays. For color
+displays, the default for each is 0 (solid line) except for
+`axisDashes` which defaults to a '16' dotted line.
+
+ gnuplot*borderDashes: 0
+ gnuplot*axisDashes: 16
+ gnuplot*line1Dashes: 0
+ gnuplot*line2Dashes: 42
+ gnuplot*line3Dashes: 13
+ gnuplot*line4Dashes: 44
+ gnuplot*line5Dashes: 15
+ gnuplot*line6Dashes: 4441
+ gnuplot*line7Dashes: 42
+ gnuplot*line8Dashes: 13
- A number of other `gnuplot` options are available for the `x11` terminal.
- These may be specified either as command-line options when `gnuplot` is
- invoked or as resources in the configuration file "/.Xdefaults". They are
- set upon initialization and cannot be altered during a `gnuplot` session.
+
+File: gnuplot.info, Node: epscairo, Next: canvas, Prev: be, Up:
complete_list_of_terminals
-* Menu:
+4.1.0.5 epscairo
+................
-* command-line_options::
-* monochome_options::
-* color_resources::
-* grayscale_resources::
-* line_resources::
-
-
-File: gnuplot.info, Node: command-line_options, Prev: x11, Up: x11, Next:
monochome_options
-
- In addition to the X Toolkit options, the following options may be specified
- on the command line when starting `gnuplot` (*note gnuplot:: ) or as resources
- in your ".Xdefaults" file: `-clear` requests that the window be cleared
- momentarily before a new plot is displayed. `-gray` requests
- grayscale rendering on grayscale or color displays. (Grayscale
- displays receive monochrome rendering by default.) `-mono` forces
- monochrome rendering on color displays. `-persist` plot windows survive after
- main gnuplot program exits `-raise` raise plot window after each plot
- `-noraise` do not raise plot window after each plot `-tvtwm` requests that
- geometry specifications for position of the window be made
- relative to the currently displayed portion of the virtual root.
- 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` also provides a command line option (`-pointsize <v>`) and a
- resource, `gnuplot*pointsize: <v>`, to control the size of points plotted
- with the `points` (*note points:: ) plotting style. The value v is a real
- number (greater than 0 and less than or equal to ten) used as a scaling factor
- for point sizes. For example, `-pointsize 2` uses points twice the default
- size, and `-pointsize 0.5` uses points half the normal size.
-
-
-
-File: gnuplot.info, Node: monochome_options, Prev: command-line_options, Up:
x11, Next: color_resources
-
- For monochrome displays, `gnuplot` (*note gnuplot:: ) does not honor
- foreground or background colors. The default is black-on-white. `-rv` or
- `gnuplot*reverseVideo: on` requests white-on-black.
-
-
-
-File: gnuplot.info, Node: color_resources, Prev: monochome_options, Up: x11,
Next: grayscale_resources
-
- For color displays, `gnuplot` (*note gnuplot:: ) 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 documentation), or
- a color name followed by a comma and an `intensity` value from 0 to 1. For
- example, `blue, 0.5` means 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
-
-
-
-File: gnuplot.info, Node: grayscale_resources, Prev: color_resources, Up: x11,
Next: line_resources
-
- When `-gray` is selected, `gnuplot` (*note gnuplot:: ) honors the following
- resources for grayscale or color displays (shown here with their default
- values). Note that the default background is black. gnuplot*background:
- black gnuplot*textGray: white gnuplot*borderGray: gray50
- gnuplot*axisGray: gray50 gnuplot*line1Gray: gray100 gnuplot*line2Gray:
- gray60 gnuplot*line3Gray: gray80 gnuplot*line4Gray: gray40
- gnuplot*line5Gray: gray90 gnuplot*line6Gray: gray50 gnuplot*line7Gray:
- gray70 gnuplot*line8Gray: gray30
-
-
-
-File: gnuplot.info, Node: line_resources, Prev: grayscale_resources, Up: x11
-
- `gnuplot` (*note gnuplot:: ) honors the following resources for setting the
- width (in pixels) of plot lines (shown here with their default values.) 0 or
- 1 means a minimal width line of 1 pixel width. A value of 2 or 3 may improve
- the appearance of some plots. gnuplot*borderWidth: 2 gnuplot*axisWidth: 0
- gnuplot*line1Width: 0 gnuplot*line2Width: 0 gnuplot*line3Width: 0
- gnuplot*line4Width: 0 gnuplot*line5Width: 0 gnuplot*line6Width: 0
- gnuplot*line7Width: 0 gnuplot*line8Width: 0
-
- `gnuplot` honors the following resources for setting the dash style used for
- plotting lines. 0 means a solid line. A two-digit number `jk` (`j` and `k`
- are >= 1 and <= 9) means a dashed line with a repeated pattern of `j` pixels
- on followed by `k` pixels off. For example, '16' is a "dotted" line with one
- pixel on followed by six pixels off. More elaborate on/off patterns can be
- specified with a four-digit value. For example, '4441' is four on, four off,
- four on, one off. The default values shown below are for monochrome displays
- or monochrome rendering on color or grayscale displays. For color displays,
- the default for each is 0 (solid line) except for `axisDashes` which defaults
- to a '16' dotted line.
- gnuplot*borderDashes: 0
- gnuplot*axisDashes: 16
- gnuplot*line1Dashes: 0
- gnuplot*line2Dashes: 42
- gnuplot*line3Dashes: 13
- gnuplot*line4Dashes: 44
- gnuplot*line5Dashes: 15
- gnuplot*line6Dashes: 4441
- gnuplot*line7Dashes: 42
- gnuplot*line8Dashes: 13
-
-
-File: gnuplot.info, Node: aifm, Prev: x11, Up: terminal, Next: cgm
-
- Several options may be set in `aifm`---the Adobe Illustrator 3.0+ driver.
-
- Syntax:
- set terminal aifm {<color>} {"<fontname>"} {<fontsize>}
-
- <color> is either `color` or `monochrome`; "<fontname>" is the name of a
- valid PostScript font; <fontsize> is the size of the font in PostScript
- points, before scaling by the `set size` (*note size:: ) command. Selecting
- default sets all options to their default values: `monochrome`, "Helvetica",
- and 14pt.
-
- Since AI does not really support multiple pages, multiple graphs will be
- drawn directly on top of one another. However, each graph will be grouped
- individually, making it easy to separate them inside AI (just pick them up
- and move them).
-
- Examples:
- set term aifm
- set term aifm 22
- set size 0.7,1.4; set term aifm color "Times-Roman" 14
-
-
-File: gnuplot.info, Node: cgm, Prev: aifm, Up: terminal, Next: font
-
- The `cgm` terminal generates a Computer Graphics Metafile. This file format
- is a subset of the ANSI X3.122-1986 standard entitled "Computer Graphics -
- Metafile for the Storage and Transfer of Picture Description Information".
- Several options may be set in `cgm`.
-
- Syntax:
- set terminal cgm {<mode>} {<color>} {<rotation>} {solid | dashed}
- {width <plot_width>} {linewidth <line_width>}
- {"<font>"} {<fontsize>}
-
- where <mode> is `landscape`, `portrait`, or `default`;
- <color> is either `color` or `monochrome`;
- <rotation> is either `rotate` (*note rotate:: ) or norotate; `solid`
- (*note solid:: ) draws all curves with solid lines, overriding any dashed
- patterns; <plot_width> is the width of the page in points; <line_width> is
- the line width in points; <font> is the name of a font; and `<fontsize>` is
- the size of the font in points.
-
- By default, `cgm` uses rotated text for the Y axis label.
-
- The first six options can be in any order. Selecting `default` sets all
- options to their default values.
-
- Examples:
- set terminal cgm landscape color rotate dashed width 432 \
- linewidth 1 'Arial Bold' 12 # defaults
- set terminal cgm 14 linewidth 2 14 # wider lines & larger font
- set terminal cgm portrait 'Times Roman Italic' 12
- set terminal cgm color solid # no pesky dashes!
+The `epscairo` terminal device generates encapsulated PostScript
+(*.eps) using the cairo and pango support libraries. cairo verion >=
+1.6 is required.
-* Menu:
+ Please read the help for the `pdfcairo` terminal."
-* font::
-* fontsize::
-* linewidth::
-* rotate::
-* solid::
-* size::
-* width::
-* winword6::
-
-
-File: gnuplot.info, Node: font, Prev: cgm, Up: cgm, Next: fontsize
-
- 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 fonts:
- Arial
- Arial Italic
- Arial Bold
- Arial Bold Italic
- Times Roman
- Times Roman Italic
- Times Roman Bold
- Times Roman Bold Italic
- Helvetica
- Roman
- Case is not distinct, but the modifiers must appear in the above order (that
- is, not 'Arial Italic Bold'). 'Arial Bold' is the default font.
-
- You may also specify a font name which does not appear in the default font
- table. In that case, a new font table is constructed with the specified
- font as its only entry. You must ensure that the spelling, capitalization,
- and spacing of the name are appropriate for the application that will read
- the CGM file.
-
-
-File: gnuplot.info, Node: fontsize, Prev: font, Up: cgm, Next: linewidth
-
- Fonts are scaled assuming the page is 6 inches wide. If the `size`
- (*note size:: ) command is used to change the aspect ratio of the page or the
- CGM file is converted to a different width (e.g. it is imported into a
- document in which the margins are not 6 inches apart), the resulting font
- sizes will be different. To change the assumed width, use the `width`
- (*note width:: ) option.
-
-
-
-File: gnuplot.info, Node: linewidth, Prev: fontsize, Up: cgm, Next: rotate
-
- The `linewidth` option sets the width of lines in pt. The default width is
- 1 pt. Scaling is affected by the actual width of the page, as discussed
- under the `fontsize` (*note fontsize:: ) and `width` (*note width:: )
- options
-
-
-
-File: gnuplot.info, Node: rotate, Prev: linewidth, Up: cgm, Next: solid
-
- The `norotate` option may be used to disable text rotation. For example,
- the CGM input filter for Word for Windows 6.0c can accept rotated text, but
- the DRAW editor within Word cannot. If you edit a graph (for example, to
- label a curve), all rotated text is restored to horizontal. The Y axis
- label will then extend beyond the clip boundary. With `norotate`, the Y
- axis label starts in a less attractive location, but the page can be edited
- without damage. The `rotate` option confirms the default behavior.
-
-
-File: gnuplot.info, Node: solid, Prev: rotate, Up: cgm, Next: size
-
- The `solid` option may be used to disable dashed line styles in the
- plots. This is useful when color is enabled and the dashing of the lines
- detracts from the appearance of the plot. The `dashed` option confirms the
- default behavior, which gives a different dash pattern to each curve.
-
-
-File: gnuplot.info, Node: size, Prev: solid, Up: cgm, Next: width
-
- Default size of a CGM page is 32599 units wide and 23457 units high for
- landscape, or 23457 units wide by 32599 units high for portrait.
-
-
-File: gnuplot.info, Node: width, Prev: size, Up: cgm, Next: winword6
-
- All distances in the CGM file are in abstract units. The application that
- reads the file determines the size of the final page. By default, the width
- of the final page 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 `width`
- option. The keyword should be followed by the width in points. (Here, a
- point is 1/72 inch, as in PostScript. This unit is known as a "big point"
- in TeX.) `gnuplot` (*note gnuplot:: ) arithmetic can be used to convert from
- other units, as follows: 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
-
-
-
-File: gnuplot.info, Node: winword6, Prev: width, Up: cgm
-
- The default font table was chosen to match, where possible, the default font
- assignments made by the Computer Graphics Metafile input filter for
- Microsoft Word 6.0c, although the filter makes available only 'Arial' and
- 'Times Roman' fonts and their bold and/or italic variants. Other fonts such
- as 'Helvetica' and 'Roman' are not available. If the CGM file includes a
- font table, the filter mostly ignores it. However, it changes certain font
- assignments so that they disagree with the table. As a workaround, the
- `winword6` option deletes the font table from the CGM file. In this case,
- the filter makes predictable font assignments. 'Arial Bold' is correctly
- assigned even with the font table present, which is one reason it was chosen
- as the default.
-
- `winword6` disables the color tables for a similar reason---with the color
- table included, Microsoft Word displays black for color 7.
-
- Linewidths and pointsizes may be changed with `set linestyle`
- (*note linestyle:: ).
-
-
-
-File: gnuplot.info, Node: corel, Prev: cgm, Up: terminal, Next: dumb
-
- The `corel` terminal driver supports CorelDraw.
-
- Syntax:
- set terminal corel { default
- | {monochrome | color
- {<fontname> {"<fontsize>"
- {<xsize> <ysize> {<linewidth> }}}}}
-
- where the fontsize and linewidth are specified in points and the sizes in
- inches. The defaults are monochrome, "SwitzerlandLight", 22, 8.2, 10 and 1.2.
-
-
-File: gnuplot.info, Node: dumb, Prev: corel, Up: terminal, Next: dxf
-
- The `dumb` terminal driver has an optional size specification and trailing
- linefeed control.
-
- Syntax:
- set terminal dumb {[no]feed} {<xsize> <ysize>}
-
- where <xsize> and <ysize> set the size of the dumb terminals. Default is
- 79 by 24. The last newline is printed only if `feed` is enabled.
-
- Examples:
- set term dumb nofeed
- set term dumb 79 49 # VGA screen---why would anyone do that?
-
-
-File: gnuplot.info, Node: dxf, Prev: dumb, Up: terminal, Next: fig
-
- The `dxf` terminal driver creates pictures that can be imported into AutoCad
- (Release 10.x). It has no options of its own, but some features of its plots
- may be modified by other means. The default size is 120x80 AutoCad units,
- which can be changed by `set size` (*note size:: ). dxf uses seven colors
- (white, red, yellow, green, cyan, blue and magenta), which can be changed only
- by modifying the source file. If a black-and-white plotting device is used,
- the colors are mapped to differing line thicknesses. See the description of
- the AutoCad print/plot command.
-
-
-
-File: gnuplot.info, Node: fig, Prev: dxf, Up: terminal, Next: hp2623a
-
- The `fig` terminal device generates output in the Fig graphics language.
-
- Syntax:
- set terminal fig {monochrome | color} {small | big}
- {pointsmax <max_points>}
- {landscape | portrait}
- {metric | inches}
- {fontsize <fsize>}
- {size <xsize> <ysize>}
- {thickness <units>}
- {depth <layer>}
-
- `monochrome` and `color` determine whether the picture is black-and-white or
- `color`. `small` and `big` produce a 5x3 or 8x5 inch graph in the default
- `landscape` mode and 3x5 or 5x8 inches in `portrait` mode. <max_points>
- sets the maximum number of points per polyline. Default units for editing
- with "xfig" may be `metric` or `inches`. `fontsize` (*note fontsize:: ) sets
- the size of the text font to <fsize> points. `size` (*note size:: ) sets
- (overrides) the size of the drawing area to <xsize>*<ysize> in units of inches
- or centimeters depending on the `inches` or `metric` setting in
- effect. `depth` sets the default depth layer for all lines and text. The
- default depth is 10 to leave room for adding material with "xfig" on top of
- the plot.
+
+File: gnuplot.info, Node: canvas, Next: cgi, Prev: epscairo, Up:
complete_list_of_terminals
+
+4.1.0.6 canvas
+..............
+
+The `canvas` terminal 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}
+ {solid | dashed {dashlength <dl>}}
+ {standalone {mousing} | name '<funcname>'}
+ {jsdir 'URL/for/javascripts'}
+ {title '<some string>'}
+
+ 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 default
+font size is 10.
+
+ NB: Only one font is available, the ascii portion of Hershey simplex
+Roman provided in the file canvastext.js. You can replace this with the
+file canvasmath.js, which contains also UTF-8 encoded Hershey simplex
+Greek and math symbols. For consistency with other terminals, it is
+also possible to use `font "name,size"`. Currently the font `name` is
+ignored, but browser support for named fonts is likely to arrive
+eventually.
+
+ The default `standalone` mode creates an html page containing
+javascript code that renders the plot using the HTML 5 canvas element.
+The html page links to two required javascript files 'canvastext.js'
+and 'gnuplot_common.js'. An additional file 'gnuplot_dashedlines.js'
+is needed to support dashed lines. By default these point to local
+files, on unix-like systems usually in directory
+/usr/local/share/gnuplot/<version>/js. See installation notes for
+other platforms. You can change this by using the `jsdir` option 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
+additional keyword `mousing` causes the `standalone` mode 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
+'canvastext.js'.
+
+ The `name` option 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 created
+above might be:
+
+ <html>
+ <head>
+ <script src="canvastext.js"></script>
+ <script src="gnuplot_common.js"></script>
+ </head>
+ <body onload="fishplot();">
+ <script src="fishplot.js"></script>
+ <canvas id="fishplot" width=600 height=400>
+ <div id="err_msg">No support for HTML 5 canvas element</div>
+ </canvas>
+ </body>
+ </html>
+
+ The individual plots drawn on this canvas will have names
+fishplot_plot_1, fishplot_plot_2, and so on. These can be referenced by
+external javascript routines, for example
+gnuplot.toggle_visibility("fishplot_plot_2").
- `thickness` sets the default line thickness, which is 1 if not specified.
- Overriding the thickness can be achieved by adding a multiple of 100 to the
- to the `linetype` value for a `plot` (*note plot:: ) command. In a similar
- way the depth of plot elements (with respect to the default depth) can be
- controlled by adding a multiple of 1000 to <linetype>. The depth is then
- <layer> + <linetype>/1000 and the thickness is (<linetype>%1000)/100 or, if
- that is zero, the default line thickness.
+
+File: gnuplot.info, Node: cgi, Next: cgm, Prev: canvas, Up:
complete_list_of_terminals
- Additional point-plot symbols are also available with the `fig` driver. The
- symbols can be used through `pointtype` values % 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
- 90 - 99: downwards triangles
- The size of these symbols is linked to the font size. The depth of symbols
- is by default one less than the depth for lines to achieve nice error bars.
- If <pointtype> is above 1000, the depth is <layer> + <pointtype>/1000-1. If
- <pointtype>%1000 is above 100, the fill color is (<pointtype>%1000)/100-1.
+4.1.0.7 cgi
+...........
- Available fill colors are (from 1 to 9): black, blue, green, cyan, red,
- magenta, yellow, white and dark blue (in monochrome mode: black for 1 to 6
- and white for 7 to 9).
+The `cgi` and `hcgi` terminal drivers support SCO CGI drivers. `hcgi`
+is for printers; the environment variable CGIPRNT must be set. `cgi`
+may be used for either a display or hardcopy; the environment variable
+CGIDISP is checked, first, then CGIPRNT. These terminals have no
+options."
- See `plot with` (*note with:: ) for details of <linetype> and <pointtype>.
+
+File: gnuplot.info, Node: cgm, Next: context, Prev: cgi, Up:
complete_list_of_terminals
+
+4.1.0.8 cgm
+...........
+
+The `cgm` terminal generates a Computer Graphics Metafile, Version 1.
+This file format is a subset of the ANSI X3.122-1986 standard entitled
+"Computer Graphics - Metafile for the Storage and Transfer of Picture
+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> ...}
+
+ `solid` draws all curves with solid lines, overriding any dashed
+patterns; <mode> is `landscape`, `portrait`, or `default`; <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 `default` sets
+all options to their default values.
+
+ The mechanism of setting line colors in the `set term` command is
+deprecated. Instead you should set the background using a separate
+keyword and set the line colors using `set linetype`. The deprecated
+mechanism accepted colors of the form 'xrrggbb', where x is the literal
+character 'x' and 'rrggbb' are the red, green and blue components in
+hex. The first color was used for the background, subsequent colors are
+assigned to successive line types.
+
+ Examples:
+ set terminal cgm landscape color rotate dashed width 432 \\
+ linewidth 1 'Helvetica Bold' 12 # defaults
+ set terminal cgm linewidth 2 14 # wider lines & larger font
+ set terminal cgm portrait "Times Italic" 12
+ set terminal cgm color solid # no pesky dashes!
+
+-- CGM FONT --
+
+ 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
+`italic` replaced by `oblique`, or vice-versa (since at least the
+Microsoft Office and Corel Draw CGM import filters treat `italic` and
+`oblique` as equivalent):
+
+ 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 `set term` command, you may specify a font name which does not
+appear in the default font table. In that case, a new font table is
+constructed with the specified font as its first entry. You must ensure
+that the spelling, capitalization, and spacing of the name are
+appropriate for the application that will read the CGM file. (Gnuplot
+and any MIL-D-28003A compliant application ignore case in font names.)
+If you need to add several new fonts, use several `set term` commands.
+
+ Example:
+ set terminal cgm 'Old English'
+ set terminal cgm 'Tengwar'
+ set terminal cgm 'Arabic'
+ set output 'myfile.cgm'
+ plot ...
+ set output
+
+ You cannot introduce a new font in a `set label` command.
+
+-- CGM FONTSIZE --
+
+ Fonts are scaled assuming the page is 6 inches wide. If the *note
+size:: command is used to change the aspect ratio of the page or the
+CGM file is converted to a different width, the resulting font sizes
+will be scaled up or down accordingly. To change the assumed width,
+use the `width` option.
+
+-- CGM LINEWIDTH --
+
+ The `linewidth` option sets the width of lines in pt. The default
+width is 1 pt. Scaling is affected by the actual width of the page, as
+discussed under the `fontsize` and `width` options.
+
+-- CGM ROTATE --
+
+ The `norotate` option may be used to disable text rotation. For
+example, the CGM input filter for Word for Windows 6.0c can accept
+rotated text, but the DRAW editor within Word cannot. If you edit a
+graph (for example, to label a curve), all rotated text is restored to
+horizontal. The Y axis label will then extend beyond the clip boundary.
+With `norotate`, the Y axis label starts in a less attractive location,
+but the page can be edited without damage. The `rotate` option confirms
+the default behavior.
+
+-- CGM SOLID --
+
+ The `solid` option may be used to disable dashed line styles in the
+plots. This is useful when color is enabled and the dashing of the
+lines detracts from the appearance of the plot. The `dashed` option
+confirms the default behavior, which gives a different dash pattern to
+each line type.
+
+-- CGM SIZE --
+
+ 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.
+
+-- CGM WIDTH --
+
+ All distances in the CGM file are in abstract units. The application
+that reads the file determines the size of the final plot. By default,
+the width of the final plot is assumed to be 6 inches (15.24 cm). This
+distance is used to calculate the correct font size, and may be changed
+with the `width` option. The keyword should be followed by the width in
+points. (Here, a point is 1/72 inch, as in PostScript. This unit is
+known as a "big point" in TeX.) Gnuplot `expressions` can be used to
+convert from other units.
+
+ Example:
+ set terminal cgm width 432 # default
+ set terminal cgm width 6*72 # same as above
+ set terminal cgm width 10/2.54*72 # 10 cm wide
+
+-- CGM NOFONTLIST --
+
+ The default font table includes the fonts recommended for WebCGM,
+which are compatible with the Computer Graphics Metafile input filter
+for Microsoft Office and Corel Draw. Another application might use
+different fonts and/or different font names, which may not be
+documented. The `nofontlist` (synonym `winword6`) option deletes the
+font table from the CGM file. In this case, the reading application
+should use a default table. Gnuplot will still use its own default
+font table to select font indices. Thus, 'Helvetica' will give you an
+index of 1, which should get you the first entry in your application's
+default font table. 'Helvetica Bold' will give you its second entry,
+etc.
- The `big` option is a substitute for the `bfig` terminal in earlier versions,
- which is no longer supported.
+
+File: gnuplot.info, Node: context, Next: corel, Prev: cgm, Up:
complete_list_of_terminals
+
+4.1.0.9 context
+...............
+
+ConTeXt is a macro package for TeX, highly integrated with Metapost
+(for drawing figures) and intended for creation of high-quality PDF
+documents. The terminal outputs Metafun source, which can be edited
+manually, but you should be able to configure most things from outside.
+
+ For an average user of ConTeXt + gnuplot module it's recommended to
+refer to `Using ConTeXt` rather than reading this page or to read the
+manual of the gnuplot module for ConTeXt.
+
+ The `context` terminal 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 (`input`) graphic only parameters *note size:: to
+select graphic size, `fontscale` to 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 reserve for
+labels.
+
+ `default` resets all the options to their default values.
+
+ `defaultsize` sets the plot size to 5in,3in. *note size:: <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').
+
+ `input` (default) creates a graphic that can be included into
+another ConTeXt document. `standalone` adds some lines, so that the
+document might be compiled as-is. You might also want to add `header`
+in that case.
+
+ Use `header` for any additional settings/definitions/macros that you
+might want to include in a standalone graphic. `noheader` is the
+default.
+
+ `notimestamp` prevents printing creation time in comments (if
+version control is used, one may prefer not to commit new version when
+only date changes).
+
+ `color` to make color plots is the default, but `monochrome` doesn't
+do anything special yet. If you have any good ideas how the behaviour
+should differ to suit the monochrome printers better, your suggestions
+are welcome.
+
+ `rounded` (default), `mitered` and `beveled` control the shape of
+line joins. `round` (default), `butt` and `squared` control 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
+`rounded` and `round` to prevent sharp corners in line joins. (Some
+general support for this should be added to Gnuplot, so that the same
+options could be set for each line (style) separately).
+
+ `dashed` (default) uses different dash patterns for different line
+types, `solid` draws all plots with solid lines.
+
+ `dashlength` or `dl` scales the length of the dashed-line segments
+by <dl>. `linewidth` or `lw` scales all linewidths by <lw>. (lw 1
+stands for 0.5bp, which is the default line width when drawing with
+Metapost.) `fontscale` scales text labels for factor <fontscale>
+relative to default document font.
+
+ `mppoints` uses predefined point shapes, drawn in Metapost.
+`texpoints` 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]
+
+ `inlineimages` writes binary images to a string and only works in
+ConTeXt MKIV. `externalimages` writes 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 `font` you can set font name and size in standalone graphics.
+In non-standalone (`input`) mode only the font size is important to
+reserve enough space for text labels. The command
+ set term context font "myfont,ss,10"
+
+ will result in
+ \\setupbodyfont[myfont,ss,10pt]
+
+ If you additionaly set `fontscale` to 0.8 for example, then the
+resulting font will be 8pt big and
+ set label ... font "myfont,12"
+
+ will come out as 9.6pt.
+
+ It is your own responsibility to provide proper typescripts (and
+header), otherwise switching the font will have no effect. For a
+standard font in ConTeXt MKII (pdfTeX) you could use:
+ set terminal context standalone header '\\usetypescript[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]'
+
+ , /* TODO: LaTeX formatting */
+
+-- REQUIREMENTS --
+
+ You need gnuplot module for ConTeXt
+http://ctan.org/pkg/context-gnuplot
+(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 distributions this can be set with shell_escape=t in
+texmf.cnf.
+
+ See http://wiki.contextgarden.net/Gnuplot
+(http://wiki.contextgarden.net/Gnuplot) for details about this terminal
+and for more exhaustive help & examples.
+
+-- CALLING GNUPLOT FROM CONTEXT --
+
+ The easiest way to make plots in ConTeXt documents is
+ \\usemodule[gnuplot]
+ \\starttext
+ \\title{How to draw nice plots with {\\sc gnuplot}?}
+ \\startGNUPLOTscript[sin]
+ set format y "%.1f"
+ plot sin(x) t '$\\sin(x)$'
+ \\stopGNUPLOTscript
+ \\useGNUPLOTgraphic[sin]
+ \\stoptext
+
+ This will run gnuplot automatically and include the resulting figure
+in the document."
- Examples:
- set terminal fig monochrome small pointsmax 1000 # defaults
+
+File: gnuplot.info, Node: corel, Next: debug, Prev: context, Up:
complete_list_of_terminals
- plot 'file.dat' with points linetype 102 pointtype 759
- would produce circles with a blue outline of width 1 and yellow fill color.
+4.1.0.10 corel
+..............
- plot 'file.dat' using 1:2:3 with err linetype 1 pointtype 554
- would produce errorbars with black lines and circles filled red. These
- circles are one layer above the lines (at depth 9 by default).
+The `corel` terminal driver supports CorelDraw.
- To plot the error bars on top of the circles use
- plot 'file.dat' using 1:2:3 with err linetype 1 pointtype 2554
+ Syntax:
+ set terminal corel { default
+ | {monochrome | color
+ {"<font>" {<fontsize>
+ {<xsize> <ysize> {<linewidth> }}}}}
-
-File: gnuplot.info, Node: hp2623a, Prev: fig, Up: terminal, Next: hp2648
+ 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."
- The `hp2623a` terminal driver supports the Hewlett Packard HP2623A. It has
- no options.
+
+File: gnuplot.info, Node: debug, Next: svga, Prev: corel, Up:
complete_list_of_terminals
-
-File: gnuplot.info, Node: hp2648, Prev: hp2623a, Up: terminal, Next: hp500c
+4.1.0.11 debug
+..............
- The `hp2648` terminal driver supports the Hewlett Packard HP2647 and HP2648.
- It has no options.
+This terminal is provided to allow for the debugging of `gnuplot`. It
+is likely to be of use only for users who are modifying the source
+code."
-
-File: gnuplot.info, Node: hp500c, Prev: hp2648, Up: terminal, Next: hpgl
+
+File: gnuplot.info, Node: svga, Next: dumb, Prev: debug, Up:
complete_list_of_terminals
- The `hp500c` terminal driver supports the Hewlett Packard HP DeskJet 500c.
- It has options for resolution and compression.
+4.1.0.12 svga
+.............
- Syntax:
- set terminal hp500c {<res>} {<comp>}
+The `svga` terminal driver supports PCs with SVGA graphics. It can
+only be used if it is compiled with DJGPP. Its only option is the font.
- where `res` can be 75, 100, 150 or 300 dots per inch and `comp` can 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.
+ Syntax:
+ set terminal svga {"<fontname>"}"
-
-File: gnuplot.info, Node: hpgl, Prev: hp500c, Up: terminal, Next: hpljii
+
+File: gnuplot.info, Node: dumb, Next: dxf, Prev: svga, Up:
complete_list_of_terminals
+
+4.1.0.13 dumb
+.............
+
+The `dumb` terminal driver plots into a text block using ascii
+characters. It has an optional size specification and a trailing
+linefeed flag.
+
+ Syntax:
+ set terminal dumb {size <xchars>,<ychars>} {[no]feed}
+ {[no]enhanced}
+
+ where <xchars> and <ychars> set the size of the text block. The
+default is 79 by 24. The last newline is printed only if `feed` is
+enabled.
+
+ Example:
+ set term dumb size 60,15
+ plot [-5:6.5] sin(x) with impulse
+
+ 1 +-------------------------------------------------+
+ 0.8 +|||++ ++||||++ sin(x) +----+ |
+ 0.6 +|||||+ ++|||||||+ |
+ 0.4 +||||||+ ++|||||||||+ |
+ 0.2 +|||||||+ ++|||||||||||+ +|
+ 0 ++++++++++++++++++++++++++++++++++++++++++++++++++|
+ -0.2 + +|||||||||||+ +|||||||||||+ |
+ -0.4 + +|||||||||+ +|||||||||+ |
+ -0.6 + +|||||||+ +|||||||+ |
+ -0.8 + + ++||||+ + + ++||||+ + |
+ -1 +---+--------+--------+-------+--------+--------+-+
+ -4 -2 0 2 4 6 "
- The `hpgl` driver produces HPGL output for devices like the HP7475A plotter.
- There are two options which can be set---the number of pens and "eject", which
- tells the plotter to eject a page when done. The default is to use 6 pens
- and not to eject the page when done.
+
+File: gnuplot.info, Node: dxf, Next: dxy800a, Prev: dumb, Up:
complete_list_of_terminals
- The international character sets ISO-8859-1 and CP850 are recognized via
- `set encoding iso_8859_1` or `set encoding cp850` (see `set encoding`
- (*note encoding:: ) for details).
+4.1.0.14 dxf
+............
- Syntax:
- set terminal hpgl {<number_of_pens>} {eject}
+The `dxf` terminal driver creates pictures that can be imported into
+AutoCad (Release 10.x). It has no options of its own, but some
+features of its plots may be modified by other means. The default size
+is 120x80 AutoCad units, which can be changed by *note size::. `dxf`
+uses seven colors (white, red, yellow, green, cyan, blue and magenta),
+which can be changed only by modifying the source file. If a
+black-and-white plotting device is used, the colors are mapped to
+differing line thicknesses. See the description of the AutoCad
+print/plot command."
- The selection
+
+File: gnuplot.info, Node: dxy800a, Next: eepic, Prev: dxf, Up:
complete_list_of_terminals
- set terminal hpgl 8 eject
+4.1.0.15 dxy800a
+................
- is equivalent to the previous `hp7550` terminal, and the selection
+This terminal driver supports the Roland DXY800A plotter. It has no
+options."
- set terminal hpgl 4
+
+File: gnuplot.info, Node: eepic, Next: emf, Prev: dxy800a, Up:
complete_list_of_terminals
+
+4.1.0.16 eepic
+..............
+
+The `eepic` terminal driver supports the extended LaTeX picture
+environment. It is an alternative to the `latex` driver.
+
+ 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 printer driver that supports the "tpic" \\specials. If your
+printer driver doesn't support those \\specials, "eepicemu.sty" will
+enable you to use some of them. dvips and dvipdfm do support the
+"tpic" \\specials.
+
+ Syntax:
+ set terminal eepic {default} {color|dashed} {rotate} {size XX,YY}
+ {small|tiny|<fontsize>}
+
+ Options: You can give options in any order you wish. 'color' causes
+gnuplot to produce \\color{...} commands so that the graphs are
+colored. Using this option, you must include \\usepackage{color} in the
+preambel of your latex document. 'dashed' will allow dashed line
+types; without this option, only solid lines with varying thickness
+will be used. 'dashed' and 'color' are mutually exclusive; if 'color'
+is specified, then 'dashed' will be ignored. 'rotate' will enable true
+rotated text (by 90 degrees). Otherwise, rotated text will be typeset
+with letters stacked above each other. If you use this option you must
+include \\usepackage{graphicx} in the preamble. 'small' will use
+\\scriptsize symbols as point markers (Probably does not work with TeX,
+only LaTeX2e). Default is to use the default math size. 'tiny' uses
+\\scriptscriptstyle symbols. 'default' resets all options to their
+defaults = no color, no dashed lines, pseudo-rotated (stacked) text,
+large point symbols. <fontsize> is a number which specifies the font
+size inside the picture environment; the unit is pt (points), i.e., 10
+pt equals approx. 3.5 mm. If fontsize is not specified, then all text
+inside the picture will be set in \\footnotesize.
+
+ Notes: Remember to escape the # character (or other chars meaningful
+to (La-)TeX) by \\\\ (2 backslashes). It seems that dashed lines
+become solid lines when the vertices of a plot are too close. (I do not
+know if that is a general problem with the tpic specials, or if it is
+caused by a bug in eepic.sty or dvips/dvipdfm.) The default size of an
+eepic plot is 5x3 inches. You can change this using the *note size::
+terminal option. Points, among other things, are drawn using the LaTeX
+commands "\\Diamond", "\\Box", etc. These commands no longer belong to
+the LaTeX2e core; they are included in the latexsym package, which is
+part of the base distribution and thus part of any 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 positioning: If any text
+string begins with '{', you also need to include a '}' at the end of
+the text, and the whole text will be centered both horizontally and
+vertically. If the text string begins with '[', you need to follow
+this with a position specification (up to two out of t,b,l,r), ']{',
+the text 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 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}}'"
- is equivalent to the previous `hp7580b` terminal.
+
+File: gnuplot.info, Node: emf, Next: emxvga, Prev: eepic, Up:
complete_list_of_terminals
+
+4.1.0.17 emf
+............
+
+The `emf` terminal generates an Enhanced Metafile Format file. This
+file format is recognized by many Windows applications.
+
+ Syntax:
+ set terminal emf {color | monochrome} {solid | dashed}
+ {enhanced {noproportional}}
+ {rounded | butt}
+ {linewidth <LW>} {dashlength <DL>}
+ {size XX,YY} {background <rgb_color>}
+ {font "<fontname>{,<fontsize>}"}
+ {fontscale <scale>}
+
+ In `monochrome` mode successive line types cycle through dash
+patterns. In `color` mode successive line types use successive colors,
+and only after all 8 default colors are exhausted is the dash pattern
+incremented. `solid` draws all curves with solid lines, overriding any
+dashed patterns; `linewidth <factor>` multiplies all line widths by
+this factor. `dashlength <factor>` is useful for thick lines.
+<fontname> is the name of a font; and `<fontsize>` is the size of the
+font in points.
+
+ The nominal size of the output image defaults to 1024x768 in
+arbitrary units. You may specify a different nominal size using the
+*note size:: option.
+
+ Enhanced text mode tries to approximate proportional character
+spacing. If you are using a monospaced font, or don't like the
+approximation, you can turn off this correction using the
+`noproportional` option.
+
+ The default settings are `color solid font "Arial,12" size 1024,768`
+Selecting `default` sets all options to their default values.
+
+ Examples:
+ set terminal emf 'Times Roman Italic, 12'
+ set terminal emf dashed # otherwise all lines are solid"
- The `pcl5` driver supports the Hewlett-Packard Laserjet III. It actually uses
- HPGL-2, but there is a name conflict among the terminal devices. It has
- several options
+
+File: gnuplot.info, Node: emxvga, Next: epson_180dpi, Prev: emf, Up:
complete_list_of_terminals
- Syntax:
- set terminal pcl5 {<mode>} {<font>} {<fontsize>}
+4.1.0.18 emxvga
+...............
- where <mode> is `landscape`, or `portrait`, <font> is `stick`, `univers`, or
- `cg_times`, and <fontsize> is the size in points.
+The `emxvga`, `emxvesa` and `vgal` terminal drivers support 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).
- With `pcl5` international characters are handled by the printer; you just put
- the appropriate 8-bit character codes into the text strings. You don't need
- to bother with `set encoding`.
+ Syntax:
+ set terminal emxvga
+ set terminal emxvesa {vesa-mode}
+ set terminal vgal
- HPGL graphics can be imported by many software packages.
+ The only option is the vesa mode for `emxvesa`, which defaults to
+G640x480x256."
-
-File: gnuplot.info, Node: hpljii, Prev: hpgl, Up: terminal, Next: hppj
+
+File: gnuplot.info, Node: epson_180dpi, Next: excl, Prev: emxvga, Up:
complete_list_of_terminals
- The `hpljii` terminal driver supports the HP Laserjet Series II printer. The
- `hpdj` driver supports the HP DeskJet 500 printer. These drivers allow a
- choice of resolutions.
+4.1.0.19 epson_180dpi
+.....................
- Syntax:
- set terminal hpljii | hpdj {<res>}
+This driver supports a family of Epson printers and derivatives.
- where `res` may be 75, 100, 150 or 300 dots per inch; the default is 75.
- Rasterization at the higher resolutions may require a large amount of memory.
+ `epson_180dpi` and `epson_60dpi` are drivers for Epson LQ-style
+24-pin printers with resolutions of 180 and 60 dots per inch,
+respectively.
- The `hp500c` (*note hp500c:: ) terminal is similar to hpdj; hp500c
- additionally supports color and compression.
+ `epson_lx800` is a generic 9-pin driver appropriate for printers
+like the Epson LX-800, the Star NL-10 and NX-1000, the PROPRINTER, and
+so forth.
+ `nec_cp6` is generic 24-pin driver that can be used for printers
+like the NEC CP6 and the Epson LQ-800.
-
-File: gnuplot.info, Node: hppj, Prev: hpljii, Up: terminal, Next: imagen
+ The `okidata` driver supports the 9-pin OKIDATA 320/321 Standard
+printers.
- The `hppj` terminal driver supports the HP PaintJet and HP3630 printers. The
- only option is the choice of font.
+ The `starc` driver is for the Star Color Printer.
- Syntax:
- set terminal hppj {FNT5X9 | FNT9X17 | FNT13X25}
+ The `tandy_60dpi` driver is for the Tandy DMP-130 series of 9-pin,
+60-dpi printers.
- with the middle-sized font (FNT9X17) being the default.
+ The `dpu414` driver is for the Seiko DPU-414 thermal printer.
-
-File: gnuplot.info, Node: imagen, Prev: hppj, Up: terminal, Next: mif
+ `nec_cp6` has the options:
- The `imagen` terminal driver supports Imagen laser printers. It is capable
- of placing multiple graphs on a single page.
+ Syntax:
+ set terminal nec_cp6 {monochrome | colour | draft}
- Syntax:
- set terminal imagen {<fontsize>} {portrait | landscape}
- {[<horiz>,<vert>]}
+ which defaults to monochrome.
- where `fontsize` (*note fontsize:: ) defaults to 12 points and the layout
- defaults to landscape. `<horiz>` and `<vert>` are the number of graphs in the
- horizontal and vertical directions; these default to unity.
+ `dpu414` has the options:
- Example:
- set terminal imagen portrait [2,3]
+ Syntax:
+ set terminal dpu414 {small | medium | large} {normal | draft}
- puts six graphs on the page in three rows of two in portrait orientation.
+ which defaults to medium (=font size) and normal. Preferred
+combinations are `medium normal` and `small draft`.
-
-File: gnuplot.info, Node: mif, Prev: imagen, Up: terminal, Next: pbm
+ With each of these drivers, a binary copy is required on a PC to
+print. Do not use *note print::--use instead `copy file /b lpt1:`.
- The `mif` terminal driver produces Frame Maker MIF format version 3.00. It
- plots in MIF Frames with the size 15*10 cm, and plot primitives with the same
- pen will be grouped in the same MIF group. Plot primitives in a `gnuplot`
- (*note gnuplot:: ) page will be plotted in a MIF Frame, and several MIF Frames
- are collected in one large MIF Frame. The MIF font used for text is "Times".
+
+File: gnuplot.info, Node: excl, Next: fig, Prev: epson_180dpi, Up:
complete_list_of_terminals
- Several options may be set in the MIF 3.00 driver.
+4.1.0.20 excl
+.............
- Syntax:
- set terminal mif {colour | monochrome} {polyline | vectors}
- {help | ?}
+The `excl` terminal driver supports Talaris printers such as the EXCL
+Laser printer and the 1590. It has no options."
- `colour` plots lines with line types >= 0 in colour (MIF sep. 2--7) and
- `monochrome` plots all line types in black (MIF sep. 0).
- `polyline` plots curves as continuous curves and `vectors` plots curves as
- collections of vectors.
- `help` (*note help:: ) and ? print online help on standard error output---both
- print a short description of the usage; `help` also lists the options;
+
+File: gnuplot.info, Node: fig, Next: png_, Prev: excl, Up:
complete_list_of_terminals
+
+4.1.0.21 fig
+............
+
+The `fig` terminal device generates output in the Fig graphics language.
+
+ Syntax:
+ set terminal fig {monochrome | color}
+ {landscape | portrait}
+ {small | big | size <xsize> <ysize>}
+ {metric | inches}
+ {pointsmax <max_points>}
+ {solid | dashed}
+ {font "<fontname>{,<fontsize>}"}
+ {textnormal | {textspecial texthidden textrigid}}
+ {{thickness|linewidth} <units>}
+ {depth <layer>}
+ {version <number>}
+
+ `monochrome` and `color` determine whether the picture is
+black-and-white or `color`. `small` and `big` produce a 5x3 or 8x5
+inch graph in the default `landscape` mode and 3x5 or 5x8 inches in
+`portrait` mode. *note size:: sets (overrides) the size of the drawing
+area to <xsize>*<ysize> in units of inches or centimeters depending on
+the `inches` or `metric` setting in effect. The latter settings is
+also used as default units for editing with "xfig".
+
+ `pointsmax <max_points>` sets the maximum number of points per
+polyline.
+
+ `solid` inhibits automatic usage of `dash`ed lines when solid
+linestyles are used up, which otherwise occurs.
+
+ `font` sets the text font face to <fontname> and its size to
+<fontsize> points. `textnormal` resets the text flags and selects
+postscript fonts, `textspecial` sets the text flags for LaTeX specials,
+`texthidden` sets the hidden flag and `textrigid` the rigid flag.
+
+ `depth` sets the default depth layer for all lines and text. The
+default depth is 10 to leave room for adding material with "xfig" on
+top of the plot.
+
+ *note version:: sets the format version of the generated fig output.
+Currently only versions 3.1 and 3.2 are supported.
+
+ `thickness` sets the default line thickness, which is 1 if not
+specified. Overriding the thickness can be achieved by adding a
+multiple of 100 to the `linetype` value for a `plot` command. In a
+similar way the `depth` of plot elements (with respect to the default
+depth) can be controlled by adding a multiple of 1000 to <linetype>.
+The depth is then <layer> + <linetype>/1000 and the thickness is
+(<linetype>%1000)/100 or, if that is zero, the default line thickness.
+`linewidth` is a synonym for `thickness`.
+
+ Additional point-plot symbols are also available with the `fig`
+driver. The symbols can be used through `pointtype` values % 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
+ 90 - 99: downwards triangles
+
+ The size of these symbols is linked to the font size. The depth of
+symbols is by default one less than the depth for lines to achieve nice
+error bars. If <pointtype> is above 1000, the depth is <layer> +
+<pointtype>/1000-1. If <pointtype>%1000 is above 100, the fill color
+is (<pointtype>%1000)/100-1.
+
+ Available fill colors are (from 1 to 9): black, blue, green, cyan,
+red, magenta, yellow, white and dark blue (in monochrome mode: black
+for 1 to 6 and white for 7 to 9).
+
+ See *note with:: for details of <linetype> and <pointtype>.
+
+ The `big` option is a substitute for the `bfig` terminal in earlier
+versions, which is no longer supported.
+
+ Examples:
+ set terminal fig monochrome small pointsmax 1000 # defaults
+
+ plot 'file.dat' with points linetype 102 pointtype 759
+
+ would produce circles with a blue outline of width 1 and yellow fill
+color.
+
+ plot 'file.dat' using 1:2:3 with err linetype 1 pointtype 554
+
+ would produce errorbars with black lines and circles filled red.
+These circles are one layer above the lines (at depth 9 by default).
+
+ To plot the error bars on top of the circles use
+ plot 'file.dat' using 1:2:3 with err linetype 1 pointtype 2554"
- Examples:
- set term mif colour polylines # defaults
- set term mif # defaults
- set term mif vectors
- set term mif help
+
+File: gnuplot.info, Node: png_, Next: ggi, Prev: fig, Up:
complete_list_of_terminals
-
-File: gnuplot.info, Node: pbm, Prev: mif, Up: terminal, Next: png
+4.1.0.22 png
+............
- Several options may be set in the `pbm` terminal---the driver for PBMplus.
+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>}
- Syntax:
- set terminal pbm {<fontsize>} {<mode>}
+ 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:-'
- where <fontsize> is `small`, `medium`, or `large` and <mode> is `monochrome`,
- `gray` or `color`. The default plot size is 640 pixels wide and 480 pixels
- high; this may be changed by `set size` (*note size:: ).
+ 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 *note save::.
- The output of the `pbm` driver depends upon <mode>: `monochrome` produces a
- portable bitmap (one bit per pixel), `gray` a portable graymap (three bits
- per pixel) and `color` a portable pixmap (color, four bits per pixel).
+ `transparent` instructs the driver to make the background color
+transparent. Default is `notransparent`.
- The output of this driver can be used with Jef Poskanzer's excellent PBMPLUS
- package, which provides programs to convert the above PBMPLUS formats to GIF,
- TIFF, MacPaint, Macintosh PICT, PCX, X11 bitmap and many others. PBMPLUS may
- be obtained from ftp.x.org. The relevant files have names that begin with
- "netpbm-1mar1994.p1"; they reside in /contrib/utilities. The package can
- probably also be obtained from one of the many sites that mirrors ftp.x.org.
+ `interlace` instructs the driver to generate interlaced PNGs.
+Default is `nointerlace`.
- Examples:
- set terminal pbm small monochrome # defaults
- set size 2,2; set terminal pbm color medium
+ The `linewidth` and `dashlength` options are scaling factors that
+affect all lines drawn, i.e. they are multiplied by values requested in
+various drawing commands.
-
-File: gnuplot.info, Node: png, Prev: pbm, Up: terminal, Next: postscript
+ By default output png images use 256 indexed colors. The `truecolor`
+option instead creates TrueColor images with 24 bits of color
+information per pixel. Transparent fill styles require the `truecolor`
+option. See `fillstyle`. A transparent background is possible in
+either indexed or TrueColor images.
- The `png` terminal driver supports Portable Network Graphics. To compile it,
- you will need the third-party libraries "libpng" and "zlib"; both are
- available at ftp://ftp.uu.net/graphics/png. `png` has two options.
+ `butt` instructs the driver to use a line drawing method that does
+not overshoot the desired end point of a line. This setting is only
+applicable for line widths greater than 1. This setting is most useful
+when drawing horizontal or vertical lines. Default is `rounded`.
- Syntax:
- set terminal png {small | medium | large}
- {monochrome | gray | color}
+ The details of font selection are complicated. Two equivalent
+simple examples are given below:
+ set term png font arial 11
+ set term png font "arial,11"
- The defaults are small (fontsize) and monochrome.
+ For more information please see the separate section under `fonts`.
-
-File: gnuplot.info, Node: postscript, Prev: png, Up: terminal, Next: enhanced
postscript
-
- Several options may be set in the `postscript` driver.
-
- Syntax:
- set terminal postscript {<mode>} {enhanced | noenhanced}
- {color | monochrome} {solid | dashed}
- {<duplexing>}
- {"<fontname>"} {<fontsize>}
-
- where <mode> is `landscape`, `portrait`, `eps` or `default`;
- `solid` (*note solid:: ) draws all plots with solid lines, overriding any
- dashed patterns; <duplexing> is `defaultplex`, `simplex` or `duplex`
- ("duplexing" in PostScript is the ability of the printer to print on both
- sides of the same page---don't set this if your printer can't do it);
- `enhanced` activates the "enhanced PostScript" features (subscripts,
- superscripts and mixed fonts); `"<fontname>"` is the name of a valid
- PostScript font; and `<fontsize>` is the size of the font in PostScript
- points.
-
- `default` mode sets all options to their defaults: `landscape`, `monochrome`,
- `dashed`, `defaultplex`, `noenhanced`, "Helvetica" and 14pt.
- Default size of a PostScript plot is 10 inches wide and 7 inches high.
-
- `eps` mode generates EPS (Encapsulated PostScript) output, which is just
- regular PostScript with some additional lines that allow the file to be
- imported into a variety of other applications. (The added lines are
- PostScript comment lines, so the file may still be printed by itself.) To
- get EPS output, use the `eps` mode and make only one plot per file. In `eps`
- mode the whole plot, including the fonts, is reduced to half of the default
- size.
-
- Examples:
- set terminal postscript default # old postscript
- set terminal postscript enhanced # old enhpost
- set terminal postscript landscape 22 # old psbig
- set terminal postscript eps 14 # old epsf1
- set terminal postscript eps 22 # old epsf2
- set size 0.7,1.4; set term post portrait color "Times-Roman" 14
-
- Linewidths and pointsizes may be changed with `set linestyle`
- (*note linestyle:: ).
-
- The `postscript` driver supports about 70 distinct pointtypes, selectable
- through the `pointtype` option on `plot` (*note plot:: ) and set linestyle.
-
- Several possibly useful files about `gnuplot` (*note gnuplot:: )'s PostScript
- are included in the /docs/ps subdirectory of the `gnuplot` distribution and at
- the distribution sites. These are "ps_symbols.gpi" (a `gnuplot` command file
- that, when executed, creates the file "ps_symbols.ps" which shows all the
- symbols available through the `postscript` terminal), "ps_guide.ps" (a
- PostScript file that contains a summary of the enhanced syntax and a page
- showing what the octal codes produce with text and symbol fonts) and
- "ps_file.doc" (a text file that contains a discussion of the organization of a
- PostScript file written by `gnuplot`).
-
- A PostScript file is editable, so once `gnuplot` has created one, you are
- free to modify it to your heart's desire. See the "editing postscript"
- section for some hints.
+ The output plot size <x,y> is given in pixels--it defaults to
+640x480. Please see additional information under `canvas` and *note
+size::. Blank space at the edges of the finished plot may be trimmed
+using the `crop` option, resulting in a smaller final image size.
+Default is `nocrop`.
-* Menu:
+-- EXAMPLES --
-* enhanced postscript::
-* editing postscript::
-
-
-File: gnuplot.info, Node: enhanced postscript, Prev: postscript, Up:
postscript, Next: editing postscript
-
- Control Examples Explanation
- ^ a^x superscript
- _ a_x subscript
- @ @x or a@^b_c phantom box (occupies no width)
- & &{space} inserts space of specified length
-
- Braces can be used to place multiple-character text where a single character
- is expected (e.g., 2^{10}). To change the font and/or size, use the full
- form: {/[fontname][=fontsize | *fontscale] text}. Thus {/Symbol=20 G} is a
- 20-point GAMMA) and {/*0.75 K} is a K at three-quarters of whatever fontsize
- is currently in effect. (The '/' character MUST be the first character after
- the '{'.)
-
- If the encoding vector has been changed by `set encoding` (*note encoding:: ),
- the default encoding vector can be used instead by following the slash with a
- dash. This is unnecessary if you use the Symbol font, however---since /Symbol
- uses its own encoding vector, `gnuplot` (*note gnuplot:: ) will not apply any
- other encoding vector to it.
-
- 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. (To do the
- latter, it is much better to use `set encoding iso_8859_1` to change to the
- ISO Latin-1 encoding vector, which contains a large variety of letters with
- accents or other diacritical marks.) Since the box is non-spacing, it is
- sensible to put the shorter of the subscript or superscript in the box (that
- is, after the @).
-
- Space equal in length to a string can be inserted using the '&' character.
- Thus
- 'abc&{def}ghi'
- would produce
- 'abc ghi'.
-
- You can access special symbols numerically by specifying \character-code (in
- octal), e.g., {/Symbol \245} is the symbol for infinity.
-
- You can escape control characters using \, e.g., \\, \{, and so on.
-
- But be aware that strings in double-quotes are parsed differently than those
- enclosed in single-quotes. The major difference is that backslashes may need
- to be doubled when in double-quoted strings.
-
- Examples (these are hard to describe in words---try them!):
- set xlabel 'Time (10^6 {/Symbol m}s)'
- set title '{/Symbol=18 \362@_{/=9.6 0}^{/=12 x}} \
- {/Helvetica e^{-{/Symbol m}^2/2} d}{/Symbol m}'
-
- The file "ps_guide.ps" in the /docs/ps subdirectory of the `gnuplot` source
- distribution contains more examples of the enhanced syntax.
-
-
-File: gnuplot.info, Node: editing postscript, Prev: enhanced postscript, Up:
postscript
-
- The PostScript language is a very complex language---far too complex to
- describe in any detail in this document. Nevertheless there are some things
- in a PostScript file written by `gnuplot` (*note gnuplot:: ) that can be
- changed without risk of introducing fatal errors into the file.
-
- For example, the PostScript statement "/Color true def" (written into the
- file in response to the command `set terminal postscript color`), 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 `gnuplot` is discussed in
- the text file "ps_file.doc" in the /docs/ps subdirectory.
-
-
-File: gnuplot.info, Node: qms, Prev: postscript, Up: terminal, Next: table
-
- The `qms` terminal driver supports the QMS/QUIC Laser printer, the Talaris
- 1200 and others. It has no options.
-
-
-File: gnuplot.info, Node: table, Prev: qms, Up: terminal, Next: tgif
-
- Instead of producing a graph, the `table` terminal prints out the points on
- which a graph would be based, i.e., the results of processing the `plot`
- (*note plot:: ) or `splot` (*note splot:: ) command, in a multicolumn ASCII
- table of X Y {Z} R values. The character R takes on one of three values: "i"
- if the point is in the active range, "o" if it is out-of-range, or "u" if it
- is undefined. The data format is determined by the format of the axis labels
- (see `set format` (*note format:: )).
-
- For those times when you want the numbers, you can display them on the
- screen or save them to a file. This can be useful if you want to generate
- contours and then save them for further use, perhaps for plotting with
- `plot`; see `set contour` (*note contour:: ) for an example. The same method
- can be used to save interpolated data (see `set samples` (*note samples:: )
- and `set dgrid3d` (*note dgrid3d:: )).
-
-
-
-File: gnuplot.info, Node: tgif, Prev: table, Up: terminal, Next: tkcanvas
-
- Tgif is an X11-based drawing tool---it has nothing to do with GIF.
-
- The `tgif` driver supports different pointsizes (with `set pointsize`
- (*note pointsize:: )), different label fonts and font sizes (e.g. `set label
- "Hallo" at x,y font "Helvetica,34"`) and multiple graphs on the page. The
- proportions of the axes are not changed.
+ set terminal png medium size 640,480 background '#ffffff'
- Syntax:
- set terminal tgif {portrait | landscape} {<[x,y]>}
- {solid | dashed}
- {"<fontname>"} {<fontsize>}
+ Use the medium size built-in non-scaleable, non-rotatable font. Use
+white (24-bit RGB in hexadecimal) for the non-transparent background.
- where <[x,y]> specifies the number of graphs in the x and y directions on the
- page, "<fontname>" is the name of a valid PostScript font, and <fontsize>
- specifies the size of the PostScript font. Defaults are `portrait`, `[1,1]`,
- `dashed`, `"Helvetica"`, and `18`.
+ set terminal png font arial 14 size 800,600
- The `solid` (*note solid:: ) option is usually prefered if lines are colored,
- as they often are in the editor. Hardcopy will be black-and-white, so
- `dashed` should be chosen for that.
+ Searches for a scalable font with face name 'arial' and sets the font
+size to 14pt. Please see `fonts` for details of how the font search is
+done.
- Multiplot is implemented in two different ways.
+ set terminal png transparent truecolor enhanced
- The first multiplot implementation is the standard gnuplot multiplot feature:
+ Use 24 bits of color information per pixel, with a transparent
+background. Use the `enhanced text` mode to control the layout of
+strings to be printed.
- set terminal tgif
- set output "file.obj"
- set multiplot
- set origin x01,y01
- set size xs,ys
- plot ...
- ...
- set origin x02,y02
- plot ...
- set nomultiplot
+
+File: gnuplot.info, Node: ggi, Next: gpic, Prev: png_, Up:
complete_list_of_terminals
- See `set multiplot` (*note multiplot:: ) for further information.
+4.1.0.23 ggi
+............
- 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 `set size` (*note size:: )).
+The `ggi` driver can run on different targets as X or svgalib.
- If both multiplot methods are selected, the standard method is chosen and a
- warning message is given.
+ Syntax:
+ set terminal ggi [acceleration <integer>] [[mode] {mode}]
- 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
+ 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
- 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
+ Please refer to the ggi documentation for other modes. The 'mode'
+keyword is optional. It is recommended to select the target by
+environment variables as explained in the libggi manual page. To get
+DGA on X, you should for example
+ bash> export GGI_DISPLAY=DGA
+ csh> setenv GGI_DISPLAY DGA
-
-File: gnuplot.info, Node: tkcanvas, Prev: tgif, Up: terminal, Next:
epson-180dpi
+ '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.
- This terminal driver generates tk canvas widget commands. To use it, rebuild
- `gnuplot` (*note gnuplot:: ) (after uncommenting or inserting the appropriate
- line in "term.h"), then
+ Examples:
+ set term ggi acc 10
+ set term ggi acc 1 mode V1024x768
+ set term ggi V1024x768"
- gnuplot> set term tkcanvas
- gnuplot> set output 'plot.file'
+
+File: gnuplot.info, Node: gpic, Next: grass, Prev: ggi, Up:
complete_list_of_terminals
- After invoking "wish", execute the following sequence of tcl commands:
+4.1.0.24 gpic
+.............
- % source plot.file
- % canvas .c
- % pack .c
- % gnuplot .c
+The `gpic` terminal 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).
- The code generated by `gnuplot` creates a tcl procedure called "gnuplot"
- that takes the name of a canvas as its argument. When the procedure is,
- called, it clears the canvas, finds the size of the canvas and draws the plot
- in it, scaled to fit.
+ Syntax:
+ set terminal gpic {<x> <y>}
- The current version of `tkcanvas` supports neither `multiplot`
- (*note multiplot:: ) nor `replot` (*note replot:: ).
+ where `x` and `y` are in inches.
+ A simple graph can be formatted using
-
-File: gnuplot.info, Node: epson-180dpi, Prev: tkcanvas, Up: terminal, Next:
latex
+ groff -p -mpic -Tps file.pic > file.ps.
- This driver supports a family of Epson printers and derivatives.
+ The output from pic can be pipe-lined into eqn, so it is possible to
+put complex functions in a graph with the `set label` and `set
+{x/y}label` commands. For instance,
- `epson-180dpi` and `epson-60dpi` are drivers for Epson LQ-style 24-pin
- printers with resolutions of 180 and 60 dots per inch, respectively.
+ set ylab '@space 0 int from 0 to x alpha ( t ) roman d t@'
- `epson-lx800` is a generic 9-pin driver appropriate for printers like the
- Epson LX-800, the Star NL-10 and NX-1000, the PROPRINTER, and so forth.
+ will label the y axis with a nice integral if formatted with the
+command:
- `nec-cp6` is generix 24-pin driver that can be used for printers like the
- NEC CP6 and the Epson LQ-800.
-
- The `okidata` driver supports the 9-pin OKIDATA 320/321 Standard printers.
-
- The `starc` driver is for the Star Color Printer.
-
- The `tandy-60dpi` driver is for the Tandy DMP-130 series of 9-pin, 60-dpi
- printers.
+ gpic filename.pic | geqn -d@@ -Tps | groff -m[macro-package] -Tps
+ > filename.ps
- Only `nec-cp6` has any options.
+ 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 `gnuplot` 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 number of files,
+one can put several graphs in one figure like this (default size is
+5.0x3.0 inches):
- Syntax:
- set terminal nec-cp6 {monochrome | colour | draft}
+ .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
- which defaults to monochrome.
+ This will produce an 8-inch-wide figure with four graphs in two rows
+on top of each other.
- With each of these drivers, a binary copy is required on a PC to print. Do
- not use `print` (*note print:: )---use instead copy file /b lpt1:.
+ One can also achieve the same thing by the command
+ set terminal gpic x y
-
-File: gnuplot.info, Node: latex, Prev: epson-180dpi, Up: terminal, Next:
pslatex and pstex
+ for example, using
- The `latex` and `emtex` drivers allow two options.
-
- Syntax:
- set terminal latex | emtex {courier | roman} {<fontsize>}
-
- `fontsize` (*note fontsize:: ) may be any size you specify. The default is
- 10-point Roman.
-
- 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.
+ .PS 6.0
+ copy "trig.pic"
+ .PE"
- All drivers for LaTeX offer a special way of controlling text positioning:
- If any text string begins with '{', you also need to include a '}' at the
- end of the text, and the whole text will be centered both horizontally
- and vertically by LaTeX. --- If the text string begins with '[', you need
- to continue it with: a position specification (up to two out of t,b,l,r),
- ']{', the text itself, and finally, '}'. The text itself may be anything
- LaTeX can typeset as an LR-box. \rule{}{}'s may help for best positioning.
-
- Examples:
- About label positioning:
- Use gnuplot defaults (mostly sensible, but sometimes not really best):
- set title '\LaTeX\ -- $ \gamma $'
- Force centering both horizontally and vertically:
- set label '{\LaTeX\ -- $ \gamma $}' at 0,0
- Specify own positioning (top here):
- set xlabel '[t]{\LaTeX\ -- $ \gamma $}'
- The other label -- account for long ticlabels:
- set ylabel '[r]{\LaTeX\ -- $ \gamma $\rule{7mm}{0pt}'
-
-
-File: gnuplot.info, Node: pslatex and pstex, Prev: latex, Up: terminal, Next:
eepic
-
- The `pslatex` and `pstex` drivers generate output for further processing by
- LaTeX and TeX, respectively. Figures generated by `pstex` can be included
- in any plain-based format (including LaTeX).
-
- Syntax:
- set terminal pslatex | |pstex {<color>} {<dashed>} {<rotate>}
- {auxfile} {<font_size>}
-
- <color> is either `color` or `monochrome`. <rotate> is either `rotate`
- (*note rotate:: ) or `norotate` and determines if the y-axis label is
- rotated. <font_size> is used to scale the font from its usual size.
-
- If `auxfile` is specified, it directs the driver to put the PostScript
- commands into an auxiliary file instead of directly into the LaTeX file.
- This is useful if your 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 `set output` (*note output:: ) command; it is
- determined by replacing the trailing `.tex` (actually just the final extent in
- the file name---and the option will be turned off if there is no extent) with
- `.ps` in the output file name. Remember to close the file before leaving
- `gnuplot` (*note gnuplot:: ).
-
- All drivers for LaTeX offer a special way of controlling text positioning:
- If any text string begins with '{', you also need to include a '}' at the
- end of the text, and the whole text will be centered both horizontally
- and vertically by LaTeX. --- If the text string begins with '[', you need
- to continue it with: a position specification (up to two out of t,b,l,r),
- ']{', the text itself, and finally, '}'. The text itself may be anything
- LaTeX can typeset as an LR-box. \rule{}{}'s may help for best positioning.
-
- Examples:
- set term pslatex monochrome dashed rotate # set to defaults
- To write the PostScript commands into the file "foo.ps":
- set term pslatex auxfile
- set output "foo.tex"; plot ...: set output
- About label positioning:
- Use gnuplot defaults (mostly 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 `set linestyle`
- (*note linestyle:: ).
-
-
-
-File: gnuplot.info, Node: eepic, Prev: pslatex and pstex, Up: terminal, Next:
tpic
-
- The `eepic` terminal driver supports the extended LaTeX picture environment.
- It is an alternative to the `latex` (*note latex:: ) driver.
-
- 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
- printer driver that supports the "tpic" \specials. If your printer driver
- doesn't support those \specials, "eepicemu.sty" will enable you to use some
- of them.
-
- Although dotted and dashed lines are possible with `eepic` and are tempting,
- they do not work well for high-sample-rate curves, fusing the dashes all
- together into a solid line. For now, the `eepic` driver creates only solid
- lines. There is another gnuplot driver (`tpic` (*note tpic:: )) that supports
- dashed lines, but it cannot be used if your DVI driver doesn't support "tpic"
- \specials.
-
- All drivers for LaTeX offer a special way of controlling text positioning:
- If any text string begins with '{', you also need to include a '}' at the
- end of the text, and the whole text will be centered both horizontally
- and vertically by LaTeX. --- If the text string begins with '[', you need
- to continue it with: a position specification (up to two out of t,b,l,r),
- ']{', the text itself, and finally, '}'. The text itself may be anything
- LaTeX can typeset as an LR-box. \rule{}{}'s may help for best positioning.
-
- The `eepic` terminal has no options.
-
- Examples:
- About label positioning:
- Use gnuplot defaults (mostly sensible, but sometimes not really best):
- set title '\LaTeX\ -- $ \gamma $'
- Force centering both horizontally and vertically:
- set label '{\LaTeX\ -- $ \gamma $}' at 0,0
- Specify own positioning (top here):
- set xlabel '[t]{\LaTeX\ -- $ \gamma $}'
- The other label -- account for long ticlabels:
- set ylabel '[r]{\LaTeX\ -- $ \gamma $\rule{7mm}{0pt}'
-
-
-File: gnuplot.info, Node: tpic, Prev: eepic, Up: terminal, Next: pstricks
-
- The `tpic` terminal driver supports the LaTeX picture environment with tpic
- \specials. It is an alternative to the `latex` (*note latex:: ) and `eepic`
- (*note eepic:: ) terminal drivers. Options are the point size, line width, and
- dot-dash interval.
-
- Syntax:
- set terminal tpic <pointsize> <linewidth> <interval>
-
- where `pointsize` (*note pointsize:: ) and `linewidth` (*note linewidth:: )
- are integers in milli-inches and interval is a float in inches. If a
- non-positive value is specified, the default is chosen: pointsize = 40,
- linewidth = 6, interval = 0.1.
-
- All drivers for LaTeX offer a special way of controlling text positioning:
- If any text string begins with '{', you also need to include a '}' at the
- end of the text, and the whole text will be centered both horizontally
- and vertically by LaTeX. --- If the text string begins with '[', you need
- to continue it with: a position specification (up to two out of t,b,l,r),
- ']{', the text itself, and finally, '}'. The text itself may be anything
- LaTeX can typeset as an LR-box. \rule{}{}'s may help for best positioning.
-
- Examples:
- About label positioning:
- Use gnuplot defaults (mostly sensible, but sometimes not really best):
- set title '\LaTeX\ -- $ \gamma $'
- Force centering both horizontally and vertically:
- set label '{\LaTeX\ -- $ \gamma $}' at 0,0
- Specify own positioning (top here):
- set xlabel '[t]{\LaTeX\ -- $ \gamma $}'
- The other label -- account for long ticlabels:
- set ylabel '[r]{\LaTeX\ -- $ \gamma $\rule{7mm}{0pt}'
-
-
-File: gnuplot.info, Node: pstricks, Prev: tpic, Up: terminal, Next: texdraw
-
- The `pstricks` driver is intended for use with the "pstricks.sty" macro
- package for LaTeX. It is an alternative to the `eepic` (*note eepic:: ) and
- `latex` (*note latex:: ) drivers. You need "pstricks.sty", and, of course, a
- printer that understands PostScript, or a converter such as Ghostscript.
-
- PSTricks is available via anonymous ftp from the /pub directory at
- Princeton.EDU. This driver definitely does not come close to using the full
- capability of the PSTricks package.
-
- Syntax:
- set terminal pstricks {hacktext | nohacktext} {unit | nounit}
-
- The first option invokes an ugly hack that gives nicer numbers; the second
- has to do with plot scaling. The defaults are `hacktext` and `nounit`.
-
-
-File: gnuplot.info, Node: texdraw, Prev: pstricks, Up: terminal, Next: mf
-
- The `texdraw` terminal driver supports the LaTeX texdraw environment. It is
- intended for use with "texdraw.sty" and "texdraw.tex" in the texdraw package.
-
- It has no options.
-
-
-File: gnuplot.info, Node: mf, Prev: texdraw, Up: terminal, Next: METAFONT
Instructions
-
- The `mf` terminal driver creates a input file to the METAFONT program. Thus a
- figure may be used in the TeX document in the same way as is a character.
-
- To use a picture in a document, the METAFONT program must be run with the
- output file from `gnuplot` (*note gnuplot:: ) as input. Thus, the user needs
- a basic knowledge of the font creating process and the procedure for including
- a new font in a document. However, if the METAFONT program is set up properly
- at the local site, an unexperienced user could perform the operation without
- much trouble.
-
- The text support is based on a METAFONT character set. Currently the
- Computer Modern Roman font set is input, but the user is in principal free to
- chose whatever fonts he or she needs. The METAFONT source files for the
- chosen font must be available. Each character is stored in a separate
- picture variable in METAFONT. These variables may be manipulated (rotated,
- scaled etc.) when characters are needed. The drawback is the interpretation
- time in the METAFONT program. On some machines (i.e. PC) the limited amount
- of memory available may also cause problems if too many pictures are stored.
-
- The `mf` terminal has no options.
+
+File: gnuplot.info, Node: grass, Next: hp2623a, Prev: gpic, Up:
complete_list_of_terminals
-* Menu:
+4.1.0.25 grass
+..............
-* METAFONT Instructions::
-
-
-File: gnuplot.info, Node: METAFONT Instructions, Prev: mf, Up: mf
-
-
- - 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 `set size
- 0.5,0.5` or whatever fraction of the default size you want to have.
-
- - Quit `gnuplot` (*note gnuplot:: ).
-
- - Generate a TFM and GF file by running METAFONT on the output of `gnuplot`.
- Since the picture is quite large (5*3 in), you will have to use a version of
- METAFONT that has a value of at least 150000 for memmax. On Unix systems
- these are conventionally installed under the name bigmf. For the following
- assume that the command virmf stands for a big version of METAFONT. For
- example:
-
- - Invoke METAFONT:
- virmf '&plain'
- - Select the output device: At the METAFONT prompt ('*') type:
- \mode:=CanonCX; % or whatever printer you use
- - Optionally select a magnification:
- mag:=1; % or whatever you wish
- - Input the `gnuplot`-file:
- input myfigures.mf
- On a typical Unix machine there will usually be a script called "mf" that
- executes virmf '&plain', so you probably can substitute mf for virmf &plain.
- This will generate two files: mfput.tfm and mfput.$$$gf (where $$$ indicates
- the resolution of your device). The above can be conveniently achieved by
- typing everything on the command line, e.g.:
- virmf '&plain' '\mode:=CanonCX; mag:=1; input myfigures.mf'
- In this case the output files will be named myfigures.tfm and
- myfigures.300gf.
-
- - Generate a PK file from the GF file using gftopk:
- gftopk myfigures.300gf myfigures.300pk
- The name of the output file for gftopk depends on the DVI driver you use.
- Ask your local TeX administrator about the naming conventions. Next, either
- install the TFM and PK files in the appropriate directories, or set your
- environment variables properly. Usually this involves setting TEXFONTS to
- include the current directory and doing the same thing for the environment
- variable that your DVI driver uses (no standard name here...). This step is
- 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 minimal time to place them,
- and the documents you make change more often than the pictures do. It also
- saves a lot of TeX memory. One last advantage of using the METAFONT driver
- is that the DVI file really remains device independent, because no \special
- commands are used as in the eepic and tpic drivers.
-
-
-File: gnuplot.info, Node: tics, Prev: terminal, Up: set-show, Next: ticslevel
-
- The `set tics` command can be used to change the tics to be drawn outwards.
-
- Syntax:
- set tics {<direction>}
- show tics
-
- where <direction> may be `in` (the default) or `out`.
-
- See also `set xtics` (*note xtics:: ) for more control of major (labelled) tic
- marks and set mxtics` for control of minor tic marks.
-
-
-
-File: gnuplot.info, Node: ticslevel, Prev: tics, Up: set-show, Next: ticscale
-
- Using `splot` (*note splot:: ), one can adjust the relative height of the
- vertical (Z) axis using `set ticslevel`. The numeric argument provided
- specifies the location of the bottom of the scale (as a fraction of the
- z-range) above the xy-plane. The default value is 0.5. Negative values are
- permitted, but tic labels on the three axes may overlap.
-
- To place the xy-plane at a position 'pos' on the z-axis, `ticslevel` should
- be set equal to (pos - zmin) / (zmin - zmax).
-
- Syntax:
- set ticslevel {<level>}
- show tics
-
- See also `set view` (*note view:: ).
-
-
-
-File: gnuplot.info, Node: ticscale, Prev: ticslevel, Up: set-show, Next:
timestamp
-
- The size of the tic marks can be adjusted with `set ticscale`.
-
- Syntax:
- set ticscale {<major> {<minor>}}
- show tics
-
- If <minor> is not specified, it is 0.5*<major>. The default size is 1.0 for
- major tics and 0.5 for minor tics. Note that it is possible to have the tic
- marks pointing outward by specifying a negative size.
-
-
-File: gnuplot.info, Node: timestamp, Prev: ticscale, Up: set-show, Next:
timefmt
-
- The command `set timestamp` places the time and date of the plot in the left
- margin.
-
- Syntax:
- set timestamp {"<format>"} {top|bottom} {{no}rotate}
- {<xoff>}{,<yoff>} {"<font>"}
- set notimestamp
- show timestamp
-
- The format string allows you to choose the format used to write the date and
- time. Its default value is what asctime() uses: "%a %b %d %H:%M:%S %Y"
- (weekday, month name, day of the month, hours, minutes, seconds, four-digit
- year). With `top` or `bottom` you can place the timestamp at the top or
- bottom of the left margin (default: bottom). `rotate` (*note rotate:: ) lets
- you write the timestamp vertically, if your terminal supports vertical
- text. The constants <xoff> and <off> are offsets from the default position
- given in character screen coordinates. <font> is used to specify the font
- with which the time is to be written.
+The `grass` terminal driver gives `gnuplot` capabilities to users of the
+GRASS geographic information system. Contact
+grassp-list@moon.cecer.army.mil for more information. Pages are
+written to the current frame of the GRASS Graphics Window. There are
+no options."
- The abbreviation `time` may be used in place of `timestamp`.
+
+File: gnuplot.info, Node: hp2623a, Next: hp2648, Prev: grass, Up:
complete_list_of_terminals
- Example:
- set timestamp "%d/%m/%y %H:%M" 80,-2 "Helvetica"
+4.1.0.26 hp2623a
+................
- See `set timefmt` (*note timefmt:: ) for more information about time format
- strings.
+The `hp2623a` terminal driver supports the Hewlett Packard HP2623A. It
+has no options."
+
+File: gnuplot.info, Node: hp2648, Next: hp500c, Prev: hp2623a, Up:
complete_list_of_terminals
-
-File: gnuplot.info, Node: timefmt, Prev: timestamp, Up: set-show, Next: title
+4.1.0.27 hp2648
+...............
- This command applies to timeseries where data are composed of dates/times.
- It has no meaning unless the command `set xdata time` is given also.
+The `hp2648` terminal driver supports the Hewlett Packard HP2647 and
+HP2648. It has no options."
- Syntax:
- set timefmt "<format string>"
- show timefmt
+
+File: gnuplot.info, Node: hp500c, Next: hpgl, Prev: hp2648, Up:
complete_list_of_terminals
- The string argument tells `gnuplot` (*note gnuplot:: ) how to read timedata
- from the datafile. The valid formats are:
+4.1.0.28 hp500c
+...............
- 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 second, 0--60
- %b three-character abbreviation of the name of the month
- %B name of the month
- Any character is allowed in the string, but must match exactly. \t (tab) is
- recognized. Backslash-octals (\nnn) are converted to char. If there is no
- separating character between the time/date elements, then %d, %m, %y, %H, %M
- and %S read two digits each, %Y reads four digits and %j reads three digits.
- %b requires three characters, and %B requires as many as it needs.
+The `hp500c` terminal driver supports the Hewlett Packard HP DeskJet
+500c. It has options for resolution and compression.
- 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".
+ Syntax:
+ set terminal hp500c {<res>} {<comp>}
- Each set of non-blank characters in the timedata counts as one column in the
- `using n:n` specification. Thus `11:11 25/12/76 21.0` consists of three
- columns. To avoid confusion, `gnuplot` requires that you provide a complete
- `using` (*note using:: ) specification if your file contains timedata.
+ where `res` can be 75, 100, 150 or 300 dots per inch and `comp` can
+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."
- Since `gnuplot` cannot read non-numerical text, if the date format includes
- the day or month in words, the format string must exclude this text. But
- it can still be printed with the "%a", "%A", "%b", or "%B" specifier: see
- `set format` (*note format:: ) for more details about these and other options
- for printing timedata. (`gnuplot` will determine the proper month and weekday
- from the numerical values.)
+
+File: gnuplot.info, Node: hpgl, Next: hpljii, Prev: hp500c, Up:
complete_list_of_terminals
- See also `set xdata` (*note xdata:: ) and Time/date for more information.
+4.1.0.29 hpgl
+.............
- Example:
- set timefmt "%d/%m/%Y\t%H:%M"
- tells `gnuplot` to read date and time separated by tab. (But look closely at
- your data---what began as a tab may have been converted to spaces somewhere
- along the line; the format string must match what is actually in the file.)
+The `hpgl` driver produces HPGL output for devices like the HP7475A
+plotter. There are two options which can be set: the number of pens
+and `eject`, which tells the plotter to eject a page when done. The
+default is to use 6 pens and not to eject the page when done.
-
-File: gnuplot.info, Node: title, Prev: timefmt, Up: set-show, Next: tmargin
+ The international character sets ISO-8859-1 and CP850 are recognized
+via `set encoding iso_8859_1` or `set encoding cp850` (see *note
+encoding:: for details).
- The `set title` command produces a plot title that is centered at the top of
- the plot. `set title` is a special case of `set label` (*note label:: ).
+ Syntax:
+ set terminal hpgl {<number_of_pens>} {eject}
- Syntax:
- set title {"<title-text>"} {<xoff>}{,<yoff>} {"<font>,{<size>}"}
- show title
+ The selection
- Specifying constants <xoff> or <yoff> as optional offsets for the title will
- move the title <xoff> or <yoff> character screen coordinates (not graph
- coordinates). For example, "`set title ,-1`" will change only the y offset
- of the title, moving the title down by roughly the height of one character.
+ set terminal hpgl 8 eject
- <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.
+ is equivalent to the previous `hp7550` terminal, and the selection
- `set title` with no parameters clears the title.
+ set terminal hpgl 4
- See `syntax` (*note Syntax:: ) for details about the processing of backslash
- sequences and the distinction between single- and double-quotes.
+ is equivalent to the previous `hp7580b` terminal.
+ The `pcl5` driver supports plotters such as the Hewlett-Packard
+Designjet 750C, the Hewlett-Packard Laserjet III, and the
+Hewlett-Packard Laserjet IV. It actually uses HPGL-2, but there is a
+name conflict among the terminal devices. It has several options which
+must be specified in the order indicated below:
-
-File: gnuplot.info, Node: tmargin, Prev: title, Up: set-show, Next: trange
+ Syntax:
+ set terminal pcl5 {mode <mode>} {<plotsize>}
+ {{color {<number_of_pens>}} | monochrome} {solid | dashed}
+ {font <font>} {size <fontsize>} {pspoints | nopspoints}
- The command `set tmargin` sets the size of the top margin. Please see
- `set margin` (*note margin:: ) for details.
+ <mode> is `landscape` or `portrait`. <plotsize> is the physical
+plotting size of the plot, which is one of the following: `letter` for
+standard (8 1/2" X 11") displays, `legal` for (8 1/2" X 14") displays,
+`noextended` for (36" X 48") displays (a letter size ratio) or,
+`extended` for (36" X 55") displays (almost a legal size ratio).
+`color` is for multi-pen (i.e. color) plots, and <number_of_pens> is
+the number of pens (i.e. colors) used in color plots. `monochrome` is
+for one (e.g. black) pen plots. `solid` draws all lines as solid lines,
+or `dashed` will draw lines with different dashed and dotted line
+patterns. <font> is `stick`, `univers`, `cg_times`, `zapf_dingbats`,
+`antique_olive`, `arial`, `courier`, `garamond_antigua`,
+`letter_gothic`, `cg_omega`, `albertus`, `times_new_roman`,
+`clarendon`, `coronet`, `marigold`, `truetype_symbols`, or `wingdings`.
+<fontsize> is the font size in points. The point type selection can be
+the standard default set by specifying `nopspoints`, or the same set of
+point types found in the postscript terminal by specifying `pspoints`.
+ Note that built-in support of some of these options is printer device
+dependent. For instance, all the fonts are supposedly supported by the
+HP Laserjet IV, but only a few (e.g. univers, stick) may be supported
+by the HP Laserjet III and the Designjet 750C. Also, color obviously
+won't work on the the laserjets since they are monochrome devices.
-
-File: gnuplot.info, Node: trange, Prev: tmargin, Up: set-show, Next: urange
+ Defaults: landscape, noextended, color (6 pens), solid, univers, 12
+point,
+ and nopspoints.
- The `set trange` command sets the parametric range used to compute x and y
- values when in parametric or polar modes. Please see `set xrange`
- (*note xrange:: ) for details.
+ With `pcl5` international characters are handled by the printer; you
+just put the appropriate 8-bit character codes into the text strings.
+You don't need to bother with *note encoding::.
+ HPGL graphics can be imported by many software packages."
-
-File: gnuplot.info, Node: urange, Prev: trange, Up: set-show, Next: variables
+
+File: gnuplot.info, Node: hpljii, Next: hppj, Prev: hpgl, Up:
complete_list_of_terminals
- The `set urange` and `set vrange` (*note vrange:: ) commands set the
- parametric ranges used to compute x, y, and z values when in `splot`
- (*note splot:: ) parametric mode. Please see `set xrange` (*note xrange:: )
- for details.
+4.1.0.30 hpljii
+...............
+The `hpljii` terminal driver supports the HP Laserjet Series II
+printer. The `hpdj` driver supports the HP DeskJet 500 printer. These
+drivers allow a choice of resolutions.
-
-File: gnuplot.info, Node: variables, Prev: urange, Up: set-show, Next: version
+ Syntax:
+ set terminal hpljii | hpdj {<res>}
- The `show variables` command lists all user-defined variables and their
- values.
+ where `res` may be 75, 100, 150 or 300 dots per inch; the default is
+75. Rasterization at the higher resolutions may require a large amount
+of memory.
- Syntax:
- show variables
+ The `hp500c` terminal is similar to `hpdj`; `hp500c` additionally
+supports color and compression."
-
-File: gnuplot.info, Node: version, Prev: variables, Up: set-show, Next: view
+
+File: gnuplot.info, Node: hppj, Next: imagen, Prev: hpljii, Up:
complete_list_of_terminals
- The `show version` command lists the version of gnuplot being run, its last
- modification date, the copyright holders, and email addresses for the FAQ,
- the info-gnuplot mailing list, and reporting bugs--in short, the information
- listed on the screen when the program is invoked interactively.
+4.1.0.31 hppj
+.............
- Syntax:
- show version {long}
+The `hppj` terminal driver supports the HP PaintJet and HP3630
+printers. The only option is the choice of font.
- When the `long` option is given, it also lists the operating system, the
- compilation options used when `gnuplot` (*note gnuplot:: ) was installed, the
- location of the help file, and (again) the useful email addresses.
+ Syntax:
+ set terminal hppj {FNT5X9 | FNT9X17 | FNT13X25}
+ with the middle-sized font (FNT9X17) being the default."
-
-File: gnuplot.info, Node: view, Prev: version, Up: set-show, Next: vrange
+
+File: gnuplot.info, Node: imagen, Next: kyo, Prev: hppj, Up:
complete_list_of_terminals
- The `set view` command sets the viewing angle for `splot`s
- (*note splot:: ). It controls how the 3-d coordinates of the plot are mapped
- into the 2-d screen space. It provides controls for both rotation and scaling
- of the plotted data, but supports orthographic projections only.
+4.1.0.32 imagen
+...............
- Syntax:
- set view <rot_x> {,{<rot_z>}{,{<scale>}{,<scale_z>}}}
- show view
+The `imagen` terminal driver supports Imagen laser printers. It is
+capable of placing multiple graphs on a single page.
- where <rot_x> and <rot_z> control the rotation angles (in degrees) in a
- virtual 3-d coordinate system aligned with the screen such that initially
- (that is, before the rotations are performed) the screen horizontal axis is
- x, screen vertical axis is y, and the axis perpendicular to the screen is z.
- The first rotation applied is <rot_x> around the x axis. The second rotation
- applied is <rot_z> around the new z axis.
+ Syntax:
+ set terminal imagen {<fontsize>} {portrait | landscape}
+ {[<horiz>,<vert>]}
- <rot_x> is bounded to the [0:180] range with a default of 60 degrees, while
- <rot_z> is bounded to the [0:360] range with a default of 30 degrees.
- <scale> controls the scaling of the entire `splot`, while <scale_z> scales
- the z axis only. Both scales default to 1.0.
+ where `fontsize` defaults to 12 points and the layout defaults to
+`landscape`. `<horiz>` and `<vert>` are the number of graphs in the
+horizontal and vertical directions; these default to unity.
- Examples:
- set view 60, 30, 1, 1
- set view ,,0.5
+ Example:
+ set terminal imagen portrait [2,3]
- The first sets all the four default values. The second changes only scale,
- to 0.5.
+ puts six graphs on the page in three rows of two in portrait
+orientation."
- See also `set ticslevel` (*note ticslevel:: ).
+
+File: gnuplot.info, Node: kyo, Next: latex, Prev: imagen, Up:
complete_list_of_terminals
+4.1.0.33 kyo
+............
-
-File: gnuplot.info, Node: vrange, Prev: view, Up: set-show, Next: x2data
+The `kyo` and `prescribe` terminal drivers support the Kyocera laser
+printer. The only difference between the two is that `kyo` uses
+"Helvetica" whereas `prescribe` uses "Courier". There are no options."
- The `set urange` (*note urange:: ) and set vrange commands set the parametric
- ranges used to compute x, y, and z values when in `splot` (*note splot:: )
- parametric mode. Please see `set xrange` (*note xrange:: ) for details.
+
+File: gnuplot.info, Node: latex, Next: linux, Prev: kyo, Up:
complete_list_of_terminals
+4.1.0.34 latex
+..............
-
-File: gnuplot.info, Node: x2data, Prev: vrange, Up: set-show, Next: x2dtics
+Syntax:
+ set terminal {latex | emtex} {default | {courier|roman}
{<fontsize>}}
+ {size <XX>{unit}, <YY>{unit}} {rotate | norotate}
- The `set x2data` command sets data on the x2 (top) axis to timeseries
- (dates/times). Please see `set xdata` (*note xdata:: ).
+ 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 fontsize.
+Unless your driver is capable of building fonts at any size (e.g.
+dvips), stick to the standard 10, 11 and 12 point sizes.
+ METAFONT users beware: METAFONT does not like odd sizes.
-
-File: gnuplot.info, Node: x2dtics, Prev: x2data, Up: set-show, Next: x2label
+ All drivers for LaTeX offer a special way of controlling text
+positioning: If any text string begins with '{', you also need to
+include a '}' at the end of the text, and the whole text will be
+centered both horizontally and vertically. If the text string begins
+with '[', you need to follow this with a position specification (up to
+two out of t,b,l,r), ']{', the text itself, and finally '}'. The text
+itself may be anything LaTeX can typeset as an LR-box. '\\rule{}{}'s
+may help for best positioning.
- The `set x2dtics` command changes tics on the x2 (top) axis to days of the
- week. Please see `set xdtics` (*note xdtics:: ) for details.
+ Points, among other things, are drawn using the LaTeX commands
+"\\Diamond" and "\\Box". These commands no longer belong to the
+LaTeX2e core; they are included in the latexsym package, which is part
+of the base distribution and thus part of any LaTeX 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 *note
+size:: 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).
-
-File: gnuplot.info, Node: x2label, Prev: x2dtics, Up: set-show, Next: x2mtics
+ If 'rotate' is 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.
- The `set x2label` command sets the label for the x2 (top) axis. Please see
- `set xlabel` (*note xlabel:: ).
+ Examples: About label positioning: Use gnuplot defaults (mostly
+sensible, but sometimes not really best):
+ set title '\\LaTeX\\ -- $ \\gamma $'
+ Force centering both horizontally and vertically:
+ set label '{\\LaTeX\\ -- $ \\gamma $}' at 0,0
-
-File: gnuplot.info, Node: x2mtics, Prev: x2label, Up: set-show, Next: x2range
+ Specify own positioning (top here):
+ set xlabel '[t]{\\LaTeX\\ -- $ \\gamma $}'
- The `set x2mtics` command changes tics on the x2 (top) axis to months of the
- year. Please see `set xmtics` (*note xmtics:: ) for details.
+ The other label - account for long ticlabels:
+ set ylabel '[r]{\\LaTeX\\ -- $ \\gamma $\\rule{7mm}{0pt}}'"
+
+File: gnuplot.info, Node: linux, Next: lua, Prev: latex, Up:
complete_list_of_terminals
-
-File: gnuplot.info, Node: x2range, Prev: x2mtics, Up: set-show, Next: x2tics
+4.1.0.35 linux
+..............
- The `set x2range` command sets the horizontal range that will be displayed on
- the x2 (top) axis. Please see `set xrange` (*note xrange:: ) for details.
+The `linux` driver has no additional options to specify. It looks at
+the environment variable GSVGAMODE for the default mode; if not set, it
+uses 1024x768x256 as default mode or, if that is not possible,
+640x480x16 (standard VGA)."
+
+File: gnuplot.info, Node: lua, Next: macintosh, Prev: linux, Up:
complete_list_of_terminals
-
-File: gnuplot.info, Node: x2tics, Prev: x2range, Up: set-show, Next: x2zeroaxis
+4.1.0.36 lua
+............
- The `set x2tics` command controls major (labelled) tics on the x2 (top) axis.
- Please see `set xtics` (*note xtics:: ) for details.
+The `lua` generic terminal driver works in conjunction with an external
+Lua script to create a target-specific plot file. Currently the only
+supported target is TikZ -> pdflatex.
+ Information about Lua is available at http://www.lua.org .
-
-File: gnuplot.info, Node: x2zeroaxis, Prev: x2tics, Up: set-show, Next: xdata
+ Syntax:
+ set terminal lua <target name> | "<file name>"
+ {<script_args> ...}
+ {help}
- The `set x2zeroaxis` command draws a line at the origin of the x2 (top) axis
- (y2 = 0). For details, please see
- `set zeroaxis` (*note zeroaxis:: ).
+ A 'target name' or 'file name' (in quotes) for a script is mandatory.
+If a 'target name' for the script is given, the terminal will look for
+"gnuplot-<target name>.lua" in the local directory and on failure in
+the environmental variable 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 itself
+to print additional help on options and choices for the script.
-
-File: gnuplot.info, Node: xdata, Prev: x2zeroaxis, Up: set-show, Next: xdtics
+
+File: gnuplot.info, Node: macintosh, Next: mf, Prev: lua, Up:
complete_list_of_terminals
- This command sets the datatype on the x axis to time/date. A similar command
- does the same thing for each of the other axes.
+4.1.0.37 macintosh
+..................
- Syntax:
- set xdata {time}
- show xdata
+Syntax:
+ set terminal macintosh {singlewin | multiwin} {vertical | novertical}
+ {size <width>, <height> | default}
- The same syntax applies to `ydata` (*note ydata:: ), `zdata`
- (*note zdata:: ), `x2data` (*note x2data:: ) and `y2data`
- (*note y2data:: ).
+ 'singlewin' limits the output to a single window and is useful for
+animations. 'multiwin' allows multiple windows. 'vertical' is only
+valid under the gx option. With this option, rotated text will be drawn
+vertically. novertical turns this option off. size <width>, <height>
+overrides the graph size set in the preferences dialog until it is
+cleared with either 'set term mac size default' or 'set term mac
+default'.
- The `time` option signals that the datatype is indeed time/date. If the
- option is not specified, the datatype reverts to normal.
+ 'set term mac size default' sets the window size settings to those
+set in the preferences dialog.
- See `set timefmt` (*note timefmt:: ) to tell `gnuplot` (*note gnuplot:: ) how
- to read date or time data. The time/date is converted to seconds from start
- of the century. There is currently only one timefmt, which implies that all
- the time/date columns must confirm to this format. Specification of ranges
- should be supplied as quoted strings according to this format to avoid
- interpretation of the time/date as an expression.
+ 'set term mac default' sets all options to their default values.
+Default values: nogx, multiwin, novertical.
- The function 'strftime' (type "man strftime" on unix to look it up) is used
- to print tic-mark labels. `gnuplot` tries to figure out a reasonable format
- for this unless the `set format x "string"` has supplied something that does
- not look like a decimal format (more than one '%' or neither %f nor %g).
+ If you generate graphs under the multiwin option and then switch to
+singlewin, the next plot command will cause one more window to be
+created. This new window will be reused as long as singlewin is in
+effect. If you switch back to multiwin, generate some graphs, and then
+switch to singlewin again, the orginal 'singlewin' window will be
+resused if it is still open. Otherwise a new 'singlewin' window will be
+created. The 'singlewin' window is not numbered."
- See also `Time/date` for more information.
+
+File: gnuplot.info, Node: mf, Next: mp, Prev: macintosh, Up:
complete_list_of_terminals
+
+4.1.0.38 mf
+...........
+
+The `mf` terminal driver creates an input file to the METAFONT program.
+Thus a figure may be used in the TeX document in the same way as is a
+character.
+
+ To use a picture in a document, the METAFONT program must be run
+with the output file from `gnuplot` as input. Thus, the user needs a
+basic knowledge of the font creating process and the procedure for
+including a new font in a document. However, if the METAFONT program
+is set up properly at the local site, an unexperienced user could
+perform the operation without much trouble.
+
+ The text support is based on a METAFONT character set. Currently the
+Computer Modern Roman font set is input, but the user is in principal
+free to choose whatever fonts he or she needs. The METAFONT source
+files for the chosen font must be available. Each character is stored
+in a separate picture variable in METAFONT. These variables may be
+manipulated (rotated, scaled etc.) when characters are needed. The
+drawback is the interpretation time in the METAFONT program. On some
+machines (i.e. PC) the limited amount of memory available may also
+cause problems if too many pictures are stored.
+
+ The `mf` terminal has no options.
+
+-- METAFONT INSTRUCTIONS --
+
+ - 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 `set size 0.5,0.5` or whatever fraction of the default size
+you want to have.
+
+ - Quit `gnuplot`.
+
+ - Generate a TFM and GF file by running METAFONT on the output of
+`gnuplot`. Since the picture is quite large (5*3 in), you will have to
+use a version of METAFONT that has a value of at least 150000 for
+memmax. On Unix systems these are conventionally installed under the
+name bigmf. For the following assume that the command virmf stands for
+a big version of METAFONT. For example:
+
+ - Invoke METAFONT:
+ virmf '&plain'
+
+ - Select the output device: At the METAFONT prompt ('*') type:
+ \\mode:=CanonCX; % or whatever printer you use
+
+ - Optionally select a magnification:
+ mag:=1; % or whatever you wish
+
+ - Input the `gnuplot`-file:
+ input myfigures.mf
+
+ On a typical Unix machine there will usually be a script called "mf"
+that executes virmf '&plain', so you probably can substitute mf for
+virmf &plain. This will generate two files: mfput.tfm and mfput.$$$gf
+(where $$$ indicates the resolution of your device). The above can be
+conveniently achieved by typing everything on the command line, e.g.:
+virmf '&plain' '\\mode:=CanonCX; mag:=1; input myfigures.mf' In this
+case the output files will be named myfigures.tfm and myfigures.300gf.
+
+ - Generate a PK file from the GF file using gftopk:
+ gftopk myfigures.300gf myfigures.300pk
+
+ The name of the output file for gftopk depends on the DVI driver you
+use. Ask your local TeX administrator about the naming conventions.
+Next, either install the TFM and PK files in the appropriate
+directories, or set your environment variables properly. Usually this
+involves setting TEXFONTS to include the current directory and doing
+the same thing for the environment variable that your DVI driver uses
+(no standard name here...). This step is 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 minimal time to
+place them, and the documents you make change more often than the
+pictures do. It also saves a lot of TeX memory. One last advantage of
+using the METAFONT driver is that the DVI file really remains device
+independent, because no \\special commands are used as in the eepic and
+tpic drivers."
-
-File: gnuplot.info, Node: xdtics, Prev: xdata, Up: set-show, Next: xlabel
+
+File: gnuplot.info, Node: mp, Next: mif, Prev: mf, Up:
complete_list_of_terminals
+
+4.1.0.39 mp
+...........
+
+The `mp` driver produces output intended to be input to the Metapost
+program. Running Metapost on the file creates EPS files containing the
+plots. By default, Metapost passes all text through TeX. This has the
+advantage of allowing essentially any TeX symbols in titles and labels.
+
+ Syntax:
+ set term mp {color | colour | monochrome}
+ {solid | dashed}
+ {notex | tex | latex}
+ {magnification <magsize>}
+ {psnfss | psnfss-version7 | nopsnfss}
+ {prologues <value>}
+ {a4paper}
+ {amstex}
+ {"<fontname> {,<fontsize>}"}
+
+ The option `color` causes lines to be drawn in color (on a printer
+or display that supports it), `monochrome` (or nothing) selects black
+lines. The option `solid` draws solid lines, while `dashed` (or
+nothing) selects lines with different patterns of dashes. If `solid`
+is selected but `color` is not, nearly all lines will be identical.
+This may occasionally be useful, so it is allowed.
+
+ The option `notex` bypasses 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
+`$` and `%` that require special handling in TeX.
+
+ The option `tex` sets the terminal to output its text for TeX to
+process.
+
+ The option `latex` sets the terminal to output its text for
+processing by LaTeX. This allows things like \\frac for fractions which
+LaTeX knows about but TeX does not. Note that you must set the
+environment variable TEX to the name of your LaTeX executable (normally
+latex) if you use this option or use `mpost -tex=<name of LaTeX
+executable> ...`. Otherwise metapost will try and use TeX to process
+the text and it won't work.
+
+ Changing font sizes in TeX has no effect on the size of mathematics,
+and there is no foolproof way to make such a change, except by globally
+setting a magnification factor. This is the purpose of the
+`magnification` option. It must be followed by a scaling factor. All
+text (NOT the graphs) will be scaled by this factor. Use this if you
+have math that you want at some size other than the default 10pt.
+Unfortunately, all math will be the same size, but see the discussion
+below on editing the MP output. `mag` will also work under `notex` but
+there seems no point in using it as the font size option (below) works
+as well.
+
+ The option `psnfss` uses postscript fonts in combination with LaTeX.
+Since this option only makes sense, if LaTeX is being used, the `latex`
+option is selected automatically. This option includes the following
+packages for LaTeX: inputenc(latin1), fontenc(T1), mathptmx,
+helvet(scaled=09.2), courier, latexsym and textcomp.
+
+ The option `psnfss-version7` uses also postscript fonts in LaTeX
+(option `latex` is also automatically selected), but uses the following
+packages with LaTeX: inputenc(latin1), fontenc(T1), times, mathptmx,
+helvet and courier.
+
+ The option `nopsnfss` is the default and uses the standard font
+(cmr10 if not otherwise specified).
+
+ The option `prologues` takes a value as an additional argument and
+adds the line `prologues:=<value>` to the metapost file. If a value of
+`2` is specified metapost uses postscript fonts to generate the
+eps-file, so that the result can be viewed using e.g. ghostscript.
+Normally the output of metapost uses TeX fonts and therefore has to be
+included in a (La)TeX file before you can look at it.
+
+ The option `noprologues` is the default. No additional line
+specifying the prologue will be added.
+
+ The option `a4paper` adds a `[a4paper]` to the documentclass.
+Normally letter paper is used (default). Since this option is only used
+in case of LaTeX, the `latex` option is selected automatically.
+
+ The option `amstex` automatically selects the `latex` option and
+includes 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 `set label` or *note title::. A name recognized by
+TeX (a TFM file exists) must be used. The default is "cmr10" unless
+`notex` is selected, then it is "pcrr8r" (Courier). Even under
+`notex`, a TFM file is needed by Metapost. The file `pcrr8r.tfm` is the
+name given to Courier in LaTeX's psnfss package. If you change the
+font from the `notex` default, choose a font that matches the ASCII
+encoding at least in the range 32-126. `cmtt10` almost works, but it
+has a nonblank character in position 32 (space).
+
+ The size can be any number between 5.0 and 99.99. If it is omitted,
+10.0 is used. It is advisable to use `magstep` sizes: 10 times an
+integer or half-integer power of 1.2, rounded to two decimals, because
+those are the most available sizes of fonts in TeX systems.
+
+ All the options are optional. If font information is given, it must
+be at the end, with size (if present) last. The size is needed to
+select a size for the font, even if the font name includes size
+information. For example, `set term mp "cmtt12"` selects cmtt12 shrunk
+to the default size 10. This is probably not what you want or you
+would have used cmtt10.
+
+ The following common ascii characters need special treatment in TeX:
+ $, &, #, %, _; |, <, >; ^, ~, \\, {, and }
+
+ The five characters $, #, &, _, and % can simply be escaped, e.g.,
+`\\$`. The three characters <, >, and | can be wrapped in math mode,
+e.g., `$<$`. The remainder require some TeX work-arounds. Any good
+book on TeX will give some guidance.
+
+ If you type your labels inside double quotes, backslashes in TeX
+code need to be escaped (doubled). Using single quotes will avoid
+having to do this, but then you cannot use `\\n` for line breaks. As
+of this writing, version 3.7 of gnuplot processes titles given in a
+`plot` command 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 different
+from most other document preparation programs. If the picture is
+included in a LaTeX document using the graphics package, or in a
+plainTeX document via epsf.tex, and then 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.
+
+-- METAPOST INSTRUCTIONS --
+
+ - Set your terminal to Metapost, e.g.:
+ set terminal mp mono "cmtt12" 12
+
+ - Select an output-file, e.g.:
+ set output "figure.mp"
+
+ - Create your pictures. Each plot (or multiplot group) will
+generate a separate Metapost beginfig...endfig group. Its default size
+will be 5 by 3 inches. You can change the size by saying `set size
+0.5,0.5` or whatever fraction of the default size you want to have.
+
+ - Quit gnuplot.
+
+ - Generate EPS files by running Metapost on the output of gnuplot:
+ mpost figure.mp OR mp figure.mp
+
+ The name of the Metapost program depends on the system, typically
+`mpost` for a Unix machine and `mp` on many others. Metapost will
+generate one EPS file for each picture.
+
+ - To include your pictures in your document you can use the graphics
+package in LaTeX or epsf.tex in plainTeX:
+ \\usepackage{graphics} % LaTeX
+ \\input epsf.tex % plainTeX
+
+ If you use a driver other than dvips for converting TeX DVI output
+to PS, you may need to add the 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 knowledgeable in the Metapost
+language, the default line types and colors can be changed by editing
+the arrays `lt[]` and `col[]`. The choice of solid vs dashed lines,
+and color vs black lines can be change by changing the values assigned
+to the booleans `dashedlines` and `colorlines`. If the default `tex`
+option was in effect, global changes to the text of labels can be
+achieved by editing the `vebatimtex...etex` block. 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."
- The `set xdtics` commands converts the x-axis tic marks to days of the week
- where 0=Sun and 6=Sat. Overflows are converted modulo 7 to dates. `set
- noxdtics` returns the labels to their default values. Similar commands do
- the same things for the other axes.
+
+File: gnuplot.info, Node: mif, Next: next, Prev: mp, Up:
complete_list_of_terminals
- Syntax:
- set xdtics
- set noxdtics
- show xdtics
+4.1.0.40 mif
+............
- The same syntax applies to `ydtics` (*note ydtics:: ), `zdtics`
- (*note zdtics:: ), `x2dtics` (*note x2dtics:: ) and `y2dtics`
- (*note y2dtics:: ).
+The `mif` terminal driver produces Frame Maker MIF format version 3.00.
+It plots in MIF Frames with the size 15*10 cm, and plot primitives with
+the same pen will be grouped in the same MIF group. Plot primitives in
+a `gnuplot` page will be plotted in a MIF Frame, and several MIF Frames
+are collected in one large MIF Frame. The MIF font used for text is
+"Times".
- See also the `set format` (*note format:: ) command.
+ Several options may be set in the MIF 3.00 driver.
+ Syntax:
+ set terminal mif {color | colour | monochrome} {polyline | vectors}
+ {help | ?}
-
-File: gnuplot.info, Node: xlabel, Prev: xdtics, Up: set-show, Next: xmtics
+ `colour` plots lines with line types >= 0 in colour (MIF sep. 2-7)
+and `monochrome` plots all line types in black (MIF sep. 0).
+`polyline` plots curves as continuous curves and *note vectors:: plots
+curves as collections of vectors. *note help:: and `?` print online
+help on standard error output--both print a short description of the
+usage; *note help:: also lists the options.
- The `set xlabel` command sets the x axis label. Similar commands set labels
- on the other axes.
+ Examples:
+ set term mif colour polylines # defaults
+ set term mif # defaults
+ set term mif vectors
+ set term mif help"
- Syntax:
- set xlabel {"<label>"} {<xoff>}{,<yoff>} {"<font>{,<size>}"}
- show xlabel
+
+File: gnuplot.info, Node: next, Next: Openstep_(next), Prev: mif, Up:
complete_list_of_terminals
- The same syntax applies to `x2label` (*note x2label:: ), `ylabel`
- (*note ylabel:: ), `y2label` (*note y2label:: ) and `zlabel`
- (*note zlabel:: ).
+4.1.0.41 next
+.............
- Specifying the constants <xoff> or <yoff> as optional offsets for a label
- will move it <xoff> or <yoff> character widths or heights. For example,
- "` set xlabel -1`" will change only the x offset of the xlabel, moving the
- label roughly one character width to the left. The size of a character
- depends on both the font and the terminal.
+Several options may be set in the next driver.
- <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.
+ Syntax:
+ set terminal next {<mode>} {<type> } {<color>} {<dashed>}
+ {"<fontname>"} {<fontsize>} title {"<newtitle>"}
- To clear a label, put no options on the command line, e.g., "`set y2label`".
+ where <mode> is `default`, which sets all options to their defaults;
+<type> is either `new` or `old`, where `old` invokes the old single
+window; <color> is either `color` or `monochrome`; <dashed> is either
+`solid` or `dashed`; "<fontname>" is the name of a valid PostScript
+font; <fontsize> is the size of the font in PostScript points; and
+<title> is the title for the GnuTerm window. Defaults are `new`,
+`monochrome`, `dashed`, "Helvetica", 14pt.
- The default positions of the axis labels are as follows:
+ Examples:
+ set term next default
+ set term next 22
+ set term next color "Times-Roman" 14
+ set term next color "Helvetica" 12 title "MyPlot"
+ set term next old
- xlabel: The x-axis label is centered below the bottom axis.
+ Pointsizes may be changed with `set linestyle`."
- ylabel: The position of the y-axis label depends on the terminal, and can be
- one of the following three positions:
+
+File: gnuplot.info, Node: Openstep_(next), Next: pbm, Prev: next, Up:
complete_list_of_terminals
- 1. Horizontal text flushed left at the top left of the plot. Terminals that
- cannot rotate text will probably use this method. If `set x2tics`
- (*note x2tics:: ) is also in use, the ylabel may overwrite the left-most x2tic
- label. This may be remedied by adjusting the ylabel position or the left
- margin.
+4.1.0.42 Openstep (next)
+........................
- 2. Vertical text centered vertically at the left of the plot. Terminals
- that can rotate text will probably use this method.
+/*
- 3. Horizontal text centered vertically at the left of the plot. The EEPIC,
- LaTeX and TPIC drivers use this method. The user must insert line breaks
- using \\ to prevent the ylabel from overwriting the plot. To produce a
- vertical row of characters, add \\ between every printing character (but this
- is ugly).
+ */ Several options may be set in the openstep (next) driver.
- zlabel: The z-axis label is centered along the z axis and placed in the space
- above the grid level.
+ Syntax:
+ set terminal openstep {<mode>} {<type> } {<color>} {<dashed>}
+ {"<fontname>"} {<fontsize>} title {"<newtitle>"}
- 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.
+ where <mode> is `default`, which sets all options to their defaults;
+<type> is either `new` or `old`, where `old` invokes the old single
+window; <color> is either `color` or `monochrome`; <dashed> is either
+`solid` or `dashed`; "<fontname>" is the name of a valid PostScript
+font; <fontsize> is the size of the font in PostScript points; and
+<title> is the title for the GnuTerm window. Defaults are `new`,
+`monochrome`, `dashed`, "Helvetica", 14pt.
- x2label: The x2-axis label is placed above the top axis but below the plot
- title. It is also possible to create an x2-axis label by using new-line
- characters to make a multi-line plot title, e.g.,
+ Examples:
+ set term openstep default
+ set term openstep 22
+ set term openstep color "Times-Roman" 14
+ set term openstep color "Helvetica" 12 title "MyPlot"
+ set term openstep old
- set title "This is the title\n\nThis is the x2label"
+ Pointsizes may be changed with `set linestyle`."
- Note that double quotes must be used. The same font will be used for both
- lines, of course.
+
+File: gnuplot.info, Node: pbm, Next: dospc, Prev: Openstep_(next), Up:
complete_list_of_terminals
- If you are not satisfied with the default position of an axis label, use `set
- label` instead--that command gives you much more control over where text is
- placed.
+4.1.0.43 pbm
+............
- Please see `set syntax` for further information about backslash processing
- and the difference between single- and double-quoted strings.
+Syntax:
+ set terminal pbm {<fontsize>} {<mode>} {size <x>,<y>}
-
-File: gnuplot.info, Node: xmtics, Prev: xlabel, Up: set-show, Next: xrange
+ where <fontsize> is `small`, `medium`, or `large` and <mode> is
+`monochrome`, `gray` or `color`. 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 `set xmtics` commands 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 `set noxmtics`. Similar
- commands perform the same duties for the other axes.
+ The output of the `pbm` driver depends upon <mode>: `monochrome`
+produces a portable bitmap (one bit per pixel), `gray` a portable
+graymap (three bits per pixel) and `color` a portable pixmap (color,
+four bits per pixel).
- Syntax:
- set xmtics
- set noxmtics
- show xmtics
+ 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/.
- The same syntax applies to `x2mtics` (*note x2mtics:: ), `ymtics`
- (*note ymtics:: ), `y2mtics` (*note y2mtics:: ), and `zmtics`
- (*note zmtics:: ).
+ Examples:
+ set terminal pbm small monochrome # defaults
+ set terminal pbm color medium size 800,600
+ set output '| pnmrotate 45 | pnmtopng > tilted.png' # uses NETPBM"
- See also the `set format` (*note format:: ) command.
+
+File: gnuplot.info, Node: dospc, Next: pdf, Prev: pbm, Up:
complete_list_of_terminals
+4.1.0.44 dospc
+..............
-
-File: gnuplot.info, Node: xrange, Prev: xmtics, Up: set-show, Next: xtics
+The `dospc` terminal driver supports PCs with arbitrary graphics boards,
+which will be automatically detected. It should be used only if you are
+not using the gcc or Zortec C/C++ compilers."
- The `set xrange` command sets the horizontal range that will be displayed.
- A similar command exists for each of the other axes, as well as for the
- polar radius r and the parametric variables t, u, and v.
+
+File: gnuplot.info, Node: pdf, Next: pstricks, Prev: dospc, Up:
complete_list_of_terminals
- Syntax:
- set xrange [{{<min>}:{<max>}}] {{no}reverse} {{no}writeback}
- show xrange
-
- where <min> and <max> terms are constants, expressions or an asterisk to set
- autoscaling. If the data are time/date, you must give the range as a quoted
- string according to the `set timefmt` (*note timefmt:: ) format. Any value
- omitted will not be changed.
-
- The same syntax applies to `yrange` (*note yrange:: ), `zrange`
- (*note zrange:: ), `x2range` (*note x2range:: ), `y2range`
- (*note y2range:: ), `rrange` (*note rrange:: ), `trange` (*note trange:: ),
- `urange` (*note urange:: ) and `vrange` (*note vrange:: ).
-
- The `reverse` option reverses the direction of the axis, e.g., `set xrange
- [0:1] reverse` will produce an axis with 1 on the left and 0 on the right.
- This is identical to the axis produced by `set xrange [1:0]`, of course.
- `reverse` is intended primarily for use with `autoscale`
- (*note autoscale:: ).
-
- The `writeback` option essentially saves the range found by `autoscale` in
- the buffers that would be filled by `set xrange`. This is useful if you wish
- to plot several functions together but have the range determined by only
- some of them. The `writeback` operation is performed during the `plot`
- (*note plot:: ) execution, so it must be specified before that command. For
- example,
-
- set xrange [-10:10]
- set yrange [] writeback
- plot sin(x)
- set noautoscale y
- 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 `show yrange` after each command
- in the above example should help you understand what is going on.
-
- In 2-d, `xrange` and `yrange` determine the extent of the axes, `trange`
- determines the range of the parametric variable in parametric mode or the
- range of the angle in polar mode. Similarly in parametric 3-d, `xrange`,
- `yrange`, and `zrange` govern the axes and `urange` and `vrange` govern the
- parametric variables.
-
- In polar mode, `rrange` determines the radial range plotted. <rmin> acts as
- an additive constant to the radius, whereas <rmax> acts as a clip to the
- radius---no point with radius greater than <rmax> will be plotted. `xrange`
- and `yrange` are affected---the ranges can be set as if the graph was of
- r(t)-rmin, with rmin added to all the labels.
-
- Any range may be partially or totally autoscaled, although it may not make
- sense to autoscale a parametric variable unless it is plotted with data.
-
- Ranges may also be specified on the `plot` command line. A range given on
- the plot line will be used for that single `plot` command; a range given by
- a `set` (*note set-show:: ) command will be used for all subsequent plots that
- do not specify their own ranges. The same holds true for `splot`
- (*note splot:: ).
-
- 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 [*:]
-
-
-File: gnuplot.info, Node: xtics, Prev: xrange, Up: set-show, Next: xzeroaxis
-
- Fine control of the major (labelled) tics on the x axis is possible with the
- `set xtics` command. The tics may be turned off with the `set noxtics`
- command, and may be turned on (the default state) with `set xtics`. Similar
- commands control the major tics on the y, z, x2 and y2 axes.
-
- Syntax:
- set xtics {axis | border} {{no}mirror} {{no}rotate}
- { autofreq
- | <incr>
- | <start>, <incr> {,<end>}
- | ({"<label>"} <pos> {,{"<label>"} <pos>}...) }
- set noxtics
- show xtics
-
- The same syntax applies to `ytics` (*note ytics:: ), `ztics`
- (*note ztics:: ), `x2tics` (*note x2tics:: ) and `y2tics`
- (*note y2tics:: ).
-
- `axis` or `border` (*note border:: ) tells `gnuplot` (*note gnuplot:: ) to
- put the tics (both the tics themselves and the accompanying labels) along the
- axis or the border, respectively. `mirror` tells it to put unlabelled tics at
- the same positions on the opposite border. `nomirror` does what you think it
- does. `rotate` (*note rotate:: ) asks `gnuplot` to rotate the text through 90
- degrees, if the underlying terminal driver supports text rotation. `norotate`
- cancels this. The defaults are `border mirror norotate` for tics on the x and
- y axes, and `border nomirror norotate` for tics on the x2 and y2 axes. For
- the z axis, the the `{axis | border}` option is not available and the default
- is `nomirror`. If you do want to mirror the z-axis tics, you might want to
- create a bit more room for them with `set border`.
-
- `set xtics` with no options restores the default border if xtics are not
- being displayed; otherwise it has no effect. Any previously specified
- tic frequency or position {and labels} are retained.
-
- Positions of the tics are calculated automatically by default or if the
- `autofreq` option is given; otherwise they may be specified in either of
- two forms:
+4.1.0.45 pdf
+............
- The implicit <start>, <incr>, <end> form specifies that a series of tics will
- be plotted on the axis between the values <start> and <end> with an increment
- of <incr>. If <end> is not given, it is assumed to be infinity. The
- increment may be negative. If neither <start> nor <end> is given, <start> is
- assumed to be negative infinity, <end> is assumed to be positive infinity,
- and the tics will be drawn at integral multiples of <step>. If the axis is
- logarithmic, the increment will be used as a multiplicative factor.
+This terminal produces files in the Adobe Portable Document Format
+(PDF), useable for printing or display with tools like Acrobat Reader
- Examples:
+ Syntax:
+ set terminal pdf {monochrome|color|colour}
+ {{no}enhanced}
+ {fname "<font>"} {fsize <fontsize>}
+ {font "<fontname>{,<fontsize>}"} {fontscale
<scale>}
+ {linewidth <lw>} {rounded|butt}
+ {solid|dashed} {dl <dashlength>}}
+ {size <XX>{unit},<YY>{unit}}
- Make tics at 0, 0.5, 1, 1.5, ..., 9.5, 10.
- set xtics 0,.5,10
+ The default is to use a different color for each line type. Selecting
+`monochome` will use black for all linetypes, in which case you probably
+want to select `dashed` to distinguish line types. Even in in mono mode
+you can still use explicit colors for filled areas or linestyles.
- Make tics at ..., -10, -5, 0, 5, 10, ...
- set xtics 5
+ where <font> is the name of the default font to use (default
+Helvetica) and <fontsize> is the font size (in points, default 12).
+For help on which fonts are available or how to install new ones, please
+see the documentation for your local installation of pdflib.
- Make tics at 1, 100, 1e4, 1e6, 1e8.
- set logscale x; set xtics 1,100,10e8
+ The `enhanced` option enables enhanced text processing features
+(subscripts, superscripts and mixed fonts). See `enhanced`.
- The explicit ("<label>" <pos>, ...) form allows arbitrary tic positions or
- non-numeric tic labels. A set of tics is a set of positions, each with its
- own optional label. Note that the label is a string enclosed by quotes. It
- may be a constant string, such as "hello", may contain formatting information
- for converting the position into its label, such as "%3f clients", or may be
- empty, "". See `set format` (*note format:: ) for more information. If no
- string is given, the default label (numerical) is used. In this form, the
- tics do not need to be listed in numerical order.
+ The width of all lines in the plot can be increased by the factor <n>
+specified in `linewidth`. Similarly `dashlength` is a multiplier for the
+default dash spacing.
- 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)
+ `rounded` sets line caps and line joins to be rounded; `butt` is the
+default, butt caps and mitered joins.
- In the second example, all tics are labelled. In the third, only the end
- tics are labelled.
+ The default size for PDF output is 5 inches by 3 inches. The *note
+size:: 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).
- However they are specified, tics will only be plotted when in range.
+ * does not work.
- Format (or omission) of the tic labels is controlled by `set format`, unless
- the explicit text of a labels is included in the `set xtic (`<label>`)` form.
+
+File: gnuplot.info, Node: pstricks, Next: qms, Prev: pdf, Up:
complete_list_of_terminals
- Minor (unlabelled) tics can be added by the `set mxtics` (*note mxtics:: )
- command.
+4.1.0.46 pstricks
+.................
- In case of timeseries data, position values must be given as quoted dates
- or times according to the format `timefmt` (*note timefmt:: ). If the
- <start>, <incr>, <end> form is used, <start> and <end> must be given according
- to `timefmt`, but <incr> must be in seconds. Times will be written out
- according to the format given on `set format`, however.
+The `pstricks` driver is intended for use with the "pstricks.sty" macro
+package for LaTeX. It is an alternative to the `eepic` and `latex`
+drivers. You need "pstricks.sty", and, of course, a printer that
+understands PostScript, or a converter such as Ghostscript.
- Examples:
- set xdata time
- set timefmt "%d/%m"
- set format x "%b %d"
- set xrange ["01/12":"06/12"]
- set xtics "01/12", 172800, "05/12"
+ PSTricks is available via anonymous ftp from the /pub directory at
+Princeton.edu. This driver definitely does not come close to using the
+full capability of the PSTricks package.
- set xdata time
- set timefmt "%d/%m"
- set format x "%b %d"
- set xrange ["01/12":"06/12"]
- set xtics ("01/12", "" "03/12", "05/12")
- Both of these will produce tics "Dec 1", "Dec 3", and "Dec 5", but in the
- second example the tic at "Dec 3" will be unlabelled.
+ Syntax:
+ set terminal pstricks {hacktext | nohacktext} {unit | nounit}
+ The first option invokes an ugly hack that gives nicer numbers; the
+second has to do with plot scaling. The defaults are `hacktext` and
+`nounit`."
-
-File: gnuplot.info, Node: xzeroaxis, Prev: xtics, Up: set-show, Next: y2data
+
+File: gnuplot.info, Node: qms, Next: regis, Prev: pstricks, Up:
complete_list_of_terminals
- The `set xzeroaxis` command draws a line at y = 0. For details, please see
- `set zeroaxis` (*note zeroaxis:: ).
+4.1.0.47 qms
+............
+The `qms` terminal driver supports the QMS/QUIC Laser printer, the
+Talaris 1200 and others. It has no options."
-
-File: gnuplot.info, Node: y2data, Prev: xzeroaxis, Up: set-show, Next: y2dtics
+
+File: gnuplot.info, Node: regis, Next: sun, Prev: qms, Up:
complete_list_of_terminals
- The `set y2data` command sets y2 (right-hand) axis data to timeseries
- (dates/times). Please see `set xdata` (*note xdata:: ).
+4.1.0.48 regis
+..............
+The `regis` terminal device generates output in the REGIS graphics
+language. It has the option of using 4 (the default) or 16 colors.
-
-File: gnuplot.info, Node: y2dtics, Prev: y2data, Up: set-show, Next: y2label
+ Syntax:
+ set terminal regis {4 | 16}"
- The `set y2dtics` command changes tics on the y2 (right-hand) axis to days of
- the week. Please see `set xdtics` (*note xdtics:: ) for details.
+
+File: gnuplot.info, Node: sun, Next: svg, Prev: regis, Up:
complete_list_of_terminals
+4.1.0.49 sun
+............
-
-File: gnuplot.info, Node: y2label, Prev: y2dtics, Up: set-show, Next: y2mtics
+The `sun` terminal driver supports the SunView window system. It has no
+options."
- The `set y2dtics` (*note y2dtics:: ) command sets the label for the y2
- (right-hand) axis. Please see `set xlabel` (*note xlabel:: ).
+
+File: gnuplot.info, Node: svg, Next: tek410x, Prev: sun, Up:
complete_list_of_terminals
+
+4.1.0.50 svg
+............
+
+This terminal produces files in the W3C Scalable Vector Graphics format.
+
+ Syntax:
+ set terminal svg {size <x>,<y> {|fixed|dynamic}}
+ {{no}enhanced}
+ {fname "<font>"} {fsize <fontsize>}
+ {mouse} {standalone | jsdir <dirname>}
+ {name <plotname>}
+ {font "<fontname>{,<fontsize>}"}
+ {fontfile <filename>}
+ {rounded|butt} {solid|dashed} {linewidth <lw>}
+ {background <rgb_color>}
+
+ where <x> and <y> are the size of the SVG plot to generate,
+`dynamic` allows a svg-viewer to resize plot, whereas the default
+setting, `fixed`, will request an absolute size.
+
+ `linewidth <w>` increases 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 svg terminal supports an enhanced text mode, which allows font
+and other formatting commands to be embedded in labels and other text
+strings. The enhanced text mode syntax is shared with other gnuplot
+terminal types. See `enhanced` for more details.
+
+ The `mouse` option tells gnuplot to add support for mouse tracking
+and for toggling individual plots on/off by clicking on the
+corresponding key entry. By default this is done by including a link
+that points to a script in a local directory, usually
+/usr/local/share/gnuplot/<version>/js. You can change this by using
+the `jsdir` option to specify either a different local directory or a
+general URL. The latter is usually appropriate if you are embedding the
+svg into a web page. Alternatively, the `standalone` option embeds the
+mousing code in the svg document itself rather than linking to an
+external resource.
+
+ SVG allows you to embed fonts directly into an SVG document, or to
+provide a hypertext link to the desired font. The `fontfile` option
+specifies a local file which is copied into the <defs> section of the
+resulting SVG output file. This file may either itself contain a font,
+or may contain the records necessary to create a hypertext reference to
+the desired font. Gnuplot will look for the requested file using the
+directory list in the GNUPLOT_FONTPATH environmental variable. NB: You
+must embed an svg font, not a TrueType or PostScript font."
+
+File: gnuplot.info, Node: tek410x, Next: tek40, Prev: svg, Up:
complete_list_of_terminals
-
-File: gnuplot.info, Node: y2mtics, Prev: y2label, Up: set-show, Next: y2range
+4.1.0.51 tek410x
+................
- The `set y2mtics` command changes tics on the y2 (right-hand) axis to months
- of the year. Please see `set xmtics` (*note xmtics:: ) for details.
+The `tek410x` terminal driver supports the 410x and 420x family of
+Tektronix terminals. It has no options."
+
+File: gnuplot.info, Node: tek40, Next: texdraw, Prev: tek410x, Up:
complete_list_of_terminals
-
-File: gnuplot.info, Node: y2range, Prev: y2mtics, Up: set-show, Next: y2tics
+4.1.0.52 tek40
+..............
- The `set y2range` command sets the vertical range that will be displayed on
- the y2 (right-hand) axis. Please see `set xrange` (*note xrange:: ) for
- details.
+This family of terminal drivers supports a variety of VT-like terminals.
+`tek40xx` supports Tektronix 4010 and others as well as most TEK
+emulators. `vttek` supports VT-like tek40xx terminal emulators. The
+following are present only if selected when gnuplot is built:
+`kc-tek40xx` supports MS-DOS Kermit Tek4010 terminal emulators in color;
+`km-tek40xx` supports them in monochrome. `selanar` supports Selanar
+graphics. `bitgraph` supports BBN Bitgraph terminals. None have any
+options."
+
+File: gnuplot.info, Node: texdraw, Next: tgif, Prev: tek40, Up:
complete_list_of_terminals
-
-File: gnuplot.info, Node: y2tics, Prev: y2range, Up: set-show, Next: y2zeroaxis
+4.1.0.53 texdraw
+................
- The `set y2tics` command controls major (labelled) tics on the y2 (right-hand)
- axis. Please see `set xtics` (*note xtics:: ) for details.
+The `texdraw` terminal driver supports the LaTeX texdraw environment.
+It is intended for use with "texdraw.sty" and "texdraw.tex" in the
+texdraw package.
+ Points, among other things, are drawn using the LaTeX commands
+"\\Diamond" and "\\Box". These commands no longer belong to the
+LaTeX2e core; they are included in the latexsym package, which is part
+of the base distribution and thus part of any LaTeX implementation.
+Please do not forget to use this package.
-
-File: gnuplot.info, Node: y2zeroaxis, Prev: y2tics, Up: set-show, Next: ydata
+ It has no options."
- The `set y2zeroaxis` command draws a line at the origin of the y2 (right-hand)
- axis (x2 = 0). For details, please see `set zeroaxis` (*note zeroaxis:: ).
+
+File: gnuplot.info, Node: tgif, Next: tkcanvas, Prev: texdraw, Up:
complete_list_of_terminals
+
+4.1.0.54 tgif
+.............
+
+Tgif is an X11-based drawing tool--it has nothing to do with GIF.
+
+ The `tgif` driver supports different pointsizes (with *note
+pointsize::), different label fonts and font sizes (e.g. `set label
+"Hallo" at x,y font "Helvetica,34"`) 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
+directions on the page, `color` enables color, `linewidth` scales all
+linewidths by <LW>, "<fontname>" is the name of a valid PostScript
+font, and <fontsize> specifies the size of the PostScript font.
+`defaults` sets all options to their defaults: `portrait`, `[1,1]`,
+`color`, `linwidth 1.0`, `dashed`, `"Helvetica,18"`.
+
+ The `solid` option is usually prefered if lines are colored, as they
+often are in the editor. Hardcopy will be black-and-white, so `dashed`
+should be chosen for that.
+
+ Multiplot is implemented in two different ways.
+
+ The first multiplot implementation is the standard gnuplot multiplot
+feature:
+
+ set terminal tgif
+ set output "file.obj"
+ set multiplot
+ set origin x01,y01
+ set size xs,ys
+ plot ...
+ ...
+ set origin x02,y02
+ plot ...
+ unset multiplot
+
+ See *note multiplot:: for further information.
+
+ The second version is the [x,y] option for the driver itself. The
+advantage of this implementation is that everything is scaled and
+placed automatically without the need for setting origins and sizes;
+the graphs keep their natural x/y proportions of 3/2 (or whatever is
+fixed by *note size::).
+
+ If both multiplot methods are selected, the standard method is
+chosen and a warning message is given.
+
+ Examples of single plots (or standard multiplot):
+ set terminal tgif # defaults
+ set terminal tgif "Times-Roman,24"
+ set terminal tgif landscape
+ set terminal tgif landscape solid
+
+ Examples using the built-in multiplot mechanism:
+ set terminal tgif portrait [2,4] # portrait; 2 plots in the x-
+ # and 4 in the y-direction
+ 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"
+
+File: gnuplot.info, Node: tkcanvas, Next: tpic, Prev: tgif, Up:
complete_list_of_terminals
+
+4.1.0.55 tkcanvas
+.................
+
+This terminal driver generates Tk canvas widget commands based on Tcl/Tk
+(default) or Perl. To use it, rebuild `gnuplot` (after uncommenting or
+inserting the appropriate line in "term.h"), then
+
+ gnuplot> set term tkcanvas {perltk} {interactive}
+ gnuplot> set output 'plot.file'
+
+ After invoking "wish", execute the following sequence of Tcl/Tk
+commands:
+
+ % source plot.file
+ % canvas .c
+ % pack .c
+ % gnuplot .c
+
+ Or, for Perl/Tk use a program like this:
+
+ use Tk;
+ my $top = MainWindow->new;
+ my $c = $top->Canvas->pack;
+ my $gnuplot = do "plot.pl";
+ $gnuplot->($c);
+ MainLoop;
+
+ The code generated by `gnuplot` creates a procedure called "gnuplot"
+that takes the name of a canvas as its argument. When the procedure is
+called, it clears the canvas, finds the size of the canvas and draws
+the plot in it, scaled to fit.
+
+ For 2-dimensional plotting (`plot`) two additional procedures are
+defined: "gnuplot_plotarea" will return a list containing the borders
+of the plotting area "xleft, xright, ytop, ybot" in canvas screen
+coordinates, while the ranges of the two axes "x1min, x1max, y1min,
+y1max, x2min, x2max, y2min, y2max" in plot coordinates can be obtained
+calling "gnuplot_axisranges". If the "interactive" option is
+specified, mouse clicking on a line segment will print the coordinates
+of its midpoint to stdout. Advanced actions can happen instead if the
+user supplies a procedure named "user_gnuplot_coordinates", which takes
+the following arguments: "win id x1s y1s x2s y2s x1e y1e x2e y2e x1m
+y1m x2m y2m", the name of the canvas and the id of the line segment
+followed by the coordinates of its start and end point in the two
+possible axis ranges; the coordinates of the midpoint are only filled
+for logarithmic axes.
+
+ The current version of `tkcanvas` supports neither *note multiplot::
+nor *note replot::."
-
-File: gnuplot.info, Node: ydata, Prev: y2zeroaxis, Up: set-show, Next: ydtics
+
+File: gnuplot.info, Node: tpic, Next: unixpc, Prev: tkcanvas, Up:
complete_list_of_terminals
- Sets y-axis data to timeseries (dates/times). Please see `set xdata`
- (*note xdata:: ).
+4.1.0.56 tpic
+.............
+The `tpic` terminal driver supports the LaTeX picture environment with
+tpic \\specials. It is an alternative to the `latex` and `eepic`
+terminal drivers. Options are the point size, line width, and dot-dash
+interval.
-
-File: gnuplot.info, Node: ydtics, Prev: ydata, Up: set-show, Next: ylabel
+ Syntax:
+ set terminal tpic <pointsize> <linewidth> <interval>
- The `set ydtics` command changes tics on the y axis to days of the week.
- Please see `set xdtics` (*note xdtics:: ) for details.
+ where *note pointsize:: and `linewidth` are integers in milli-inches
+and `interval` is a float in inches. If a non-positive value is
+specified, the default is chosen: pointsize = 40, linewidth = 6,
+interval = 0.1.
+ All drivers for LaTeX offer a special way of controlling text
+positioning: If any text string begins with '{', you also need to
+include a '}' at the end of the text, and the whole text will be
+centered both horizontally and 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.
-
-File: gnuplot.info, Node: ylabel, Prev: ydtics, Up: set-show, Next: ymtics
+ Examples: About label positioning: Use gnuplot defaults (mostly
+sensible, but sometimes not really best):
+ set title '\\LaTeX\\ -- $ \\gamma $'
- This command sets the label for the y axis. Please see `set xlabel`
- (*note xlabel:: ).
+ Force centering both horizontally and vertically:
+ set label '{\\LaTeX\\ -- $ \\gamma $}' at 0,0
+ Specify own positioning (top here):
+ set xlabel '[t]{\\LaTeX\\ -- $ \\gamma $}'
-
-File: gnuplot.info, Node: ymtics, Prev: ylabel, Up: set-show, Next: yrange
+ The other label - account for long ticlabels:
+ set ylabel '[r]{\\LaTeX\\ -- $ \\gamma $\\rule{7mm}{0pt}}'"
- The `set ymtics` command changes tics on the y axis to months of the year.
- Please see `set xmtics` (*note xmtics:: ) for details.
+
+File: gnuplot.info, Node: unixpc, Next: vx384, Prev: tpic, Up:
complete_list_of_terminals
+4.1.0.57 unixpc
+...............
-
-File: gnuplot.info, Node: yrange, Prev: ymtics, Up: set-show, Next: ytics
+The `unixpc` terminal driver supports AT&T 3b1 and AT&T 7300 Unix PC.
+It has no options."
- The `set yrange` command sets the vertical range that will be displayed on
- the y axis. Please see `set xrange` (*note xrange:: ) for details.
+
+File: gnuplot.info, Node: vx384, Next: vgagl, Prev: unixpc, Up:
complete_list_of_terminals
+4.1.0.58 vx384
+..............
-
-File: gnuplot.info, Node: ytics, Prev: yrange, Up: set-show, Next: yzeroaxis
+The `vx384` terminal driver supports the Vectrix 384 and Tandy color
+printers. It has no options."
- The `set ytics` command controls major (labelled) tics on the y axis.
- Please see `set xtics` (*note xtics:: ) for details.
+
+File: gnuplot.info, Node: vgagl, Next: VWS, Prev: vx384, Up:
complete_list_of_terminals
+
+4.1.0.59 vgagl
+..............
+
+The `vgagl` driver is a fast linux console driver with full mouse and
+pm3d support. It looks at the environment variable
+SVGALIB_DEFAULT_MODE for the default mode; if not set, it uses a 256
+color mode with the highest available resolution.
+
+ Syntax:
+ set terminal vgagl \\
+ background [red] [[green] [blue]] \\
+ [uniform | interpolate] \\
+ [dump "file"] \\
+ [mode]
+
+ The color mode can also be given with the mode option. Both Symbolic
+names as G1024x768x256 and integers are allowed. The `background` option
+takes either one or three integers in the range [0, 255]. If only one
+integers is supplied, it is taken as gray value for the background. If
+three integers are present, the background gets the corresponding color.
+The (mutually exclusive) options *note interpolate:: and `uniform`
+control if color interpolation is done while drawing triangles (on by
+default).
+
+ A `screen dump file` can be specified with the `dump "file"` option.
+If this option is present, (i.e the dump file name is not empty)
+pressing the key KP_Delete will write the file. This action cannot and
+cannot be rebound. The file is written in raw ppm (P6) format. Note
+that this option is reset each time the `set term` command is issued.
+
+ To get high resolution modes, you will probably have to modify the
+configuration file of libvga, usually /etc/vga/libvga.conf. Using the
+VESA fb is a good choice, but this needs to be compiled in the kernel.
+
+ The vgagl driver uses the first *available* vga mode from the
+following list:
+ - the driver which was supplied when setting vgagl, e.g. `set term vgagl
+ G1024x768x256` would first check, if the G1024x768x256 mode is
available.
+ - the environment variable SVGALIB_DEFAULT_MODE
+ - G1024x768x256
+ - G800x600x256
+ - G640x480x256
+ - G320x200x256
+ - G1280x1024x256
+ - G1152x864x256
+ - G1360x768x256
+ - G1600x1200x256
+
+File: gnuplot.info, Node: VWS, Next: windows, Prev: vgagl, Up:
complete_list_of_terminals
-
-File: gnuplot.info, Node: yzeroaxis, Prev: ytics, Up: set-show, Next: zdata
+4.1.0.60 VWS
+............
- The `set yzeroaxis` command draws a line at x = 0. For details, please see
- `set zeroaxis` (*note zeroaxis:: ).
+The `VWS` terminal driver supports the VAX Windowing System. It has no
+options. It will sense the display type (monochrome, gray scale, or
+color.) All line styles are plotted as solid lines."
+
+File: gnuplot.info, Node: windows, Next: wxt, Prev: VWS, Up:
complete_list_of_terminals
+
+4.1.0.61 windows
+................
+
+The `windows` terminal is a fast interactive terminal driver that uses
+the Windows GDI to draw and write text. The cross-platform `terminal
+wxt` is also supported on Windows.
+
+ Syntax:
+ set terminal windows {<n>}
+ {color | monochrome}
+ {solid | dashed}
+ {enhanced | noenhanced}
+ {font <fontspec>}
+ {fontscale <scale>}
+ {linewdith <scale>}
+ {background <rgb color>}
+ {title "Plot Window Title"}
+ {size <width>,<height>}
+ {position <x>,<y>}
+ {close}
+
+ Multiple plot windows are supported: `set terminal win <n>` directs
+the output to plot window number n.
+
+ `color` and `monochrome` select colored or mono output, `dashed` and
+`solid` select dashed or solid lines. Note that `color` defaults to
+`solid`, whereas `monochrome` defaults to `dashed`. `enhanced` enables
+enhanced text mode features (subscripts, superscripts and mixed fonts,
+see `enhanced text` for more information). `<fontspec>` is 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 `font` statement could be left out and <fontsize> could be
+given as a number without double quotes. This is no longer supported.
+`linewidth` and `fontscale` can be used to scale the width of lines and
+the size of text. *note title:: changes the title of the graph window.
+*note size:: defines the width and height of the window in pixel and
+*note position:: the origin of the window i.e. the position of the top
+left corner on the screen (again in pixel). These options override any
+default settings from the `wgnuplot.ini` file.
-
-File: gnuplot.info, Node: zdata, Prev: yzeroaxis, Up: set-show, Next: zdtics
+ Other options may be changed using the `graph-menu` or the
+initialization file `wgnuplot.ini`.
+
+ 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 `-` as the last command line
+option. It will also not show the text-window at all, in this mode,
+only the plot. By giving the optional argument `-persist` (same as for
+gnuplot under x11; former Windows-only options `/noend` or `-noend` 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 `set term` command. The plot window can be closed with `set term
+windows close`.
+
+ `gnuplot` supports different methods to create printed output on
+Windows, see `windows printing`. The windows terminal supports data
+exchange with other programs via clipboard and EMF files, see
+`graph-menu`. You can also use the `terminal emf` to create EMF files.
+
+-- GRAPH-MENU --
- Set zaxis date to timeseries (dates/times). Please see `set xdata`
- (*note xdata:: ).
+ The `gnuplot graph` window has the following options on a pop-up menu
+accessed by pressing the right mouse button(*) or selecting `Options`
+from the system menu:
+ `Copy to Clipboard` copies a bitmap and an enhanced Metafile picture.
+
+ `Save as EMF...` allows the user to save the current graph window as
+enhanced metafile
+
+ `Print...` prints the graphics windows using a Windows printer
+driver and allows selection of the printer and scaling of the output.
+The output produced by `Print` is not as good as that from `gnuplot`'s
+own printer drivers. See also `windows printing`.
+
+ `Bring to Top` when checked brings the graph window to the top after
+every plot.
+
+ `Color` when checked enables color linestyles. When unchecked it
+forces monochrome linestyles.
+
+ `Double buffer` activates drawing into a memory buffer before
+copying the graph to the screen. This avoids flickering e.g. during
+animation and rotation of 3d graphs. See `mouse` and *note scrolling::.
+
+ `Oversampling` doubles the size of the virtual canvas. It is scaled
+down again for drawing to the screen. This gives smoother graphics but
+requires more memory and computing time. It requires `double buffer`.
+
+ `Antialiasing` selects smoothing of lines and edges. Note that this
+slows down drawing.
+
+ `Background...` sets the window background color.
+
+ `Choose Font...` selects the font used in the graphics window.
+
+ `Line Styles...` allows customization of the line colors and styles.
+
+ `Update wgnuplot.ini` saves the current window locations, window
+sizes, text window font, text window font size, graph window font,
+graph window font size, background color and linestyles to the
+initialization file `wgnuplot.ini`.
+
+ (*) Note that this menu is only available by pressing the right
+mouse button with `unset mouse`.
+
+-- PRINTING --
+
+ In order of preference, graphs may be printed in the following ways:
+
+ `1.` Use the `gnuplot` command *note terminal:: to select a printer
+and *note output:: to redirect output to a file.
+
+ `2.` Select the `Print...` command from the `gnuplot graph` window.
+An extra command `screendump` does this from the text window.
+
+ `3.` If `set output "PRN"` is used, output will go to a temporary
+file. When you exit from `gnuplot` or when you change the output with
+another *note output:: command, 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.
+
+-- TEXT-MENU", /* FIXME: THIS IS NOT REALLY RELATED TO THE WINDOWS
+DRIVER, BUT THE WINDOWS PLATFORM */ --
+
+ The `gnuplot text` window has the following options on a pop-up menu
+accessed by pressing the right mouse button or selecting `Options` from
+the system menu:
-
-File: gnuplot.info, Node: zdtics, Prev: zdata, Up: set-show, Next: zero
+ `Copy to Clipboard` copies marked text to the clipboard.
- The `set zdtics` command changes tics on the z axis to days of the week.
- Please see `set xdtics` (*note xdtics:: ) for details.
+ `Paste` copies text from the clipboard as if typed by the user.
+ `Choose Font...` selects the font used in the text window.
-
-File: gnuplot.info, Node: zero, Prev: zdtics, Up: set-show, Next: zeroaxis
+ `System Colors` when selected makes the text window honor the System
+Colors set using the Control Panel. When unselected, text is black or
+blue on a white background.
+
+ `Wrap long lines` when selected lines longer than the current window
+width are wrapped.
- The `zero` value is the default threshold for values approaching 0.0.
+ `Update wgnuplot.ini` saves the current settings to the
+initialisation file `wgnuplot.ini`, which is located in the user's
+application data directory.
- Syntax:
- set zero <expression>
- show zero
+-- WGNUPLOT.MNU", /* FIXME: THIS IS NOT REALLY RELATED TO THE WINDOWS
+DRIVER, BUT THE WINDOWS PLATFORM */ --
- `gnuplot` (*note gnuplot:: ) will not plot a point if its imaginary part is
- greater in magnitude than the `zero` threshold. This threshold is also used
- in various other parts of `gnuplot` as a (crude) numerical-error
- threshold. The default `zero` value is 1e-8. `zero` values larger than 1e-3
- (the reciprocal of the number of pixels in a typical bitmap display) should
- probably be avoided, but it is not unreasonable to set `zero` to 0.0.
+ If the menu file `wgnuplot.mnu` is found in the same directory as
+`gnuplot`, then the menu specified in `wgnuplot.mnu` will 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.
+ [|] inserts a vertical menu separator.
+ [Button] puts the next macro on a push button instead of a menu.
-
-File: gnuplot.info, Node: zeroaxis, Prev: zero, Up: set-show, Next: zlabel
+ 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:
- The x axis may be drawn by `set xzeroaxis` (*note xzeroaxis:: ) and removed by
- set noxzeroaxis. Similar commands behave similarly for the y, x2, and y2
- axes.
+ [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 filename
terminated
+ by [EOS] or {ENTER}.
+ [SAVE] Get name of a file to save. Parameters like [OPEN]
+ [DIRECTORY] Get name of a directory, with the title of the dialog
+ terminated by [EOS] or {ENTER}
- Syntax:
- set {x|x2|y|y2|}zeroaxis { {linestyle | ls <line_style>}
- | { linetype | lt <line_type>}
- { linewidth | lw <line_width>}}
- set no{x|x2|y|y2|}zeroaxis
- show {x|y|}zeroaxis
+ Macro character substitutions:
+ {ENTER} Carriage Return '\\r'
+ {TAB} Tab '\\011'
+ {ESC} Escape '\\033'
+ {^A} '\\001'
+ ...
+ {^_} '\\031'
- By default, these options are off. The selected zero axis is drawn
- with a line of type <line_type> and width <line_width> (if supported
- by the terminal driver currently in use), or a user-defined style
- <line_style>.
+ Macros are limited to 256 characters after expansion.
- If no linetype is specified, any zero axes selected will be drawn
- using the axis linetype (linetype 0).
+-- WGNUPLOT.INI --
- `set zeroaxis l` is equivalent to `set xzeroaxis l; set yzeroaxis l`. `set
- nozeroaxis` is equivalent to `set noxzeroaxis; set noyzeroaxis`.
+ The Windows text window and the `windows` terminal will read some of
+their options from the `[WGNUPLOT]` section of `wgnuplot.ini`. This
+file is located in the user's application data directory. Here's a
+sample `wgnuplot.ini` file:
-
-File: gnuplot.info, Node: zlabel, Prev: zeroaxis, Up: set-show, Next: zmtics
+ [WGNUPLOT]
+ TextOrigin=0 0
+ TextSize=640 150
+ TextFont=Terminal,9
+ TextWrap=1
+ TextLines=400
+ SysColors=0
+ GraphOrigin=0 150
+ GraphSize=640 330
+ GraphFont=Arial,10
+ GraphColor=1
+ GraphToTop=1
+ GraphDoublebuffer=1
+ GraphOversampling=0
+ GraphAntialiasing=1
+ GraphBackground=255 255 255
+ Border=0 0 0 0 0
+ Axis=192 192 192 2 2
+ Line1=0 0 255 0 0
+ Line2=0 255 0 0 1
+ Line3=255 0 0 0 2
+ Line4=255 0 255 0 3
+ Line5=0 0 128 0 4
+
+ These settings apply to the wgnuplot text-window only."
+
+ The `TextOrigin` and `TextSize` entries specify the location and
+size of the text window.
+
+ The `TextFont` entry specifies the text window font and size.
+
+ The `TextWrap` entry selects wrapping of long text lines.
+
+ The `TextLines` entry 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 `text-menu`.
+
+ The `GraphFont` entry specifies the font name and size in points.
+
+ The five numbers given in the `Border`, `Axis` and `Line` entries
+are the `Red` intensity (0-255), `Green` intensity, `Blue` intensity,
+`Color Linestyle` and `Mono Linestyle`. `Linestyles` are 0=SOLID,
+1=DASH, 2=DOT, 3=DASHDOT, 4=DASHDOTDOT. In the sample `wgnuplot.ini`
+file above, Line 2 is a green solid line in color mode, or a dashed
+line in monochrome mode. The default line width is 1 pixel. If
+`Linestyle` is negative, it specifies the width of a SOLID line in
+pixels. Line1 and any linestyle used with the `points` style must be
+SOLID with unit width.
+
+ See `graph-menu`."
- This command sets the label for the z axis. Please see `set xlabel`
- (*note xlabel:: ).
+
+File: gnuplot.info, Node: wxt, Next: x11, Prev: windows, Up:
complete_list_of_terminals
+
+4.1.0.62 wxt
+............
+
+The `wxt` terminal 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>} {background <rgb_color>}
+ {{no}enhanced}
+ {font <font>} {fontscale <scale>}
+ {title "title"}
+ {dashed|solid} {dashlength <dl>}
+ {{no}persist}
+ {{no}raise}
+ {{no}ctrl}
+ {close}
+
+ Multiple plot windows are supported: `set terminal wxt <n>` directs
+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 `gnuplot` driver 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 `close` from
+a window manager menu, or with `set term wxt <n> close`.
+
+ 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 `wxt` terminal 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 *note replot::, click the *note replot:: icon in the terminal
+toolbar or type a new `plot` command, the new plot will completely fit
+in the window and the font size and the linewidths will be reset to
+their defaults.
+
+ The active plot window (the one selected by `set term wxt <n>`) is
+interactive. Its behaviour is shared with other terminal types. See
+`mouse` for details. It also has some extra icons, which are supposed
+to be self-explanatory.
+
+ This terminal supports an enhanced text mode, which allows font and
+other formatting commands (subscripts, superscripts, etc.) to be
+embedded in labels and other text strings. The enhanced text mode
+syntax is shared with other gnuplot terminal types. See `enhanced` for
+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
+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
+Windows, those fonts are to be found and configured in the entry
+"Fonts" of the control panel. Under UNIX, they are handled by
+"fontconfig".
+
+ Pango, the library used to layout the text, is based on utf-8. Thus,
+the wxt terminal has to convert from your encoding to utf-8. The
+default input encoding is based on your \'locale\'. If you want to use
+another encoding, make sure gnuplot knows which one you are using. See
+*note encoding:: for 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 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
+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 coordinates.
+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 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
+explicitely close all the plot windows. Finally, by default the key
+<space> raises the gnuplot console window, and 'q' closes the plot
+window. The keyword "ctrl" allows you to replace those bindings by
+<ctrl>+<space> and <ctrl>+'q', respectively. These three keywords
+(raise, persist and ctrl) can also be set and remembered between
+sessions through the configuration dialog."
+
+File: gnuplot.info, Node: x11, Next: xlib, Prev: wxt, Up:
complete_list_of_terminals
+
+4.1.0.63 x11
+............
+
+Syntax:
+ set terminal x11 {<n> | window "<string>"}
+ {title "<string>"}
+ {{no}enhanced} {font <fontspec>}
+ {linewidth LW} {solid|dashed}
+ {{no}persist} {{no}raise} {{no}ctrlq}
+ {close}
+ {size XX,YY} {position XX,YY}
+ set terminal x11 {reset}
+
+ Multiple plot windows are supported: `set terminal x11 <n>` directs
+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 `Gnuplot <n>`. The active
+window may be distinguished by a change in cursor (from default to
+crosshair).
+
+ The `x11` terminal can connect to X windows previously created by an
+outside application via the option `window` followed by a string
+containing 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,
+gnuplot's mouse features work within the contained plot window.
+
+ set term x11 window "220001e"
+
+ The x11 terminal supports enhanced text mode (see `enhanced`),
+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 `gnuplot` driver is changed
+to a different device. A plot window can be closed by pressing the
+letter q while that window has input focus, or by choosing `close` from
+a window manager menu. All plot windows can be closed by specifying
+*note reset::, which actually terminates the subprocess which maintains
+the windows (unless `-persist` was specified). The `close` command can
+be used to close individual plot windows by number. However, after a
+*note reset::, those plot windows left due to persist cannot be closed
+with the command `close`. A `close` without 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 `-persist` option was given.
+
+ The options `persist` and *note raise:: are 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]persist or [no]raise are specified, they will override command line
+options and Xresources. Setting one of these options takes place
+immediately, so the behaviour of an already running driver can be
+modified. If the window does not get raised, see discussion in *note
+raise::.
+
+ The option `title "<title name>"` will supply the title name of the
+window for the current plot window or plot window <n> if a number is
+given. Where (or if) this title is shown depends on your X window
+manager.
+
+ The size 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
+window. The position option will only apply to newly created windows.
+
+ The size or aspect ratio of a plot may be changed by resizing the
+`gnuplot` window.
+
+ Linewidths and pointsizes may be changed from within `gnuplot` with
+`set linestyle`.
+
+ For terminal type `x11`, `gnuplot` accepts (when initialized) the
+standard 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 options.
+
+ A number of other `gnuplot` options are available for the `x11`
+terminal. These may be specified either as command-line options when
+`gnuplot` is invoked or as resources in the configuration file
+".Xdefaults". They are set upon initialization and cannot be altered
+during a `gnuplot` session. (except `persist` and *note raise::)
+
+-- X11_FONTS --
+
+ Upon initial startup, the default font is taken from the X11
+resources as set in the system or user .Xdefaults file or on the
+command line.
+
+ Example:
+ gnuplot*font: lucidasans-bold-12
+
+ A new default font may be specified to the x11 driver from inside
+gnuplot using
+ `set term x11 font "<fontspec>"`
+
+ The driver first queries the X-server for a font of the exact name
+given. If this query fails, then it tries to interpret <fontspec> as
+"<font>,<size>,<slant>,<weight>" and to construct a full X11 font name
+of the form
+ -*-<font>-<weight>-<s>-*-*-<size>-*-*-*-*-*-<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, otherwise `*`
+ <encoding> is set based on the current character set (see *note
encoding::).
+
+ So `set term x11 font "arial,15,italic"` will be translated to
+-*-arial-*-i-*-*-15-*-*-*-*-*-iso8859-1 (assuming default encoding).
+The <size>, <slant>, and <weight> specifications are all optional. If
+you do not specify <slant> or <weight> then you will get whatever font
+variant the font server offers first. You may set a default enconding
+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 `set label`.
+
+ If your gnuplot was built with configuration option
+-enable-x11-mbfonts, you can specify multi-byte fonts by using the
+prefix "mbfont:" on the font name. An additional font may be given,
+separated by a semicolon. Since multi-byte font encodings are
+interpreted according to the 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 usable.
+ set title '(mb strings)' font 'mbfont:*-fixed-medium-r-normal--14-*'
+
+ The same syntax applies to the default font in Xresources settings,
+for example,
+ gnuplot*font: \\
+ mbfont:-misc-fixed-medium-r-normal--14-*-*-*-c-*-jisx0208.1983-0
+
+ If gnuplot is built with -enable-x11-mbfonts, you can use two special
+PostScript font names 'Ryumin-Light-*' and 'GothicBBB-Medium-*'
+(standard Japanese PS fonts) without the prefix "mbfont:".
+
+-- COMMAND-LINE_OPTIONS --
+
+ In addition to the X Toolkit options, the following options may be
+specified on the command line when starting `gnuplot` or as resources
+in your ".Xdefaults" file (note that *note raise:: and `persist` can be
+overridden later by `set term x11 [no]raise [no]persist)`:
+
+ `-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
+ `-noevents` does not process mouse and key events
+ `-ctrlq ` closes window on ctrl-q rather than q
+ `-persist` plot windows survive after main gnuplot program exits
+
+ The options are shown above in their command-line syntax. When
+entered as resources in ".Xdefaults", they require a different syntax.
+
+ Example:
+ gnuplot*gray: on
+ gnuplot*ctrlq: on
+
+ `gnuplot` also provides a command line option (`-pointsize <v>`) and
+a resource, `gnuplot*pointsize: <v>`, to control the size of points
+plotted with the `points` plotting style. The value `v` is a real
+number (greater than 0 and less than or equal to ten) used as a scaling
+factor for point sizes. For example, `-pointsize 2` uses points twice
+the default size, and `-pointsize 0.5` uses points half the normal size.
+
+ The `-noevents` switch disables all mouse and key event processing
+(except for `q` and `<space>` for closing the window). This is useful
+for programs which use the x11 driver independent of the gnuplot main
+program.
+
+ The `-ctrlq` switch changes the hot-key that closes a plot window
+from `q` to `<ctrl>q`. This is useful is you are using the
+keystroke-capture feature `pause mouse keystroke`, since it allows the
+character `q` to be captured just as all other alphanumeric characters.
+The `-ctrlq` switch similarly replaces the <space> hot-key with
+<ctrl><space> for the same reason.
+
+-- MONOCHROME_OPTIONS --
+
+ For monochrome displays, `gnuplot` does not honor foreground or
+background colors. The default is black-on-white. `-rv` or
+`gnuplot*reverseVideo: on` requests white-on-black.
+
+-- COLOR_RESOURCES --
+
+ 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 documentation), or a
+color name followed by a comma and an `intensity` value from 0 to 1.
+For example, `blue, 0.5` means a half intensity blue.
+
+ gnuplot*background: white
+ gnuplot*textColor: black
+ gnuplot*borderColor: black
+ gnuplot*axisColor: black
+ gnuplot*line1Color: red
+ gnuplot*line2Color: green
+ gnuplot*line3Color: blue
+ gnuplot*line4Color: magenta
+ gnuplot*line5Color: cyan
+ gnuplot*line6Color: sienna
+ gnuplot*line7Color: orange
+ gnuplot*line8Color: coral
+
+ The command-line syntax for these is simple only for background,
+which maps directly to the usual X11 toolkit option "-bg". All 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.
+
+-- GRAYSCALE_RESOURCES --
+
+ When `-gray` is selected, `gnuplot` honors the following resources
+for grayscale or color displays (shown here with their default values).
+Note that the default background is black.
+
+ gnuplot*background: black
+ gnuplot*textGray: white
+ gnuplot*borderGray: gray50
+ gnuplot*axisGray: gray50
+ gnuplot*line1Gray: gray100
+ gnuplot*line2Gray: gray60
+ gnuplot*line3Gray: gray80
+ gnuplot*line4Gray: gray40
+ gnuplot*line5Gray: gray90
+ gnuplot*line6Gray: gray50
+ gnuplot*line7Gray: gray70
+ gnuplot*line8Gray: gray30
+
+-- LINE_RESOURCES --
+
+ `gnuplot` honors the following resources for setting the width (in
+pixels) of plot lines (shown here with their default values.) 0 or 1
+means a minimal width line of 1 pixel width. A value of 2 or 3 may
+improve the appearance of some plots.
+
+ gnuplot*borderWidth: 2
+ gnuplot*axisWidth: 0
+ gnuplot*line1Width: 0
+ gnuplot*line2Width: 0
+ gnuplot*line3Width: 0
+ gnuplot*line4Width: 0
+ gnuplot*line5Width: 0
+ gnuplot*line6Width: 0
+ gnuplot*line7Width: 0
+ gnuplot*line8Width: 0
+
+ `gnuplot` honors the following resources for setting the dash style
+used for plotting lines. 0 means a solid line. A two-digit number
+`jk` (`j` and `k` are >= 1 and <= 9) means a dashed line with a
+repeated pattern of `j` pixels on followed by `k` pixels off. For
+example, '16' is a dotted line with one pixel on followed by six pixels
+off. More elaborate on/off patterns can be specified with a four-digit
+value. For example, '4441' is four on, four off, four on, one off.
+The default values shown below are for monochrome displays or
+monochrome rendering on color or grayscale 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
+
+ , "
+
+-- X11 PM3D_RESOURCES --
+
+ 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 `gnuplot` uses the default visual of the screen. The
+number of colors which can be allocated depends on the visual class
+chosen. On a visual class with a depth > 12bit, gnuplot starts with a
+maximal number of 0x200 colors. On a visual class with a depth > 8bit
+(but <= 12 bit) the maximal number of colors is 0x100, on <= 8bit
+displays the maximum number of colors is 240 (16 are left for line
+colors).
+
+ Gnuplot first starts to allocate the maximal number of colors as
+stated above. If this fails, the number of colors is reduced by the
+factor 2 until gnuplot gets all colors which are requested. If dividing
+`maxcolors` by 2 repeatedly results in a number which is smaller than
+`mincolors` `gnuplot` tries to install a private colormap. In this case
+the window manager is responsible for swapping colormaps when the
+pointer is moved in and out the x11 driver's window.
+
+ The default for `mincolors` is 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 together on
+one screen. On these systems it might be necessary to force gnuplot to
+use a specific visual class, e.g. the default visual might be 8bit
+PseudoColor but the screen would also support 24bit TrueColor which
+would be the preferred choice.
+
+ The information about an Xserver's capabilities can be obtained with
+the program `xdpyinfo`. For the visual names below you can choose one
+of StaticGray, GrayScale, StaticColor, PseudoColor, TrueColor,
+DirectColor. If an Xserver supports a requested visual type at
+different depths, `gnuplot` chooses the visual class with the highest
+depth (deepest). If the requested visual class matches the default
+visual and multiple classes of this type are supported, the default
+visual is preferred.
+
+ Example: on an 8bit PseudoColor visual you can force a private color
+map by specifying `gnuplot*maxcolors: 240` and `gnuplot*mincolors: 240`.
+
+ gnuplot*maxcolors: <integer>
+ gnuplot*mincolors: <integer>
+ gnuplot*visual: <visual name>
+
+ , "
+
+-- X11 OTHER_RESOURCES --
+
+ 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.fastrotate' to 'off'
+
+ gnuplot*exportselection: off
+ gnuplot*fastrotate: on
+ gnuplot*ctrlq: off
-
-File: gnuplot.info, Node: zmtics, Prev: zlabel, Up: set-show, Next: zrange
+
+File: gnuplot.info, Node: xlib, Prev: x11, Up: complete_list_of_terminals
- The `set zmtics` command changes tics on the z axis to months of the year.
- Please see `set xmtics` (*note xmtics:: ) for details.
+4.1.0.64 xlib
+.............
+The `xlib` terminal driver supports the X11 Windows System. It
+generates gnuplot_x11 commands, but sends them to the output file
+specified by `set output '<filename>'`. `set term x11` is equivalent to
+`set output "|gnuplot_x11 -noevents"; set term xlib`. `xlib` takes the
+same set of options as `x11`."
-
-File: gnuplot.info, Node: zrange, Prev: zmtics, Up: set-show, Next: ztics
+* Menu:
- The `set zrange` command sets the range that will be displayed on the z axis.
- The zrange is used only by `splot` (*note splot:: ) and is ignored by `plot`
- (*note plot:: ). Please see set xrange` for details.
+* Bugs::
+
+File: gnuplot.info, Node: Bugs, Next: Concept_Index, Prev: Terminal_types,
Up: Top
-
-File: gnuplot.info, Node: ztics, Prev: zrange, Up: set-show
+5 Bugs
+******
- The `set ztics` command controls major (labelled) tics on the z axis.
- Please see `set xtics` (*note xtics:: ) for details.
+Please e-mail bug reports to the gnuplot-bugs mailing list or upload
+the report to the gnuplot web site on SourceForge. Please give
+complete information on the version of gnuplot you are using and, if
+possible, a test script that demonstrates the bug. See
+`seeking-assistance`.
+* Menu:
-
-File: gnuplot.info, Node: shell, Prev: set-show, Up: Commands, Next: splot
+* known_limitations::
+* External_libraries::
- The `shell` command spawns an interactive shell. To return to `gnuplot`
- (*note gnuplot:: ), type `logout` if using VMS, `exit` (*note exit:: ) or the
- END-OF-FILE character if using Unix, `endcli` if using AmigaOS, or `exit` if
- using MS-DOS or OS/2.
+
+File: gnuplot.info, Node: known_limitations, Next: External_libraries,
Prev: Bugs, Up: Bugs
- A single shell command may be spawned by preceding it with the ! character
- ($ if using VMS) at the beginning of a command line. Control will return
- immediately to `gnuplot` after this command is executed. For example, in
- Unix, AmigaOS, MS-DOS or OS/2,
+5.1 known limitations
+=====================
- ! dir
+It is not possible to use in-line data (e.g. plot '-' ...) inside the
+curly brackets of a `do` or `while` loop.
- prints a directory listing and then returns to `gnuplot`.
+ Floating point exceptions (floating point number too large/small,
+divide by zero, etc.) may occasionally be generated by user defined
+functions. Some of the demos in particular may cause numbers to exceed
+the floating point range. Whether the system ignores such exceptions
+(in which case `gnuplot` labels the corresponding point as undefined)
+or aborts `gnuplot` depends on the compiler/runtime environment.
- On an Atari, the `!` command first checks whether a shell is already loaded
- and uses it, if available. This is practical if `gnuplot` is run from
- `gulam`, for example.
+ The gamma, bessel, and erf functions do not work for complex
+arguments.
-
-File: gnuplot.info, Node: splot, Prev: shell, Up: Commands, Next: data-file
+ Coordinates specified as "time" wrap at 24 hours.
- `splot` is the command for drawing 3-d plots (well, actually projections on
- a 2-d surface, but you knew that). It can create a plot from functions or
- a data file in a manner very similar to the `plot` (*note plot:: ) command.
+ The 'nohidden3d' option that is supposed to exempt individual plots
+from the global property 'set hidden3d' does not work for parametric
+curves.
- See `plot` for features common to the `plot` command; only differences are
- discussed in detail here. Note specifically that the `binary`
- (*note binary:: ) and `matrix` (*note matrix:: ) options (discussed under
- "datafile-modifiers") are not available for `plot`.
+ X11 terminal: It is difficult to select UTF-8 fonts. The program
+does not track the true aspect ratio of the x11 terminal window. In
+order for commands such as "set size ratio" to work, the x11 window
+must itself have equal height and width. 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.
- Syntax:
- splot {<ranges>}
- <function> | "<datafile>" {datafile-modifiers}}
- {<title-spec>} {with <style>}
- {, {definitions,} <function> ...}
+ Qt terminal: If the local qt environment does not support "opengl"
+as a rendering mode then display of polygons and surfaces can be very
+slow.
- where either a <function> or the name of a data file enclosed in quotes is
- supplied. The function can be a mathematical expression, or a triple of
- mathematical expressions in parametric mode.
+
+File: gnuplot.info, Node: External_libraries, Prev: known_limitations, Up:
Bugs
- By default `splot` draws the xy plane completely below the plotted data.
- The offset between the lowest ztic and the xy plane can be changed by `set
- ticslevel`. The orientation of a `splot` projection is controlled by
- `set view` (*note view:: ). See set view and nd `set ticslevel`
- (*note ticslevel:: ) for more information.
+5.2 External libraries
+======================
- The syntax for setting ranges on the `splot` command is the same as for
- `plot`. In non-parametric mode, the order in which ranges must be given is
- `xrange` (*note xrange:: ), `yrange` (*note yrange:: ), and `zrange`
- (*note zrange:: ). In parametric mode, the order is `urange`
- (*note urange:: ), `vrange` (*note vrange:: ), xrange, yrange, and zrange.
+External library GD (used by PNG/JPEG/GIF drivers): Versions of libgd
+through 2.0.33 contain various bugs in mapping the characters of
+Adobe's Symbol font. Also it is possible to trigger a library segfault
+if an anti-aliased line crosses an upper corner of the canvas.
- The `title` (*note title:: ) option is the same as in plot. The operation of
- of `with` (*note with:: ) is also the same as in `plot`, except that the
- plotting styles available to `splot` are limited to `lines` (*note lines:: ),
- `points` (*note points:: ), `linespoints` (*note linespoints:: ), `dots`
- (*note dots:: ), and `impulses` (*note impulses:: ); the error-bar
- capabilities of `plot` are not available for `splot`.
+ External library PDFlib (used by PDF driver): 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.
- The datafile options have more differences.
+ External library svgalib (used by linux and vgagl driver): Requires
+gnuplot to be suid root (bad!) and has many bugs that are specific to
+the video card or graphics driver used in X11.
-* Menu:
+ 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.
-* data-file::
-* grid_data::
-* splot_overview::
-
-
-File: gnuplot.info, Node: data-file, Prev: splot, Up: splot, Next: binary
-
- As for `plot` (*note plot:: ), discrete data contained in a file can be
- displayed by specifying the name of the data file, enclosed in quotes, on the
- `splot` (*note splot:: ) command line.
-
- Syntax:
- splot '<file_name>' {binary | matrix}
- {index <index list>}
- {every <every list>}
- {using <using list>}
-
- The special filenames `""` and `"-"` are permitted, as in `plot`.
-
- In brief, `binary` (*note binary:: ) and `matrix` (*note matrix:: ) indicate
- that the the data are in a special form, `index` (*note index:: ) selects
- which data sets in a multi-data-set file are to be plotted, `every`
- (*note every:: ) specifies which datalines (subsets) within a single data set
- are to be plotted, and `using` (*note using:: ) determines how the columns
- within a single record are to be interpreted.
-
- The options `index` and `every` behave the same way as with `plot`; `using`
- does so also, except that the `using` list must provide three entries
- instead of two.
-
- The `plot` options `thru` (*note thru:: ) and `smooth` (*note smooth:: ) are
- not available for splot, but `cntrparams` and `dgrid3d` (*note dgrid3d:: )
- provide limited smoothing cabilities.
-
- Data file organization is essentially the same as for `plot`, except that
- each point is an (x,y,z) triple. If only a single value is provided, it
- will be used for z, the datablock number will be used for y, and the index
- of the data point in the datablock will be used for x. If two values are
- provided, `gnuplot` (*note gnuplot:: ) gives you an error message. Three
- values are interpreted as an (x,y,z) triple. Additional values are generally
- used as errors, which can be used by `fit` (*note fit:: ).
-
- Single blank records separate datablocks in a `splot` datafile; `splot`
- treats datablocks as the equivalent of function y-isolines. No line will
- join points separated by a blank record. If all datablocks contain the same
- number of points, `gnuplot` will draw cross-isolines between datablocks,
- connecting corresponding points. This is termed "grid data", and is required
- for drawing a surface, for contouring (`set contour` (*note contour:: )) and
- hidden-line removal (`set hidden3d` (*note hidden3d:: )). See also splot grid
- data
-
- It is no longer necessary to specify `parametric` (*note parametric:: ) mode
- for three-column `splot`s.
+
+File: gnuplot.info, Node: Concept_Index, Next: Command_Index, Prev: Bugs,
Up: Top
+Concept Index
+*************
+ [index ]
* Menu:
-* binary::
-* example datafile::
-* matrix::
+* .gnuplot: Start-up_(initialization).
+ (line 6)
+* 3D: 3D_(surface)_plots. (line 6)
+* abs: abs. (line 6)
+* acos: acos. (line 6)
+* acosh: acosh. (line 6)
+* acsplines: smooth. (line 41)
+* aed512: aed767. (line 6)
+* aed767: aed767. (line 6)
+* aifm: aifm. (line 6)
+* airy: airy. (line 6)
+* angles: angles. (line 6)
+* aqua: aqua. (line 6)
+* Aqua: aqua. (line 6)
+* arg: arg. (line 6)
+* arrow: arrow. (line 6)
+* arrowstyle: set_style_arrow. (line 6)
+* asin: asin. (line 6)
+* asinh: asinh. (line 6)
+* atan: atan. (line 6)
+* atan2: atan2. (line 6)
+* atanh: atanh. (line 6)
+* automated:
automated_iteration_over_multiple_columns.
+ (line 6)
+* autoscale: autoscale. (line 6)
+* avs: filetype. (line 22)
+* axes <1>: Coordinates. (line 6)
+* axes <2>: axes. (line 6)
+* axes: Plotting. (line 23)
+* background: background_color. (line 6)
+* backquotes:
Substitution_of_system_commands_in_backquotes.
+ (line 6)
+* bars: bars. (line 6)
+* batch/interactive: Batch/Interactive_Operation.
+ (line 6)
+* be: be. (line 6)
+* BE: be. (line 6)
+* besj0: besj0. (line 6)
+* besj1: besj1. (line 6)
+* bessel: known_limitations. (line 9)
+* besy0: besy0. (line 6)
+* besy1: besy1. (line 6)
+* bezier: smooth. (line 67)
+* bgnd: background_color. (line 6)
+* binary: binary. (line 6)
+* bind <1>: bind_. (line 6)
+* bind <2>: reset. (line 20)
+* bind: bind. (line 6)
+* bitgraph: tek40. (line 6)
+* bitwise operators: Binary. (line 32)
+* bmargin: bmargin. (line 6)
+* border: border. (line 6)
+* boxerrorbars: boxerrorbars. (line 6)
+* boxes: boxes. (line 6)
+* boxplot: boxplot. (line 6)
+* boxwidth: boxwidth. (line 6)
+* boxxyerrorbars: boxxyerrorbars. (line 6)
+* branch: multi-branch. (line 6)
+* bugs: Bugs. (line 6)
+* call: call. (line 6)
+* candlesticks: candlesticks. (line 6)
+* canvas: Canvas_size. (line 6)
+* cbdata: cbdata. (line 6)
+* cbdtics: cbdtics. (line 6)
+* cblabel: cblabel. (line 6)
+* cbmtics: cbmtics. (line 6)
+* cbrange: cbrange. (line 6)
+* cbtics: cbtics. (line 6)
+* cd: cd. (line 6)
+* ceil: ceil. (line 6)
+* cgi: cgi. (line 6)
+* cgm: cgm. (line 6)
+* circle: circle. (line 6)
+* circles: circles. (line 6)
+* clabel: clabel. (line 6)
+* clear: clear. (line 6)
+* clip: clip. (line 6)
+* cnormal: smooth. (line 105)
+* cntrparam: cntrparam. (line 6)
+* color_resources: x11. (line 217)
+* colorbox: color_box. (line 6)
+* colornames: colornames. (line 6)
+* colors <1>: linetypes. (line 33)
+* colors <2>: rgbformulae. (line 6)
+* colors <3>: defined_. (line 6)
+* colors <4>: linetypes. (line 6)
+* colors: colorspec. (line 6)
+* colorspec: colorspec. (line 6)
+* column <1>: column. (line 6)
+* column: using. (line 27)
+* columnhead <1>: using. (line 29)
+* columnhead: columnhead. (line 6)
+* columnheader <1>: key. (line 91)
+* columnheader <2>: title. (line 6)
+* columnheader: Datastrings. (line 31)
+* command-line-editing: Command-line-editing.
+ (line 6)
+* command-line-options: x11. (line 164)
+* commands: Commands. (line 6)
+* comments: Comments. (line 6)
+* commentschars: set_datafile_commentschars.
+ (line 6)
+* compatibility: Backwards_compatibility.
+ (line 6)
+* context: context. (line 6)
+* contour: contour. (line 6)
+* coordinates: Coordinates. (line 6)
+* copyright: Copyright. (line 6)
+* corel: corel. (line 6)
+* cos: cos. (line 6)
+* cosh: cosh. (line 6)
+* csplines: smooth. (line 72)
+* cubehelix: cubehelix. (line 6)
+* cumulative <1>: smooth. (line 96)
+* cumulative: New_smoothing_algorithms.
+ (line 6)
+* cycle: linetype. (line 55)
+* data: data. (line 6)
+* data-file: data. (line 6)
+* datafile: data. (line 6)
+* datastrings: Datastrings. (line 6)
+* date_specifiers: time/date_specifiers.
+ (line 6)
+* debug: debug. (line 6)
+* decimalsign: decimalsign. (line 6)
+* defined: defined. (line 6)
+* degrees: angles. (line 6)
+* depthorder: scanorder. (line 6)
+* dgrid3d: dgrid3d. (line 6)
+* division: Expressions. (line 16)
+* do: Do. (line 6)
+* dospc: dospc. (line 6)
+* dots: dots. (line 6)
+* dpu414: epson_180dpi. (line 6)
+* dumb: dumb. (line 6)
+* dummy: dummy. (line 6)
+* dx: keywords. (line 42)
+* dxf: dxf. (line 6)
+* dxy800a: dxy800a. (line 6)
+* dy: keywords. (line 42)
+* edf: filetype. (line 30)
+* editing: Command-line-editing.
+ (line 6)
+* eepic: eepic. (line 6)
+* ehf: filetype. (line 30)
+* ellipse: ellipse. (line 6)
+* ellipses: ellipses. (line 6)
+* elliptic integrals: elliptic_integrals. (line 6)
+* emf: emf. (line 6)
+* emtex: latex. (line 6)
+* emxvesa: emxvga. (line 6)
+* emxvga: emxvga. (line 6)
+* encoding: encoding. (line 6)
+* encodings: encoding. (line 6)
+* enhanced: Enhanced_text_mode. (line 6)
+* environment: Environment. (line 6)
+* eps:
postscript__(also_encapsulated_postscript_*.eps).
+ (line 6)
+* epscairo: epscairo. (line 6)
+* epson_180dpi: epson_180dpi. (line 6)
+* epson_60dpi: epson_180dpi. (line 6)
+* epson_lx800: epson_180dpi. (line 6)
+* equal_axes: equal_axes. (line 6)
+* erf: erf. (line 6)
+* erfc: erfc. (line 6)
+* error state <1>: Gnuplot-defined_variables.
+ (line 23)
+* error state: reset. (line 17)
+* errorbars: errorbars. (line 6)
+* errorlines: errorlines. (line 6)
+* errors: Gnuplot-defined_variables.
+ (line 23)
+* evaluate: evaluate. (line 6)
+* every: every. (line 6)
+* example: example_datafile. (line 6)
+* examples: using. (line 75)
+* excl: excl. (line 6)
+* exists <1>: exists. (line 6)
+* exists:
Substitution_of_string_variables_as_macros.
+ (line 6)
+* exit: exit. (line 6)
+* exp: exp. (line 6)
+* expint: expint. (line 6)
+* exponentiation: Binary. (line 32)
+* expressions: Expressions. (line 6)
+* factorial: Unary. (line 16)
+* failsafe: image_failsafe. (line 6)
+* FAQ: Seeking-assistance. (line 6)
+* faq: Seeking-assistance. (line 6)
+* fig: fig. (line 6)
+* file: data. (line 6)
+* filetype: filetype. (line 6)
+* filledcurves: filledcurves. (line 6)
+* fillsteps: fillsteps. (line 6)
+* fillstyle: set_style_fill. (line 6)
+* financebars: financebars. (line 6)
+* fit: fit. (line 6)
+* fit_parameters: adjustable_parameters.
+ (line 6)
+* fitting: short_introduction. (line 6)
+* floating point exceptions <1>: known_limitations. (line 9)
+* floating point exceptions: set_datafile_nofpe_trap.
+ (line 6)
+* floor: floor. (line 6)
+* flush: scanorder. (line 6)
+* fontpath: fontpath. (line 6)
+* fonts <1>: x11. (line 102)
+* fonts <2>: cairo_(pdfcairo. (line 6)
+* fonts <3>: gd_(png. (line 6)
+* fonts <4>:
postscript__(also_encapsulated_postscript_*.eps).
+ (line 6)
+* fonts: Fonts. (line 6)
+* format: format_. (line 6)
+* format_specifiers: format_specifiers. (line 6)
+* fortran: set_datafile_fortran.
+ (line 6)
+* fpe_trap: set_datafile_nofpe_trap.
+ (line 6)
+* frequency: smooth. (line 88)
+* fsteps: fsteps. (line 6)
+* functions: functions. (line 6)
+* gamma <1>: known_limitations. (line 9)
+* gamma: gamma. (line 6)
+* gamma-correction: gamma_correction. (line 6)
+* gd: gd_(png. (line 6)
+* geomean: color_assignment. (line 6)
+* ggi: ggi. (line 6)
+* gif: gd_(png. (line 6)
+* glossary: Glossary. (line 6)
+* gnuplot: gnuplot. (line 6)
+* gpic: gpic. (line 6)
+* gprintf: gprintf_. (line 6)
+* GPVAL: Gnuplot-defined_variables.
+ (line 6)
+* graph-menu: windows. (line 68)
+* grass: grass. (line 6)
+* grayscale_resources: x11. (line 254)
+* grid: grid. (line 6)
+* grid_data: grid_data. (line 6)
+* guidelines: practical_guidelines.
+ (line 6)
+* hcgi: cgi. (line 6)
+* heatmap: image. (line 12)
+* help: help. (line 6)
+* help-desk: Seeking-assistance. (line 6)
+* hidden3d: hidden3d. (line 6)
+* histeps: histeps. (line 6)
+* histograms: histograms. (line 6)
+* history: history. (line 6)
+* historysize: historysize. (line 6)
+* hotkey: bind. (line 6)
+* hotkeys: bind. (line 6)
+* hp2623a: hp2623a. (line 6)
+* hp2648: hp2648. (line 6)
+* hp500c: hp500c. (line 6)
+* hpdj: hpljii. (line 6)
+* hpgl: hpgl. (line 6)
+* hpljii: hpljii. (line 6)
+* hppj: hppj. (line 6)
+* ibeta: ibeta. (line 6)
+* if: if. (line 6)
+* if-old: if-old. (line 6)
+* igamma: igamma. (line 6)
+* imag: imag. (line 6)
+* image: image. (line 6)
+* imagen: imagen. (line 6)
+* impulses: impulses. (line 6)
+* index: index. (line 6)
+* initialization: Start-up_(initialization).
+ (line 6)
+* int: int. (line 6)
+* internationalization: External_libraries. (line 6)
+* interval: set_style_line. (line 6)
+* introduction: Introduction. (line 6)
+* inverf: inverf. (line 6)
+* invnorm: invnorm. (line 6)
+* isosamples: isosamples. (line 6)
+* iterate: iteration. (line 6)
+* iteration <1>: unset. (line 6)
+* iteration <2>: iteration_. (line 6)
+* iteration <3>: iteration. (line 6)
+* iteration: set-show. (line 20)
+* jpeg: gd_(png. (line 6)
+* kc-tek40xx: tek40. (line 6)
+* kdensity <1>: New_smoothing_algorithms.
+ (line 6)
+* kdensity: smooth. (line 117)
+* kdensity2d: dgrid3d. (line 6)
+* key: key. (line 6)
+* km-tek40xx: tek40. (line 6)
+* kyo: kyo. (line 6)
+* label: label. (line 6)
+* labels <1>: labels. (line 6)
+* labels: mouse. (line 52)
+* lambertw: lambertw. (line 6)
+* latex: latex. (line 6)
+* lc: colorspec. (line 6)
+* least-squares: fit. (line 6)
+* legend: key. (line 6)
+* lgamma: lgamma. (line 6)
+* libgd: External_libraries. (line 6)
+* license: Copyright. (line 6)
+* line-editing: Command-line-editing.
+ (line 6)
+* line_resources: x11. (line 273)
+* linecolor: colorspec. (line 6)
+* lines: lines. (line 6)
+* linespoints <1>: set_style_line. (line 6)
+* linespoints: linespoints. (line 6)
+* linestyle: set_style_line. (line 6)
+* linetype: linetype. (line 6)
+* linetypes: linetypes. (line 6)
+* linewidth: set_style_line. (line 6)
+* linux: linux. (line 6)
+* lmargin: lmargin. (line 6)
+* load: load. (line 6)
+* loadpath: loadpath. (line 6)
+* locale <1>: decimalsign. (line 6)
+* locale <2>: locale. (line 6)
+* locale: External_libraries. (line 6)
+* log: log. (line 6)
+* log10: log10. (line 6)
+* logscale: logscale. (line 6)
+* lower: lower. (line 6)
+* lp: linespoints. (line 6)
+* lua: lua. (line 6)
+* macintosh: macintosh. (line 6)
+* macros:
Substitution_of_string_variables_as_macros.
+ (line 6)
+* mapping: mapping. (line 6)
+* margin: margin. (line 6)
+* Marquardt: fit. (line 6)
+* max: color_assignment. (line 6)
+* mean: color_assignment. (line 6)
+* median: color_assignment. (line 6)
+* metafont: mf. (line 6)
+* metapost: mp. (line 6)
+* mf: mf. (line 6)
+* mif: mif. (line 6)
+* min: color_assignment. (line 6)
+* missing: set_datafile_missing.
+ (line 6)
+* mixing_macros_backquotes: String_variables. (line 6)
+* modulo: Binary. (line 32)
+* monochrome_options: x11. (line 211)
+* mouse: mouse. (line 6)
+* mouseformat: mouseformat. (line 6)
+* mousewheel: scrolling. (line 6)
+* mousing: mouse. (line 6)
+* mp: mp. (line 6)
+* multi-branch: multi-branch. (line 6)
+* multiplot: multiplot. (line 6)
+* mx2tics: mx2tics. (line 6)
+* mxtics: mxtics. (line 6)
+* my2tics: my2tics. (line 6)
+* mytics: mytics. (line 6)
+* mztics: mztics. (line 6)
+* NaN <1>: User-defined_variables_and_functions.
+ (line 36)
+* NaN <2>: Expressions. (line 29)
+* NaN: using. (line 100)
+* nec_cp6: epson_180dpi. (line 6)
+* negation: Unary. (line 16)
+* new-features: New_features. (line 6)
+* newhistogram: newhistogram. (line 6)
+* NeXT: Openstep_(next). (line 8)
+* next: next. (line 6)
+* NeXT: next. (line 6)
+* next: Openstep_(next). (line 6)
+* noarrow: arrow. (line 6)
+* noautoscale: autoscale. (line 6)
+* noborder: border. (line 6)
+* nocbdtics: cbdtics. (line 6)
+* nocbmtics: cbmtics. (line 6)
+* nocbtics: cbtics. (line 6)
+* noclip: clip. (line 6)
+* nocontour: contour. (line 6)
+* nodgrid3d: dgrid3d. (line 6)
+* nofpe_trap: set_datafile_nofpe_trap.
+ (line 6)
+* nogrid: grid. (line 6)
+* nohidden3d <1>: known_limitations. (line 9)
+* nohidden3d: hidden3d. (line 6)
+* nohistorysize: historysize. (line 6)
+* nokey: key. (line 6)
+* nolabel: label. (line 6)
+* nologscale: logscale. (line 6)
+* nomouse: mouse. (line 6)
+* nomultiplot: multiplot. (line 6)
+* nomx2tics: mx2tics. (line 6)
+* nomxtics: mxtics. (line 6)
+* nomy2tics: my2tics. (line 6)
+* nomytics: mytics. (line 6)
+* nomztics: mztics. (line 6)
+* nonuniform: matrix. (line 24)
+* nooffsets: offsets. (line 6)
+* noparametric: parametric_. (line 6)
+* nopolar: polar_. (line 6)
+* norm: norm. (line 6)
+* nosurface: surface. (line 6)
+* notimestamp: timestamp. (line 6)
+* nox2dtics: x2dtics. (line 6)
+* nox2mtics: x2mtics. (line 6)
+* nox2tics: x2tics. (line 6)
+* nox2zeroaxis: x2zeroaxis. (line 6)
+* noxdtics: xdtics. (line 6)
+* noxmtics: xmtics. (line 6)
+* noxtics: xtics. (line 6)
+* noxzeroaxis: xzeroaxis. (line 6)
+* noy2dtics: y2dtics. (line 6)
+* noy2mtics: y2mtics. (line 6)
+* noy2tics: y2tics. (line 6)
+* noy2zeroaxis: y2zeroaxis. (line 6)
+* noydtics: ydtics. (line 6)
+* noymtics: ymtics. (line 6)
+* noytics: ytics. (line 6)
+* noyzeroaxis: yzeroaxis. (line 6)
+* nozdtics: zdtics. (line 6)
+* nozmtics: zmtics. (line 6)
+* noztics: ztics. (line 6)
+* nozzeroaxis: zzeroaxis. (line 6)
+* object: object. (line 6)
+* offsets: offsets. (line 6)
+* okidata: epson_180dpi. (line 6)
+* one's complement: Unary. (line 16)
+* openstep: Openstep_(next). (line 6)
+* Openstep: Openstep_(next). (line 6)
+* OpenStep: Openstep_(next). (line 6)
+* operator precedence: Unary. (line 16)
+* operators: Operators. (line 6)
+* origin: origin. (line 6)
+* output: output. (line 6)
+* palette: palette. (line 6)
+* parametric: parametric_. (line 6)
+* pause: pause. (line 6)
+* pbm: pbm. (line 6)
+* pcl5: hpgl. (line 6)
+* pdf <1>: pdf. (line 6)
+* pdf <2>: External_libraries. (line 6)
+* pdf: cairo_(pdfcairo. (line 6)
+* pi: User-defined_variables_and_functions.
+ (line 36)
+* plot: plot. (line 6)
+* plotting: Plotting. (line 6)
+* pm3d: pm3d. (line 6)
+* pm3d_resources: x11. (line 316)
+* png <1>: gd_(png. (line 6)
+* png <2>: png_. (line 6)
+* png: cairo_(pdfcairo. (line 6)
+* pointinterval <1>: linespoints. (line 6)
+* pointinterval: set_style_line. (line 6)
+* pointintervalbox: pointintervalbox. (line 6)
+* points: points. (line 6)
+* pointsize: pointsize. (line 6)
+* polar: polar_. (line 6)
+* polygon: polygon. (line 6)
+* pop: terminal. (line 6)
+* postscript:
postscript__(also_encapsulated_postscript_*.eps).
+ (line 6)
+* practical_guidelines: practical_guidelines.
+ (line 6)
+* prescribe: kyo. (line 6)
+* print: print. (line 6)
+* printing: windows. (line 115)
+* projection: 2D_projection_(set_view_map).
+ (line 6)
+* psdir: psdir. (line 6)
+* pseudocolumns: using. (line 134)
+* pstricks: pstricks. (line 6)
+* punctuation: Syntax. (line 6)
+* push: terminal. (line 6)
+* pwd: pwd. (line 6)
+* qms: qms. (line 6)
+* quit: quit. (line 6)
+* quotes: Quote_Marks. (line 6)
+* raise: raise. (line 6)
+* rand <1>: Random_number_generator.
+ (line 6)
+* rand: rand. (line 6)
+* random: Random_number_generator.
+ (line 6)
+* range-frame: xtics_rangelimited. (line 6)
+* rangelimited: xtics_rangelimited. (line 6)
+* ranges: ranges. (line 6)
+* ratio: size. (line 6)
+* raxis: raxis. (line 6)
+* real: real. (line 6)
+* rectangle: rectangle. (line 6)
+* refresh: refresh. (line 6)
+* regis: regis. (line 6)
+* replot: replot. (line 6)
+* reread: reread. (line 6)
+* reset: reset. (line 6)
+* restore: xrange. (line 6)
+* rgbalpha: image. (line 6)
+* rgbcolor: colorspec. (line 6)
+* rgbformulae: rgbformulae. (line 6)
+* rgbimage: image. (line 6)
+* rmargin: rmargin. (line 6)
+* rrange: rrange. (line 6)
+* rtics: rtics. (line 6)
+* samples: samples. (line 6)
+* save: save. (line 6)
+* sbezier: smooth. (line 77)
+* scansautomatic: scanorder. (line 6)
+* scansbackward: scanorder. (line 6)
+* scansforward: scanorder. (line 6)
+* screendump: windows. (line 115)
+* scrolling: scrolling. (line 6)
+* seeking-assistance: Seeking-assistance. (line 6)
+* selanar: tek40. (line 6)
+* separator: set_datafile_separator.
+ (line 6)
+* set: set-show. (line 6)
+* sgn: sgn. (line 6)
+* shell: shell. (line 6)
+* show: set-show. (line 6)
+* sin: sin. (line 6)
+* sinh: sinh. (line 6)
+* size: size. (line 6)
+* SJIS: encoding. (line 6)
+* skip: example_datafile. (line 22)
+* smooth: smooth. (line 6)
+* special-filenames: special-filenames. (line 6)
+* specify: Syntax. (line 6)
+* splot: splot. (line 6)
+* sprintf: sprintf. (line 6)
+* sqrt: sqrt. (line 6)
+* starc: epson_180dpi. (line 6)
+* start: Start-up_(initialization).
+ (line 6)
+* start-up: Start-up_(initialization).
+ (line 6)
+* starting_values: starting_values. (line 6)
+* startup: Start-up_(initialization).
+ (line 6)
+* statistical_overview: statistical_overview.
+ (line 6)
+* statistics: stats_(Statistical_Summary).
+ (line 6)
+* stats: stats_(Statistical_Summary).
+ (line 6)
+* steps: steps. (line 6)
+* strcol: stringcolumn. (line 6)
+* strftime: strftime. (line 6)
+* string operators: Binary. (line 32)
+* stringcolumn: stringcolumn. (line 6)
+* strings: String_constants_and_string_variables.
+ (line 6)
+* strlen: strlen. (line 6)
+* strptime: strptime. (line 6)
+* strstrt: strstrt. (line 6)
+* style: with. (line 6)
+* substitution: Substitution_and_Command_line_macros.
+ (line 6)
+* substr: substr. (line 6)
+* substring <1>: substr. (line 6)
+* substring: String_constants_and_string_variables.
+ (line 46)
+* summation: Summation. (line 6)
+* sun: sun. (line 6)
+* surface <1>: surface. (line 6)
+* surface: 3D_(surface)_plots. (line 6)
+* svg: svg. (line 6)
+* svga: svga. (line 6)
+* svgalib: External_libraries. (line 6)
+* syntax: Syntax. (line 6)
+* system <1>: system. (line 6)
+* system: system_. (line 6)
+* table: table. (line 6)
+* tan: tan. (line 6)
+* tandy_60dpi: epson_180dpi. (line 6)
+* tanh: tanh. (line 6)
+* tc: colorspec. (line 6)
+* tek40: tek40. (line 6)
+* tek410x: tek410x. (line 6)
+* term: complete_list_of_terminals.
+ (line 6)
+* terminal: complete_list_of_terminals.
+ (line 6)
+* termoption: termoption. (line 6)
+* ternary: Ternary. (line 6)
+* test: test. (line 6)
+* texdraw: texdraw. (line 6)
+* text-menu: windows. (line 134)
+* textcolor: colorspec. (line 6)
+* tgif: tgif. (line 6)
+* thru: thru. (line 6)
+* tics: tics. (line 6)
+* ticscale: ticscale. (line 6)
+* ticslevel: ticslevel. (line 6)
+* time <1>: New_time/date_handling.
+ (line 6)
+* time: time. (line 6)
+* time/date: Time/Date_data. (line 6)
+* time_specifiers: time/date_specifiers.
+ (line 6)
+* timecolumn: timecolumn. (line 6)
+* timefmt <1>: known_limitations. (line 9)
+* timefmt: timefmt. (line 6)
+* timestamp: timestamp. (line 6)
+* tips: tips. (line 6)
+* title: title_. (line 6)
+* tkcanvas: tkcanvas. (line 6)
+* tm_hour: tm_hour. (line 6)
+* tm_mday: tm_mday. (line 6)
+* tm_min: tm_min. (line 6)
+* tm_mon: tm_mon. (line 6)
+* tm_sec: tm_sec. (line 6)
+* tm_wday: tm_wday. (line 6)
+* tm_yday: tm_yday. (line 6)
+* tm_year: tm_year. (line 6)
+* tmargin: tmargin. (line 6)
+* tpic: tpic. (line 6)
+* trange: trange. (line 6)
+* transparency: transparency. (line 6)
+* transparent: set_style_fill. (line 44)
+* unary: Unary. (line 6)
+* undefine: undefine. (line 6)
+* unique: smooth. (line 82)
+* unixpc: unixpc. (line 6)
+* unset: unset. (line 6)
+* update: update. (line 6)
+* urange: urange. (line 6)
+* user-defined: User-defined_variables_and_functions.
+ (line 6)
+* using: using. (line 6)
+* UTF-8: encoding. (line 6)
+* valid: valid. (line 6)
+* value: value. (line 6)
+* variables: User-defined_variables_and_functions.
+ (line 6)
+* vectors: vectors. (line 6)
+* vgagl: vgagl. (line 6)
+* vgal: emxvga. (line 6)
+* view: view. (line 6)
+* voigt: voigt. (line 6)
+* volatile: volatile. (line 6)
+* vrange: vrange. (line 6)
+* vttek: tek40. (line 6)
+* VWS: VWS. (line 6)
+* vx384: vx384. (line 6)
+* wgnuplot.ini: windows. (line 194)
+* wgnuplot.mnu: windows. (line 158)
+* while: While. (line 6)
+* windows: windows. (line 6)
+* with: with. (line 6)
+* word: word. (line 6)
+* words: words. (line 6)
+* writeback: xrange. (line 6)
+* wxt <1>: cairo_(pdfcairo. (line 6)
+* wxt: wxt. (line 6)
+* X resources: x11. (line 217)
+* x11: x11. (line 6)
+* X11: x11. (line 6)
+* x11_fonts: x11. (line 102)
+* x11_mouse: X11_mouse. (line 6)
+* x2data: x2data. (line 6)
+* x2dtics: x2dtics. (line 6)
+* x2label: x2label. (line 6)
+* x2mtics: x2mtics. (line 6)
+* x2range: x2range. (line 6)
+* x2tics: x2tics. (line 6)
+* x2zeroaxis: x2zeroaxis. (line 6)
+* xdata: xdata. (line 6)
+* xdtics: xdtics. (line 6)
+* xerrorbars: xerrorbars. (line 6)
+* xerrorlines: xerrorlines. (line 6)
+* xfig: fig. (line 6)
+* xlabel: xlabel. (line 6)
+* xlib: xlib. (line 6)
+* xmtics: xmtics. (line 6)
+* xrange: xrange. (line 6)
+* xterm: tek40. (line 6)
+* xticlabels: using. (line 148)
+* xtics: xtics. (line 6)
+* xyerrorbars: xyerrorbars. (line 6)
+* xyerrorlines: xyerrorlines. (line 6)
+* xyplane: xyplane. (line 6)
+* xzeroaxis: xzeroaxis. (line 6)
+* y2data: y2data. (line 6)
+* y2dtics: y2dtics. (line 6)
+* y2label: y2label. (line 6)
+* y2mtics: y2mtics. (line 6)
+* y2range: y2range. (line 6)
+* y2tics: y2tics. (line 6)
+* y2zeroaxis: y2zeroaxis. (line 6)
+* ydata: ydata. (line 6)
+* ydtics: ydtics. (line 6)
+* yerrorbars: yerrorbars. (line 6)
+* yerrorlines: yerrorlines. (line 6)
+* ylabel: ylabel. (line 6)
+* ymtics: ymtics. (line 6)
+* yrange: yrange. (line 6)
+* ytics: ytics. (line 6)
+* yzeroaxis: yzeroaxis. (line 6)
+* zdata: zdata. (line 6)
+* zdtics: zdtics. (line 6)
+* zero: zero. (line 6)
+* zeroaxis: zeroaxis. (line 6)
+* zlabel: zlabel. (line 6)
+* zmtics: zmtics. (line 6)
+* zoom: zoom. (line 6)
+* zrange: zrange. (line 6)
+* ztics: ztics. (line 6)
+* zzeroaxis: zzeroaxis. (line 6)
-
-File: gnuplot.info, Node: binary, Prev: data-file, Up: data-file, Next:
example datafile
+
+File: gnuplot.info, Node: Command_Index, Next: Options_Index, Prev:
Concept_Index, Up: Top
- `splot` (*note splot:: ) can read binary files written with a specific format
- (and on a system with a compatible binary file representation.)
+Command Index
+*************
- In previous versions, `gnuplot` (*note gnuplot:: ) dynamically detected binary
- data files. It is now necessary to specify the keyword `binary` directly
- after the filename.
+ [index ]
+* Menu:
- Single precision floats are stored in a binary file as follows:
+* call: call. (line 6)
+* cd: cd. (line 6)
+* clear: clear. (line 6)
+* evaluate: evaluate. (line 6)
+* exit: exit. (line 6)
+* fit: fit. (line 6)
+* help: help. (line 6)
+* history: history. (line 6)
+* if: if. (line 6)
+* iteration <1>: iteration. (line 6)
+* iteration <2>: iteration_. (line 6)
+* iteration <3>: unset. (line 6)
+* iteration: set-show. (line 20)
+* load: load. (line 6)
+* lower: lower. (line 6)
+* pause: pause. (line 6)
+* plot: plot. (line 6)
+* print: print. (line 6)
+* pwd: pwd. (line 6)
+* quit: quit. (line 6)
+* raise: raise. (line 6)
+* refresh: refresh. (line 6)
+* replot: replot. (line 6)
+* reread: reread. (line 6)
+* reset: reset. (line 6)
+* save: save. (line 6)
+* shell: shell. (line 6)
+* splot: splot. (line 6)
+* system <1>: system. (line 6)
+* system: system_. (line 6)
+* test: test. (line 6)
+* undefine: undefine. (line 6)
+* unset: unset. (line 6)
+* update: update. (line 6)
- <N+1> <y0> <y1> <y2> ... <yN>
- <x0> <z0,0> <z0,1> <z0,2> ... <z0,N>
- <x1> <z1,0> <z1,1> <z1,2> ... <z1,N>
- : : : : ... :
+
+File: gnuplot.info, Node: Options_Index, Next: Function_Index, Prev:
Command_Index, Up: Top
- which are converted into triplets:
- <x0> <y0> <z0,0>
- <x0> <y1> <z0,1>
- <x0> <y2> <z0,2>
- : : :
- <x0> <yN> <z0,N>
+Options Index
+*************
- <x1> <y0> <z1,0>
- <x1> <y1> <z1,1>
- : : :
+ [index ]
+* Menu:
- These triplets are then converted into `gnuplot` iso-curves and then
- `gnuplot` proceeds in the usual manner to do the rest of the plotting.
+* angles: angles. (line 6)
+* arrow: arrow. (line 6)
+* autoscale: autoscale. (line 6)
+* bars: bars. (line 6)
+* bind <1>: bind_. (line 6)
+* bind <2>: bind. (line 6)
+* bind: reset. (line 20)
+* bmargin: bmargin. (line 6)
+* border: border. (line 6)
+* boxwidth: boxwidth. (line 6)
+* cbdata: cbdata. (line 6)
+* cbdtics: cbdtics. (line 6)
+* cblabel: cblabel. (line 6)
+* cbmtics: cbmtics. (line 6)
+* cbrange: cbrange. (line 6)
+* cbtics: cbtics. (line 6)
+* clabel: clabel. (line 6)
+* clip: clip. (line 6)
+* cntrparam: cntrparam. (line 6)
+* colornames: colornames. (line 6)
+* contour: contour. (line 6)
+* datafile: data. (line 6)
+* decimalsign: decimalsign. (line 6)
+* dgrid3d: dgrid3d. (line 6)
+* dummy: dummy. (line 6)
+* encoding: encoding. (line 6)
+* fontpath: fontpath. (line 6)
+* format: format_. (line 6)
+* functions: functions. (line 6)
+* grid: grid. (line 6)
+* hidden3d: hidden3d. (line 6)
+* historysize: historysize. (line 6)
+* isosamples: isosamples. (line 6)
+* key: key. (line 6)
+* label: label. (line 6)
+* linetype: linetype. (line 6)
+* lmargin: lmargin. (line 6)
+* loadpath: loadpath. (line 6)
+* locale <1>: decimalsign. (line 6)
+* locale <2>: External_libraries. (line 6)
+* locale: locale. (line 6)
+* logscale: logscale. (line 6)
+* macros:
Substitution_of_string_variables_as_macros.
+ (line 6)
+* mapping: mapping. (line 6)
+* margin: margin. (line 6)
+* mouse: mouse. (line 6)
+* multiplot: multiplot. (line 6)
+* mx2tics: mx2tics. (line 6)
+* mxtics: mxtics. (line 6)
+* my2tics: my2tics. (line 6)
+* mytics: mytics. (line 6)
+* mztics: mztics. (line 6)
+* object: object. (line 6)
+* offsets: offsets. (line 6)
+* origin: origin. (line 6)
+* output: output. (line 6)
+* palette: palette. (line 6)
+* parametric: parametric_. (line 6)
+* pm3d: pm3d. (line 6)
+* pointintervalbox: pointintervalbox. (line 6)
+* pointsize: pointsize. (line 6)
+* polar: polar_. (line 6)
+* psdir: psdir. (line 6)
+* raxis: raxis. (line 6)
+* rmargin: rmargin. (line 6)
+* rrange: rrange. (line 6)
+* rtics: rtics. (line 6)
+* samples: samples. (line 6)
+* size: size. (line 6)
+* style: with. (line 6)
+* surface <1>: 3D_(surface)_plots. (line 6)
+* surface: surface. (line 6)
+* table: table. (line 6)
+* terminal: complete_list_of_terminals.
+ (line 6)
+* termoption: termoption. (line 6)
+* tics: tics. (line 6)
+* ticscale: ticscale. (line 6)
+* ticslevel: ticslevel. (line 6)
+* timefmt <1>: timefmt. (line 6)
+* timefmt: known_limitations. (line 9)
+* timestamp: timestamp. (line 6)
+* title: title_. (line 6)
+* tmargin: tmargin. (line 6)
+* trange: trange. (line 6)
+* urange: urange. (line 6)
+* variables: User-defined_variables_and_functions.
+ (line 6)
+* view: view. (line 6)
+* vrange: vrange. (line 6)
+* x2data: x2data. (line 6)
+* x2dtics: x2dtics. (line 6)
+* x2label: x2label. (line 6)
+* x2mtics: x2mtics. (line 6)
+* x2range: x2range. (line 6)
+* x2tics: x2tics. (line 6)
+* x2zeroaxis: x2zeroaxis. (line 6)
+* xdata: xdata. (line 6)
+* xdtics: xdtics. (line 6)
+* xlabel: xlabel. (line 6)
+* xmtics: xmtics. (line 6)
+* xrange: xrange. (line 6)
+* xtics: xtics. (line 6)
+* xyplane: xyplane. (line 6)
+* xzeroaxis: xzeroaxis. (line 6)
+* y2data: y2data. (line 6)
+* y2dtics: y2dtics. (line 6)
+* y2label: y2label. (line 6)
+* y2mtics: y2mtics. (line 6)
+* y2range: y2range. (line 6)
+* y2tics: y2tics. (line 6)
+* y2zeroaxis: y2zeroaxis. (line 6)
+* ydata: ydata. (line 6)
+* ydtics: ydtics. (line 6)
+* ylabel: ylabel. (line 6)
+* ymtics: ymtics. (line 6)
+* yrange: yrange. (line 6)
+* ytics: ytics. (line 6)
+* yzeroaxis: yzeroaxis. (line 6)
+* zdata: zdata. (line 6)
+* zdtics: zdtics. (line 6)
+* zero: zero. (line 6)
+* zeroaxis: zeroaxis. (line 6)
+* zlabel: zlabel. (line 6)
+* zmtics: zmtics. (line 6)
+* zrange: zrange. (line 6)
+* ztics: ztics. (line 6)
+* zzeroaxis: zzeroaxis. (line 6)
- A collection of matrix and vector manipulation routines (in C) is provided
- in `binary.c`. The routine to write binary data is
+
+File: gnuplot.info, Node: Function_Index, Next: Terminal_Index, Prev:
Options_Index, Up: Top
- int fwrite_matrix(file,m,nrl,nrl,ncl,nch,row_title,column_title)
+Function Index
+**************
- An example of using these routines is provided in the file `bf_test.c`, which
- generates binary files for the demo file `demo/binary.dem`.
-
- The `index` (*note index:: ) keyword is not supported, since the file format
- allows only one surface per file. The `every` (*note every:: ) and `using`
- (*note using:: ) filters are supported. using operates as if the data were
- read in the above triplet form.
-
-
-
-File: gnuplot.info, Node: example datafile, Prev: binary, Up: data-file, Next:
matrix
-
- A simple example of plotting a 3-d 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 (datablocks) are separated by blank records.
-
- Note also that the x value is held constant within each dataline. If you
- instead keep y constant, and plot with hidden-line removal enabled, you will
- find that the surface is drawn 'inside-out'.
+ [index ]
+* Menu:
- Actually for grid data it is not necessary to keep the x values constant
- within a datablock, nor is it necessary to keep the same sequence of y
- values. `gnuplot` (*note gnuplot:: ) requires only that the number of points
- be the same for each datablock. However since the surface mesh, from which
- contours are derived, connects sequentially corresponding points, the effect
- of an irregular grid on a surface plot is unpredictable and should be
- examined on a case-by-case basis.
-
-
-
-File: gnuplot.info, Node: matrix, Prev: example datafile, Up: data-file
-
- The `matrix` flag indicates that the ASCII data are stored in matrix format.
- The z-values are read in a row at a time, i. e.,
- z11 z12 z13 z14 ...
- z21 z22 z23 z24 ...
- z31 z32 z33 z34 ...
- and so forth. The row and column indices are used for the x- and y-values.
-
-
-File: gnuplot.info, Node: grid_data, Prev: data-file, Up: splot, Next:
splot_overview
-
- 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 `set isosamples` (*note isosamples:: ), or
- reading a datafile, see `splot datafile` (*note data-file:: ). The term
- "isoline" is applied to the mesh lines for both functions and data. Note that
- the mesh need not be rectangular in x and y, as it may be parameterized in u
- and v, see `set isosamples`.
-
- However, `gnuplot` (*note gnuplot:: ) does not require that format. In the
- case of functions, 'samples' need not be equal to 'isosamples', i.e., not
- every x-isoline sample need intersect a y-isoline. In the case of data files,
- if there are an equal number of scattered data points in each datablock, then
- "isolines" will connect the points in a datablock, and "cross-isolines" will
- connect the corresponding points in each datablock to generate a
- "surface". In either case, contour and hidden3d modes may give different
- plots than if the points were in the intended format. Scattered data can be
- converted to a {different} grid format with `set dgrid3d` (*note dgrid3d:: ).
-
- 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 `splot`
- (*note splot:: ) contour of a surface with samples on the x-isolines that do
- not coincide with a y-isoline intersection will ignore such samples. Try:
- set xrange [-pi/2:pi/2]; set yrange [-pi/2:pi/2] set function
- style 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
+* abs: abs. (line 6)
+* acos: acos. (line 6)
+* acosh: acosh. (line 6)
+* airy: airy. (line 6)
+* arg: arg. (line 6)
+* asin: asin. (line 6)
+* asinh: asinh. (line 6)
+* atan: atan. (line 6)
+* atan2: atan2. (line 6)
+* atanh: atanh. (line 6)
+* besj0: besj0. (line 6)
+* besj1: besj1. (line 6)
+* besy0: besy0. (line 6)
+* besy1: besy1. (line 6)
+* ceil: ceil. (line 6)
+* column <1>: using. (line 27)
+* column: column. (line 6)
+* columnhead <1>: columnhead. (line 6)
+* columnhead: using. (line 29)
+* cos: cos. (line 6)
+* cosh: cosh. (line 6)
+* defined: defined. (line 6)
+* elliptic integrals: elliptic_integrals. (line 6)
+* erf: erf. (line 6)
+* erfc: erfc. (line 6)
+* exists <1>:
Substitution_of_string_variables_as_macros.
+ (line 6)
+* exists: exists. (line 6)
+* exp: exp. (line 6)
+* expint: expint. (line 6)
+* floor: floor. (line 6)
+* gamma <1>: known_limitations. (line 9)
+* gamma: gamma. (line 6)
+* gprintf: gprintf_. (line 6)
+* ibeta: ibeta. (line 6)
+* igamma: igamma. (line 6)
+* imag: imag. (line 6)
+* int: int. (line 6)
+* inverf: inverf. (line 6)
+* invnorm: invnorm. (line 6)
+* lambertw: lambertw. (line 6)
+* lgamma: lgamma. (line 6)
+* log: log. (line 6)
+* log10: log10. (line 6)
+* norm: norm. (line 6)
+* rand <1>: Random_number_generator.
+ (line 6)
+* rand: rand. (line 6)
+* real: real. (line 6)
+* sgn: sgn. (line 6)
+* sin: sin. (line 6)
+* sinh: sinh. (line 6)
+* sprintf: sprintf. (line 6)
+* sqrt: sqrt. (line 6)
+* strftime: strftime. (line 6)
+* stringcolumn: stringcolumn. (line 6)
+* strlen: strlen. (line 6)
+* strptime: strptime. (line 6)
+* strstrt: strstrt. (line 6)
+* substr: substr. (line 6)
+* tan: tan. (line 6)
+* tanh: tanh. (line 6)
+* time <1>: New_time/date_handling.
+ (line 6)
+* time: time. (line 6)
+* timecolumn: timecolumn. (line 6)
+* tm_hour: tm_hour. (line 6)
+* tm_mday: tm_mday. (line 6)
+* tm_min: tm_min. (line 6)
+* tm_mon: tm_mon. (line 6)
+* tm_sec: tm_sec. (line 6)
+* tm_wday: tm_wday. (line 6)
+* tm_yday: tm_yday. (line 6)
+* tm_year: tm_year. (line 6)
+* valid: valid. (line 6)
+* value: value. (line 6)
+* voigt: voigt. (line 6)
+* word: word. (line 6)
+* words: words. (line 6)
+
+File: gnuplot.info, Node: Terminal_Index, Prev: Function_Index, Up: Top
-
-File: gnuplot.info, Node: splot_overview, Prev: grid_data, Up: splot
+Terminal Index
+**************
- `splot` (*note splot:: ) can display a surface as a collection of points, or
- by connecting those points. As with `plot` (*note plot:: ), the points may be
- read from a data file or result from evaluation of a function at specified
- intervals, see `set isosamples`. The surface may be approximated by
- connecting the points with straight line segments, see `set surface`
- (*note surface:: ), in which case the surface can be made opaque with `set
- hidden3d.` The orientation from which the 3d surface is viewed can be changed
- with `set view` (*note view:: ).
-
- Additionally, for points in a grid format, `splot` can interpolate points
- having a common amplitude (see `set contour` (*note contour:: )) and can then
- connect those new points to display contour lines, either directly with
- straight-line segments or smoothed lines (see `set cntrparams`). Functions
- are already evaluated in a grid format, determined by `set isosamples`
- (*note isosamples:: ) and `set samples` (*note samples:: ), while file data
- must either be in a grid format, as described in `data-file`
- (*note data-file:: ), or be used to generate a grid (see `set dgrid3d`
- (*note dgrid3d:: )).
-
- 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 `plot`, to take advantage of `plot`'s additional
- formatting capabilities.
-
-
-File: gnuplot.info, Node: test, Prev: splot, Up: Commands, Next: update
-
- `test` creates a display of line and point styles and other useful things
- appropriate for the terminal you are using.
-
- Syntax:
- test
-
-
-File: gnuplot.info, Node: update, Prev: test, Up: Commands
-
- This command writes the current values of the fit parameters into the given
- file, formatted as an initial-value file (as described in the `fit`s
- (*note fit:: )ection). This is useful for saving the current values for later
- use or for restarting a converged or stopped fit.
-
- Syntax:
- update <filename> {<filename>}
-
- If a second filename is supplied, the updated values are written to this
- file, and the original parameter file is left unmodified.
-
- Otherwise, if the file already exists, `gnuplot` (*note gnuplot:: ) first
- renames it by appending `.old` and then opens a new file. That is, "`update
- 'fred'`" behaves the same as "`!rename fred fred.old; update 'fred.old'
- 'fred'`". [On DOS and other systems that use the twelve-character
- "filename.ext" naming convention, "ext" will be "`old`" and "filename" will be
- related (hopefully recognizably) to the initial name. Renaming is not done at
- all on VMS systems, since they use file-versioning.]
-
- Please see `fit` for more information.
-
-
-File: gnuplot.info, Node: Graphical User Interfaces, Prev: Commands, Up: Top,
Next: Bugs
-
- Several graphical user interfaces have been written for `gnuplot`
- (*note gnuplot:: ) and one for win32 is included in this distribution. In
- addition, there is a Macintosh interface at
- ftp://ftp.ee.gatech.edu/pub/mac/gnuplot and several X11 interfaces
- include three Tcl/Tk located at the usual Tcl/Tk repositories.
-
-
-
-File: gnuplot.info, Node: Bugs, Prev: Graphical User Interfaces, Up: Top,
Next: Old_bugs
-
- Floating point exceptions (floating point number too large/small, divide by
- zero, etc.) may occasionally be generated by user defined functions. Some of
- the demos in particular may cause numbers to exceed the floating point range.
- Whether the system ignores such exceptions (in which case `gnuplot`
- (*note gnuplot:: ) labels the corresponding point as undefined) or aborts
- `gnuplot` depends on the compiler/runtime environment.
-
- The bessel functions do not work for complex arguments.
-
- The gamma function does not work for complex arguments.
-
- As of `gnuplot` version 3.7, all development has been done using ANSI C.
- With current operating system, compiler, and library releases, the OS
- specific bugs documented in release 3.5, now relegated to `old_bugs`, may
- no longer be relevant.
-
- Bugs reported since the current release may be located via the official
- distribution site:
- ftp://ftp.dartmouth.edu/pub/gnuplot
- http://www.cs.dartmouth.edu/gnuplot_info.html
+ [index ]
+* Menu:
- Please e-mail any bugs to bug-gnuplot@dartmouth.edu.
+* aed512: aed767. (line 6)
+* aed767: aed767. (line 6)
+* cgi: cgi. (line 6)
+* cgm: cgm. (line 6)
+* context: context. (line 6)
+* corel: corel. (line 6)
+* debug: debug. (line 6)
+* dospc: dospc. (line 6)
+* dpu414: epson_180dpi. (line 6)
+* dumb: dumb. (line 6)
+* dxf: dxf. (line 6)
+* dxy800a: dxy800a. (line 6)
+* eepic: eepic. (line 6)
+* emf: emf. (line 6)
+* emtex: latex. (line 6)
+* emxvesa: emxvga. (line 6)
+* emxvga: emxvga. (line 6)
+* epscairo: epscairo. (line 6)
+* excl: excl. (line 6)
+* ggi: ggi. (line 6)
+* gpic: gpic. (line 6)
+* graph-menu: windows. (line 68)
+* grass: grass. (line 6)
+* hcgi: cgi. (line 6)
+* hp2623a: hp2623a. (line 6)
+* hp2648: hp2648. (line 6)
+* hp500c: hp500c. (line 6)
+* hpdj: hpljii. (line 6)
+* hpgl: hpgl. (line 6)
+* hpljii: hpljii. (line 6)
+* hppj: hppj. (line 6)
+* imagen: imagen. (line 6)
+* kc-tek40xx: tek40. (line 6)
+* kyo: kyo. (line 6)
+* latex: latex. (line 6)
+* linux: linux. (line 6)
+* lua: lua. (line 6)
+* macintosh: macintosh. (line 6)
+* mif: mif. (line 6)
+* okidata: epson_180dpi. (line 6)
+* pbm: pbm. (line 6)
+* pcl5: hpgl. (line 6)
+* pdf <1>: cairo_(pdfcairo. (line 6)
+* pdf <2>: External_libraries. (line 6)
+* pdf: pdf. (line 6)
+* png <1>: gd_(png. (line 6)
+* png <2>: cairo_(pdfcairo. (line 6)
+* png: png_. (line 6)
+* prescribe: kyo. (line 6)
+* pstricks: pstricks. (line 6)
+* qms: qms. (line 6)
+* regis: regis. (line 6)
+* starc: epson_180dpi. (line 6)
+* sun: sun. (line 6)
+* svg: svg. (line 6)
+* svga: svga. (line 6)
+* tek40: tek40. (line 6)
+* tek410x: tek410x. (line 6)
+* texdraw: texdraw. (line 6)
+* text-menu: windows. (line 134)
+* tgif: tgif. (line 6)
+* tkcanvas: tkcanvas. (line 6)
+* tpic: tpic. (line 6)
+* unixpc: unixpc. (line 6)
+* vgagl: vgagl. (line 6)
+* vgal: emxvga. (line 6)
+* vttek: tek40. (line 6)
+* VWS: VWS. (line 6)
+* vx384: vx384. (line 6)
+* wgnuplot.ini: windows. (line 194)
+* wgnuplot.mnu: windows. (line 158)
+* windows: windows. (line 6)
+* wxt <1>: cairo_(pdfcairo. (line 6)
+* wxt: wxt. (line 6)
+* xlib: xlib. (line 6)
+* xterm: tek40. (line 6)
-* Menu:
-* Old_bugs::
-
-
-File: gnuplot.info, Node: Old_bugs, Prev: Bugs, Up: Bugs
-
- There is a bug in the stdio library for old Sun operating systems (SunOS
- Sys4-3.2). The "%g" format for 'printf' sometimes incorrectly prints numbers
- (e.g., 200000.0 as "2"). Thus, tic mark labels may be incorrect on a Sun4
- version of `gnuplot` (*note gnuplot:: ). A work-around is to rescale the data
- or use the set format` command to change the tic mark format to "%7.0f" or
- some other appropriate format. This appears to have been fixed in SunOS 4.0.
-
- Another bug: On a Sun3 under SunOS 4.0, and on Sun4's under Sys4-3.2 and
- SunOS 4.0, the 'sscanf' routine incorrectly parses "00 12" with the format
- "%f %f" and reads 0 and 0 instead of 0 and 12. This affects data input. If
- the data file contains x coordinates that are zero but are specified like
- '00', '000', etc, then you will read the wrong y values. Check any data
- files or upgrade the SunOS. It appears to have been fixed in SunOS 4.1.1.
-
- Suns appear to overflow when calculating exp(-x) for large x, so `gnuplot`
- gets an undefined result. One work-around is to make a user-defined function
- like e(x) = x<-500 ? 0 : exp(x). This affects plots of Gaussians (exp(-x*x))
- in particular, since x*x grows quite rapidly.
-
- Microsoft C 5.1 has a nasty bug associated with the %g format for 'printf'.
- When any of the formats "%.2g", "%.1g", "%.0g", "%.g" are used, 'printf' will
- incorrectly print numbers in the range 1e-4 to 1e-1. Numbers that should be
- printed in the %e format are incorrectly printed in the %f format, with the
- wrong number of zeros after the decimal point. To work around this problem,
- use the %e or %f formats explicitly.
-
- `gnuplot`, when compiled with Microsoft C, did not work correctly on two VGA
- displays that were tested. The CGA, EGA and VGA drivers should probably be
- rewritten to use the Microsoft C graphics library. `gnuplot` compiled with
- Borland C++ uses the Turbo C graphics drivers and does work correctly with
- VGA displays.
-
- VAX/VMS 4.7 C compiler release 2.4 also has a poorly implemented %g format
- for 'printf'. The numbers are printed numerically correct, but may not be in
- the requested format. The K&R second edition says that for the %g format, %e
- is used if the exponent is less than -4 or greater than or equal to the
- precision. The VAX uses %e format if the exponent is less than -1. The VAX
- appears to take no notice of the precision when deciding whether to use %e or
- %f for numbers less than 1. To work around this problem, use the %e or %f
- formats explicitly. From the VAX C 2.4 release notes: e,E,f,F,g,G Result
- will always contain a decimal point. For g and G, trailing zeros will not
- be removed from the result.
-
- VAX/VMS 5.2 C compiler release 3.0 has a slightly better implemented %g
- format than release 2.4, but not much. Trailing decimal points are now
- removed, but trailing zeros are still not removed from %g numbers in
- exponential format.
-
- The two preceding problems are actually in the libraries rather than in the
- compilers. Thus the problems will occur whether `gnuplot` is built using
- either the DEC compiler or some other one (e.g. the latest gcc).
-
- ULTRIX X11R3 has a bug that causes the X11 driver to display "every other"
- graph. The bug seems to be fixed in DEC's release of X11R4 so newer releases
- of ULTRIX don't seem to have the problem. Solutions for older sites include
- upgrading the X11 libraries (from DEC or direct from MIT) or defining
- ULTRIX_KLUDGE when compiling the x11.trm file. Note that the kludge is not
- an ideal fix, however.
-
- The constant HUGE was incorrectly defined in the NeXT OS 2.0 operating
- system. HUGE should be set to 1e38 in plot.h. This error has been corrected
- in the 2.1 version of NeXT OS.
-
- Some older models of HP plotters do not have a page eject command 'PG'. The
- current HPGL driver uses this command in HPGL_reset. This may need to be
- removed for these plotters. The current PCL5 driver uses HPGL/2 for text as
- well as graphics. This should be modified to use scalable PCL fonts.
-
- On the Atari version, it is not possible to send output directly to the
- printer (using `/dev/lp` as output file), since CRs are added to LFs in
- binary output. As a work-around, write the output to a file and copy it to
- the printer afterwards using a shell command.
-
- On AIX 4, the literal 'NaNq' in a datafile causes the special internal value
- 'not-a-number' to be stored, rather than setting an internal 'undefined'
- flag. A workaround is to use `set missing 'NaNq'`.
-
- There may be an up-to-date list of bugs since the release on the WWW page:
- http://www.cs.dartmouth.edu/gnuplot_info.html
-
- Please report any bugs to bug-gnuplot@dartmouth.edu.
+
+Tag Table:
+Node: Top207
+Node: gnuplot1180
+Node: Copyright1776
+Node: Introduction3743
+Node: Seeking-assistance8381
+Node: New_features9994
+Node: New_syntax10477
+Node: Local_customization_of_linetypes11635
+Node: New_plot_styles12281
+Node: Revised_polar_axes12569
+Node: New_smoothing_algorithms12928
+Node: New_time/date_handling13458
+Node: Statistical_summary_of_data13996
+Node: New_or_revised_terminal_drivers14631
+Node: Backwards_compatibility17505
+Node: Batch/Interactive_Operation18588
+Node: Canvas_size20249
+Node: Command-line-editing21892
+Node: Comments23202
+Node: Coordinates23821
+Node: Datastrings25913
+Node: Enhanced_text_mode27810
+Node: Environment31932
+Node: Expressions34810
+Node: Functions37513
+Node: abs38837
+Node: acos39195
+Node: acosh39465
+Node: airy39665
+Node: arg40009
+Node: asin40227
+Node: asinh40491
+Node: atan40688
+Node: atan240962
+Node: atanh41305
+Node: EllipticK41514
+Node: EllipticE41670
+Node: EllipticPi41831
+Node: besj041990
+Node: besj142237
+Node: besy042479
+Node: besy142721
+Node: ceil42962
+Node: cos43268
+Node: cosh43514
+Node: erf43743
+Node: erfc44058
+Node: exp44374
+Node: expint44776
+Node: floor45097
+Node: gamma45407
+Node: ibeta45712
+Node: inverf46189
+Node: igamma46434
+Node: imag46876
+Node: invnorm47074
+Node: int47341
+Node: lambertw47541
+Node: lgamma47849
+Node: log48151
+Node: log1048360
+Node: norm48544
+Node: rand48821
+Node: real49026
+Node: sgn49196
+Node: sin49495
+Node: sinh49744
+Node: sqrt49972
+Node: tan50144
+Node: tanh50397
+Node: voigt50629
+Node: gprintf50904
+Node: sprintf51268
+Node: strlen51736
+Node: strstrt52039
+Node: substr52467
+Node: strftime52829
+Node: strptime53114
+Node: system53427
+Node: word53857
+Node: words54085
+Node: column54300
+Node: columnhead54617
+Node: defined54971
+Node: exists55197
+Node: stringcolumn55505
+Node: timecolumn55840
+Node: tm_hour56607
+Node: tm_mday56889
+Node: tm_min57179
+Node: tm_mon57455
+Node: tm_sec57729
+Node: tm_wday58005
+Node: tm_yday58293
+Node: tm_year58584
+Node: time58842
+Node: valid59551
+Node: elliptic_integrals59806
+Node: Random_number_generator60797
+Node: value61696
+Node: Operators62284
+Node: Unary62776
+Node: Binary63683
+Node: Ternary65575
+Node: Summation67085
+Node: Gnuplot-defined_variables68076
+Node: User-defined_variables_and_functions70096
+Node: Fonts72348
+Node: cairo_(pdfcairo72909
+Node: gd_(png73644
+Node: postscript__(also_encapsulated_postscript_*.eps)75423
+Node: Glossary77255
+Node: linetypes79751
+Node: colorspec82782
+Node: background_color85024
+Node: linecolor_variable85699
+Node: rgbcolor_variable86777
+Node: linestyles_vs_linetypes87861
+Node: mouse_input88835
+Node: bind89518
+Node: bind_space92718
+Node: Mouse_variables93127
+Node: Plotting94799
+Node: Start-up_(initialization)96933
+Node: String_constants_and_string_variables97763
+Node: Substitution_and_Command_line_macros99999
+Node: Substitution_of_system_commands_in_backquotes100611
+Node: Substitution_of_string_variables_as_macros101733
+Node: String_variables103878
+Node: Syntax105410
+Node: Quote_Marks107736
+Node: Time/Date_data109512
+Node: plotting_styles112747
+Node: boxerrorbars114195
+Node: boxes115738
+Node: boxplot118077
+Node: boxxyerrorbars120601
+Node: candlesticks121842
+Node: circles124838
+Node: ellipses126673
+Node: dots129301
+Node: filledcurves129842
+Node: financebars132376
+Node: fsteps133348
+Node: fillsteps134012
+Node: histeps134298
+Node: histograms135330
+Node: newhistogram142334
+Node: automated_iteration_over_multiple_columns144270
+Node: image144827
+Node: transparency147519
+Node: image_failsafe148166
+Node: impulses148555
+Node: labels149228
+Node: lines150755
+Node: linespoints151420
+Node: points152510
+Node: polar153008
+Node: steps153512
+Node: rgbalpha154246
+Node: rgbimage154381
+Node: vectors154518
+Node: xerrorbars156123
+Node: xyerrorbars156905
+Node: yerrorbars158101
+Node: xerrorlines158971
+Node: xyerrorlines159773
+Node: yerrorlines160985
+Node: 3D_(surface)_plots161848
+Node: 2D_projection_(set_view_map)162771
+Node: Commands163180
+Node: cd164244
+Node: call164828
+Node: clear166708
+Node: Do167488
+Node: evaluate168274
+Node: exit168969
+Node: fit169763
+Node: adjustable_parameters175561
+Node: short_introduction176852
+Node: error_estimates180842
+Node: statistical_overview181781
+Node: practical_guidelines185551
+Node: control188849
+Node: control_variables189294
+Node: environment_variables191164
+Node: multi-branch191907
+Node: starting_values193187
+Node: tips194864
+Node: help198093
+Node: history198859
+Node: if200213
+Node: if-old201061
+Node: iteration202329
+Node: load203382
+Node: lower204676
+Node: pause205500
+Node: plot208283
+Node: axes210082
+Node: binary210583
+Node: general213586
+Node: array216765
+Node: record217814
+Node: skip218193
+Node: format218801
+Node: endian219893
+Node: filetype220750
+Node: keywords222477
+Node: data227711
+Node: every232015
+Node: example_datafile233848
+Node: index235906
+Node: smooth238081
+Node: special-filenames243794
+Node: thru247829
+Node: using248374
+Node: volatile256965
+Node: errorbars257345
+Node: errorlines259485
+Node: functions261313
+Node: parametric262063
+Node: ranges263102
+Node: iteration_265990
+Node: title268101
+Node: with270044
+Node: print276855
+Node: pwd277303
+Node: quit277655
+Node: raise277948
+Node: refresh278995
+Node: replot279918
+Node: reread281275
+Node: reset283147
+Node: save284041
+Node: set-show286152
+Node: angles288530
+Node: arrow290143
+Node: autoscale296144
+Node: parametric_mode299797
+Node: polar_mode301180
+Node: bars301955
+Node: bind_302779
+Node: bmargin302944
+Node: border303162
+Node: boxwidth306822
+Node: clabel308797
+Node: clip309630
+Node: cntrparam311463
+Node: color_box316023
+Node: colornames318575
+Node: contour319042
+Node: data_style321129
+Node: datafile321327
+Node: set_datafile_fortran321818
+Node: set_datafile_nofpe_trap322334
+Node: set_datafile_missing322860
+Node: set_datafile_separator324877
+Node: set_datafile_commentschars325678
+Node: set_datafile_binary326632
+Node: decimalsign327384
+Node: dgrid3d329787
+Node: dummy335049
+Node: encoding336075
+Node: fit_338325
+Node: fontpath339746
+Node: format_341820
+Node: gprintf_343605
+Node: format_specifiers344190
+Node: time/date_specifiers347580
+Node: function_style350118
+Node: functions_350334
+Node: grid350907
+Node: hidden3d353558
+Node: historysize360641
+Node: isosamples361236
+Node: key362712
+Node: key_placement370135
+Node: key_samples373156
+Node: label374753
+Node: linetype381227
+Node: lmargin384142
+Node: loadpath384365
+Node: locale385443
+Node: logscale386119
+Node: macros387044
+Node: mapping387398
+Node: margin389248
+Node: mouse391122
+Node: doubleclick394792
+Node: mouseformat395155
+Node: scrolling396569
+Node: X11_mouse397305
+Node: zoom397704
+Node: multiplot398523
+Node: mx2tics402680
+Node: mxtics402903
+Node: my2tics405225
+Node: mytics405452
+Node: mztics405661
+Node: object405869
+Node: rectangle407689
+Node: ellipse409132
+Node: circle411436
+Node: polygon412383
+Node: offsets413083
+Node: origin414524
+Node: output414939
+Node: parametric_416505
+Node: plot_418715
+Node: pm3d419217
+Node: algorithm422309
+Node: position424931
+Node: scanorder426109
+Node: clipping427713
+Node: color_assignment428134
+Node: hidden3d_430916
+Node: interpolate431759
+Node: deprecated_options432710
+Node: palette433382
+Node: rgbformulae439634
+Node: defined_441119
+Node: functions__444216
+Node: cubehelix445156
+Node: file446046
+Node: gamma_correction447435
+Node: postscript448434
+Node: pointintervalbox450284
+Node: pointsize450899
+Node: polar_451493
+Node: print_453342
+Node: psdir453988
+Node: raxis454623
+Node: rmargin455177
+Node: rrange455396
+Node: rtics455944
+Node: samples456364
+Node: size457464
+Node: style460103
+Node: set_style_arrow461389
+Node: boxplot_465232
+Node: set_style_data468772
+Node: set_style_fill469240
+Node: set_style_function472375
+Node: set_style_increment472784
+Node: set_style_line474061
+Node: set_style_circle478795
+Node: set_style_rectangle479238
+Node: set_style_ellipse480103
+Node: surface482038
+Node: table482929
+Node: terminal484068
+Node: termoption485763
+Node: tics486402
+Node: ticslevel489923
+Node: ticscale490079
+Node: timestamp490279
+Node: timefmt491522
+Node: title_494613
+Node: tmargin496206
+Node: trange496424
+Node: urange496698
+Node: variables496996
+Node: version497555
+Node: view498211
+Node: equal_axes500006
+Node: vrange500578
+Node: x2data500871
+Node: x2dtics501100
+Node: x2label501341
+Node: x2mtics501553
+Node: x2range501797
+Node: x2tics502054
+Node: x2zeroaxis502290
+Node: xdata502547
+Node: xdtics503845
+Node: xlabel504456
+Node: xmtics507539
+Node: xrange508167
+Node: xtics513019
+Node: xtics_time_data520317
+Node: xtics_rangelimited521334
+Node: xyplane522334
+Node: xzeroaxis523658
+Node: y2data523878
+Node: y2dtics524110
+Node: y2label524360
+Node: y2mtics524581
+Node: y2range524834
+Node: y2tics525098
+Node: y2zeroaxis525343
+Node: ydata525609
+Node: ydtics525825
+Node: ylabel526055
+Node: ymtics526243
+Node: yrange526476
+Node: ytics526720
+Node: yzeroaxis526944
+Node: zdata527163
+Node: zdtics527376
+Node: zzeroaxis527609
+Node: cbdata527928
+Node: cbdtics528128
+Node: zero528368
+Node: zeroaxis529044
+Node: zlabel530269
+Node: zmtics530459
+Node: zrange530692
+Node: ztics530988
+Node: cblabel531210
+Node: cbmtics531409
+Node: cbrange531655
+Node: cbtics532333
+Node: shell532553
+Node: splot533535
+Node: data-file535603
+Node: matrix538024
+Node: example_datafile_541622
+Node: grid_data542967
+Node: splot_surfaces544750
+Node: stats_(Statistical_Summary)546130
+Node: system_550446
+Node: test550944
+Node: undefine551742
+Node: unset552650
+Node: update553168
+Node: While554262
+Node: Terminal_types554610
+Node: complete_list_of_terminals554771
+Node: aed767556068
+Node: aifm556473
+Node: aqua556876
+Node: be558053
+Node: epscairo564810
+Node: canvas565151
+Node: cgi568817
+Node: cgm569225
+Node: context577000
+Node: corel583592
+Node: debug584168
+Node: svga584441
+Node: dumb584764
+Node: dxf586232
+Node: dxy800a586915
+Node: eepic587127
+Node: emf591232
+Node: emxvga593036
+Node: epson_180dpi593720
+Node: excl595132
+Node: fig595382
+Node: png_599616
+Node: ggi602815
+Node: gpic603913
+Node: grass605769
+Node: hp2623a606166
+Node: hp2648606391
+Node: hp500c606624
+Node: hpgl607197
+Node: hpljii610370
+Node: hppj610992
+Node: imagen611365
+Node: kyo612081
+Node: latex612411
+Node: linux614893
+Node: lua615253
+Node: macintosh616236
+Node: mf617631
+Node: mp622292
+Node: mif631289
+Node: next632530
+Node: Openstep_(next)633586
+Node: pbm634710
+Node: dospc636027
+Node: pdf636344
+Node: pstricks638256
+Node: qms639077
+Node: regis639316
+Node: sun639628
+Node: svg639832
+Node: tek410x642464
+Node: tek40642706
+Node: texdraw643331
+Node: tgif643956
+Node: tkcanvas646825
+Node: tpic648861
+Node: unixpc650513
+Node: vx384650734
+Node: vgagl650964
+Node: VWS653087
+Node: windows653407
+Node: wxt663750
+Node: x11669835
+Node: xlib686124
+Node: Bugs686558
+Node: known_limitations686999
+Node: External_libraries688530
+Node: Concept_Index689770
+Node: Command_Index741354
+Node: Options_Index743985
+Node: Function_Index753566
+Node: Terminal_Index759483
+
+End Tag Table
- [nongnu] elpa/gnuplot 3245468 084/184: Fixes to context-sensitive grammar, (continued)
- [nongnu] elpa/gnuplot 3245468 084/184: Fixes to context-sensitive grammar, ELPA Syncer, 2021/08/29
- [nongnu] elpa/gnuplot a290617 079/184: Make info window/frame handling work alike in context and non-context modes, ELPA Syncer, 2021/08/29
- [nongnu] elpa/gnuplot af7e8de 073/184: Remove references to obsolete kw-compl and hilit19 packages, ELPA Syncer, 2021/08/29
- [nongnu] elpa/gnuplot 630c945 093/184: Clean up build process to be closer to gnuplot source tree., ELPA Syncer, 2021/08/29
- [nongnu] elpa/gnuplot c827a90 090/184: Load gnuplot-eldoc only if needed, ELPA Syncer, 2021/08/29
- [nongnu] elpa/gnuplot cabfc6c 088/184: fix annoying delay in indentation with blinking paren mode, ELPA Syncer, 2021/08/29
- [nongnu] elpa/gnuplot 327d564 091/184: Fix indentation: only outdent a maximum of one closing brace per line, ELPA Syncer, 2021/08/29
- [nongnu] elpa/gnuplot 7046fe1 092/184: Misc cleanup and documentation, ELPA Syncer, 2021/08/29
- [nongnu] elpa/gnuplot a25b290 094/184: Update README for new release., ELPA Syncer, 2021/08/29
- [nongnu] elpa/gnuplot 0134457 098/184: Add configure scripts, etc. back to repository for easier building, ELPA Syncer, 2021/08/29
- [nongnu] elpa/gnuplot 1b8e0e3 095/184: Update included info file for Gnuplot 4.6,
ELPA Syncer <=
- [nongnu] elpa/gnuplot d5eb309 102/184: Merge pull request #17 from yyr/master, ELPA Syncer, 2021/08/29
- [nongnu] elpa/gnuplot ae7c4b4 104/184: readme tweaks, ELPA Syncer, 2021/08/29
- [nongnu] elpa/gnuplot 483a71f 103/184: Update documentation on installing, and tweak Makefile.dst, ELPA Syncer, 2021/08/29
- [nongnu] elpa/gnuplot 7350c9d 107/184: Use the syntax-propertize mechanism instead of after-change-functions, ELPA Syncer, 2021/08/29
- [nongnu] elpa/gnuplot 4c5092a 115/184: Merge branch 'syntax-propertize', ELPA Syncer, 2021/08/29
- [nongnu] elpa/gnuplot edd779a 114/184: Fix context tests for syntax-propertize, ELPA Syncer, 2021/08/29
- [nongnu] elpa/gnuplot 156d6a9 120/184: Add option to send plot output to a dedicated buffer, ELPA Syncer, 2021/08/29
- [nongnu] elpa/gnuplot ba3728a 113/184: Fix syntax-propertize rules for empty strings, ELPA Syncer, 2021/08/29
- [nongnu] elpa/gnuplot 08fe8e0 117/184: Try to make tests runnable on older Emacs, ELPA Syncer, 2021/08/29
- [nongnu] elpa/gnuplot 7f53432 132/184: Clarify `gnuplot-comint-complete` docstring, ELPA Syncer, 2021/08/29