[BACK]Return to 0FAQ CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / gnuplot

Diff for /OpenXM_contrib/gnuplot/Attic/0FAQ between version 1.1.1.1 and 1.1.1.2

version 1.1.1.1, 2000/01/09 17:00:48 version 1.1.1.2, 2000/01/22 14:15:46
Line 1 
Line 1 
 * Please note that this is not the current official FAQ since  [next] [up] [previous]
 * I have upgraded the info in answer 4.0 - dd  
 * Made more changes - lh  
   
 Archive-name: graphics/gnuplot-faq                                   Gnuplot FAQ
 Version: Mon Sep 23 04:23:01 CES 1996  
 Posting-frequency: every 14 days  
 URL: http://www.uni-karlsruhe.de/~ig25/gnuplot-faq/  
   
    comp.graphics.apps.gnuplot  Contents
   
         comp.graphics.apps.gnuplot FAQ (Frequent Answered Questions)     * Contents
      * Meta - Questions
           o 0.1 Where do I get this document?
           o 0.2 Where do I send comments about this document?
      * 1. General Information
           o 1.1 What is gnuplot?
           o 1.2 How did it come about and why is it called gnuplot?
           o 1.3 Does gnuplot have anything to do with the FSF and the GNU
             project?
           o 1.4 What does gnuplot offer?
           o 1.5 Is gnuplot suitable for batch processing?
           o 1.6 Can I run gnuplot on my computer?
           o 1.7 Legalize it!
           o 1.8 Is gnuplot Y2K compliant?
           o 1.9 Where do I get further information?
      * 2. Setting it up
           o 2.1 What is the current version of gnuplot?
           o 2.2 Where can I get gnuplot?
           o 2.3 How do I get gnuplot to compile on my system?
           o 2.4 What documentation is there, and how do I get it?
      * 3. Working with it.
           o 3.1 How do I get help?
           o 3.2 How do I print out my graphs?
           o 3.3 How do I include my graphs in <word processor>?
           o 3.4 How do I post-process a gnuplot graph?
           o 3.5 How do I change symbol size, line thickness and the like?
           o 3.6 How do I generate plots in the GIF format?
           o 3.7 Can I animate my graphs?
           o 3.8 How do I plot implicit defined graphs?
      * 4. Wanted features
           o 4.1 What's new in gnuplot 3.7?
           o 4.2 Does gnuplot have hidden line removal?
           o 4.3 Does gnuplot support bar-charts/histograms/boxes?
           o 4.4 Does gnuplot support pie charts?
           o 4.5 Does gnuplot quarterly time charts?
           o 4.6 Does gnuplot support multiple y-axes on a single plot?
           o 4.7 Can I put multiple pages on one page?
           o 4.8 Can I put both data files and commands into a single file?
           o 4.9 Can I put Greek letters and super/subscripts into my labels?
           o 4.10 Can I do 1:1 scaling of axes?
           o 4.11 Can I put tic marks for x and y axes into 3d plots?
           o 4.12 Does gnuplot support a driver for <graphics format>?
           o 4.13 Can I put different text sizes into my plots?
           o 4.14 How do I modify gnuplot, and apply 'patches'?
           o 4.15 How do I skip data points?
           o 4.16 How do I plot every nth point?
           o 4.17 How do I plot a vertical line?
      * 5. Miscellaneous
           o 5.1 I've found a bug, what do I do?
           o 5.2 Can I use gnuplotroutines for my own programs?
           o 5.3 What extensions have people made to gnuplot? Where can I get
             them?
           o 5.4 Can I do heavy-duty data processing with gnuplot?
           o 5.5 I have ported gnuplotto another system, or patched it. What do
             I do?
           o 5.6 I want to help in developing the next version of gnuplot. What
             can I do?
      * 6. Making life easier
           o 6.1 How do I plot two functions in non-overlapping regions?
           o 6.2 How do I run my data through a filter before plotting?
           o 6.3 How do I make it easier to use gnuplot with LATEX?
           o 6.4 How do I save and restore my settings?
           o 6.5 How do I plot lines (not grids) using splot?
           o 6.6 How do I plot a function f(x,y) which is bounded by other
             functions in the x-y plain?
           o 6.7 How do I get rid of <feature in a plot>?
           o 6.8 How do I call gnuplot from my own programs?
           o 6.9 What if I need h-bar (Planck's constant)?
      * 7. Known Problems
           o 7.1 Gnuplot is not plotting any points under X11! How come?
           o 7.2 My isoline data generated by a Fortran program is not handled
             correctly. What can I do?
           o 7.3 Why does gnuplot ignore my very small numbers?
           o 7.4 Gnuplot is plotting nothing when run via gnuplot <filename>!
             What can I do?
           o 7.5 My formulas are giving me nonsense results! What's going on?
           o 7.6 Set output 'filename' isn't outputting everything it should!
           o 7.7 When using the LATEX-terminal, there is an error during the
             LATEX-run!
           o 7.8 The exit command does not work as documented!
           o 7.9 I can't find the demos and example files at the URLs in the
             documentation!
           o 7.10 Calling gnuplot in a pipe or with a gnuplot-script doesn't
             produce aplot!
      * 8. Credits
   
    This is the FAQ (Frequently Answered Questions) list of the  Meta - Questions
    comp.graphics.apps.gnuplot newsgroup, which discusses the gnuplot  
    program for plotting 2D - and 3D - graphs.  
   
    Most of the information in this document came from public discussion  0.1 Where do I get this document?
    on comp.graphics.apps.gnuplot; quotations are believed to be in the  
    public domain.  
   
    If you are reading this via WWW, and you can't access the individual  This document is posted about once every two weeks to the newsgroups
    pages, please select here, then try again.  comp.graphics.apps.gnuplot . Its newest (plaintext) version is available via
   anonymous ftp from ftp.ucc.ie in /pub/gnuplot/faq/gnuplot-faq.txt .
   
    Here's a list of the questions. If you are looking for the answer for  If you have access to the WWW, you can get the newest version of this
    a specific question, look for the string Qx.x: at the beginning of a  document from ~http://www.ucc.ie/gnuplot/gnuplot-faq.html .
    line, with x.x being the question number. Sections in this FAQ are  
      * 0. Meta-Questions  
      * 1. General Information  
      * 2. Setting it up  
      * 3. Working with it  
      * 4. Wanted features  
      * 5. Miscellaneous  
      * 6. Making life easier  
      * 7. Known problems  
      * 8. Credits  
   
   Today's version is version Revision: 1.4, dated Date: 99/10/07 09:37:56
   
 Questions:  0.2 Where do I send comments about this document?
   
   Section 0: Meta - Questions  Send comments, suggestions etc via email to the developer newsgroup
   info-gnuplot-beta@Dartmouth.EDU and additionally to j.vonhagen@web.de .
   
      * Q0.1: Where do I get this document?  1. General Information
      * Q0.2: Where do I send comments about this document?  
   
   Section 1: General Information  1.1 What is gnuplot?
   
      * Q1.1: What is gnuplot?  gnuplot is a command-driven interactive function plotting program. It can be
      * Q1.2: How did it come about and why is it called gnuplot?  used to plot functions and data points in both two- and three-dimensional
      * Q1.3: Does gnuplot have anything to do with the FSF and the  plots in many different formats, and will accommodate many of the needs of
        GNU project?  today's scientists for graphic data representation. gnuplot is copyrighted,
      * Q1.4: What does gnuplot offer?  but freely distributable; you don't have to pay for it.
      * Q1.5: Is gnuplot suitable for batch processing?  
      * Q1.6: Can I run gnuplot on my computer?  
   
   Section 2: Setting it up  This document deals with gnuplot Version 3.7 which is the latest official
   release as of October 20, 1999. References to bug-fix versions or (recent)
   beta versions are explicitly marked.
   
      * Q2.1: What is the current version of gnuplot?  1.2 How did it come about and why is it called gnuplot?
      * Q2.2: Where can I get gnuplot?  
      * Q2.3: How do I get gnuplot to compile on my system?  
      * Q2.4: What documentation is there, and how do I get it?  
   
   Section 3: Working with it  The authors of gnuplot are: Thomas Williams, Colin Kelley, Russell Lang,
   Dave Kotz, John Campbell, Gershon Elber, Alexander Woo and many others.
   
      * Q3.1: How do I get help?  The following quote comes from Thomas Williams:
      * Q3.2: How do I print out my graphs?  
      * Q3.3: How do I include my graphs in <word processor>?  
      * Q3.4: How do I post-process a gnuplot graph?  
      * Q3.5: How do I change symbol size, line thickness and the  
        like?  
      * Q3.6: How do I generate plots in GIF format?  
   
   Section 4: Wanted features       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.
   
      * Q4.0: What's new in gnuplot 3.7?       Any reference to GNUplot is incorrect. The real name of the
      * Q4.1: Does gnuplot have hidden line removal?       program is "gnuplot". You see people use "gnuplot" quite a bit
      * Q4.2: Does gnuplot support bar-charts/histograms/boxes?       because many of us have an aversion to starting a sentence with a
      * Q4.3: Does gnuplot support multiple y-axes on a single plot?       lower case letter, even in the case of proper nouns and titles.
      * Q4.4: Can I put multiple plots on a single page?       gnuplot is not related to the GNU project or the FSF in any but
      * Q4.5: Can I put both data files and commands into a single       the most peripheral sense. Our software was designed completely
        file?       independently and the name "gnuplot" was actually a compromise. I
      * Q4.6: Can I put Greek letters and super/subscripts into my       wanted to call it "llamaplot" and Colin wanted to call it "nplot."
        labels?       We agreed that "newplot" was acceptable but, we then discovered
      * Q4.7 Can I do 1:1 scaling of axes?       that there was an absolutely ghastly pascal program of that name
      * Q4.8: Can I put tic marks for x and y axes into 3d plots?       that the Computer Science Dept. occasionally used. I decided that
      * Q4.9: Does gnuplot support a driver for <graphics format>?       "gnuplot" would make a nice pun and after a fashion Colin agreed.
      * Q4.10: Can I put different text sizes into my plots?  
      * Q4.11: How do I modify gnuplot?  
      * Q4.12: How do I skip data points?  
   
   Section 5: Miscellaneous  1.3 Does gnuplot have anything to do with the FSF and the GNU project?
   
      * Q5.1: I've found a bug, what do I do?  Gnuplot is neither written nor maintained by the FSF. It is not covered by
      * Q5.2: Can I use gnuplot routines for my own programs?  the General Public License, either. It used to be distributed by the FSF,
      * Q5.3: What extensions have people made to gnuplot? Where can I  however, due to licensing issues it is no longer.
        get them?  
      * Q5.4: Can I do heavy-duty data processing with gnuplot?  
      * Q5.5: I have ported gnuplot to another system, or patched it.  
        What do I do?  
      * Q5.6: I want to help in developing gnuplot 3.7. What can I do?  
   
   Section 6: Making life easier  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.
   
      * Q6.1: How do I plot two functions in non-overlapping regions?  1.4 What does gnuplot offer?
      * Q6.2: How do I run my data through a filter before plotting?  
      * Q6.3: How do I make it easier to use gnuplot with LaTeX?  
      * Q6.4: How do I save and restore my settings?  
      * Q6.5: How do I plot lines (not grids) using splot?  
      * Q6.6: How do I plot a function f(x,y) which is bounded by  
        other functions in the x-y plain?  
      * Q6.7: How do I get rid of <feature in a plot>?  
      * Q6.8: How do I call gnuplot from my own programs ?  
   
   Section 7: Known Problems     * Plotting of two-dimensional functions and data points in many different
        styles (points, lines, error bars)
      * computations in integer, float and complex arithmetic
      * plotting of three-dimensional data points and surfaces in many
        different styles (contour plot, mesh).
      * support for complex arithmetic
      * self - defined functions
      * support for a large number of operating systems, graphics file formats
        and devices
      * extensive on-line help
      * labels for title, axes, data points
      * command line editing and history on most platforms
   
      * Q7.1: Gnuplot is not plotting any points under X11! How come?  1.5 Is gnuplot suitable for batch processing?
      * Q7.2: My isoline data generated by a Fortran program is not  
        handled correctly. What can I do?  
      * Q7.3: Why does gnuplot ignore my very small numbers?  
      * Q7.4: Gnuplot is plotting nothing when run via gnuplot  
        <filename>! What can I do?  
      * Q7.5: My formulas are giving me nonsense results! What's going  
        on?  
      * Q7.6: My Linux gnuplot complains about a missing gnuplot_x11.  
        What is wrong?  
      * Q7.7: set output 'filename' isn't outputting everything it  
        should!  
   
   Section 8: Credits  Yes. You can read in files from the command line, or you can redirect your
   standard input to read from a file. Both data and command files can be
   generated automatically, from data acquisition programs or whatever else you
   use.
   
   Section 0: Meta-Questions.  1.6 Can I run gnuplot on my computer?
   
    Q0.1: Where do I get this document?  Gnuplot is available for a number of platforms. These are: Unix (X11 and
           This document is posted about once every two weeks to the  NeXTSTEP), VAX/VMS, OS/2, MS-DOS, Amiga, MS-Windows, OS-9/68k, Atari ST,
           newsgroups comp.graphics.apps.gnuplot, comp.answers and  BeOS, and the Macintosh.
           news.answers. Like many other FAQ's, its newest (plaintext)  
           version is available via anonymous ftp from  
           ftp://rtfm.mit.edu/pub/usenet/news.answers/graphics/gnuplot  
           -faq.  
   
           If you have access to the WWW, you can get the newest version  Please notify the FAQ-maintainer of any further ports you might be aware of.
           of this document from  
           http://www.uni-karlsruhe.de/~ig25/gnuplot-faq/  
   
    Q0.2: Where do I send comments about this document?  You should be able to compile the gnuplot source more or less out of the box
           Send comments, suggestions etc. via e-mail to Thomas  on any reasonable standard (ANSI/ISO C, POSIX) environment.
           Koenig, Thomas.Koenig@ciw.uni-karlsruhe.de or  
           ig25@dkauni2.bitnet.  
   
   1.7 Legalize it!
   
   Section 1: General Information  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.
   
    Q1.1: What is gnuplot?  Citing from the README of a mathematical subroutine package by R. Freund:
           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, and will accommodate many of the needs of today's  
           scientists for graphic data representation. Gnuplot is  
           copyrighted, but freely distributable; you don't have to pay  
           for it.  
   
    Q1.2: How did it come about and why is it called gnuplot?       For all intent and purpose, any description of what the codes are
           The authors of gnuplot 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?
   
           Thomas Williams, Colin Kelley, Russell Lang, Dave Kotz, John  1.8 Is gnuplot Y2K compliant?
           Campbell, Gershon Elber, Alexander Woo and many others.  
   
           The following quote comes from Thomas Williams:  Gnuplot's compliance depends in part on the compliance of the underlying
   operating system and hardware. The only use gnuplot makes of a system-
   supplied date is in the "set timestamp" command, which simply echos the date
   on the plot. If the underlying OS cannot produce an accurate time string,
   then the "set timestamp" command may fail to print the correct date on
   plots.
   
      I was taking a differential equation class and Colin was taking  In gnuplot 3.5, if the user chooses to use %y in a timestamp format, rather
      Electromagnetics, we both thought it'd be helpful to visualize the  than %Y, it will print 2-digit rather than 4-digit years. The effects depend
      mathematics behind them. We were both working as sys admin for an  on the importance you place on the timestamps printed on plots.
      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  Gnuplot3.7 also allows the use of time/date data as variables, but the user
      is "gnuplot". You see people use "Gnuplot" quite a bit because many  has complete control over the input format of the data and the output format
      of us have an aversion to starting a sentence with a lower case  of the tic labels - the same 2-digit "%y" (interpreted as 1900+) and 4-digit
      letter, even in the case of proper nouns and titles. Gnuplot is not  "%Y" formats are both available. But again, these are user-specifiable, so
      related to the GNU project or the FSF in any but the most  if there is a Y2K problem here, it is the responsibility of the user.
      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.  
   
    Q1.3: Does gnuplot have anything to do with the FSF and the GNU  Of course, gnuplot is built by executing a makefile, which may well be
           project?  date-dependent. So if the operating system has a Y2K problem, the process of
           Gnuplot is neither written nor maintained by the FSF. It is not  building a new executable of gnuplot may be affected. But that wouldn't be a
           covered by the General Public License, either.  problem with gnuplot per se.
   
           However, the FSF has decided to distribute gnuplot as part of  IMPORTANT NOTICE
           the GNU system, because it is useful, redistributable software.  
   
    Q1.4: What does gnuplot offer?  As of gnuplot beta version 3.7.0.9, the interpretation of the "%y" two digit
   year specifier was changed in accordance with the recommendations of The
   Open Group and all major Unix vendors. When a century is not otherwise
   specified, values in the range 69-99 refer to the twentieth century and
   values in the range 00-68 refer to the twenty-first century. Be very careful
   when interpreting 2-digit year expressions.
   
           + Plotting of two-dimensional functions and data points in many  1.9 Where do I get further information?
             different styles (points, lines, error bars)  
           + plotting of three-dimensional data points and surfaces in  
             many different styles (contour plot, mesh).  
           + support for complex arithmetic  
           + self - defined functions  
           + support for a large number of operating systems, graphics  
             file formats and devices  
           + extensive on-line help  
           + labels for title, axes, data points  
           + command line editing and history on most platforms  
   
    Q1.5: Is gnuplot suitable for batch processing?  The following sites have more information about gnuplot.
           Yes. You can read in files from the command line, or you can  
           redirect your standard input to read from a file. Both data and  
           command files can be generated automatically, from data  
           acquisition programs or whatever else you use.  
   
    Q1.6: Can I run gnuplot on my computer?     * ~http://www.comnets.rwth-aachen.de/doc/gnu/gnuplot37/gnuplot.html an
           Gnuplot is available for a number of platforms. These are: Unix       online documentation in html-format
           (X11 and NeXTSTEP), VAX/VMS, OS/2, MS-DOS, Amiga, MS-Windows,     * ~http://www.usf.uni-osnabrueck.de/ breiter/tools/gnuplot/index.en.html
           OS-9/68k, Atari ST and the Macintosh. Modifications for NEC       has many links to many features and add-ons for gnuplot
           PC-9801 are said to exist (where?).     * ~http://web.math-cs.uni.edu/cs/Help/gnuplot/TOC.html contains an online
        tutorial
      * ~http://brian.me.tufts.edu/GnuplotInLaTeX/ contrains infos abount
        gnuplot and LATEX
      * ~http://www.eso.org/ ndevilla/gnuplot/ explains the use of a gnuplot
        API in ANSI C (commonly known as gnuplot_(pipes)
      * ~http://ricardo.ecn.wfu.edu/ cottrell/qplot/ on how to plot quarterly
        time data
      * ~http://monsoon.harvard.edu/ mhagger/download a Python interface for
        gnuplot
      * ftp.thewrittenword.com in /free/by-package/ contains Solaris, IRIX,
        HP-UX and Digital Unix binaries
      * ~http://www.sci.muni.cz/ mikulik/gnuplot.html has Petr's famous OS/2
        mouse support and the pm3d terminal for colour 3d surfaces. Furthermore
        some more links to other sites
   
   Some documentation is available in other languages than English. Those
   include:
   
   Section 2: Setting it up     * ~http://mucha.obspm.fr/ grouss/gnuplt/gnuplot.html contient des
        informations dans la langue de Molière: les 1ers pas avec gnuplot,
        malheureusement seulement version 3.5
      * ~http://www.al.lu/euler/gnuplot.shtml encore des informations en langue
        française avec possibilité de téléchargement des versions binaires
   
    Q2.1: What is the current version of gnuplot?  Here are some more sites, however these are somewhat outdated in carrying
           The current version of gnuplot is 3.7, which has many  still references to beta versions. If you download software from there you
           improvements over 3.5  should be aware that beta versions are not officially endorsed.
   
    Q2.2: Where can I get gnuplot?     * ~http://www.cs.dartmouth.edu/gnuplot_info.html slightly outdated site
           All of the later addresses refer to ftp sites. Please note that       for the 3.6 beta version, but also a web-gateway to the users'
           it is preferable for you to use the symbolic name, rather than       newsgroup
           the IP address given in brackets, because that address is much     * ~http://members.theglobe.com/gnuplot/ basically same as above.
           more subject to change.     * ~http://users.ece.gatech.edu/ schooley/gnuplot.html contains a
        Macintosh version based on 3.6 beta 322
   
           The official distribution site for the gnuplot source is  The following sites were said to exist, howevere they seem to be down right
           ftp.dartmouth.edu [129.170.16.4, soon to be 129.170.8.11],  now.
           the file is called /pub/gnuplot/gnuplot-3.7.tar.Z. Official  
           mirrors of that distribution are (for Australia)  
           ftp.monash.edu.au [130.194.11.18] and (for Europe)  
           ftp.irisa.fr [131.254.254.10]. You can also get it from your  
           friendly neighbourhood comp.sources.misc archive.  
   
           MS-DOS and MS-Windows binaries are available from     * ~http://www.geocities.com/SiliconValley/Foothills/6647/ the copyright
        statement and some binaries contains ads
      * ~http://www.delorie.com/gnu/docs/gnuplot/gplot_toc.html doesn't work
      * picard.tamu.edu in /pub/gnuplot gives a tutorial
      * ~http://feff.phys.washington.edu/ ravel/gnuplot has a new mode for the
        users of (X)Emacs
   
           + oak.oakland.edu (North America) [141.210.10.117] as  2. Setting it up
             /Simtel/msdos/plot/gpt35*.zip,  
           + garbo.uwasa.fi (Europe) [193.166.120.5] as  
             /pc/plot/gpt35*.zip and  
           + archie.au (Australia) [139.130.4.6] as  
             micros/pc/oak/plot/gpt35*.zip.  
   
           The files are: gpt35doc.zip, gpt35exe.zip, gpt35src.zip and  2.1 What is the current version of gnuplot?
           gpt35win.zip.  
   
           There is a special MS-DOS version for 386 or better processors;  The current version of gnuplot is 3.7, which has many improvements over 3.5.
           it is available from the official gnuplot sites as DOS34.zip.  3.6 was never released to avoid confusions with the beta versions.
   
           OS/2 2.x binaries are at ftp-os2.nmsu.edu [128.123.35.151],  
           in /os2/2.x/unix/gnuplt35.zip.  
   
           Amiga sources and binaries are available from ftp.wustl.edu  2.2 Where can I get gnuplot?
           [128.252.135.4] as /pub/aminet/util/gnu/gnuplot-3.5.lha; there  
           are numerous mirrors of this distribution, for example  
           ftp.uni-kl.de, oes.orst.edu or ftp.luth.se.  
   
           The NeXTSTEP front end can be found at  The source distribution ("gnuplot-3.7.tar.gz" or a similar name) is
           ftp://next-ftp.peak.org/pub/next/binaries/plotting/ as  available from the official distribution site and its mirrors.
           Gnuplot1.2_bin.tar.Z.  
   
           A version for OS-9/68K can be found at cabrales.cs.wisc.edu  The main server is ftp.ucc.ie in /pub/gnuplot/ . This server is mirrored by
           [128.105.36.20] as /pub/OSK/GRAPHICS/gnuplot32x.tar.Z; it  several others, among those are
           includes both X-Windows and non - X-windows versions.  
   
           There is a version for the Macintosh at     * mirror.aarnet.edu.au in /pub/gnuplot/
           ftp://ftp.ee.gatech.edu/pub/mac/gnuplot/ which includes     * ftp.dartmouth.edu in /pub/gnuplot/
           binaries for 68000-based Macs with and without FPU and native     * ftp.irisa.fr in /pub/gnuplot/
           support for PowerMacs.     * ftp.gnuplot.vt.edu in /pub/gnuplot/
   
           Versions for the Atari ST and TT, which include some GEM  You can also have a look at the following WWW-pages which provide a source
           windowing support, are available from  to obtain gnuplot:
           ftp://ftp.uni-kl.de/pub/atari/graphics/, as gplt35st.zip  
           and gplt35tt.zip. They work best under MiNT.  
   
           Executable files, plus documentation in Japanese, exist for the     * ~http://members.theglobe.com/gnuplot/
           X680x0 on     * ~http://www.geocities.com/SiliconValley/Foothills/6647/
           ftp://ftp.csis.oita-u.ac.jp/pub/x68k/fj.binaries.x68000/vol     * ~http://mirror.aarnet.edu.au/pub/gnuplot/
           2.  
   
           People without ftp access can use an ftp-mail server; send a  The current version for the Macintosh is 2.04b, based on gnuplot 3.5
           message saying 'help' to bitftp@pucc.bitnet (for BITNET only)  pre3.6beta338, and is available from
           or to ftpmail@ftp.dartmouth.edu.  
   
           For a uuencoded copy of the the gnuplot sources (compressed tar     * ~http://users.ece.gatech.edu/ schooley/ .
           file), send this as the body of a message to  
           ftpmail@ftp.dartmouth.edu:  
   
   Unfortunately, this version does not seem to be maintained anymore.
   
         open  Source and binary distributions for the Amiga are available on Aminet
         cd pub/gnuplot  ftp.wustl.edu in  aminet/ and its mirrors, for example ftp.uni-kl.de,
         mode binary  oes.orst.edu or ftp.luth.se.
         get gnuplot3.5.tar.Z  
         quit  
   
    If you have some problem, you might need to stick  MS-DOS and MS-Windows binaries are available from the above servers and are
   called gp37dos.zip, gp37dj.zip, gp37w16.zip, gp37mgw.zip, gnuplot3.7cyg.zip.
   
         reply-to  <your-email-address-here>  OS/2 binaries are called gp37os2.zip.
   
    before all the above.  An X11 Window System front-end is available at
   ~http://www.flash.net/ dmishee/xgfe/xgfe.html .
   
           It is a good idea to look for a nearby ftp site when  The NeXTSTEP front end can be found at next-ftp.peak.org in
           downloading things. You can use archie for this. See if an  /pub/next/binaries/plotting/Gnuplot1.2_bin.tar.Z .
           archie client is installed at your system (by simply typing  
           archie at the command prompt), or send mail to archie@sura.net  
           with the word 'help' in both the subject line and the body of  
           the mail. However, be aware that the version you find at a near  
           ftp site may well be out of date; check the last modification  
           date and the number of bytes against the newest release at one  
           of the official servers.  
   
    Q2.3: How do I get gnuplot to compile on my system?  A version for OS-9/68K can be found at cabrales.cs.wisc.edu in
           As you would any other installation. Read the files README and  /pub/OSK/GRAPHICS/gnuplot32x.tar.Z ; it includes both an X-Window Systems
           README.Install, edit the Makefile according to taste, and run  and a non - X-Window Systems version.
           make or whatever is suitable for your operating system.  
   
           If you get a complaint about a missing file libplot.a or  Versions for the Atari ST and TT, which include some GEM windowing support,
           something similar when building gnuplot for X11, remove  are available from ftp.uni-kl.de in /pub/atari/graphics/ , as gplt35st.zip
           -DUNIXPLOT from the TERMFLAGS= line, remove -lplot from the  and gplt35tt.zip. They work best under MiNT.
           DTBS= line and run again. If you are making X11 on a sun, type  
           'make x11_sun'.  
   
           For compiling gnuplot under Irix 5.2 and Irix 5.3, there is a  Executable files, plus documentation in Japanese, exist for the X680x0 on
           patch in the file lvs.zip in the contrib directory at  ftp.csis.oita-u.ac.jp in /pub/x68k/fj.binaries.x68000/vol2 .
           ftp.dartmouth.edu.  
   
    Q2.4: What documentation is there, and how do I get it?  It is a good idea to look for a nearby ftp site when downloading things. You
           The documentation is included in the source distribution. Look  can use archie for this. See if an archie client is installed at your system
           at the docs subdirectory, where you'll find  (by simply typing archie at the command prompt), or send mail to
   archie@sura.net with the word 'help' in both the subject line and the body
   of the mail. However, be aware that the version you find at a near ftp site
   may well be out of date; check the last modification date and the number of
   bytes against the newest release at one of the official servers.
   
           + a Unix man page, which says how to start gnuplot  If you can't locate a working archie server, you can use other web-based
           + a help file, which also can be printed as a manual  search engines for searching for gnuplot. One of these would be Lycos at
           + a tutorial on using gnuplot with LaTeX  ~http://ftpsearch.lycos.com/ .
           + a quick reference summary sheet for TeX only  
   
           PostScript copies of the documentation can be ftp'd from  As of June 1999, the gnuplot distribution is also mirrored at the
           ftp.dartmouth.edu, in pub/gnuplot, as manual.ps.Z and  Comprehensive TeX Archive Network (CTAN) in the graphics/gnuplot directory.
           tutorial.ps.Z  See
   
           Andy Liaw and Dick Crawford have written a 16-page user's     * ~http://www.ctan.org/ .
           guide. It is available from  
           ftp://picard.tamu.edu/pub/gnuplot/ as gptug.tex (also get  
           example.tex from the same directory), gptug.dvi or gptug.ps.  
   
           At the same site, there's a two- page instruction sheet for the  Bug fixes can also be found at gnuplot distribution sites in the patches
           enhpost PostScript driver (see Q4.6 ) as enhpost.guide.ps  directory.
           and a short guide to gnuplot PostScript files, as gp-ps.doc.  
   
           A Chinese translation of the gnuplot manual can be found on  2.3 How do I get gnuplot to compile on my system?
           ftp://servers.nctu.edu.tw/misc/environment/NCTU_EV/classnot  
           e/gnuplot.ps.gz .  
   
           There is a WWW hompepage for gnuplot at  As you would any other installation. Read the files README.1ST and README.
           http://www.cs.dartmouth.edu/gnuplot_info.html, which  
           includes the reference manual and a demo.  
   
           There are two more Chinese documents about gnuplot: a 72 - page  For Unix, use configure and make. For DOS, if you are using bash and DJGPP,
           User's guide  you can just run djconfig.sh. For other platforms, copy the relevant
           ftp://phi.sinica.edu.tw/pub/aspac/doc/94/94002.ps.gz and a  makefile from config/ to src, change to src and run make.
           28 - page Touring Guide  
           ftp://phi.sinica.edu.tw/pub/aspac/doc/95/95006.ps.gz. Both  
           documents are in PostScript format and gzipped.  
   
   2.4 What documentation is there, and how do I get it?
   
   Section 3: Working with it  The documentation is included in the source distribution. Look at the docs
   subdirectory, where you'll find
   
    Q3.1: How do I get help?     * a Unix man page, which says how to start gnuplot
           Give the 'help' command at the initial prompt. After that, keep     * a help file, which also can be printed as a manual
           looking through the keywords. Good starting points are 'plot'     * a tutorial on using gnuplot with LATEX
           and 'set'.     * a quick reference summary sheet for TEXonly
   
           Read the manual, if you have it.  PostScript copies of the documentation can be ftp'd from ftp.dartmouth.edu
   in /pub/gnuplot , as manual.ps.Z and tutorial.ps.Z
   
           Look through the demo subdirectory; it should give you some  The documentation is built during the installation if you have LATEX
           ideas.  installed on your system, look in the directories docs and tutorial.
   
           Ask your colleagues, the system administrator or the person who  Documentation about gnuplot is available in the most common formats at the
           set up gnuplot.  gnuplot distribution sites in the files gpdoc.zip and gpdoc2.zip.
   
           Post a question to comp.graphics.apps.gnuplot or send mail  3. Working with it.
           to the gatewayed mailing list info-gnuplot@dartmouth.edu. If  
           you want to subscribe to the mailing list, send a mail to  
           majordomo@dartmouth.edu 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 pose a  
           question there, it is considered good form to solicit e-mail  
           replies and post a summary.  
   
    Q3.2: How do I print out my graphs?  3.1 How do I get help?
           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  Read this document.
           Unix machine running the X Window system.  
   
   Give the 'help' command at the initial prompt. After that, keep looking
   through the keywords. Good starting points are 'plot' and 'set'.
   
         gnuplot> plot [-6:6] sin(x)  Read the manual, if you have it.
         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>  
   
    Q3.3: How do I include my graphs in <word processor>?  Look through the demo subdirectory; it should give you some ideas.
           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.  
   
           Details depend on the kind of word processor you use; use "set  Ask your colleagues, the system administrator or the person who set up
           term" to get a list of available file formats.  gnuplot.
   
           Many word processors can use Encapsulated PostScript for  If all these fail, please upgrade to the newest version of gnuplot or urge
           graphs. This can be generated by the "set terminal postscript  your system-administrator to do so. Then post a question to
           eps" command. Most MS-DOS word processors understand HPGL  comp.graphics.apps.gnuplot or send mail to the gatewayed mailing list
           (terminal type hpgl).  info-gnuplot@dartmouth.edu . 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@dartmouth.edu 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.
   
           With TeX, it depends on what you use to print your dvi files.  3.2 How do I print out my graphs?
           If you use dvips or dvi2ps, you can use Encapsulated  
           PostScript. For emTeX (popular for MS-DOS), you can use emTeX,  
           otherwise use the LaTeX terminal type, which generates a  
           picture environment.  
   
           If nothing else helps, try using the pgm or ppm format and  The kind of output produced is determined by the 'set terminal' command; for
           converting it to a bitmap format your favourite word processor  example, 'set terminal postscript' will produce the graph in PostScript
           can understand. An invaluable tool for this is Jef Poskanzer's  format. Output can be redirected using the 'set output' command.
           PBMPLUS package.  
   
           The PBMPLUS package is available in the contrib distribution  As an example, the following prints out a graph of sin(x) on a Unix machine
           for the X Window System. The original site for this is  running the X-Window System.
           ftp://ftp.x.org/contrib/. There are many mirrors, e.g.  
           ftp://ftp.th-darmstadt.de/pub/X11/contrib/ or .  
           ftp://sunsite.unc.edu/pub/X11/contrib/.  
   
           The most recent release of pbm by the author is dated December  gnuplot> plot [-6:6] sin(x)
           91 and is called pbmplus10dec91.tar.Z  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>
   
           There is new version including lots of patches from the net  In Microschrott Windows you click in the upper left corner of the graph
           that is not maintained by the author called netpbm, with the  window and print directly from there.
           newest version called netpbm-7dec1993.tar.gz.  
   
           Check archie (see Q2.2 ) for an archive site near you.  3.3 How do I include my graphs in <word processor>?
   
    Q3.4: How do I post-process a gnuplot graph?  Basically, you save your plot to a file in a format your word processor can
           This depends on the terminal type you use.  understand (using "set term" and "set output", see above), and then you read
   in the plot from your word processor. Vector formats should be prefered, as
   you can scale your graph later to the right size.
   
           You can use the terminal type fig (you may need to recompile  Details depend on the kind of word processor you use; use "set term" to get
           gnuplot to enable this terminal type, by putting #define FIG  a list of available file formats.
           into <term.h>), and use the xfig drawing program to edit the  
           plot afterwards.  
   
           For PostScript output, you may be able to use the pstotgif  Many word processors can use Encapsulated PostScript for graphs. This can be
           script (which calls GhostScript) to convert PostScript into the  generated by the "set terminal postscript eps" command. Most MS-DOS word
           format of the tgif drawing program. Tgif is also able to save  processors understand HPGL (terminal type hpgl).
           in PostScript format.  
   
           Both tgif and xfig can be obtained from the X Window contrib  With TeX, it depends on what you use to print your dvi files. If you use
           distribution (see Q3.3).  dvips or dvi2ps, you can use Encapsulated PostScript. For emTeX (popular for
   MS-DOSns OS/2), you can use emTeX, otherwise use the LATEXterminal type,
   which generates a picture environment.
   
           Another possibility for modifying PostScript output appears to  If nothing else helps, try using the pgm or ppm format and converting it to
           be IslandDraw, a commercial drawing program for UNIX  a bitmap format your favourite word processor can understand. An invaluable
           workstations.  tool for this is Jef Poskanzer's PBMPLUS package.
   
           For Windows, there is another alternative, PageDraw. It can  The PBMPLUS package is available in the contrib distribution for the
           post-process AI (Adobe Illustrator) files, and has a converter  X-Window System. The original site for this is ftp.x.org in /contrib/ .
           from PostScript to AI. It can be downloaded from  There are many mirrors, e.g. ftp.tu-darmstadt.de in /pub/X11/contrib/ or .
           http://www.wix.com/PageDraw/.  sunsite.unc.edu in /pub/X11/contrib/ .
   
    Q3.5: How do I change symbol size, line thickness and the like?  The most recent release of pbm by the author is dated December 91 and is
           Again, this depends on the terminal type. For PostScript, you  called pbmplus10dec91.tar.Z.
           can edit the generated PostScript file. An overview of what  
           means what in the PostScript files gnuplot generates can be  
           found at ftp://picard.tamu.edu/pub/gnuplot/ as gs-ps.doc.  
           A general introduction to PostScript can be found at  
           ftp://unix.hensa.ac.uk/pub/misc/ukc.reports/comp.sci/repor  
           ts/ as 11-92.ps.Z.  
   
    Q3.6: How do I generate plots in GIF format?  There is new version including lots of patches from the net that is not
           In gnuplot version 3.5, use the pbm terminal and use the  maintained by the author called netpbm, with the newest version called
           PBMPLUS package or other utilities to convert the resulting  netpbm-1mar1994.tar.gz.
           bitmap (see Q 3.3 for how to get the PBMPLUS package).  
   
           From 3.7 on, there is a gif terminal.  Check archie (see Q2.2) for an archive site near you.
   
   For Microso$t Windows and MacOS you can use the clip board to copy your
   graph and paste it into your favourite Windows or MacOS word processor.
   
   Section 4: Wanted features  3.4 How do I post-process a gnuplot graph?
   
    Q4.0: What's new in gnuplot 3.7?  This depends on the terminal type you use.
           Please refer to the NEWS file in the source distribution.  
   
    Q4.1: Does gnuplot have hidden line removal?  You can use the terminal type fig (you may need to recompile gnuplot to
           Version 3.5 supports hidden line removal on all platforms  enable this terminal type, by putting #define FIG into <term.h>), and use
           except MS-DOS; use the command  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.
   
         set hidden3d  Both tgif and xfig can also be obtained from the X Window contrib
   distribution (see Q3.3).
   
    If someone can solve the 64K DGROUP memory problem, gnuplot would  Pstoedit can convert Postscript into a wide variety of formats. Pstoedit is
           support hidden line removal on MS-DOS as well. Version 3.2  available a ~http://www.geocities.com/SiliconValley/Nework/1958/pstoedit/ .
           supports limited hidden line removal.  
   
    Q4.2: Does gnuplot support bar-charts/histograms/boxes?  Gimp may be able to post-process pixel graphics generated with gnuplot.
           As of version 3.4, it does; use the style "with boxes" for bar  
           charts. To get filled boxes, you can try a modification by  
           Steve Cumming, available via ftp from  
           ftp://grebe.geog.ubc.ca/pub/gnuplot as box.tar.  
   
    Q4.3: Does gnuplot support multiple y-axes on a single plot?  In general, you should use a vector graphics program to post-process vector
           Yes, with two unofficial mods, multiplot.shar and borders.shar.  graphic formats, and pixel based programs for pixel graphics.
           They can be obtained from  
           ftp://ftp.dartmouth.edu/pub/gnuplot/contrib/multi_woo.zip  
           or ftp://ftp.cygnus.edu/incoming/gpx38.zip.  
   
           Also, 3.7 supports this capability.  3.5 How do I change symbol size, line thickness and the like?
   
    Q4.4: Can I put multiple plots on a single page?  Again, this depends on the terminal type. For PostScript, you can edit the
           Yes, with the multiplot.shar mod, or if you are running gnuplot  generated PostScript file. An overview of what means what in the PostScript
           3.7. If you are using PostScript output, check out mpage, which  files gnuplot generates can be found at picard.tamu.edu in /pub/gnuplot/ as
           can be ftp'd from ftp.eng.umd.edu:pub/misc/mpage-2.tar.Z  gs-ps.doc. A general introduction to PostScript can be found at
   unix.hensa.ac.uk in /pub/misc/ukc.reports/comp.sci/reports/ as 11-92.ps.Z.
   
    Q4.5: Can I put both data files and commands into a single file?  3.6 How do I generate plots in the GIF format?
           This feature is in gnuplot 3.7.  
   
    Q4.6: Can I put Greek letters and super/subscripts into my labels?  If gnuplot was compiled with the external GD library, there is a gif
           You might try using the LaTeX terminal type and putting text  terminal.
           like \alpha_{3} into it.  
   
           David Denholm has written a PostScript terminal which allows  As of version 1.6, gd library dropped support for gif in favour of the
           for super/and subscripts, such as a^x or {/Symbol a }. Ftp to  superior png format. For those who absolutely need gif support in gnuplot,
           sotona.phys.soton.ac.uk [152.78.192.42] and get enhpost.trm,  we are providing older versions of gd library at the gnuplot distribution
           written by David Denholm and Matt Heffron. To install it,  sites which are free of Unisys patented code. Please read also the file
           follow the instructions at the top of the file, then recompile.  README a the ftp-sites.
           enhpost is also included in gnuplot 3.7.  
   
    Q4.7: Can I do 1:1 scaling of axes?  3.7 Can I animate my graphs?
           Not easily in 3.5; in 3.7, you can use "set size square".  
   
    Q4.8: Can I put tic marks for x and y axes into 3d plots?  First have a look at animate.dem in the demo directory of gnuplot.
           In version 3.5, you can; use the "with boxes" option.  Basically, animated graphs are a sequence of plots in a suitable format.
   
    Q4.9: Does gnuplot support a driver for <graphics format>?  Then have a look at the tool whirlgif 3.04, available at
           To see a list of the available graphic drivers for your  ~http://www.danbbs.dk/ dineo/whirlgif . It reads run-length encoded gifs and
           installation of gnuplot, type "set term".  packs them into a minimal animation. On the web-pages you will find a manual
   and an example.
   
           Some graphics drivers are included in the normal distribution,  You can also write a small script to get gnuplot to output a family of GIF
           but are uncommented by default. If you want to use them, you'll  files, then have it execute some animator such as gifsicle:
           have to change ~gnuplot/term.h, and recompile.  ~http://http://www.lcdf.org/ eddietwo/gifsicle or gifmerge
   ~http://http://the-labs.com/GIFMerge
   
    Q4.10: Can I put different text sizes into my plots?  mpeg_encode will encode a sequence of images into the mpeg-format.
           If you use PostScript output, you can use Dave Denholm's and  
           Matt Heffron's updated PostScript driver,  
           /sotona.phys.soton.ac.uk:/enhpost.trm (see also Q4.6 ).  
           Else, use 3.7.  
   
    Q4.11 How do I modify gnuplot, and apply 'patches'?  3.8 How do I plot implicit defined graphs?
           For this, you will need to recompile gnuplot.  
   
           Modifications people make are either done by replacing files,  Implicit graphs or curves cannot be plotted directly in gnuplot. However
           such as terminal drivers, or by 'patching'. If a file is a  there is a workaround.
           replacement, it will probably tell you in its README or in the  
           lines at the beginning.  
   
           To patch a file, you need Larry Wall's patch utility. On many  gnuplot> # as example. Place your definition in the following line
           UNIX systems, it is already installed; do a man patch to check.  gnuplot> f(x,y) = y - x**2 / tan(y)
           If it isn't, you'll have to get it; it can be found wherever  gnuplot> set contour base
           GNU software is archived.  gnuplot> set cntrparam levels discrete 0.0
   gnuplot> set nosurface
   gnuplot> set term table
   gnuplot> set out 'curve.dat'
   gnuplot> splot f(x,y)
   gnuplot> set out
   gnuplot> set term {your usual terminal for interactive work}
   gnuplot> plot 'curve.dat' w l
   
    Q4.12 How do I skip data points?  The trick is to draw the single contour line z=0 of the surface z=f(x,y),
           By specifying ? as a data value, as in  and store the resulting contour curve to a gnuplot datafile.
   
   4. Wanted features
   
         1 2  4.1 What's new in gnuplot 3.7?
         2 3  
         3 ?  
         4 5  
   
    Q4.13 How do I plot every nth point?  Too many things to be named here. Please refer to the NEWS file in the
           You can apply the patch point_skip from the contrib section  source distribution.
           (see Q5.3 or, assuming you have awk installed on your  
           system, you can use the following line:  
   
   4.2 Does gnuplot have hidden line removal?
   
         gnuplot> plot "< awk '{if(NR%5==0)print}' file.dat"  Version 3.7 supports hidden line removal on all platforms; use the command
   set hidden3d.
   
    plots every 5th line, and  The 16-bit binaries of gnuplot support the hidden line removal only
   partially as the hidden-line algorithm may hit the 640k memory limit.
   
         gnuplot> plot "< awk '$0 !~ /^#/ {if(NR%40==0)print $1, $4}' file.dat"  4.3 Does gnuplot support bar-charts/histograms/boxes?
   
    plots every 40th line while skipping commented lines.  Use the style "with boxes" for bar charts. To get filled boxes, you can try
   a modification by Steve Cumming and jturk, available via ftp from the
   contrib directory ftp.ucc.ie in /pub/gnuplot/contrib/gpl37fboxpatch.tar.gz .
   
   Bernhard Reiter wrote an AWK script to post-process the fig-terminal output.
   Please have a look at
   ~http://www.usf.uni-osnabrueck.de/ breiter/tools/gnuplot/barcharts.en.html .
   
   Section 5: Miscellaneous  4.4 Does gnuplot support pie charts?
   
    Q5.1: I've found a bug, what do I do?  It's not possible in gnuplot, but have a look at
           First, try to see whether it actually is a bug, or whether it  ~http://www.usf.uni-osnabrueck.de/ breiter/tools/piechart/piecharts.en.html
           is a feature which may be turned off by some obscure set -  
           command.  
   
           Next, see wether you have an old version of gnuplot; if you do,  4.5 Does gnuplot quarterly time charts?
           chances are the bug has been fixed in a newer release.  
   
           If, after checking these things, you still are convinced that  It's not possible in gnuplot, but have a look at
           there is a bug, proceed as follows. If you have a fairly  ~http://ricardo.ecn.wfu.edu/ cottrell/qplot . The corresponding file
           general sort of bug report, posting to  qplot.zip can be obtained from the contrib directory on any gnuplot server.
           comp.graphics.apps.gnuplot is probably the way to go. If  
           you have investigated a problem in detail, especially if you  
           have a context diff that fixes the problem, please e-email a  
           report to bug-gnuplot@dartmouth.edu. 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), terminal driver,  
           operating system, an exact description of the bug and input  
           which can reproduce the bug. Also, any context diffs should be  
           referenced against the latest official version of gnuplot if at  
           all possible.  
   
    Q5.2: Can I use gnuplot routines for my own programs?  4.6 Does gnuplot support multiple y-axes on a single plot?
           Yes. John Campbell <jdc@nauvax.ucc.nau.edu> has written  
           gplotlib, a version of gnuplot as C subroutines callable from a  
           C program. This is available as gplotlib.tar.Z on the machine  
           ftp.nau.edu in the directory /pub/gplotlib.tar.Z. This library  
           has been updated to be compatible with version 3.5.  
   
    Q5.3: What extensions have people made to gnuplot? Where can I get  Yes. You can have 2 x- and 2 y-axes per plot. See "plot".
           them?  
           __Extensions are available from  
           ftp://ftp.dartmouth.edu/pub/gnuplot/contrib/ . It contains  
           the following files:  
   
     Point Skips  4.7 Can I put multiple pages on one page?
   
           + _Data Filtering_ Instead of just having two params  Yes. "set multiplot"
             following the style param, there are now 4:  
                o 1: line_type  
                o 2: point_type  
                o 3: point_skip - gives the number of data samples per  
                  plotted point  
                o 4: point_offs - gives the sample number on which to plot  
                  the first point  
             Thus points are plotted only for the samples n satisfying n =  
             point_skip*i + point_offs for some non-negative integer i.  
             From:  
             pixar!sun!prony.Colorado.EDU!clarkmp@ucbvax.berkeley.edu  
             (Michael Clark)  
           + _Point Skip with Awk_ With UNIX,  
   
 gnuplot> plot "< awk '{if(NR%5==0)print$0}' file.dat"  If you use the postscript terminal and plot one graph per page you can use
         From: James Darrell McCauley, mccauley@ecn.purdue.edu  the program mpage (~http://www.mesa.nl/pub/mpage ) to print multiple logical
           + _New Xlib mods._ From: gregg hanna  pages per physical page. A similar program is the psnup program in the
             (gregor@kafka.saic.com)  psutils package. This package is available at any CTAN mirror.
   
     Vectors and Arrows  4.8 Can I put both data files and commands into a single file?
           + _Program to convert lines to vectors_ This program turns  
             line segments into line segments with a half-arrow at the  
             head: by uncommenting two lines below, the arrowhead will be  
             a triangle. optional arguments: size angle where size is a  
             fraction of each vector's magnitude and angle is in degrees  
             all data taken from standard input, and output to standard  
             output. typical invocation:  
   
 arrow 0.2 15 <vector.lin >vector.heads  This feature is in gnuplot 3.7 when using the set multiplot command.
         From: andrew@jarthur.claremont.edu (Andrew M. Ross)  
           + _Vect2gp_, an awk script to make gnuplot command script  
             to draw a vector field map. From: hiro@ice3.ori.u-tokyo.ac.jp  
             (Yasu-Hiro YAMAZAKI)  
           + _GNUPLOT to SIPP_ This is a "far from perfect" converter  
             that takes gnuplot table output and splits it in polygons.  
             Then it calls sipp to render it. You get sipp from  
             isy.liu.se:/pub/sipp or ask archie. From:  
             chammer@POST.uni-bielefeld.de (Carsten Hammer)  
   
     Histograms and Pie Charts  4.9 Can I put Greek letters and super/subscripts into my labels?
           + _Histogram C program_ The short C program below is a  
             filter that calculates a histogram from a sequence of numbers  
             and prints the output in such a format that Gnuplot can plot  
             the histogram by the command sequence  
   
     !histogram < datain > tmp;  You might try using the LATEXterminal type and putting text like
     plot "tmp" with impulses  "\alpha_{3}" into it.
             From: mustafa@seas.smu.edu (Mustafa Kocaturk)  
           + _HG_ is an automatic histogram generator. it reads a  
             column of data from an input file and emits a [log] histogram  
             ks does ks or chi^2 tests on a set of input arrays. you need  
             the "numerical recipes in C" library somewhere on your system  
             to link this one. I can not undertake to fix bugs or add  
             features, but I might do it if asked. From: Steve Cumming  
             stevec@geog.ubc.ca  
           + _Piechart C program_ The short C program below formats  
             data for display as a piechart. From: mccauley@ecn.purdue.edu  
             (James Darrell McCauley)  
   
     Interprocess Communications  The enhanced option in the postscript terminal is also able to use sub- and
           + _Notes of Windows Hooks_ From: Maurice  superscripts.
             Castro,maurice@bruce.cs.monash.edu.au  
           + _Named Pipes Example _From:  
             dtaber@deathstar.risc.rockwell.com (Don Taber)  
           + _PipeLib_ What the library does is set up to 20 programs  
             going (like gnuplot), then allows you to send to them as if  
             the program were typing on the command line. I've included a  
             brief set of docs after the source code, in latex format.  
             There is no facility to watch the output of a program. From:  
             ssclift@neumann.uwaterloo.ca (Simon Clift)  
           + _Popen example from lsqrfit_ The following function  
             sends a command to gnuplot. Gnuplot will execute the command  
             just as if you typed it at the gnuplot command line. This  
             example is adapted from my least squares fitting program  
             which is located at ftp.cdrom.com in  
             pub/os2/2_x/unix/lsqrft14.zip. Complete source is included.  
             From: michael@krypton.mit.edu (Michael Courtney)  
   
     Multiple logical plots on a single page  If you include your gnuplot-graphs into a LATEX document you can use the
           + _Gawk script for multiple encapsulated postscript on a  LATEX-package psfrag to typeset any characters into your graphs.
             page_ It's slightly more flexible than mpage, because it  
             changes the aspect ratio of the plots; mpage according to the  
             documentation only allows 1, 2, 4, or 8 plots on a page. This  
             script works for unix with encapsulated postscript (eps)  
             output. It should work with gawk or nawk, although I've only  
             tested it with gawk. (Gawk is GNU's version of awk and is  
             available from prep.ai.mit.edu.) You just specify how many  
             rows and columns of plots you want and it does the rest. For  
             example, gnuplot_eps rows=3 cols=2 *.eps | lpr will print all  
             eps files in your current directory with 6 on a page. Also,  
             see the comments in the file. From:  
             holt@goethe.cns.caltech.edu (Gary Holt)  
           + _Sed script for multiple encapsulated postscript on a  
             page_ You have MULTIPLE postscript files each containing a  
             single plot. From: wgchoe@scoupe.postech.ac.kr (Choe Won Gyu)  
           + _Massive patch_ with add multiplotcapability to all  
             devices and a lot more. The reason it is offered in this form  
             is because the original multiplot.pat did not patch correctly  
             into gnuplot version 3.5. This mod also add borders options,  
             financial plots, multiple line titles and other asundry  
             items. Use at your own risk. Look at the top of makefile.r  
             for a more complete list of changes.  
             From: Alex Woo, woo@playfair.stanford.edu  
   
     lvs.zip  4.10 Can I do 1:1 scaling of axes?
             This contains miscellaneous, modifications, which include:  
           + Label positioning using either plot or device-relative  
             coodinates  
           + Portability to Irix-5.2 and Irix-5.3  
           + The "thru" keyword has been extended to include "thrux" for  
             the X - Coordinate  
           + Capability to read a ordinary Fortran-style unformatted file  
           + A Perl script for better handling of eps  
           + Modifications to docs/doc2info to generate "next", "prev",  
             and "up" data for each node.  
           + Changes in the documentation to reflect the above.  
   
     Miscellaneous Mods  Use "set size square".
           + _Congp3d3_ is a preprocessor to draw contour plots on  
             irregular regions. From: mrb2@nrc.gov (Margaret Rose Byrne)  
           + _Sockpipe_ is a socket based pipe needed for the  
             Stardent OS. From: Mike Hallesy, Stardent Computer Product  
             Support, hal@stardent.com  
           + _Time Series_ is a patch to add multiline titles and  
             labels, time series x and y data and tic marks, and automatic  
             resizing of plots and much more. From: Hans Olav Eggestad,  
             olav@jordforsk.nlh.no  
   
     Other Operationing Systems  4.11 Can I put tic marks for x and y axes into 3d plots?
           + _MacIntosh Port of Version 3.2_ From: Noboru Yamamoto,  
             sun!kekvax.kek.jp!YAMAMOTO@pixar.com  
           + _MacIntosh Port of Version 3.5_ From:  
             laval@londres.cma.fr (Philippe LAVAL)  
           + _OS-9 Port of Version 3.2_  
   
   Use the "with boxes" option.
   
    Q5.4: Can I do heavy - duty data processing with gnuplot?  4.12 Does gnuplot support a driver for <graphics format>?
           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 [132.206.9.13], and from the  
           main Linux server, tsx-11.mit.edu [18.172.1.2] 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 goes  To see a list of the available graphic drivers for your installation of
           together with gnuplot; it is called gnufit and is available  gnuplot, type "set term".
           from the official gnuplot sites, as the files gnufit12.info,  
           gnufit12.tar.gz (source) and gft12dos.zip (MS-DOS). It has been  
           merged into gnuplot 3.7.  
   
           Michael Courtney has written a program called lsqrft, which  Some graphics drivers are included in the normal distribution, but are
           uses the Levenberg - Marquardt - Algorithm for fitting data to  uncommented by default. If you want to use them, you'll have to change
           a function. It is avialiable from ftp.cdrom.com as   gnuplot/term.h, and recompile.
           /pub/os2/2_x/unix/lsqrft13.zip; sources, which should compile  
           on Unix, and executables for MS-DOS and OS/2 2.x are included.  
           There is an interface to the OS/2 presentation manager.  
   
           You might also want to look at the applications developed by  4.13 Can I put different text sizes into my plots?
           the Software Tools Group (STG) at the National Center for  
           Supercomputing Applications. Ftp to ftp.ncsa.uiuc.edu  
           [141.142.20.50] and get the file README.BROCHURE for more  
           information.  
   
           You can also try pgperl, an integration of the PGPLOT plotting  Some terminals, like the postscript terminal can, others can't. Look at the
           package with Perl 5. Information can be found at  help for the different terminals.
           http://www.ast.cam.ac.uk/~kgb/pgperl.html, the source is  
           available from ftp://ftp.ast.cam.ac.uk/pub/kgb/pgperl/ or  
           ftp://linux.nrao.edu/pub/packages/pgperl/.  
   
           Another possibility is Octave. To quote from its README: Octave  4.14 How do I modify gnuplot, and apply 'patches'?
           is a high-level language, primarily intended for numerical  
           computations. It provides a convenient command line interface  
           for solving linear and nonlinear problems numerically.  
   
           The latest released version of Octave is always available via  For this, you will need to recompile gnuplot.
           anonymous ftp from bevo.che.wisc.edu in the directory  
           /pub/octave.  
   
    Q5.5: I have ported gnuplot to another system, or patched it. What do  Modifications people make are either done by replacing files, such as
           I do?  terminal drivers, or by 'patching'. If a file is a replacement, it will
           If your patch is small, mail it to bug-gnuplot@dartmouth.edu,  probably tell you in its README or in the lines at the beginning.
           with a thorough description of what the patch is supposed to  
           do, which version of gnuplot it is relative to, etc. Also, you  
           can send notification of the patch to the FAQ maintainer, if  
           you want a mention. Please don't send the patch itself to me  
           :-)  
   
           If your modifications are extensive (such as a port to another  To patch a file, you need Larry Wall's patch utility. On many UNIX systems,
           system), upload your modifications to  it is already installed; do a man patch to check. If it isn't, you'll have
           ftp://ftp.dartmouth.edu/pub/dropoff. Please drop a note to  to get it; it can be found wherever GNU software is archived.
           David.Kotz@dartmouth.edu, the maintainer of the gnuplot  
           subdirectory there, plus a note to bug-gnuplot@dartmouth.edu.  
   
    Q5.6: I want to help in developing gnuplot 3.7. What can I do?  4.15 How do I skip data points?
           Join the gnuplot beta test mailing list by sending a mail  
           containing the line  
   
   By specifying ? as a data value, as in
   
 subscribe info-gnuplot-beta          1 2
           2 3
           3 ?
           4 5
   
    in the body (not the subject) of the mail to Majordomo@Dartmouth.EDU.  4.16 How do I plot every nth point?
   
   This can be specified with the various options for the command "plot".
   
   Section 6: Making life easier  4.17 How do I plot a vertical line?
   
    Q6.1: How do I plot two functions in non - overlapping regions?  Depending on context, the main methods are:
           Use a parametric plot. An example:  
   
      * 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
   
         set parametric  5. Miscellaneous
         a=1  
         b=3  
         c=2  
         d=4  
         x1(t) = a+(b-a)*t  
         x2(t) = c+(d-c)*t  
         f1(x) = sin(x)  
         f2(x) = x**2/8  
         plot [t=0:1] x1(t),f1(x1(t)) title "f1", x2(t), f2(x2(t)) title "f2"  
   
    Q6.2: How do I run my data through a filter before plotting?  5.1 I've found a bug, what do I do?
           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  
   
   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.
   
         gnuplot> plot "< awk ' { print $1, $3/$2 } ' file.in"  Next, see whether you have an old version of gnuplot; if you do, chances are
   the bug has been fixed in a newer release.
   
    Unfortunately, in 3.2, there is a rather short limitation on the  Fixes for bugs reported since the release of the current version are held in
           maximum argument length, so your command line may be truncated  the patches directory at gnuplotdistribution sites. Before submitting a bug
           (usually, this will mean that awk cannot find the filename).  report, please check whether the bug in question has already been fixed.
           Also, you may need to escape the $ - characters in your awk  
           programs.  
   
           As of version 3.4, gnuplot includes the thru - keyword for the  If, after checking these things, you still are convinced that there is a
           plot command for running data files through a gnuplot - defined  bug, proceed as follows. If you have a fairly general sort of bug report,
           function.  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
   bug-gnuplot@dartmouth.edu .
   
           You can also get divhack.patch from  The bug-gnuplot list is for reporting and collecting bug fixes, the
           sotona.phys.soton.ac.uk[152.78.192.42] via anonymous ftp. It  comp.graphics.apps.gnuplot newsgroup will be more help for finding work
           allows expressions of the kind  arounds or actually solving gnuplotrelated 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 gnuplotif at all possible.
   
   5.2 Can I use gnuplotroutines for my own programs?
   
         gnuplot> plot "datafile" using A:B:C  Yes. John Campbell jdc@nauvax.ucc.nau.edu has written gplotlib, a version of
   gnuplotas C subroutines callable from a C program. This is available as
   gplotlib.tar.Z at ftp.nau.edu in /pub/gplotlib.tar.Z . This library has been
   updated to be compatible with version 3.5.
   
    where A,B,C,... are now either a column number, as usual, or an  On systems supporting the pipes, you can pipe commands to gnuplotfrom other
           arbitrary expression enclosed in ()'s, and using $1,$2,etc to  programs.
           access the data columns.  
   
    Q6.3: How do I make it easier to use gnuplot with LaTeX?  5.3 What extensions have people made to gnuplot? Where can I get them?
           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 [129.170.16.54, soon  
           to be 129.170.8.11] 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.  
   
    Q6.4: How do I save and restore my settings?  Extensions are available from ftp.ucc.ie in /pub/gnuplot/contrib/
           Use the "save" and "load" commands for this; see "help save"  
           and "help load" for details.  
   
    Q6.5: How do I plot lines (not grids) using splot?  Some extensions available:
           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.  
   
    Q6.6: How do I plot a function f(x,y) which is bounded by other     * barchart_via_fig: awk scripts to produce barcharts with filled boxes.
           functions in the x-y plain?     * date-errorbar: allows dates in the hi/lo fields for errorbars.
           An example:     * gp37os2-mouse: OS/2 binaries with mouse support (feature included in
        current beta versions).
      * perltk: A perl/tk canvas widget.
      * polyg.patch: Implements a polygon plotting style.
      * xgfe: graphical front end using the Qt widgets available at
        ~http://lnc.usc.edu/docs/xgfe/xgfe.html .
   
   5.4 Can I do heavy-duty data processing with gnuplot?
   
         f(x,y) = x**2 + y **2  gnuplotalone is not suited very well for this. One thing you might try is
         x(u) = 3*u  fudgit, an interactive multi-purpose fitting program written by Martin-D.
         yu(x) = x**2  Lacasse (isaac@frodo.physics.mcgill.ca). It can use gnuplotas its graphics
         yl(x) = -x**2  back end and is available from ftp.physics.mcgill.ca in
         set parametric  /pub/Fudgit/fudgit_2.33.tar.Z and from the main Linux server, tsx-11.mit.edu
         set cont  and its numerous mirrors around the world as
         splot [0:1] [0:1] u,yl(x(u))+(yu(x(u)) - yl(x(u)))*v,\  /pub/linux/sources/usr.bin/fudgit-2.33.tar.z. Versions are available for
         f(x(u), (yu(x(u)) - yl(x(u)))*v)  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.
   
    Q6.7: How do I get rid of <feature in a plot>?  Carsten Grammes has written a fitting program which has been merged into
           Usually, there is a set command to do this; do a  gnuplot3.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.
   
         gnuplot> ?set no  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.
   
    for a short overview.  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/ .
   
    Q6.8: How do I call gnuplot from my own programs?  Another possibility is Octave. To quote from its README: Octave is a
           Here's code which works for a UNIX system, using (efficient)  high-level language, primarily intended for numerical computations. It
           named pipes.  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.che.wisc.edu/octave/ and via anonymous ftp
   from bevo.che.wisc.edu in /pub/octave .
   
   5.5 I have ported gnuplotto another system, or patched it. What do I do?
   
 #include <sys/types.h>  If your patch is small, mail it to info-gnuplot-beta@dartmouth.edu , with a
 #include <sys/stat.h>  thorough description of what the patch is supposed to do, which version of
 #include <stdlib.h>  gnuplotit is relative to, etc. Also, you can send notification of the patch
 #include <stdio.h>  to the FAQ maintainer, if you want a mention. Please don't send the patch
 #include <math.h>  itself to me.
 #include <unistd.h>  
   
 #define PANIC(a) do { \  If your modifications are extensive (such as a port to another system),
                 perror(a); \  place them on a web/ftp site for download. There is currently no possibility
                 if (temp_name) unlink(temp_name);\  to upload patches. Send a note to info-gnuplot-beta@dartmouth.edu on where
                 exit(1);\  to find the patch, what it is supposed to do, which version of gnuplotit is
         } while(0)  to be applied against. For the time being (summer 1999) you can also send
   the patch to gnuplot@ftp.ucc.ie .
   
 int main() {  5.6 I want to help in developing the next version of gnuplot. What can I do?
     FILE *command,*data;  
     char *temp_name = NULL;  
     double a,b;  
     int i;  
   
     if ((temp_name = tmpnam((char *) 0)) == 0) PANIC("tmpnam failed");  Join the gnuplotbeta test mailing list by sending a mail containing the line
     if(mkfifo(temp_name, S_IRUSR | S_IWUSR) != 0) PANIC("mkfifo failed");  subscribe info-gnuplot-beta in the body (not the subject) of the mail to
     command = popen("gnuplot","w");  Majordomo@Dartmouth.EDU .
     fprintf(command,"plot \"%s\" with lines\n",temp_name); fflush(command);  
     data = fopen(temp_name,"w");  
     for (i=0; i<20; i++) {  
         a = i/10.0;  
         b = sin(a);  
         fprintf(data,"%f %f\n",a,b);  
     }  
     fclose(data);  
     fprintf(stderr,"press enter to continue..."); fflush(stderr);  
     getchar();  
   
     fprintf(command,"plot \"%s\" with lines\n",temp_name); fflush(command);  6. Making life easier
     data = fopen(temp_name,"w");  
     for (i=0; i<20; i++) {  
         a = i/10.0;  
         b = cos(a);  
         fprintf(data,"%f %f\n",a,b);  
     }  
     fclose(data);  
     fprintf(stderr,"press enter to continue..."); fflush(stderr);  
     getchar();  
     pclose(command);  
     unlink(temp_name);  
     return 0;  
 }  
   
    Here's code for OS/2, again using named pipes; I'm unable to check  6.1 How do I plot two functions in non-overlapping regions?
           this out myself. This code is care of fearick@physci.uct.ac.za  
           (Roger Fearick).  
   
   Use a parametric plot. An example:
   
 #include <stdio.h>  gnuplot> set parametric
 #define INCL_DOS  gnuplot> a=1
 #define INCL_DOSPROCESS  gnuplot> b=3
 #define INCL_DOSNMPIPES  gnuplot> c=2
 #include <os2.h>  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"
   
 main()  You can also use gnuplot's ability to ignore mathematically undefined
     {  expressions: the expression 1/0 is silently ignored, thus a construction
     HPIPE hpipe ;  like
     FILE *hfile, *hgnu ;  
         /* create a named pipe. Use NP_WAIT so that DosConnect...  
            blocks until client (gnuplot) opens, and client reads  
            are blocked until data is available */  
     DosCreateNPipe( "\\pipe\\gtemp",  
                     &hpipe,  
                     NP_ACCESS_OUTBOUND,  
                     NP_WAIT|NP_TYPE_BYTE|1,  
                     256,  
                     256,  
                     -1 ) ;  
         /* use stream i/o */  
     hfile = fdopen( hpipe, "w" ) ;  
   
         /* start gnuplot; use unbuffered writes so we don't need to  gnuplot> set xran [-10:10]
            flush buffer after a command */  gnuplot> plot (abs(x)>0.5?1/0: x**2)
     hgnu = popen( "gnuplot", "w" ) ;  
     setvbuf( hgnu, NULL, _IONBF, 0 ) ;  
   
         /* plot a set of data */  plots a quadratic function only for |x| < 0.5.
   
     fprintf( hgnu, "plot '/pipe/gtemp'\n" ) ;  /* issue plot command */  6.2 How do I run my data through a filter before plotting?
     DosConnectNPipe( hpipe ) ;              /* wait until 'file' opened */  
     fprintf( hfile, "1 1\n" ) ;             /* write data to 'file' */  
     fprintf( hfile, "2 2\n" ) ;  
     fprintf( hfile, "3 3\n" ) ;  
     fprintf( hfile, "4 4\n" ) ;  
     fflush( hfile ) ;                       /* flush buffer forces read */  
     DosSleep( 500 ) ;                       /* allow gnuplot to catch up */  
     DosDisConnectNPipe( hpipe ) ;           /* disconnect this session */  
     fprintf( hgnu, "pause -1\n" ) ;         /* admire plot */  
   
         /* plot another set of data */  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
   
     fprintf( hgnu, "plot '/pipe/gtemp'\n" ) ;  gnuplot> plot "< awk ' { print $1, $3/$2 } ' file.in"
     DosConnectNPipe( hpipe ) ;  
     fprintf( hfile, "1 4\n" ) ;  
     fprintf( hfile, "2 3\n" ) ;  
     fprintf( hfile, "3 2\n" ) ;  
     fprintf( hfile, "4 1\n" ) ;  
     fflush( hfile ) ;  
     DosSleep( 500 ) ;  
     DosDisConnectNPipe( hpipe ) ;  
     fprintf( hgnu, "pause -1\n" ) ;  
   
     DosClose( hpipe ) ;  The plot command is very powerful and is able to do some arithmetic on
     pclose( hgnu ) ;  datafiles. See "help plot".
     }  
   
    ; The above code works for gnuplot 3.5. In gnuplot 3.7, this can be  6.3 How do I make it easier to use gnuplot with LATEX?
           greatly simplified, since data can be fed 'inline, as in  
   
   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.
   
 plot '-' w l  6.4 How do I save and restore my settings?
 1 1  
 2 3  
 3 4  
 e  
   
   Use the "save" and "load" commands for this; see "help save" and "help load"
   for details.
   
   Section 7: Known problems  6.5 How do I plot lines (not grids) using splot?
   
    Q7.1: Gnuplot is not plotting any points under X11! How come?  If the data in a data file for splot is arranged in such a way that each one
           Very probably, you still are using an old version of  has the same number of data points (using blank lines as delimiters, as
           gnuplot_x11. Remove that, then do a full installation.  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.
   
           On VMS, you need to make several symbols:  6.6 How do I plot a function f(x,y) which is bounded by other functions in
   the x-y plain?
   
   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 get rid of <feature in a plot>?
   
   Usually, there is a set command to do this; do a gnuplot> ?set no for a
   short overview.
   
   6.8 How do I call gnuplot from my own programs?
   
   There's a code which works for a UNIX system, using (efficient) named pipes.
   On M$ Windows platforms, due to the lacking standard input of GUI programs,
   you need to use the C-code pgnuplot written by Hans-Bernhard Broeker
   broeker@physik.rwth-aachen.de . You can obtain this file on a ftp-server
   carrying the source for gnuplot.
   
   6.9 What if I need h-bar (Planck's constant)?
   
   There is no predefined variable like pi. However to put h-bar as a character
   into the label, you must use the PostScript terminal. You can play around
   with constructs 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 (
   264 in isoLatin 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}}.
   
   (This is a hint by Richard Crawford).
   
   7. Known Problems
   
   7.1 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_x11 :== $disk:[directory]gnuplot_x11
         $ gnuplot :== $disk:[directory]gnuplot.exe          $ gnuplot :== $disk:[directory]gnuplot.exe
         $ def/job GNUPLOT$HELP disk:[directory]gnuplot.hlb          $ def/job GNUPLOT$HELP disk:[directory]gnuplot.hlb
   
    Then run gnuplot from your command line, and use  Then run gnuplot from your command line, and use "set term x11".
   
         gnuplot> set term x11  7.2 My isoline data generated by a Fortran program is not handled correctly.
   What can I do?
   
    Q7.2: My isoline data generated by a Fortran program is not handled  Update to the newest gnuplot. Gnuplot 3.7 is able to read Fortran-style
           correctly. What can I do?  files where a blanc line can contain more than a linefeed.
           One known cause for this is the use of list-directed output (as  
           in WRITE(10,*) for generating blank lines. Fortran uses ASA  
           carriage control characters, and for list - directed output  
           this results in a space being output before the newline.  
           Gnuplot does not like this. The solution is to generate blank  
           lines using formatted output, as in WRITE(10,'()'). If you use  
           carriage return files in VMS Fortran, you may have to open the  
           file with OPEN(...,CARRIAGECONTROL='DTST') or convert it using  
           the DECUS utility ATTRIB.EXE:  
   
   7.3 Why does gnuplot ignore my very small numbers?
   
         VMS> ATTRIB/RATTRIB=IMPDTED FOR010.DAT  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:
   
    Q7.3: Why does gnuplot ignore my very small numbers?  gnuplot> plot 'test1'
           Gnuplot treats all numbers less than 1e-08 as zero, by default.  Warning: empty y range [4.047e-19:3e-11], adjusting to [-1:1]
           Thus, if you are trying to plot a collection of very small  gnuplot> set yrange [4e-19:3e-11]
           numbers, they may be plotted as zero. Worse, if you're plotting  gnuplot> plot 'test1'
           on a log scale, they will be off scale. Or, if the whole set of                ^
           numbers is "zero", your range may be considered empty:  y range is less than `zero`
   
   The solution is to change gnuplot's idea of "zero":
   
         gnuplot> plot 'test1'  gnuplot> set zero 1e-20
         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":  For more information, "help set zero"
   
         gnuplot> set zero 1e-20  7.4 Gnuplot is plotting nothing when run via gnuplot <filename>! What can I
   do?
   
    For more information,  Put a pause -1 after the plot command in the file. 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.
   
         gnuplot> help set zero  7.5 My formulas are giving me nonsense results! What's going on?
   
    Q7.4: Gnuplot is plotting nothing when run via gnuplot <filename>!  Gnuplot does integer, and not floating point, arithmetic on integer
           What can I do?  expressions. For example, the expression 1/3 evaluates to zero. If you want
           Put a pause -1 after the plot command in the file.  floating point expressions, supply trailing dots for your floating point
   numbers. Example:
   
    Q7.5: My formulas are giving me nonsense results! What's going on?  gnuplot> print 1/3
           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                  0
         gnuplot> print 1./3.  gnuplot> print 1./3.
                 0.333333                  0.333333
   
    This way of evaluating integer expressions is shared by both C and  This way of evaluating integer expressions is shared by both C and Fortran.
           Fortran.  
   
    Q7.6: My Linux gnuplot complains about a missing gnuplot_x11. What is  7.6 Set output 'filename' isn't outputting everything it should!
           wrong?  
           The binary gnuplot distribution from sunsite.unc.edu and its  
           mirrors in Linux/apps/math/gplotbin.tgz is missing one  
           executable that is necessary to access the x11 terminal. Please  
           install gnuplot from another Linux distribution, e.g.  
           Slackware.  
   
    Q7.7: set output 'filename' isn't outputting everything it should!  You need to flush the output with a closing 'set output'.
           You need to flush the output with a closing 'set output'.  
   
   Section 8: Credits  7.7 When using the LATEX-terminal, there is an error during the LATEX-run!
   
    This list was initially compiled by John Fletcher with contributions  Please upgrade to gnuplot 3.7. Some versions of its beta-release had a
    from Russell Lang, John Campbell, David Kotz, Rob Cunningham, Daniel  problem in the LATEX-terminal.
    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; Axel Eble and Jutta Zimmermann helped with the  
    conversion to HTML.  
   
   7.8 The exit command does not work as documented!
   
   This is a known bug and is fixed in the latest release. If you need the
   feature please upgrade to the latest release.
   
     Thomas Koenig, ig25@rz.uni-karlsruhe.de, 1994-03-28  7.9 I can't find the demos and example files at the URLs in the
   documentation!
   
   The examples have been removec from the NASA site. You can find the examples
   now at ~http://www.gnuplot.vt.edu/gnuplot/gpdocs . There you will find both
   PNG and GIF versions of the demo plots. There are some licensing problems
   with GIF images, so you should probably prefer the PNG ones. They also have
   the advantage to be much smaller in size.
   
   7.10 Calling gnuplot in a pipe or with a gnuplot-script doesn't produce
   aplot!
   
   You can call gnuplot by using a short Perl-script like the following:
   
   #!/usr/bin/perl
   open GP, "/usr/local/bin/gnuplot";
   print GP,"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 thre 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.
   
   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 Jürgen v.Hagen with corrections by , Lars Hecking,
   Hans-Bernhard Broecker and other people.
   
   About this document ...
   
   Gnuplot FAQ
   
   This document was generated using the LaTeX2HTML translator Version 98.1p1
   release (March 2nd, 1998)
   
   Copyright © 1993, 1994, 1995, 1996, 1997, Nikos Drakos, Computer Based
   Learning Unit, University of Leeds.
   
   The command line arguments were:
   latex2html -split 0 -show_section_numbers -html_version 3.2 gnuplot-faq.tex.
   
   The translation was initiated by Juergen von Hagen on 1999-10-20
     ------------------------------------------------------------------------
   [next] [up] [previous]
   Juergen von Hagen
   1999-10-20

Legend:
Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.2

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>