--- /dev/null
+ Gnuplot FAQ
+
+ This document deals with gnuplot version 4.2 which is the latest official
+ release as of February 2007.
+ Its version is $Revision: 1.16.2.2 $, dated $Date: 2007/02/25 13:18:34 $.
+
+Contents
+
+ * 0 Meta - Questions
+ * 0.1 Where do I get this document?
+ * 0.2 Where do I send comments about this document?
+ * 1 General Information
+ * 1.1 What is gnuplot?
+ * 1.2 How did it come about and why is it called gnuplot?
+ * 1.3 What does gnuplot offer?
+ * 1.4 Is gnuplot suitable for scripting?
+ * 1.5 Can I run gnuplot on my computer?
+ * 1.6 Legalities
+ * 1.7 Does gnuplot have anything to do with the FSF and the GNU
+ project?
+ * 1.8 Where do I get further information?
+ * 2 Setting it up
+ * 2.1 What is the current version of gnuplot?
+ * 2.2 Where can I get gnuplot?
+ * 2.3 Where can I get current development version of gnuplot?
+ * 2.4 How do I get gnuplot to compile on my system?
+ * 2.5 What documentation is there, and how do I get it?
+ * 2.6 Worked examples
+ * 2.7 How do I modify gnuplot, and apply 'patches'?
+ * 3 Working with it.
+ * 3.1 How do I get help?
+ * 3.2 How do I print out my graphs?
+ * 3.3 How do I include my graphs in <word processor>?
+ * 3.4 How do I edit or post-process a gnuplot graph?
+ * 3.5 How do I change symbol size, line thickness and the like?
+ * 3.6 How do I generate plots in GIF format?
+ * 3.7 Can I animate my graphs?
+ * 3.8 How do I plot implicit defined graphs?
+ * 3.9 How to fill an area between two curves
+ * 3.10 Pm3d splot from a datafile does not draw anything
+ * 3.11 Drawing a (color) map, i.e. 2D projection of 3D data
+ * 3.12 How to overlay dots/points scatter plot onto a pm3d
+ map/surface
+ * 3.13 How to draw black contour plot, and contours with labels
+ * 3.14 How to overlay contour plot over pm3d map/surface
+ * 3.15 Color facets with pm3d
+ * 3.16 Palette for printing my color map on color as well as
+ black&white printer?
+ * 4 Wanted features
+ * 4.1 What's new in gnuplot 3.7, 4.0, 4.2 etc?
+ * 4.2 Does gnuplot support a driver for <graphics format>?
+ * 4.3 Does gnuplot have hidden line removal?
+ * 4.4 Does gnuplot support bar-charts/histograms/boxes?
+ * 4.5 Does gnuplot support pie charts?
+ * 4.6 Does gnuplot quarterly time charts?
+ * 4.7 Can I put multiple pages on one page?
+ * 4.8 Does gnuplot support multiple y-axes on a single plot?
+ * 4.9 Can I put both commands and data into a single file?
+ * 4.10 Can I put Greek letters and super/subscripts into my labels?
+ * 4.11 How do I include accented characters
+ * 4.12 Can I do 1:1 scaling of axes?
+ * 4.13 Can I put different text sizes into my plots?
+ * 4.14 How do I skip data points?
+ * 4.15 How do I plot every nth point?
+ * 4.16 How do I plot a vertical line?
+ * 4.17 How do I plot data files
+ * 4.18 How do I replot multiplot drawing
+ * 5 Miscellaneous
+ * 5.1 I've found a bug, what do I do?
+ * 5.2 Can I use gnuplot routines for my own programs?
+ * 5.3 What extensions have people made to gnuplot? Where can I get
+ them?
+ * 5.4 I need an integration, fft, iir-filter,...!
+ * 5.5 Can I do heavy-duty data processing with gnuplot? or What is
+ beyond gnuplot?
+ * 5.6 Mouse in my interactive terminal does not work
+ * 5.7 How to use hotkeys in my interactive terminals
+ * 5.8 I have ported gnuplot to another system, or patched it. What
+ do I do?
+ * 5.9 I want to help in developing the next version of gnuplot.
+ What can I do?
+ * 5.10 Open questions for inclusion into the FAQ?
+ * 6 Making life easier
+ * 6.1 How do I plot two functions in non-overlapping regions?
+ * 6.2 How do I run my data through a filter before plotting?
+ * 6.3 How do I make it easier to use gnuplot with LATEX?
+ * 6.4 How do I save and restore my settings?
+ * 6.5 How do I plot lines (not grids) using splot?
+ * 6.6 How do I plot a function f(x,y) that is bounded by other
+ functions in the x-y plane?
+ * 6.7 How do I turn off <feature> in a plot?
+ * 6.8 How do I call gnuplot from my own programs?
+ * 6.9 What if I need h-bar (Planck's constant)?
+ * 6.10 What if I need the Solar mass symbol?
+ * 6.11 How do I produce blank output page?
+ * 7 Common problems
+ * 7.1 Help! None of my fonts work.
+ * 7.2 Gnuplot is not plotting any points under X11! How come?
+ * 7.3 Why does gnuplot ignore my very small numbers?
+ * 7.4 Gnuplot is not plotting on the screen when run from command
+ line via 'gnuplot filename.gp'
+ * 7.5 My formulas (like 1/3) are giving me nonsense results! What's
+ going on?
+ * 7.6 Set output 'filename' isn't outputting everything it should!
+ * 7.7 When using the LATEX-terminal, there is an error during the
+ LATEX-run!
+ * 7.8 I can't find the demos and example files at the URLs in the
+ documentation!
+ * 7.9 Calling gnuplot in a pipe or with a gnuplot-script doesn't
+ produce a plot!
+ * 8 Credits
+
+
+0 Meta - Questions
+
+0.1 Where do I get this document?
+
+ The newest version of this document is on the web at
+ http://www.gnuplot.info/faq/.
+
+ This document was/is posted sometimes to the newsgroups
+ ~comp.graphics.apps.gnuplot.
+
+0.2 Where do I send comments about this document?
+
+ Send comments, suggestions etc via email to the developer mailing list
+ gnuplot-beta@lists.sourceforge.net. Please contribute your suggestions
+ with respect to the file faq.tex available from
+ http://cvs.sourceforge.net/viewcvs.py/gnuplot/faq/.
+
+
+1 General Information
+
+1.1 What is gnuplot?
+
+ gnuplot is a command-driven interactive function plotting program. It can
+ be used to plot functions and data points in both two- and
+ three-dimensional plots in many different formats. It is designed
+ primarily for the visual display of scientific data. gnuplot is
+ copyrighted, but freely distributable; you don't have to pay for it.
+
+1.2 How did it come about and why is it called gnuplot?
+
+ The authors of gnuplot are: Thomas Williams, Colin Kelley, Russell Lang,
+ Dave Kotz, John Campbell, Gershon Elber, Alexander Woo and many others.
+
+ The following quote comes from Thomas Williams:
+
+ I was taking a differential equation class and Colin was taking
+ Electromagnetics, we both thought it'd be helpful to visualize the
+ mathematics behind them. We were both working as sys admin for an EE
+ VLSI lab, so we had the graphics terminals and the time to do some
+ coding. The posting was better received than we expected, and prompted
+ us to add some, albeit lame, support for file data.
+
+ Any reference to GNUplot is incorrect. The real name of the program is
+ "gnuplot". You see people use "Gnuplot" quite a bit because many of us
+ have an aversion to starting a sentence with a lower case letter, even
+ in the case of proper nouns and titles. gnuplot is not related to the
+ GNU project or the FSF in any but the most peripheral sense. Our
+ software was designed completely independently and the name "gnuplot"
+ was actually a compromise. I wanted to call it "llamaplot" and Colin
+ wanted to call it "nplot." We agreed that "newplot" was acceptable but,
+ we then discovered that there was an absolutely ghastly pascal program
+ of that name that the Computer Science Dept. occasionally used. I
+ decided that "gnuplot" would make a nice pun and after a fashion Colin
+ agreed.
+
+1.3 What does gnuplot offer?
+
+ * Plotting two-dimensional functions and data points in many different
+ styles (points, lines, error bars)
+ * Plotting three-dimensional data points and surfaces in many different
+ styles (contour plot, mesh)
+ * Algebraic computation in integer, float and complex arithmetic
+ * User-defined functions and hot-keys
+ * Support for a large number of operating systems, graphics file formats
+ and output devices
+ * Extensive on-line help
+ * TEX-like text formatting for labels, titles, axes, data points
+ * Interactive command line editing and history (most platforms)
+
+1.4 Is gnuplot suitable for scripting?
+
+ Yes. Gnuplot can read in files containing additional commands during an
+ interactive session, or it can be run in batch mode by piping a
+ pre-existing file or a stream of commands to stdin. Gnuplot is used as a
+ back-end graphics driver by such higher-level mathematical packages as
+ Octave, and can easily be wrapped in a cgi script for use as a web-driven
+ plot generator.
+
+1.5 Can I run gnuplot on my computer?
+
+ Gnuplot is available for a number of platforms. These are: Unix (X11 and
+ NeXTSTEP), Linux, VMS, OS/2, MS-DOS, Amiga, MS-Windows, OS-9/68k, Atari
+ ST, BeOS, and Macintosh.
+
+ Please notify the FAQ-maintainer of any further ports you might be aware
+ of.
+
+ You should be able to compile the gnuplot source more or less out of the
+ box on any reasonable standard (ANSI/ISO C, POSIX) environment.
+
+1.6 Legalities
+
+ Gnuplot is freeware authored by a collection of volunteers, who cannot
+ make any legal statement about the compliance or non-compliance of gnuplot
+ or its uses. There is also no warranty whatsoever. Use at your own risk.
+
+ Citing from the README of a mathematical subroutine package by R. Freund:
+
+ For all intent and purpose, any description of what the codes are doing
+ should be construed as being a note of what we thought the codes did on
+ our machine on a particular Tuesday of last year. If you're really
+ lucky, they might do the same for you someday. Then again, do you really
+ feel *that* lucky?
+
+1.7 Does gnuplot have anything to do with the FSF and the GNU project?
+
+ Gnuplot is neither written nor maintained by the FSF. It is not covered by
+ the General Public License, either. It used to be distributed by the FSF,
+ however, due to licensing issues it is no longer.
+
+ Gnuplot is freeware in the sense that you don't have to pay for it.
+ However it is not freeware in the sense that you would be allowed to
+ distribute a modified version of your gnuplot freely. Please read and
+ accept the Copyright file in your distribution.
+
+1.8 Where do I get further information?
+
+ See the main gnuplot web page http://www.gnuplot.info and references
+ therein, mainly gnuplot links http://gnuplot.sourceforge.net/links.html.
+
+ Some documentation and tutorials are available in other languages than
+ English. See http://gnuplot.sourceforge.net/help.html, section "Localized
+ learning pages about gnuplot", for the most up-to-date list.
+
+
+2 Setting it up
+
+2.1 What is the current version of gnuplot?
+
+ The current released version of gnuplot is 4.2.
+
+2.2 Where can I get gnuplot?
+
+ The best place is definitely http://www.gnuplot.info. From there you find
+ various pointers to other sites.
+
+ The source distribution ("gnuplot-4.2.0.tar.gz" or a similar name) is
+ available from the official distribution site and its mirrors.
+
+ The main server is ftp.gnuplot.info in /pub/gnuplot/. This server is
+ mirrored by several others, among those are
+ * mirror.aarnet.edu.au in /pub/gnuplot/
+ * ftp.dartmouth.edu in /pub/gnuplot/
+ * ftp.irisa.fr in /pub/gnuplot/
+ * ftp.gnuplot.vt.edu in /pub/gnuplot/
+
+ As of June 1999, the gnuplot distribution is also mirrored at the
+ Comprehensive TeX Archive Network (CTAN) in the graphics/gnuplot
+ directory. See
+ * http://www.ctan.org/.
+
+ The following platform-specific sites below still exist, but may or may
+ not still hold gnuplot executables.
+
+ * Source and binary distributions for the Amiga are available on Aminet
+ ftp.wustl.edu in aminet/ and its mirrors, for example ftp.uni-kl.de,
+ oes.orst.edu or ftp.luth.se.
+
+ * MS-DOS and MS-Windows binaries are available from the above servers
+ and are called for example gp37dos.zip, gp37dj.zip, gp37w16.zip,
+ gp37mgw.zip, gnuplot3.7cyg.zip. OS/2 binaries are called gp37os2.zip.
+
+ * The NeXTSTEP front end can be found at next-ftp.peak.org in
+ /pub/next/binaries/plotting/Gnuplot1.2_bin.tar.Z.
+
+ * A version for OS-9/68K can be found at cabrales.cs.wisc.edu in
+ /pub/OSK/GRAPHICS/gnuplot32x.tar.Z; it includes both an X-Window
+ Systems and a non - X-Window Systems version.
+
+ * Versions for the Atari ST and TT, which include some GEM windowing
+ support, are available from ftp.uni-kl.de in /pub/atari/graphics/, as
+ gplt35st.zip and gplt35tt.zip. They work best under MiNT.
+
+ * Executable files, plus documentation in Japanese, exist for the X680x0
+ on ftp.csis.oita-u.ac.jp in /pub/x68k/fj.binaries.x68000/vol2.
+
+2.3 Where can I get current development version of gnuplot?
+
+ The development version of gnuplot is availble as a cvs source tree online
+ for direct browsing from http://www.sourceforge.net/projects/gnuplot/,
+ section "CVS". You can download all current sources according to the
+ documentation therein; for example by a sequence of commands like
+
+ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/gnuplot login
+ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/gnuplot co -P gnuplot
+
+ or (in bash)
+
+ export CVSROOT=:pserver:anonymous@cvs.sourceforge.net:/cvsroot/gnuplot
+ cvs login
+ cvs -z3 checkout gnuplot
+
+ Further, before the ./configure command of gnuplot compilation phase, you
+ have to execute ./prepare to create the up-to-date configure files.
+
+ There are no official preliminary binary releases of gnuplot: you have to
+ compile it yourself. However, you may find unofficial binary releases for
+ some platforms, like OS/2, Windows or Macintosh.
+
+ Important note: questions related to the development version should go to
+ gnuplot-beta@lists.sourceforge.net.
+
+2.4 How do I get gnuplot to compile on my system?
+
+ As you would any other installation. Read the files README.1ST and README.
+
+ * For Unix, use ./configure (or ./configure -prefix=$HOME/usr for an
+ installation for a single user), make and finally make install or make
+ install-strip, the latter for smaller executables without debugging
+ information. If you want to make a RPM package, then replace the
+ latest step by checkinstall or checkinstall make install-strip,
+ supposing the package checkinstall on your machine.
+ * For DOS, if you are using bash and DJGPP, you can just run
+ djconfig.sh.
+ * For other platforms, copy the relevant makefile (e.g. makefile.os2 for
+ OS/2, or makefile.mgw or makefile.cyg for Windows) from config/ to
+ src/, optionally update options in the makefile's header, then change
+ directory to src and run make.
+
+2.5 What documentation is there, and how do I get it?
+
+ The documentation is included in the source distribution. Look at the docs
+ subdirectory, where you'll find
+
+ * a Unix man page, which says how to start gnuplot
+ * a help file, which also can be printed as a manual
+ * a tutorial on using gnuplot with LATEX
+ * a quick reference summary sheet for TEX only
+
+ The documentation is built during installation if you have LATEX installed
+ on your system, look in the directories docs and tutorial. make pdf in the
+ docs subdirectory will make a gnuplot.pdf hypertext file ready for
+ browsing or printing.
+
+ Online gnuplot documentation is available at
+ http://gnuplot.sourceforge.net/documentation.html.
+
+ (Obsolete?) PostScript copies of the documentation can be ftp'd from
+ ftp.gnuplot.info in /pub/gnuplot, as manual.ps.Z and tutorial.ps.Z.
+ Documentation about gnuplot is available at the gnuplot distribution sites
+ in the files gpdoc.zip and gpdoc2.zip.
+
+2.6 Worked examples
+
+ There is a directory of worked examples in the the source distribution.
+ These examples, and the resulting plots, may also be found at
+ http://gnuplot.sourceforge.net/demo/.
+
+2.7 How do I modify gnuplot, and apply 'patches'?
+
+ For this, you will need to recompile gnuplot.
+
+ Modifications people make are either done by replacing files, such as
+ terminal drivers, or by 'patching'. If a file is a replacement, it will
+ probably tell you in its README or in the lines at the beginning.
+
+ To patch a file, you need the patch utility, and possibly also automake
+ and autoconf. On many UNIX systems these will already be installed; If
+ they aren't, you can find them wherever GNU software is archived. Typical
+ command for applying a patch is patch -p0 <newfunctionality.diff.
+
+ There is repository of contributed patches in the "Patches" section on
+ gnuplot's sourceforge site http://www.sourceforge.net/projects/gnuplot/.
+
+
+3 Working with it.
+
+3.1 How do I get help?
+
+ Read this document.
+
+ Give the help command at the initial prompt. After that, keep looking
+ through the keywords. Good starting points are plot and set.
+
+ Read the manual, if you have it.
+
+ Look through the demo subdirectory; it should give you some ideas.
+
+ Ask your colleagues, the system administrator or the person who set up
+ gnuplot.
+
+ If all these fail, please upgrade to the newest version of gnuplot or urge
+ your system-administrator to do so. Then post a question
+ to ~comp.graphics.apps.gnuplot or send mail to the gatewayed mailing list
+ gnuplot-info@lists.sourceforge.net. Do not forget to cite the version
+ number and the operating system. If you want to subscribe to the mailing
+ list, send a mail to majordomo@lists.sourceforge.net with the body of the
+ message being subscribe info-gnuplot. Please don't do this if you can get
+ ~comp.graphics.apps.gnuplot directly. If you post a question there, it is
+ considered good form to solicit e-mail replies and post a summary.
+
+3.2 How do I print out my graphs?
+
+ The kind of output produced is determined by the set terminal command; for
+ example, set terminal postscript will produce the graph in PostScript
+ format. Output can be redirected using the set output command.
+
+ As an example, the following prints out a graph of sin(x) on a Unix
+ machine running the X-Window System.
+
+ gnuplot> plot [-6:6] sin(x)
+ gnuplot> set terminal postscript
+ Terminal type set to 'postscript'
+ Options are 'landscape monochrome "Courier" 14'
+ gnuplot> set output "sin.ps"
+ gnuplot> replot
+ gnuplot> set output # set output back to default
+ gnuplot> set terminal x11 # ditto for terminal type
+ gnuplot> ! lp -ops sin.ps # print PS File (site dependent)
+ request id is lprint-3433 (standard input)
+ lp: printed file sin.ps on fg20.rz.uni-karlsruhe.de (5068 Byte)
+ !
+ gnuplot>
+
+ Using the platform-independent way of restoring terminal by set term
+ push/pop commands, do it by
+
+ gnuplot> set terminal postscript eps color lw 15 "Helvetica" 20
+ gnuplot> set out 'a.eps'
+ gnuplot> replot
+ gnuplot> set term pop
+
+ The command set term pop without a previous corresponding set term push
+ switches the terminal back to the startup terminal, e.g. x11, pm or win.
+
+ In Microschrott Windows you click in the upper left corner of the graph
+ window and print directly from there.
+
+3.3 How do I include my graphs in <word processor>?
+
+ Basically, you save your plot to a file in a format your word processor
+ can understand (using set term and set output, see above), and then you
+ read in the plot from your word processor. Vector formats (PostScript,
+ emf, svg, pdf, TEX, LATEX, etc) should be preferred, as you can scale your
+ graph later to the right size.
+
+ Details depend on which word processor you use; use set term to get a list
+ of available file formats.
+
+ Many word processors can use Encapsulated PostScript for graphs. This can
+ be generated by the set terminal postscript eps [color] command. Note that
+ it is a good idea to check and correct the bounding box of the graphs in
+ the eps files (manually or by the fixbb script from gnuplot webpage), as
+ you have to correct this box for any eps figure produced by whichever
+ program. Some (most?) word processors do not preview the actual image in
+ the eps file, and you have to add the preview image yourself. You can use
+ the GSView viewer for this (available for OS/2, Windows and X11), or some
+ Unix ps tool. Note that the preview image increases size of the eps file;
+ the smallest increase you may get by choosing Tiff 6 Packbits.
+
+ Some office Windows applications, also OpenOffice.org, can handle vector
+ images produces by the emf terminal. OpenOffice.org can also read
+ AutoCAD's dxf format, as well as SVG thanks to SVG Import Filter
+ http://www.ipd.uni-karlsruhe.de/ hauma/svg-import/.
+
+ With TEX, it depends on what you use to print your dvi files. If you use
+ dvips or dvi2ps, you can use Encapsulated PostScript. For emTeX (popular
+ for OS/2 and MS-DOS), you can use emTeX, otherwise use the LATEX terminal
+ type, which generates a picture environment. You can also use epslatex to
+ separate the graphics and text parts. Other possibilities include pslatex
+ or pstex terminals, and metafont or metapost terminals.
+
+ With TEX processed by pdftex or pdflatex, you can use png, jpeg and pdf
+ terminal types. You can also use the postscript eps terminal and convert
+ the eps file externally to pdf by epstopdf. Another choice is the epslatex
+ terminal, after converting the eps part to pdf as above (the TEX part can
+ remain unchanged).
+
+ Most word processors can import bitmap images (png, pbm, etc). The
+ disadvantage of this approach is that the resolution of your plot is
+ limited by the size of the plot at the time it is generated by gnuplot,
+ which is generally a much lower resolution than the document will
+ eventually be printed in.
+
+ Under IBM OS/2, MacOS and Micro$oft Windows you can use the clipboard to
+ copy your graph and paste it into your favourite word processor.
+
+ The mif terminal type produces output for FrameMaker.
+
+3.4 How do I edit or post-process a gnuplot graph?
+
+ This depends on the terminal type you use.
+
+ * X11 toolkits: You can use the terminal type fig and use the xfig
+ drawing program to edit the plot afterwards. You can obtain the xfig
+ program from its web site http://www.xfig.org. More information about
+ the text-format used for fig can be found in the fig-package.
+
+ You may use the tgif terminal, which creates output suitable for
+ reading within tgif (http://bourbon.cs.umd.edu:8001/tgif/), an
+ interactive 2-D drawing tool under X11.
+
+ * You may use the svg terminal (scalable vector graphics), which can be
+ further edited by a svg editor, e.g. Inkscape
+ (http://www.inkscape.org), Sodipodi (http://sodipodi.sourceforge.net),
+ Sketch (http://sketch.sourceforge.net) or Dia
+ (http://www.lysator.liu.se/ alla/dia), or loaded into OpenOffice.org
+ with an on-fly conversion into OO.o Draw primitives.
+
+ * PostScript or PDF output can be edited directly by tools such as Adobe
+ Illustrator or Acrobat, or can be converted to a variety of other
+ editable vector formats by the pstoedit package. Pstoedit is available
+ at http://www.pstoedit.net.
+
+ * The mif terminal type produces an editable FrameMaker document.
+
+ * The DXF format is the AutoCAD's format, editable by several other
+ applications.
+
+ * Bitmapped graphics (e.g. png, jpeg, pbm) can be edited using tools
+ such as ImageMagick or Gimp. In general, you should use a vector
+ graphics program to post-process vector graphic formats, and a
+ pixel-based editing program to post-process pixel graphics.
+
+3.5 How do I change symbol size, line thickness and the like?
+
+ Gnuplot offers a variety of commands to set line and point properties,
+ including color, thickness, point shape, etc. The command test will
+ display a test page for the currently selected terminal type showing the
+ available pre-defined combinations of color, size, shape, etc. The set
+ style command can be used to define additional combinations.
+
+3.6 How do I generate plots in GIF format?
+
+ GIF support is provided by an external library, libgd
+ (http://www.libgd.org). Old versions of gd (versions 1.2 to 1.4) produce
+ only GIF output. Versions 1.6 to 2.0.27 did not support GIF output because
+ of patent concerns. However versions 1.6 and newer support PNG outputs,
+ and 1.7 and newer support JPEG outputs. Version 2.0.28 of the Boutell gd
+ library restored GIF functionality, and 2.0.29 added support for GIF
+ animation. If your installation of gnuplot is linked to the gd library,
+ you will get support for whatever formats (GIF, PNG, JPEG) are in that
+ version of gd.
+
+ In any case, it is easy to convert from one format to another. To convert
+ a PNG output into GIF, you can either use the command line (e.g. convert
+ f.png f.gif or nconvert -out gif f.png) or any GUI program. Another
+ possibility is to output the image as (encapsulated) postscript and
+ convert (export) it into GIF or PNG by ghostscript, e.g. convert -density
+ 150 f.eps f.gif or by any ghostscript-based GUI like gsview, gv or
+ kghostview.
+
+3.7 Can I animate my graphs?
+
+ First have a look at animate.dem in the demo directory of gnuplot.
+ Basically, animated graphs are a sequence of plots in a suitable format.
+
+ If your installation of gnuplot is linked with gd 2.0.29 or newer (see
+ previous entry), the gif terminal can generate directly an animated GIF.
+
+ Otherwise, have a look at the tool whirlgif 3.04, available at
+ http://www.danbbs.dk/ dino/whirlgif. It reads run-length encoded GIF files
+ and packs them into a minimal animation. On the web-pages you will find a
+ manual and an example.
+
+ You can also write a small script to get gnuplot to output a family of GIF
+ files, then have it execute some animator such as gifsicle:
+ http://www.lcdf.org/ eddietwo/gifsicle or gifmerge
+ http://the-labs.com/GIFMerge.
+
+ mpeg_encode will encode a sequence of images into an mpeg format movie.
+
+3.8 How do I plot implicit defined graphs?
+
+ Implicit graphs or curves cannot be plotted directly in gnuplot. However
+ there is a workaround.
+
+ gnuplot> # An example. Place your definition in the following line:
+ gnuplot> f(x,y) = y - x**2 / tan(y)
+ gnuplot> set contour base
+ gnuplot> set cntrparam levels discrete 0.0
+ gnuplot> unset surface
+ gnuplot> set table 'curve.dat'
+ gnuplot> splot f(x,y)
+ gnuplot> unset table
+ gnuplot> plot 'curve.dat' w l
+
+ The trick is to draw the single contour line z=0 of the surface z=f(x,y),
+ and store the resulting contour curve to a gnuplot datafile.
+
+3.9 How to fill an area between two curves
+
+ A plot with filled area between two given curves requires a parametric
+ plot with filledcurves closed. The example below demonstrates this for two
+ curves f(x) and g(x) with a tricky "folded" parameter t:
+
+ set parametric
+ f(x)=cos(x)
+ g(x)=sin(x)
+ xmax=pi/4
+ set xrange [0:xmax]
+ set trange [0:2*xmax]
+ path(t) = ( t<= xmax ? f(t) : g(2*xmax-t) )
+ fold(t) = (t <=xmax ? t : 2*xmax - t)
+ plot fold(t),path(t) with filledcurves closed
+
+ Note that the above code fills area between the two curves, not area
+ satisfying inequality g(x)<f(x). If you want the latter, you should use
+ the ternary operator in path(t) to return an undefined value (0/0) if the
+ inequality is not satisfied.
+
+ See the documentation for help parametric, help filledcurves, and help
+ ternary.
+
+3.10 Pm3d splot from a datafile does not draw anything
+
+ You do set pm3d; splot 'a.dat' and no plot but colorbox appears.
+ Obviously, there is no blank line in between two subsequent scans
+ (isolines) in the data file. Add blank lines! If you are curious what this
+ means, then don't hesitate to look to files like demo/glass.dat or
+ demo/triangle.dat in the gnuplot demo directory.
+
+ You can find useful the following awk script (call it e.g. addblanks.awk)
+ which adds blank lines to a data file whenever number in the first column
+ changes:
+
+ /^[[:blank:]]*#/ {next} # ignore comments (lines starting with #)
+ NF < 3 {next} # ignore lines which don't have at least 3 columns
+ $1 != prev {printf "\n"; prev=$1} # print blank line
+ {print} # print the line
+
+ Then, either preprocess your data file by command awk -f addblanks.awk
+ <a.dat or plot the datafile under a unixish platform by gnuplot> splot
+ "<awk -f addblanks.awk a.dat".
+
+3.11 Drawing a (color) map, i.e. 2D projection of 3D data
+
+ Use set view map; unset surface or set pm3d map rather than set view
+ 180,0. The latter facilitates drawing matrices or data files as maps, even
+ without the necessity for matrix-like data organization (gridding). It is
+ possible to decrease the output postscript file size by postprocessing it
+ by pm3dCompress.awk or pm3dConvertToImage.awk.
+
+ Note there is a new plotting style with image for plotting 2D color images
+ with support for almost arbitrary text or binary files in "Patches"
+ section on gnuplot's sourceforge site
+ http://www.sourceforge.net/projects/gnuplot/.
+
+3.12 How to overlay dots/points scatter plot onto a pm3d map/surface
+
+ Use the explicit (see also implicit) switch of the pm3d style:
+
+ gnuplot> set pm3d explicit
+ gnuplot> splot x with pm3d, x*y with points
+
+3.13 How to draw black contour plot, and contours with labels
+
+ Well, it is very simple even though it is hard to discover: unset clabel.
+
+ set contour both; set cntr levels 100
+ unset clabel
+ unset surface
+ splot x*y with line lt -1
+ pause -1
+ splot x*y with line palette
+
+ Another solution requires to write contours into a temporary file using
+ the table terminal:
+
+ set contour base; set cntrparam levels 15; unset surface; set view map
+ splot x*x+y*y; pause -1
+ set table 'contour.dat'
+ replot
+ unset table
+
+ Now, for drawing it in 2D, do
+
+ reset
+ plot 'contour.dat' with line -1
+
+ and for contours in 3D do
+
+ reset
+ # Change single blank lines to double blank lines
+ !awk "NF<2{printf\"\n\"}{print}" <contour.dat >contour1.dat
+ splot 'contour1.dat' with line -1
+
+ See also the following question "How to overlay contour plot over pm3d
+ map/surface".
+
+ Labelling contours by their z-value can be achieved by a suitable script
+ generating automatically the appropriate set label commands; you can find
+ one at gnuplot scripts page
+ http://gnuplot.sourceforge.net/scripts/index.html#tricks-here.
+
+3.14 How to overlay contour plot over pm3d map/surface
+
+ This requires you to write contours into a temporary file using the table
+ terminal, and then use this file in the final drawing without set
+ contours. The following example demonstrates this for a map; for surface,
+ remove set pm3d map and put set ticslevel 0.
+
+ # Write contours of function x*x-y*y to a (temporary) file
+ set contour base; set cntrparam level 20
+ unset surface
+ set table 'contour.dat'
+ splot x*x-y*y
+ unset table
+
+ # Change single blank lines to double blank lines
+ !awk "NF<2{printf\"\n\"}{print}" <contour.dat >contour1.dat
+
+ # Draw the plot
+ reset
+ set palette gray
+ set palette gamma 2.5
+ set pm3d map
+ set pm3d explicit
+ splot x*x+y*y with pm3d, 'contour1.dat' with line lt -1
+ !rm contour.dat contour1.dat
+
+ The last command deletes the two temporary files.
+
+3.15 Color facets with pm3d
+
+ It is possible to draw colors facets of a 3D objects, organized in such a
+ file:
+
+ # triangle 1
+ x0 y0 z0 <c0>
+ x1 y1 z1 <c1>
+
+ x2 y2 z2 <c2>
+ x2 y2 z2 <c2>
+
+
+ # triangle 2
+ x y z
+ ...
+
+ Notice the positioning single and double blank line. <c> is an optional
+ color.
+
+ Then plot it by (either of splot's):
+
+ set pm3d
+ set style data pm3d
+ splot 'facets.dat'
+ splot 'facets_with_color.dat' using 1:2:3:4
+
+ Note that you avoid surface lines by set style data pm3d or splot ... with
+ pm3d.
+
+ In the above example, pm3d displays triangles as independent surfaces.
+ They are plotted one surface after another, as found in the data file.
+ Parts overlapping in 2D projection are overdrawn.
+
+ Gnuplot is not 3D modeling program. Its hidden routines apply for points
+ and lines, but not for faces. Without handling the data as a collection of
+ faces, there would be no surface anything could be hidden behind. The
+ 'hidden3d' algorithm works by using the input data in two ways: first, to
+ set up a collection of triangles (made from a mesh of quadrangles) that
+ form the surface, second as a collection of edges. It then goes through
+ all those edges, checking what parts of them are not hidden behind any
+ faces, and draws those.
+
+ Consequently, gnuplot won't draw your surface or 3D object as a virtual
+ reality. It works OK for set pm3d map but for true 3D you would be
+ probably more happy writing a convertor of your facets into a VRML file.
+
+3.16 Palette for printing my color map on color as well as black&white printer?
+
+ I think it is this one, for example: set palette rgbformulae -25,-24,-32.
+ Can somebody prove this?
+
+
+4 Wanted features
+
+4.1 What's new in gnuplot 3.7, 4.0, 4.2 etc?
+
+ Too many things to be named here. Please refer to the NEWS file in the
+ source distribution, or the "New features" section in the gnuplot
+ documentation.
+
+4.2 Does gnuplot support a driver for <graphics format>?
+
+ To see a list of the available graphic drivers for your installation of
+ gnuplot, type set term.
+
+ Some graphics drivers are included in the normal distribution, but are
+ uncommented by default. If you want to use them, you'll have to change
+ file gnuplot/src/term.h, and recompile.
+
+4.3 Does gnuplot have hidden line removal?
+
+ Yes.
+
+4.4 Does gnuplot support bar-charts/histograms/boxes?
+
+ Various clustered and stacked histogram styles are supported in gnuplot
+ version 4.2 as separate style types.
+
+ In older gnuplot versions you can use the style with boxes for bar charts.
+ To get filled boxes, use set style fill. Bernhard Reiter wrote an AWK
+ script to post-process fig-terminal output. This may be useful with older
+ versions of gnuplot. Please have a look at
+ http://www.usf.uni-osnabrueck.de/ breiter/tools/gnuplot/barchart.en.html.
+
+4.5 Does gnuplot support pie charts?
+
+ It's not possible in gnuplot, but have a look at
+ http://www.usf.uni-osnabrueck.de/ breiter/tools/piechart/piecharts.en.html
+
+4.6 Does gnuplot quarterly time charts?
+
+ It's not possible in gnuplot, but have a look at
+ http://ricardo.ecn.wfu.edu/ cottrell/qplot. The corresponding file
+ qplot.zip can be obtained from the contrib directory on any gnuplot
+ server.
+
+4.7 Can I put multiple pages on one page?
+
+ Yes. set multiplot.
+
+ If you use the postscript terminal and plot one graph per page you can use
+ the program mpage (http://www.mesa.nl/pub/mpage) to print multiple logical
+ pages per physical page. A similar program is the psnup program in the
+ psutils package. This package is available at any CTAN mirror.
+
+4.8 Does gnuplot support multiple y-axes on a single plot?
+
+ Yes. You can have 2 x- and 2 y-axes per plot. The additional axes are
+ called x2 and y2. See help plot.
+
+4.9 Can I put both commands and data into a single file?
+
+ This is possible by the new plot "-" possibility. The plot "-" command
+ allows to read the data to be plot from standard input or the current
+ batch job.
+
+ gnuplot> plot "-"
+ 1 1
+ 2 4
+ 3 9
+ e
+
+4.10 Can I put Greek letters and super/subscripts into my labels?
+
+ The enhanced option in some terminals (currently postscript, Presentation
+ Manager, png, pdf, and x11) lets you use sub- and superscripts. It also
+ allows to use Greek letters and symbols via symbol fonts, to the extent
+ that these are supported by the underlying font libraries on your system.
+ Versions through 2.0.15 of libgd (needed for png and jpeg) must be patched
+ in order to handle symbol fonts.
+
+ You might try using the LATEX terminal type and putting text like
+ "\\alpha_{3}" or '\alpha_{3}' . If you include your gnuplot-graphs into a
+ LATEX document you can use the LATEX-package psfrag to typeset any
+ characters into your graphs.
+
+ One more possibility is to use the MetaPost terminal. It supports TEX
+ syntax and is converted onto encapsulated PostScript by mpost.
+
+4.11 How do I include accented characters
+
+ To obtain accented characters like u: or n in your labels you should use
+ 8bit character codes together with the appropriate encoding option. See
+ the following example:
+
+ gnuplot> set encoding iso_8859_1
+ gnuplot> set title "M\374nchner Bierverbrauch \374ber die Jahre"
+ gnuplot> plot "bier.dat" u 1:2
+
+ Consequently, you can type labels in Czech, French, Hungarian, Russian...
+ by means of an appropriate set encoding. However, you cannot mix two
+ encodings in one file (e.g. accents for west and east latin encodings).
+
+ A more general solution is to use UTF-8 encoded fonts, and type the UTF-8
+ characters directly into gnuplot. This works for many terminal types but
+ not, unfortunately, PostScript.
+
+4.12 Can I do 1:1 scaling of axes?
+
+ Use set size square.
+
+4.13 Can I put different text sizes into my plots?
+
+ Some terminals can, others can't. Some allow you to choose a font size for
+ the entire plot. Terminals supporting the "enhanced text" mode (like
+ postscript, pm, x11, png, pdf) allow you to change fonts and text sizes
+ within a plot. Look at the help for these terminals.
+
+4.14 How do I skip data points?
+
+ By specifying ? as a data value, as in
+
+ 1 2
+ 2 3
+ 3 ?
+ 4 5
+
+ See also set missing. See also set datafile commentschars for specifying
+ comment characters in data files.
+
+4.15 How do I plot every nth point?
+
+ This can be specified with various options for the command plot, for
+ example plot 'a.dat' every 2.
+
+4.16 How do I plot a vertical line?
+
+ Depending on context, the main methods are:
+ * set arrow .... .... nohead where you have to compute explicitly the
+ start and the end of the arrow.
+ * generate (inlined) datapoints and plot them
+ * switch to parametric mode
+
+4.17 How do I plot data files
+
+ Easily: by a command plot 'a.dat'. In 3D, use splot 'a.dat' - but don't
+ forget to put a blank line in between two subsequent scans (isolines),
+ otherwise you will get an error that the data is not gridded; see also
+ question 3.10. If your data are not gridded, then use set dgrid3d {many
+ options}.
+
+4.18 How do I replot multiplot drawing
+
+ You cannot directly: gnuplot supports replot command, not remultiplot. You
+ have to write the complete sequence of commands since set multiplot till
+ unset multiplot into a script file. Then you can load the script into
+ gnuplot as many times as you need for replotting the drawing to different
+ terminals or output files.
+
+
+5 Miscellaneous
+
+5.1 I've found a bug, what do I do?
+
+ First, try to see whether it actually is a bug, or whether it is a feature
+ which may be turned off by some obscure set-command.
+
+ Next, see whether you have an old version of gnuplot; if you do, chances
+ are the bug has been fixed in a newer release.
+
+ Fixes for bugs reported since the release of the current version are held
+ in the patches directory at gnuplot distribution sites. Before submitting
+ a bug report, please check whether the bug in question has already been
+ fixed.
+
+ If, after checking these things, you still are convinced that there is a
+ bug, proceed as follows. If you have a fairly general sort of bug report,
+ posting to ~comp.graphics.apps.gnuplot is probably the way to go. If you
+ have investigated a problem in detail, especially if you have a context or
+ unified diff that fixes the problem, please e-email a report to
+ gnuplot-bug@lists.sourceforge.net.
+
+ The bug-gnuplot list is for reporting and collecting bug fixes, the
+ ~comp.graphics.apps.gnuplot newsgroup will be more help for finding work
+ arounds or actually solving gnuplot related problems. If you do send in a
+ bug report, be sure and include the version of gnuplot (including
+ patchlevel) as shown by the command show version long, terminal driver,
+ operating system, an exact description of the bug and input which can
+ reproduce the bug. Failure to indicate these details can render a solution
+ to your problem almost impossible. Also, any context diffs should be
+ referenced against the latest official version of gnuplot if at all
+ possible.
+
+5.2 Can I use gnuplot routines for my own programs?
+
+ On systems supporting pipes, you can pipe commands to gnuplot from other
+ programs. Many applications with gnuplot as the graphics engine, like
+ Octave (http://www.octave.org), uses this method. This also works from a
+ cgi script to drive gnuplot from a forms-based web page.
+
+ John Campbell (jdc@nauvax.ucc.nau.edu) modified a much earlier version of
+ gnuplot (3.5) to be a library of C subroutines callable from a C program.
+ Gnuplot itself has changed radically since then, and we are not aware of
+ any plans to create a similar library based on the current version.
+
+5.3 What extensions have people made to gnuplot? Where can I get them?
+
+ Many extensions or patches are available on the "Patches" page of the
+ gnuplot development site
+ http://sourceforge.net/tracker/?group_id=2055&atid=302055. The current
+ development version will generally include some of these being debugged
+ for inclusion in a later official release of gnuplot.
+
+ Older extensions, which may or may not work with the current version, are
+ available from ftp.ucc.ie in /pub/gnuplot/contrib/.
+
+ Some extensions available:
+ * date-errorbar: allows dates in the hi/lo fields for errorbars.
+ * perltk: A perl/tk canvas widget.
+ * polyg.patch: Implements a polygon plotting style.
+ * xgfe: graphical front end using the Qt widgets available at
+ http://www.tug.org/tex-archive/graphics/gnuplot/contrib/.
+ * Gnuplot.py: A python package to create graphs from within python. More
+ information at http://gnuplot-py.sourceforge.net.
+
+5.4 I need an integration, fft, iir-filter,...!
+
+ Gnuplot has been and is a plotting program, not a data processing or
+ mathematical program suite. Therefore gnuplot can't do that. Look into the
+ demo file "bivariat.dem" for a basic implementation of an integration.
+
+ For more sophisticated data-processing read the next section.
+
+5.5 Can I do heavy-duty data processing with gnuplot? or What is beyond gnuplot?
+
+ gnuplot alone is not suited very well for this. One thing you might try is
+ fudgit, an interactive multi-purpose fitting program written by Martin-D.
+ Lacasse (isaac@frodo.physics.mcgill.ca). It can use gnuplot as its
+ graphics back end and is available from ftp.physics.mcgill.ca in
+ /pub/Fudgit/fudgit_2.33.tar.Z and from the main Linux server,
+ tsx-11.mit.edu and its numerous mirrors around the world as
+ /pub/linux/sources/usr.bin/fudgit-2.33.tar.z. Versions are available for
+ AIX, Data General, HP-UX, IRIX 4, Linux, NeXT, Sun3, Sun4, Ultrix, OS/2
+ and MS-DOS. The MS-DOS version is available on simtel20 mirrors (simtel20
+ itself has closed down) in the "math" subdirectory as fudg_231.zip.
+
+ Carsten Grammes has written a fitting program which has been merged into
+ gnuplot 3.7.
+
+ Michael Courtney has written a program called lsqrft, which uses the
+ Levenberg-Marquardt - algorithm for fitting data to a function. It is
+ available from hobbes.nmsu.edu in /pub/os2/apps/analysis/lsqrft15.zip;
+ sources, which should compile on Unix, and executables for MS-DOS and OS/2
+ are available. There is an interface to the OS/2 presentation manager.
+
+ You might also want to look at the applications developed by the Software
+ Tools Group (STG) at the National Center for Supercomputing Applications.
+ Ftp to ftp.ncsa.uiuc.edu and get the file README.BROCHURE for more
+ information.
+
+ You can also try pgperl, an integration of the PGPLOT plotting package
+ with Perl 5. Information can be found at
+ http://www.ast.cam.ac.uk/AAO/local/www/kgb/pgperl, the source is available
+ from ftp.ast.cam.ac.uk in /pub/kgb/pgperl/ or linux.nrao.edu in
+ /pub/packages/pgperl/.
+
+ Another possibility is Octave. To quote from its README: Octave is a
+ high-level language, primarily intended for numerical computations. Octave
+ is licensed under GPL, and in principle, it is a free Matlab clone. It
+ provides a convenient command line interface for solving linear and
+ nonlinear problems numerically. The latest released version of Octave is
+ always available from http://www.octave.org. By the way, octave uses
+ gnuplot as its plotting engine, so you get a data-processing program on
+ top of gnuplot.
+
+ Finally, there is scilab at http://www-rocq.inria.fr/scilab/ doing about
+ the same as matlab. It is free but copyrighted software.
+
+5.6 Mouse in my interactive terminal does not work
+
+ If your mouse is not working, try to hit 'm' in the interactive terminal
+ to switch mousing on/off. See below for the list of supported interactive
+ terminals.
+
+ If it still does not run, then either gnuplot has not been configured or
+ compiled with mouse support, or you have not properly installed it, or
+ running an older version of gnuplot (check your PATH).
+
+ If your gnuplot is running as the plotting engine of Octave under X11,
+ then please put set mouse into your $HOME/.gnuplot (preferred than putting
+ gset mouse into $HOME/.octaverc). This is needed only for gnuplot 4.0:
+ according to its help x11_mouse, gnuplot 4.0 under x11 running through a
+ pipe needs set mouse to be executed before launching the x11 plot window.
+
+5.7 How to use hotkeys in my interactive terminals
+
+ There are several hotkeys available in interactive terminals. Currently
+ the following interactive terminals support hotkeys and mousing: OS/2
+ Presentation Manager, X11, Windows, WX, and GGI. Hit 'h' in the terminal
+ to get list of hotkeys. See help new-features or the Features introduced
+ in version 4.0 section in the docs for a brief guide over mousing and
+ hotkeys. Further, you may read help mouse and help bind for more
+ information.
+
+5.8 I have ported gnuplot to another system, or patched it. What do I do?
+
+ If your patch is small, mail it to gnuplot-beta@lists.sourceforge.net,
+ with a thorough description of what the patch is supposed to do, which
+ version of gnuplot it is relative to, etc. Well, please do it always with
+ respect to the current development version of gnuplot (see 'cvs' above).
+
+ Nowadays, the preferred way of submitting, commenting and upgrading
+ patches are via 'Patches' section on
+ http://www.sourceforge.net/projects/gnuplot/. You may want to send a note
+ to gnuplot-beta@lists.sourceforge.net for more lively discussion.
+
+5.9 I want to help in developing the next version of gnuplot. What can I do?
+
+ Join the gnuplot beta test mailing list by sending a mail containing the
+ line subscribe gnuplot-beta in the body (not the subject) of the mail to
+ Majordomo@lists.sourceforge.net.
+
+ Also check with http://sourceforge.net/projects/gnuplot about latest
+ source for beta releases for development.
+
+5.10 Open questions for inclusion into the FAQ?
+
+ Please submit your questions (along with the answer) to
+ gnuplot-beta@lists.sourceforge.net.
+
+
+6 Making life easier
+
+6.1 How do I plot two functions in non-overlapping regions?
+
+ Use a parametric plot. An example:
+
+ gnuplot> set parametric
+ gnuplot> a=1
+ gnuplot> b=3
+ gnuplot> c=2
+ gnuplot> d=4
+ gnuplot> x1(t) = a+(b-a)*t
+ gnuplot> x2(t) = c+(d-c)*t
+ gnuplot> f1(x) = sin(x)
+ gnuplot> f2(x) = x**2/8
+ gnuplot> plot [t=0:1] x1(t),f1(x1(t)) title "f1", x2(t), f2(x2(t)) title "f2"
+
+ You can also use gnuplot's ability to ignore mathematically undefined
+ expressions: the expression 1/0 is silently ignored, thus a construction
+ like
+
+ gnuplot> set xran [-10:10]
+ gnuplot> plot (abs(x)>0.5?1/0: x**2)
+
+ plots a quadratic function only for |x| < 0.5.
+
+6.2 How do I run my data through a filter before plotting?
+
+ If your system supports the popen() function, as Unix does, you should be
+ able to run the output through another process, for example a short awk
+ program, such as
+
+ gnuplot> plot "< awk ' { print $1, $3/$2 } ' file.in"
+
+ The plot command is very powerful and is able to do some arithmetic on
+ datafiles. See help plot.
+
+ The above filtering works seamlessly under Unixes and OS/2. It can work
+ under MS Windows as well, but that is for experienced users: (A) When
+ gnuplot has been compiled by cygwin with the unixish way of ./configure;
+ make with X11 terminal instead of the 'windows' terminal. You have to run
+ this under an X-server. This procedure is out of knowledge for usual
+ users, but powerful for others. (B) Compile gnuplot yourself by
+ makefile.mgw or makefile.cyg and set PIPES=1 therein. The drawback is that
+ each wgnuplot.exe will be accompanied by a boring shell box.
+
+6.3 How do I make it easier to use gnuplot with LATEX?
+
+ There is a set of LATEX macros and shell scripts that are meant to make
+ your life easier when using gnuplot with LATEX. This package can be found
+ on ftp.dartmouth.edu in pub/gnuplot/latex.shar, by David Kotz. For
+ example, the program "plotskel" can turn a gnuplot-output file plot.tex
+ into a skeleton file skel.tex, that has the same size as the original plot
+ but contains no graph. With the right macros, the skeleton can be used for
+ preliminary LATEX passes, reserving the full graph for later passes,
+ saving tremendous amounts of time.
+
+6.4 How do I save and restore my settings?
+
+ Use the save and load commands for this; see help save and help load for
+ details.
+
+ You can save the current terminal and restore it later without touching
+ the filesystem by set term push and set term pop, respectively.
+
+6.5 How do I plot lines (not grids) using splot?
+
+ If the data in a data file for splot is arranged in such a way that each
+ one has the same number of data points (using blank lines as delimiters,
+ as usual), splot will plot the data with a grid. If you want to plot just
+ lines, use a different number of data entries (you can do this by doubling
+ the last data point, for example). Don't forget to set parametric mode, of
+ course.
+
+6.6 How do I plot a function f(x,y) that is bounded by other functions in the
+x-y plane?
+
+ An example:
+
+ gnuplot> f(x,y) = x**2 + y **2
+ gnuplot> x(u) = 3*u
+ gnuplot> yu(x) = x**2
+ gnuplot> yl(x) = -x**2
+ gnuplot> set parametric
+ gnuplot> set cont
+ gnuplot> splot [0:1] [0:1] u,yl(x(u))+(yu(x(u)) - yl(x(u)))*v,\
+ > f(x(u), (yu(x(u)) - yl(x(u)))*v)
+
+6.7 How do I turn off <feature> in a plot?
+
+ Most gnuplot features are controlled by a corresponding set/unset command.
+ If a feature is enabled by default, or by using set <feature>, then you
+ should be able to turn it by using set no<feature>. However, the prefered
+ syntax since version 4.0 is unset <feature>.
+
+6.8 How do I call gnuplot from my own programs?
+
+ On unix-like systems, commands to gnuplot can be piped via stdin. Output
+ from gnuplot's print command can be read via a named pipe. On M$ Windows
+ platforms, due to the lacking standard input (stdin) in GUI programs, you
+ need to use the helper program pgnuplot which should be included in your
+ gnuplot for M$W distribution package. Reading gnuplot output may be
+ impossible.
+
+6.9 What if I need h-bar (Planck's constant)?
+
+ The most straightforward way is to use a UTF-8 font, and type in the
+ $\hbar$ character (Unicode code point #x210F) directly.
+
+ This does not work in PostScript, however, so you must use approximations
+ like @{/=56 -} {/=24 h} or {/=8 @{/Symbol=24 -} _{/=14 h}} In the latter,
+ the "-" (a long one in /Symbol) is non-spacing and 24-pt. The 14-pt "h" is
+ offset by an 8-pt space (which is the space preceding the "_") but
+ smaller, since it's written as a subscript. But these don't look too much
+ like the hbar we're used to, since the bar is horizontal instead of
+ sloped. I don't see a way to get that. I tried using an accent (character
+ 264 in iso-latin-1 encoding), but I haven't found a way to scale and
+ position the pieces correctly. One more possibility would be {/=14
+ @^{/Symbol=10 -}{/=14 h}}.
+
+ The reduced Planck's constant can be set very easily by using the
+ AMS-LaTeX PostScript fonts which are available from
+ http://www.ams.org/tex/amsfonts.html (also included in many LaTeX
+ distributions). Gnuplot (confer the help about fontpath) and the
+ PostScript interpreter (usually Ghostscript) have to know where the file
+ msbm10.pfb (or msbm10.pfa) resides. Use {/MSBM10 \175} to produce \hslash
+ which is a "h" superimposed by a sloped bar. The standard \hbar
+ (horizontal bar) has the octal code 176. Please note that h-bar exists
+ only as an italic type.
+
+6.10 What if I need the Solar mass symbol?
+
+ As with Planck's constant, the most straightforward way is to use a UTF-8
+ font, and type in the $\odot$ character (Unicode code point #x2299)
+ directly.
+
+6.11 How do I produce blank output page?
+
+ Well, you probably don't want a blank page, but page with a just a title
+ (overprinting title in another graph in multiplot page):
+
+ reset; unset xtics; unset ytics
+ unset border; unset key
+ set title 'Title on an empty page'
+ plot [][0:1] 2
+
+
+7 Common problems
+
+7.1 Help! None of my fonts work.
+
+ Gnuplot does not do font handling by itself; it must necessarily leave
+ that to the individual device support libraries. Unfortunately, this means
+ that different terminal types need different help in finding fonts. Here
+ are some quick hints. For more detailed information please see the gnuplot
+ documentation for the specific terminal type you are having problems with.
+
+ png/jpeg/gif
+ These terminal types use the libgd support library, which searches
+ for fonts in the directories given in the environmental variable
+ GDFONTPATH. Once you get libgd fontpaths sorted out, you will
+ probably want to set a default font for gnuplot. For example:
+ setenv GNUPLOT_DEFAULT_GDFONT verdana
+
+ pdf
+ The libpdf support library should have come with an associated
+ font configuration file, usually installed as
+ /usr/local/share/pdflib.upr. The environmental variable
+ PDFLIBRESOURCE should point to this file.
+
+ post
+ PostScript font names are not resolved until the document is
+ printed. Gnuplot does not know what fonts are available to your
+ printer, so it will accept any font name you give it. However, it
+ is possible to bundle a font with the gnuplot output; please see
+ the instructions given by gnuplot's internal command ``help set
+ term post fontfile''.
+
+ svg
+ Font handling is viewer-dependent.
+
+ x11
+ The x11 terminal uses the normal x11 font server mechanism. The
+ only tricky bit is that in order to use multi-byte fonts you must
+ explicitly say so:
+
+ set term x11 font "mbfont:sazanami mincho,vera,20"
+
+ win
+ Right-click in the control window, then select "Choose font" from
+ the pull-down menu.
+
+ wxt
+ On linux systems, the wxt terminal can find fonts indexed by the
+ fontconfig utility.
+
+7.2 Gnuplot is not plotting any points under X11! How come?
+
+ On VMS, you need to make several symbols:
+
+ $ gnuplot_x11 :== $disk:[directory]gnuplot_x11
+ $ gnuplot :== $disk:[directory]gnuplot.exe
+ $ def/job GNUPLOT$HELP disk:[directory]gnuplot.hlb
+
+ Then run gnuplot from your command line, and use set term x11.
+
+ If you run gnuplot on Unix systems, be sure that the newest gnuplot_x11 is
+ the first in your search path. Command which gnuplot_x11 will help you.
+
+7.3 Why does gnuplot ignore my very small numbers?
+
+ Gnuplot treats all numbers less than 1e-08 as zero, by default. Thus, if
+ you are trying to plot a collection of very small numbers, they may be
+ plotted as zero. Worse, if you're plotting on a log scale, they will be
+ off scale. Or, if the whole set of numbers is "zero", your range may be
+ considered empty:
+
+ gnuplot> plot 'test1'
+ Warning: empty y range [4.047e-19:3e-11], adjusting to [-1:1]
+ gnuplot> set yrange [4e-19:3e-11]
+ gnuplot> plot 'test1'
+ ^
+ y range is less than `zero`
+
+ The solution is to change gnuplot's idea of "zero":
+
+ gnuplot> set zero 1e-20
+
+ For more information, type help set zero.
+
+7.4 Gnuplot is not plotting on the screen when run from command line via
+'gnuplot filename.gp'
+
+ Obviously, it draws (unless there is an error in the script file), but the
+ plot dissappears immediately when the script is completed.
+
+ Solution 1: Put a pause -1 after the plot command in the file, or at the
+ file end.
+
+ Solution 2: Use command gnuplot filename.gp - (yes, dash is the last
+ parameter) to stay in the interactive regime when the script completes.
+
+ Solution 3A: On an X-Window System system, you can also use the -persist
+ option, the X11 window is then not closed. Close the X11 window by typing
+ "q" when the focus is on it.
+
+ Solution 3B: On M$ Windows, you can also use either -persist or /noend.
+
+ Solution 4: For OS/2 PM terminal, use set term pm persist or set term pm
+ server. For X11 terminal, use set term x11 persist.
+
+7.5 My formulas (like 1/3) are giving me nonsense results! What's going on?
+
+ Gnuplot does integer, and not floating point, arithmetic on integer
+ expressions. For example, the expression 1/3 evaluates to zero. If you
+ want floating point expressions, supply trailing dots for your floating
+ point numbers. Example:
+
+ gnuplot> print 1/3
+ 0
+ gnuplot> print 1./3.
+ 0.333333
+
+ This way of evaluating integer expressions is shared by both C and
+ Fortran.
+
+7.6 Set output 'filename' isn't outputting everything it should!
+
+ You may need to flush the output with a closing set output.
+
+7.7 When using the LATEX-terminal, there is an error during the LATEX-run!
+
+ The LATEX2$\epsilon$-core no longer includes the commands
+ "$\backslash$Diamond" and "$\backslash$Box"; they are included in the
+ latexsym package. Other symbols are taken from the asmsymb package. Both
+ of these are part of the base distribution and thus part of any LaTeX
+ implementation. Please remember to include these packages in your LaTeX
+ document.
+
+7.8 I can't find the demos and example files at the URLs in the documentation!
+
+ The examples have been removed from the NASA site mentioned in older
+ documentation. You can find the version 4.0 examples at
+ http://gnuplot.sourceforge.net/demo. Version 4.2 examples are at
+ http://gnuplot.sourceforge.net/demo_4.2.
+
+7.9 Calling gnuplot in a pipe or with a gnuplot-script doesn't produce a plot!
+
+ You can call gnuplot by using a short Perl-script like the following:
+
+ #!/usr/local/bin/perl -w
+ open (GP, "|/usr/local/bin/gnuplot -persist") or die "no gnuplot";
+ # force buffer to flush after each write
+ use FileHandle;
+ GP->autoflush(1);
+ print GP,"set term x11;plot '/tmp/data.dat' with lines\n";
+ close GP
+
+ Gnuplot closes its plot window on exit. The close GP command is executed,
+ and the plot window is closed even before you have a chance to look at it.
+
+ There are three solutions to this: first, use the pause -1 command in
+ gnuplot before closing the pipe. Second, close the pipe only if you are
+ sure that you don't need gnuplot and its plot window anymore. Last, you
+ can use the command line option -persist: this option leaves the X-Window
+ System plot window open.
+
+ 8 Credits
+
+ Gnuplot 3.7's main contributors are (in alphabetical order) Hans-Bernhard
+ Broeker, John Campbell, Robert Cunningham, David Denholm, Gershon Elber,
+ Roger Fearick, Carsten Grammes, Lucas Hart, Lars Hecking, Thomas Koenig,
+ David Kotz, Ed Kubaitis, Russell Lang, Alexander Lehmann, Alexander Mai,
+ Carsten Steger, Tom Tkacik, Jos Van der Woude, James R. Van Zandt, and
+ Alex Woo. Additional substantial contributors to version 4.0 include Ethan
+ Merritt, Petr Mikulik and Johannes Zellner.
+
+ This list was initially compiled by John Fletcher with contributions from
+ Russell Lang, John Campbell, David Kotz, Rob Cunningham, Daniel Lewart and
+ Alex Woo. Reworked by Thomas Koenig from a draft by Alex Woo, with
+ corrections and additions from Alex Woo, John Campbell, Russell Lang,
+ David Kotz and many corrections from Daniel Lewart. Again reworked for
+ gnuplot 3.7 by Alexander Mai and Juergen v.Hagen with corrections by Lars
+ Hecking, Hans-Bernhard Broecker and other people. Revised for gnuplot 4.0
+ release by Petr Mikulik and Ethan Merritt. Revised for gnuplot 4.2 release
+ by Petr Mikulik and Ethan Merritt.
+