=================================================================== RCS file: /home/cvs/OpenXM_contrib/gnuplot/Attic/0FAQ,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.3 diff -u -p -r1.1.1.1 -r1.1.1.3 --- OpenXM_contrib/gnuplot/Attic/0FAQ 2000/01/09 17:00:48 1.1.1.1 +++ OpenXM_contrib/gnuplot/Attic/0FAQ 2003/09/15 07:09:21 1.1.1.3 @@ -1,1180 +1,1103 @@ -* Please note that this is not the current official FAQ since -* I have upgraded the info in answer 4.0 - dd -* Made more changes - lh + Gnuplot FAQ + -Archive-name: graphics/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/ +Contents - comp.graphics.apps.gnuplot + * 0 Meta - Questions + + 0.1 Where do I get this document? + + 0.2 Where do I send comments about this document? + + * 1 General Information + + 1.1 What is gnuplot? + + 1.2 How did it come about and why is it called gnuplot? + + 1.3 Does gnuplot have anything to do with the FSF and the GNU project? + + 1.4 What does gnuplot offer? + + 1.5 Is gnuplot suitable for batch processing? + + 1.6 Can I run gnuplot on my computer? + + 1.7 Legalize it! + + 1.8 Is gnuplot Y2K compliant? + + 1.9 Where do I get further information? + + * 2 Setting it up + + 2.1 What is the current version of gnuplot? + + 2.2 Where can I get gnuplot? + + 2.3 How do I get gnuplot to compile on my system? + + 2.4 What documentation is there, and how do I get it? + + * 3 Working with it. + + 3.1 How do I get help? + + 3.2 How do I print out my graphs? + + 3.3 How do I include my graphs in ? + + 3.4 How do I post-process a gnuplot graph? + + 3.5 How do I change symbol size, line thickness and the like? + + 3.6 How do I generate plots in the GIF format? + + 3.7 Can I animate my graphs? + + 3.8 How do I plot implicit defined graphs? + + * 4 Wanted features + + 4.1 What's new in gnuplot 3.7? + + 4.2 Does gnuplot have hidden line removal? + + 4.3 Does gnuplot support bar-charts/histograms/boxes? + + 4.4 Does gnuplot support pie charts? + + 4.5 Does gnuplot quarterly time charts? + + 4.6 Does gnuplot support multiple y-axes on a single plot? + + 4.7 Can I put multiple pages on one page? + + 4.8 Can I put both data files and commands into a single file? + + 4.9 Can I put Greek letters and super/subscripts into my labels? + + 4.10 Can I do 1:1 scaling of axes? + + 4.11 Can I put tic marks for x and y axes into 3d plots? + + 4.12 Does gnuplot support a driver for ? + + 4.13 Can I put different text sizes into my plots? + + 4.14 How do I modify gnuplot, and apply 'patches'? + + 4.15 How do I skip data points? + + 4.16 How do I plot every nth point? + + 4.17 How do I plot a vertical line? + + 4.18 How do I plot data files + + 4.19 How do I include accentuated characters in Postscript output? + + * 5 Miscellaneous + + 5.1 I've found a bug, what do I do? + + 5.2 Can I use gnuplot routines for my own programs? + + 5.3 What extensions have people made to gnuplot? Where can I get them? + + 5.4 I need an integration, fft, iir-filter,....! + + 5.5 Can I do heavy-duty data processing with gnuplot? or What is beyond + gnuplot? + + 5.6 I have ported gnuplot to another system, or patched it. What do I + do? + + 5.7 I want to help in developing the next version of gnuplot. What can + I do? + + 5.8 Open questions for inclusion into the FAQ? + + * 6 Making life easier + + 6.1 How do I plot two functions in non-overlapping regions? + + 6.2 How do I run my data through a filter before plotting? + + 6.3 How do I make it easier to use gnuplot with LATEX? + + 6.4 How do I save and restore my settings? + + 6.5 How do I plot lines (not grids) using splot? + + 6.6 How do I plot a function f(x,y) which is bounded by other functions + in the x-y plain? + + 6.7 How do I get rid of in a plot? + + 6.8 How do I call gnuplot from my own programs? + + 6.9 What if I need h-bar (Planck's constant)? + + * 7 Known Problems + + 7.1 Gnuplot is not plotting any points under X11! How come? + + 7.2 My isoline data generated by a Fortran program is not handled + correctly. What can I do? + + 7.3 Why does gnuplot ignore my very small numbers? + + 7.4 Gnuplot is plotting nothing when run via gnuplot ! What + can I do? + + 7.5 My formulas are giving me nonsense results! What's going on? + + 7.6 Set output 'filename' isn't outputting everything it should! + + 7.7 When using the LATEX-terminal, there is an error during the + LATEX-run! + + 7.8 The exit command does not work as documented! + + 7.9 I can't find the demos and example files at the URLs in the + documentation! + + 7.10 Calling gnuplot in a pipe or with a gnuplot-script doesn't produce + a plot! + + * 8 Credits - comp.graphics.apps.gnuplot FAQ (Frequent Answered Questions) +0 Meta - Questions - This is the FAQ (Frequently Answered Questions) list of the - comp.graphics.apps.gnuplot newsgroup, which discusses the gnuplot - program for plotting 2D - and 3D - graphs. +0.1 Where do I get this document? - Most of the information in this document came from public discussion - on comp.graphics.apps.gnuplot; quotations are believed to be in the - public domain. +This document is posted about once every two weeks to the newsgroups ~ +comp.graphics.apps.gnuplot. Its newest (plaintext) version is available via +anonymous ftp from ftp.gnuplot.info in /pub/gnuplot/faq/gnuplot-faq.txt. - If you are reading this via WWW, and you can't access the individual - pages, please select here, then try again. +If you have access to the WWW, you can get the newest version of this document +from http://www.ucc.ie/gnuplot/gnuplot-faq.html. - Here's a list of the questions. If you are looking for the answer for - a specific question, look for the string Qx.x: at the beginning of a - 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.1.1.3 $, dated 2002/12/07 18:33: +30 $ +0.2 Where do I send comments about this document? -Questions: +Send comments, suggestions etc via email to the developer mailing list +info-gnuplot-beta@Dartmouth.EDU. - Section 0: Meta - Questions +1 General Information - * Q0.1: Where do I get this document? - * Q0.2: Where do I send comments about this document? +1.1 What is gnuplot? - Section 1: General Information +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.1: What is gnuplot? - * Q1.2: How did it come about and why is it called gnuplot? - * Q1.3: Does gnuplot have anything to do with the FSF and the - GNU project? - * Q1.4: What does gnuplot offer? - * Q1.5: Is gnuplot suitable for batch processing? - * Q1.6: Can I run gnuplot on my computer? +This document deals with gnuplot Version 3.7 which is the latest official +release as of December 10, 2002. References to bug-fix versions or (recent) +beta versions are explicitly marked. - Section 2: Setting it up +1.2 How did it come about and why is it called gnuplot? - * Q2.1: What is the current version of 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? +The authors of gnuplot are: Thomas Williams, Colin Kelley, Russell Lang, Dave +Kotz, John Campbell, Gershon Elber, Alexander Woo and many others. - Section 3: Working with it +The following quote comes from Thomas Williams: - * Q3.1: How do I get help? - * Q3.2: How do I print out my graphs? - * Q3.3: How do I include my graphs in ? - * 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? + 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. - Section 4: Wanted features + Any reference to GNUplot is incorrect. The real name of the program is + "gnuplot". You see people use "gnuplot" quite a bit because many of us have + an aversion to starting a sentence with a lower case letter, even in the + case of proper nouns and titles. gnuplot is not related to the GNU project + or the FSF in any but the most peripheral sense. Our software was designed + completely independently and the name "gnuplot" was actually a compromise. + I wanted to call it "llamaplot" and Colin wanted to call it "nplot." We + agreed that "newplot" was acceptable but, we then discovered that there was + an absolutely ghastly pascal program of that name that the Computer Science + Dept. occasionally used. I decided that "gnuplot" would make a nice pun and + after a fashion Colin agreed. - * Q4.0: What's new in gnuplot 3.7? - * Q4.1: Does gnuplot have hidden line removal? - * Q4.2: Does gnuplot support bar-charts/histograms/boxes? - * Q4.3: Does gnuplot support multiple y-axes on a single plot? - * Q4.4: Can I put multiple plots on a single page? - * Q4.5: Can I put both data files and commands into a single - file? - * Q4.6: Can I put Greek letters and super/subscripts into my - labels? - * Q4.7 Can I do 1:1 scaling of axes? - * Q4.8: Can I put tic marks for x and y axes into 3d plots? - * Q4.9: Does gnuplot support a driver for ? - * 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? +1.3 Does gnuplot have anything to do with the FSF and the GNU project? - Section 5: Miscellaneous +Gnuplot is neither written nor maintained by the FSF. It is not covered by the +General Public License, either. It used to be distributed by the FSF, however, +due to licensing issues it is no longer. - * Q5.1: I've found a bug, what do I do? - * Q5.2: Can I use gnuplot routines for my own programs? - * Q5.3: What extensions have people made to gnuplot? Where can I - 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? +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. - Section 6: Making life easier +1.4 What does gnuplot offer? - * Q6.1: How do I plot two functions in non-overlapping regions? - * 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 ? - * Q6.8: How do I call gnuplot from my own programs ? + * 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 - Section 7: Known Problems +1.5 Is gnuplot suitable for batch processing? - * Q7.1: Gnuplot is not plotting any points under X11! How come? - * 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 - ! 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! +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 8: Credits +1.6 Can I run gnuplot on my computer? - Section 0: Meta-Questions. +Gnuplot is available for a number of platforms. These are: Unix (X11 and +NeXTSTEP), VAX/VMS, OS/2, MS-DOS, Amiga, MS-Windows, OS-9/68k, Atari ST, BeOS, +and the Macintosh. - Q0.1: Where do I get this document? - This document is posted about once every two weeks to the - newsgroups comp.graphics.apps.gnuplot, comp.answers and - 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. +Please notify the FAQ-maintainer of any further ports you might be aware of. - If you have access to the WWW, you can get the newest version - of this document from - http://www.uni-karlsruhe.de/~ig25/gnuplot-faq/ +You should be able to compile the gnuplot source more or less out of the box on +any reasonable standard (ANSI/ISO C, POSIX) environment. - Q0.2: Where do I send comments about this document? - Send comments, suggestions etc. via e-mail to Thomas - Koenig, Thomas.Koenig@ciw.uni-karlsruhe.de or - ig25@dkauni2.bitnet. +1.7 Legalize it! +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. - Section 1: General Information +Citing from the README of a mathematical subroutine package by R. Freund: - Q1.1: What is gnuplot? - Gnuplot is a command-driven interactive function plotting - program. It can be used to plot functions and data points in - both two- and three- dimensional plots in many different - formats, 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. + For all intent and purpose, any description of what the codes are doing + should be construed as being a note of what we thought the codes did on our + machine on a particular Tuesday of last year. If you're really lucky, they + might do the same for you someday. Then again, do you really feel *that* + lucky? - Q1.2: How did it come about and why is it called gnuplot? - The authors of gnuplot are: +1.8 Is gnuplot Y2K compliant? - Thomas Williams, Colin Kelley, Russell Lang, Dave Kotz, John - Campbell, Gershon Elber, Alexander Woo and many others. +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. - The following quote comes from Thomas Williams: +In gnuplot 3.5, if the user chooses to use %y in a timestamp format, rather +than %Y, it will print 2-digit rather than 4-digit years. The effects depend on +the importance you place on the timestamps printed on plots. - 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. +Gnuplot 3.7 also allows the use of time/date data as variables, but the user +has complete control over the input format of the data and the output format of +the tic labels - the same 2-digit "%y" (interpreted as 1900+) and 4-digit "%Y" +formats are both available. But again, these are user-specifiable, so if there +is a Y2K problem here, it is the responsibility of the user. - Any reference to GNUplot is incorrect. The real name of the program - is "gnuplot". You see people use "Gnuplot" quite a bit because many - of us have an aversion to starting a sentence with a lower case - letter, even in the case of proper nouns and titles. Gnuplot is not - related to the GNU project or the FSF in any but the most - peripheral sense. Our software was designed completely - independently and the name "gnuplot" was actually a compromise. I - wanted to call it "llamaplot" and Colin wanted to call it "nplot." - We agreed that "newplot" was acceptable but, we then discovered - that there was an absolutely ghastly pascal program of that name - that the Computer Science Dept. occasionally used. I decided that - "gnuplot" would make a nice pun and after a fashion Colin agreed. +Of course, gnuplot is built by executing a makefile, which may well be +date-dependent. So if the operating system has a Y2K problem, the process of +building a new executable of gnuplot may be affected. But that wouldn't be a +problem with gnuplot per se. - Q1.3: Does gnuplot have anything to do with the FSF and the GNU - project? - Gnuplot is neither written nor maintained by the FSF. It is not - covered by the General Public License, either. +IMPORTANT NOTICE - However, the FSF has decided to distribute gnuplot as part of - the GNU system, because it is useful, redistributable software. +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. - Q1.4: What does gnuplot offer? +1.9 Where do I get further information? - + Plotting of two-dimensional functions and data points in many - 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 +The following sites have more information about gnuplot. - Q1.5: Is gnuplot suitable for batch processing? - 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. + * http://www.comnets.rwth-aachen.de/doc/gnu/gnuplot37/gnuplot.html an online + documentation in html-format + * http://www.usf.uni-osnabrueck.de/ breiter/tools/gnuplot/index.en.html has + many links to many features and add-ons for gnuplot + * http://web.cs.uni.edu/Help/gnuplot/ contains an online tutorial + * http://brian.me.tufts.edu/GnuplotInLaTeX/ contains infos abount gnuplot and + LATEX + * http://ndevilla.free.fr/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 - Q1.6: Can I run gnuplot on my computer? - Gnuplot is available for a number of platforms. These are: Unix - (X11 and NeXTSTEP), VAX/VMS, OS/2, MS-DOS, Amiga, MS-Windows, - OS-9/68k, Atari ST and the Macintosh. Modifications for NEC - PC-9801 are said to exist (where?). +Some documentation is available in other languages than English. Those include: + * http://www.multimania.com/ gersoo/gnuplt/index.html contient des + informations dans la langue de Molière: les 1ers pas avec gnuplot, + malheureusement seulement version 3.5. Vous trouverez un cours directement + en ligne appelleé "1ers pas avec gnuplot". Le cours est aussi disponible en + Postscript. + * http://www.al.lu/euler/gnuplot.shtml encore des informations en langue + française avec possibilité de téléchargement des versions binaires - Section 2: Setting it up +Here are some more sites, however these are somewhat outdated in carrying still +references to beta versions. If you download software from there you should be +aware that beta versions are not officially endorsed. - Q2.1: What is the current version of gnuplot? - The current version of gnuplot is 3.7, which has many - improvements over 3.5 + * http://www.cs.dartmouth.edu/gnuplot_info.html slightly outdated site for + the 3.6 beta version, but also a web-gateway to the users' newsgroup + * http://members.theglobe.com/gnuplot/ basically same as above. + * http://homepage.mac.com/gnuplot/ is the new site for a Macintosh port of + gnuplot - Q2.2: Where can I get gnuplot? - All of the later addresses refer to ftp sites. Please note that - it is preferable for you to use the symbolic name, rather than - the IP address given in brackets, because that address is much - more subject to change. +The following sites were said to exist, however they seem to be down right now. - The official distribution site for the gnuplot source is - ftp.dartmouth.edu [129.170.16.4, soon to be 129.170.8.11], - 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. + * 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 - MS-DOS and MS-Windows binaries are available from +2 Setting it up - + oak.oakland.edu (North America) [141.210.10.117] as - /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. +2.1 What is the current version of gnuplot? - The files are: gpt35doc.zip, gpt35exe.zip, gpt35src.zip and - gpt35win.zip. +The current version of gnuplot is 3.7, which has many improvements over 3.5. +3.6 was never released to avoid confusions with the beta versions. - There is a special MS-DOS version for 386 or better processors; - it is available from the official gnuplot sites as DOS34.zip. - OS/2 2.x binaries are at ftp-os2.nmsu.edu [128.123.35.151], - in /os2/2.x/unix/gnuplt35.zip. +2.2 Where can I get gnuplot? - Amiga sources and binaries are available from ftp.wustl.edu - [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 best place is definitly http://www.gnuplot.info. From there you find +various pointers to other sites. - The NeXTSTEP front end can be found at - ftp://next-ftp.peak.org/pub/next/binaries/plotting/ as - Gnuplot1.2_bin.tar.Z. +The source distribution ("gnuplot-3.7.tar.gz" or a similar name) is available +from the official distribution site and its mirrors. - A version for OS-9/68K can be found at cabrales.cs.wisc.edu - [128.105.36.20] as /pub/OSK/GRAPHICS/gnuplot32x.tar.Z; it - includes both X-Windows and non - X-windows versions. +The main server is ftp.gnuplot.info in /pub/gnuplot/. This server is mirrored +by several others, among those are - There is a version for the Macintosh at - ftp://ftp.ee.gatech.edu/pub/mac/gnuplot/ which includes - binaries for 68000-based Macs with and without FPU and native - support for PowerMacs. + * mirror.aarnet.edu.au in /pub/gnuplot/ + * ftp.dartmouth.edu in /pub/gnuplot/ + * ftp.irisa.fr in /pub/gnuplot/ + * ftp.gnuplot.vt.edu in /pub/gnuplot/ - Versions for the Atari ST and TT, which include some GEM - windowing support, are available from - ftp://ftp.uni-kl.de/pub/atari/graphics/, as gplt35st.zip - and gplt35tt.zip. They work best under MiNT. +You can also have a look at the following WWW-pages which provide a source to +obtain gnuplot: - Executable files, plus documentation in Japanese, exist for the - X680x0 on - ftp://ftp.csis.oita-u.ac.jp/pub/x68k/fj.binaries.x68000/vol - 2. + * http://members.theglobe.com/gnuplot/ + * http://www.geocities.com/SiliconValley/Foothills/6647/ + * http://mirror.aarnet.edu.au/pub/gnuplot/ - People without ftp access can use an ftp-mail server; send a - message saying 'help' to bitftp@pucc.bitnet (for BITNET only) - or to ftpmail@ftp.dartmouth.edu. +The current version for the Macintosh is 2.04b, based on gnuplot 3.5 +pre3.6beta338, and is available from - For a uuencoded copy of the the gnuplot sources (compressed tar - file), send this as the body of a message to - ftpmail@ftp.dartmouth.edu: + * http://users.ece.gatech.edu/ schooley/. +Unfortunately, this version does not seem to be maintained anymore. - open - cd pub/gnuplot - mode binary - get gnuplot3.5.tar.Z - quit +Source and binary distributions for the Amiga are available on Aminet +ftp.wustl.edu in aminet/ and its mirrors, for example ftp.uni-kl.de, +oes.orst.edu or ftp.luth.se. - 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 +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 - downloading things. You can use archie for this. See if an - 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. +The NeXTSTEP front end can be found at next-ftp.peak.org in /pub/next/binaries/ +plotting/Gnuplot1.2_bin.tar.Z. - Q2.3: How do I get gnuplot to compile on my system? - As you would any other installation. Read the files README and - README.Install, edit the Makefile according to taste, and run - make or whatever is suitable for your operating system. +A version for OS-9/68K can be found at cabrales.cs.wisc.edu in /pub/OSK/ +GRAPHICS/gnuplot32x.tar.Z; it includes both an X-Window Systems and a non - +X-Window Systems version. - If you get a complaint about a missing file libplot.a or - something similar when building gnuplot for X11, remove - -DUNIXPLOT from the TERMFLAGS= line, remove -lplot from the - DTBS= line and run again. If you are making X11 on a sun, type - 'make x11_sun'. +Versions for the Atari ST and TT, which include some GEM windowing support, are +available from ftp.uni-kl.de in /pub/atari/graphics/, as gplt35st.zip and +gplt35tt.zip. They work best under MiNT. - For compiling gnuplot under Irix 5.2 and Irix 5.3, there is a - patch in the file lvs.zip in the contrib directory at - ftp.dartmouth.edu. +Executable files, plus documentation in Japanese, exist for the X680x0 on +ftp.csis.oita-u.ac.jp in /pub/x68k/fj.binaries.x68000/vol2. - Q2.4: What documentation is there, and how do I get it? - The documentation is included in the source distribution. Look - at the docs subdirectory, where you'll find +It is a good idea to look for a nearby ftp site when downloading things. You +can use archie for this. See if an 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. - + a Unix man page, which says how to start gnuplot - + a help file, which also can be printed as a manual - + a tutorial on using gnuplot with LaTeX - + a quick reference summary sheet for TeX only +If you can't locate a working archie server, you can use other web-based search +engines for searching for gnuplot. One of these would be Lycos at http:// +ftpsearch.lycos.com/. - PostScript copies of the documentation can be ftp'd from - ftp.dartmouth.edu, in pub/gnuplot, as manual.ps.Z and - tutorial.ps.Z +As of June 1999, the gnuplot distribution is also mirrored at the Comprehensive +TeX Archive Network (CTAN) in the graphics/gnuplot directory. See - Andy Liaw and Dick Crawford have written a 16-page user's - 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. + * http://www.ctan.org/. - At the same site, there's a two- page instruction sheet for the - enhpost PostScript driver (see Q4.6 ) as enhpost.guide.ps - and a short guide to gnuplot PostScript files, as gp-ps.doc. +Bug fixes can also be found at gnuplot distribution sites in the patches +directory. - A Chinese translation of the gnuplot manual can be found on - ftp://servers.nctu.edu.tw/misc/environment/NCTU_EV/classnot - e/gnuplot.ps.gz . +2.3 How do I get gnuplot to compile on my system? - There is a WWW hompepage for gnuplot at - http://www.cs.dartmouth.edu/gnuplot_info.html, which - includes the reference manual and a demo. +As you would any other installation. Read the files README.1ST and README. - There are two more Chinese documents about gnuplot: a 72 - page - User's guide - ftp://phi.sinica.edu.tw/pub/aspac/doc/94/94002.ps.gz and a - 28 - page Touring Guide - ftp://phi.sinica.edu.tw/pub/aspac/doc/95/95006.ps.gz. Both - documents are in PostScript format and gzipped. +For Unix, use configure and make. For DOS, if you are using bash and DJGPP, you +can just run djconfig.sh. For other platforms, copy the relevant makefile from +config/ to src, change to src and run make. +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? - Give the 'help' command at the initial prompt. After that, keep - looking through the keywords. Good starting points are 'plot' - and 'set'. + * a Unix man page, which says how to start gnuplot + * a help file, which also can be printed as a manual + * a tutorial on using gnuplot with LATEX + * a quick reference summary sheet for 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 - ideas. +The documentation is built during the installation if you have LATEX installed +on your system, look in the directories docs and tutorial. - Ask your colleagues, the system administrator or the person who - set up gnuplot. +Documentation about gnuplot is available in the most common formats at the +gnuplot distribution sites in the files gpdoc.zip and gpdoc2.zip. - Post a question to comp.graphics.apps.gnuplot or send mail - 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. +3 Working with it. - Q3.2: How do I print out my graphs? - The kind of output produced is determined by the 'set terminal' - command; for example, 'set terminal postscript' will produce - the graph in PostScript format. Output can be redirected using - the 'set output' command. +3.1 How do I get help? - As an example, the following prints out a graph of sin(x) on a - Unix machine running the X Window system. +Read this document. +Give the 'help' command at the initial prompt. After that, keep looking through +the keywords. Good starting points are 'plot' and 'set'. - gnuplot> plot [-6:6] sin(x) - gnuplot> set terminal postscript - Terminal type set to 'postscript' - Options are 'landscape monochrome "Courier" 14' - gnuplot> set output "sin.ps" - gnuplot> replot - gnuplot> set output # set output back to default - gnuplot> set terminal x11 # ditto for terminal type - gnuplot> ! lp -ops sin.ps # print PS File (site dependent) - request id is lprint-3433 (standard input) - lp: printed file sin.ps on fg20.rz.uni-karlsruhe.de (5068 Byte) - ! - gnuplot> +Read the manual, if you have it. - Q3.3: How do I include my graphs in ? - 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. +Look through the demo subdirectory; it should give you some ideas. - Details depend on the kind of word processor you use; use "set - term" to get a list of available file formats. +Ask your colleagues, the system administrator or the person who set up gnuplot. - Many word processors can use Encapsulated PostScript for - graphs. This can be generated by the "set terminal postscript - eps" command. Most MS-DOS word processors understand HPGL - (terminal type hpgl). +If all these fail, please upgrade to the newest version of gnuplot or urge your +system-administrator to do so. Then post a question to ~ +comp.graphics.apps.gnuplot or send mail to the gatewayed mailing list +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. - 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. +3.2 How do I print out my graphs? - If nothing else helps, try using the pgm or ppm format and - converting it to a bitmap format your favourite word processor - can understand. An invaluable tool for this is Jef Poskanzer's - PBMPLUS package. +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. - The PBMPLUS package is available in the contrib distribution - for the X Window System. The original site for this is - 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/. +As an example, the following prints out a graph of sin(x) on a Unix machine +running the X-Window System. - The most recent release of pbm by the author is dated December - 91 and is called pbmplus10dec91.tar.Z +gnuplot> plot [-6:6] sin(x) +gnuplot> set terminal postscript +Terminal type set to 'postscript' +Options are 'landscape monochrome "Courier" 14' +gnuplot> set output "sin.ps" +gnuplot> replot +gnuplot> set output # set output back to default +gnuplot> set terminal x11 # ditto for terminal type +gnuplot> ! lp -ops sin.ps # print PS File (site dependent) +request id is lprint-3433 (standard input) +lp: printed file sin.ps on fg20.rz.uni-karlsruhe.de (5068 Byte) +! +gnuplot> - There is new version including lots of patches from the net - that is not maintained by the author called netpbm, with the - newest version called netpbm-7dec1993.tar.gz. +In Microschrott Windows you click in the upper left corner of the graph window +and print directly from there. - Check archie (see Q2.2 ) for an archive site near you. +3.3 How do I include my graphs in ? - Q3.4: How do I post-process a gnuplot graph? - This depends on the terminal type you use. +Basically, you save your plot to a file in a format your word processor can +understand (using "set term" and "set output", see above), and then you read in +the plot from your word processor. Vector formats should be preferred, as you +can scale your graph later to the right size. - You can use the terminal type fig (you may need to recompile - gnuplot to enable this terminal type, by putting #define FIG - into ), and use the xfig drawing program to edit the - plot afterwards. +Details depend on the kind of word processor you use; use "set term" to get a +list of available file formats. - For PostScript output, you may be able to use the pstotgif - script (which calls GhostScript) to convert PostScript into the - format of the tgif drawing program. Tgif is also able to save - in PostScript format. +Many word processors can use Encapsulated PostScript for graphs. This can be +generated by the "set terminal postscript eps" command. Most MS-DOS word +processors understand HPGL (terminal type hpgl). - Both tgif and xfig can be obtained from the X Window contrib - distribution (see Q3.3). +With TeX, it depends on what you use to print your dvi files. If you use dvips +or dvi2ps, you can use Encapsulated PostScript. For emTeX (popular for MS-DOSns +OS/2), you can use emTeX, otherwise use the LATEX terminal type, which +generates a picture environment. - Another possibility for modifying PostScript output appears to - be IslandDraw, a commercial drawing program for UNIX - workstations. +If nothing else helps, try using the pgm or ppm format and converting it to a +bitmap format your favourite word processor can understand. An invaluable tool +for this is Jef Poskanzer's PBMPLUS package. - For Windows, there is another alternative, PageDraw. It can - post-process AI (Adobe Illustrator) files, and has a converter - from PostScript to AI. It can be downloaded from - http://www.wix.com/PageDraw/. +The PBMPLUS package is available in the contrib distribution for the X-Window +System. The original site for this is ftp.x.org in /contrib/. There are many +mirrors, e.g. ftp.tu-darmstadt.de in /pub/X11/contrib/ or . sunsite.unc.edu in +/pub/X11/contrib/. - Q3.5: How do I change symbol size, line thickness and the like? - Again, this depends on the terminal type. For PostScript, you - 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. +The most recent release of pbm by the author is dated December 91 and is called +pbmplus10dec91.tar.Z. - Q3.6: How do I generate plots in GIF format? - In gnuplot version 3.5, use the pbm terminal and use the - PBMPLUS package or other utilities to convert the resulting - bitmap (see Q 3.3 for how to get the PBMPLUS package). +There is new version including lots of patches from the net that is not +maintained by the author called netpbm, with the newest version called +netpbm-1mar1994.tar.gz. - From 3.7 on, there is a gif terminal. +Check archie (see Q[*] ) 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? - Please refer to the NEWS file in the source distribution. +This depends on the terminal type you use. - Q4.1: Does gnuplot have hidden line removal? - Version 3.5 supports hidden line removal on all platforms - except MS-DOS; use the command +You can use the terminal type fig (you may need to recompile gnuplot to enable +this terminal type, by putting #define FIG into ), and use the xfig +drawing program to edit the plot afterwards. You can obtain the xfig program +from its web site http://www.xfig.org/. More information about the text-format +used for fig can be found in the fig-package. +You may use the tgif terminal, which creates output suitable for reading within +tgif (http://bourbon.cs.umd.edu:8001/tgif/), an interactive 2-D drawing tool +under X11. - 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 - support hidden line removal on MS-DOS as well. Version 3.2 - supports limited hidden line removal. +Pstoedit can convert Postscript into a wide variety of formats. Pstoedit is +available a http://www.geocities.com/SiliconValley/Nework/1958/pstoedit/. - Q4.2: Does gnuplot support bar-charts/histograms/boxes? - 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. +Gimp may be able to post-process pixel graphics generated with gnuplot. - Q4.3: Does gnuplot support multiple y-axes on a single plot? - Yes, with two unofficial mods, multiplot.shar and borders.shar. - They can be obtained from - ftp://ftp.dartmouth.edu/pub/gnuplot/contrib/multi_woo.zip - or ftp://ftp.cygnus.edu/incoming/gpx38.zip. +In general, you should use a vector graphics program to post-process vector +graphic formats, and pixel based programs for pixel graphics. - 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? - Yes, with the multiplot.shar mod, or if you are running gnuplot - 3.7. If you are using PostScript output, check out mpage, which - can be ftp'd from ftp.eng.umd.edu:pub/misc/mpage-2.tar.Z +Again, this depends on the terminal type. For PostScript, you can edit the +generated PostScript file. An overview of what means what in the PostScript +files gnuplot generates can be found at picard.tamu.edu in /pub/gnuplot/ as +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? - This feature is in gnuplot 3.7. +3.6 How do I generate plots in the GIF format? - Q4.6: Can I put Greek letters and super/subscripts into my labels? - You might try using the LaTeX terminal type and putting text - like \alpha_{3} into it. +If gnuplot was compiled with the external GD library, there is a gif terminal. - David Denholm has written a PostScript terminal which allows - for super/and subscripts, such as a^x or {/Symbol a }. Ftp to - sotona.phys.soton.ac.uk [152.78.192.42] and get enhpost.trm, - written by David Denholm and Matt Heffron. To install it, - follow the instructions at the top of the file, then recompile. - enhpost is also included in gnuplot 3.7. +As of version 1.6, gd library dropped support for gif in favour of the superior +png format. For those who absolutely need gif support in gnuplot, we are +providing older versions of gd library at the gnuplot distribution sites which +are free of Unisys patented code. Please read also the file README a the +ftp-sites. - Q4.7: Can I do 1:1 scaling of axes? - Not easily in 3.5; in 3.7, you can use "set size square". +3.7 Can I animate my graphs? - Q4.8: Can I put tic marks for x and y axes into 3d plots? - In version 3.5, you can; use the "with boxes" option. +First have a look at animate.dem in the demo directory of gnuplot. Basically, +animated graphs are a sequence of plots in a suitable format. - Q4.9: Does gnuplot support a driver for ? - To see a list of the available graphic drivers for your - installation of gnuplot, type "set term". +Then have a look at the tool whirlgif 3.04, available at http://www.danbbs.dk/ + dino/whirlgif. It reads run-length encoded gifs and 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, - but are uncommented by default. If you want to use them, you'll - have to change ~gnuplot/term.h, and recompile. +You can also write a small script to get gnuplot to output a family of GIF +files, then have it execute some animator such as gifsicle: http://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? - 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. +mpeg_encode will encode a sequence of images into the mpeg-format. - Q4.11 How do I modify gnuplot, and apply 'patches'? - For this, you will need to recompile gnuplot. +3.8 How do I plot implicit defined graphs? - Modifications people make are either done by replacing files, - such as terminal drivers, or by 'patching'. If a file is a - replacement, it will probably tell you in its README or in the - lines at the beginning. +Implicit graphs or curves cannot be plotted directly in gnuplot. However there +is a workaround. +gnuplot> # as example. Place your definition in the following line +gnuplot> f(x,y) = y - x**2 / tan(y) +gnuplot> set contour base +gnuplot> set cntrparam levels discrete 0.0 +gnuplot> 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 +The trick is to draw the single contour line z=0 of the surface z=f(x,y), and +store the resulting contour curve to a gnuplot datafile. - To patch a file, you need Larry Wall's patch utility. On many - UNIX systems, it is already installed; do a man patch to check. - If it isn't, you'll have to get it; it can be found wherever - GNU software is archived. +4 Wanted features - Q4.12 How do I skip data points? - By specifying ? as a data value, as in +4.1 What's new in gnuplot 3.7? +Too many things to be named here. Please refer to the NEWS file in the source +distribution. - 1 2 - 2 3 - 3 ? - 4 5 +4.2 Does gnuplot have hidden line removal? - Q4.13 How do I plot every nth point? - You can apply the patch point_skip from the contrib section - (see Q5.3 or, assuming you have awk installed on your - system, you can use the following line: +Version 3.7 supports hidden line removal on all platforms; use the command set +hidden3d. +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 '{if(NR%5==0)print}' file.dat" +4.3 Does gnuplot support bar-charts/histograms/boxes? - plots every 5th line, and +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. - gnuplot> plot "< awk '$0 !~ /^#/ {if(NR%40==0)print $1, $4}' file.dat" +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. - plots every 40th line while skipping commented lines. +4.4 Does gnuplot support pie charts? +It's not possible in gnuplot, but have a look at http:// +www.usf.uni-osnabrueck.de/ breiter/tools/piechart/piecharts.en.html - Section 5: Miscellaneous +4.5 Does gnuplot quarterly time charts? - Q5.1: I've found a bug, what do I do? - First, try to see whether it actually is a bug, or whether it - is a feature which may be turned off by some obscure set - - command. +It's not possible in gnuplot, but have a look at http://ricardo.ecn.wfu.edu/ + cottrell/qplot. The corresponding file qplot.zip can be obtained from the +contrib directory on any gnuplot server. - Next, see wether you have an old version of gnuplot; if you do, - chances are the bug has been fixed in a newer release. +4.6 Does gnuplot support multiple y-axes on a single plot? - If, after checking these things, you still are convinced that - there is a bug, proceed as follows. If you have a fairly - general sort of bug report, posting to - comp.graphics.apps.gnuplot is probably the way to go. If - you have investigated a problem in detail, especially if you - have a context 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. +Yes. You can have 2 x- and 2 y-axes per plot. See "plot". - Q5.2: Can I use gnuplot routines for my own programs? - Yes. John Campbell 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. +4.7 Can I put multiple pages on one page? - Q5.3: What extensions have people made to gnuplot? Where can I get - them? - __Extensions are available from - ftp://ftp.dartmouth.edu/pub/gnuplot/contrib/ . It contains - the following files: +Yes. "set multiplot" - Point Skips +If you use the postscript terminal and plot one graph per page you can use the +program mpage (http://www.mesa.nl/pub/mpage) to print multiple logical pages +per physical page. A similar program is the psnup program in the psutils +package. This package is available at any CTAN mirror. - + _Data Filtering_ Instead of just having two params - 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, +4.8 Can I put both data files and commands into a single file? -gnuplot> plot "< awk '{if(NR%5==0)print$0}' file.dat" - From: James Darrell McCauley, mccauley@ecn.purdue.edu - + _New Xlib mods._ From: gregg hanna - (gregor@kafka.saic.com) +This is possible by the new plot "-" possibility. The plot "-" command allows +to read the data to be plot from standard input or the current batch job. - Vectors and Arrows - + _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: +gnuplot> plot "-" +1 1 +2 4 +3 9 + -arrow 0.2 15 vector.heads - 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) +4.9 Can I put Greek letters and super/subscripts into my labels? - Histograms and Pie Charts - + _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 +You might try using the LATEX terminal type and putting text like "\\alpha_{3}" +or '\alpha_{3}' into it. - !histogram < datain > tmp; - plot "tmp" with impulses - 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) +The enhanced option in the postscript terminal is also able to use sub- and +superscripts. It also allows to use Greek letters and symbols via symbol fonts. - Interprocess Communications - + _Notes of Windows Hooks_ From: Maurice - 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) +If you include your gnuplot-graphs into a LATEX document you can use the +LATEX-package psfrag to typeset any characters into your graphs. - Multiple logical plots on a single page - + _Gawk script for multiple encapsulated postscript on a - 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 +One more possibility is to use the MetaPost terminal. It supports TEX syntax +and is converted onto encapsulated PostScript by mpost. - lvs.zip - 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. +4.10 Can I do 1:1 scaling of axes? - Miscellaneous Mods - + _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 +Use "set size square". - Other Operationing Systems - + _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_ +4.11 Can I put tic marks for x and y axes into 3d plots? +Use the "with boxes" option. - Q5.4: Can I do heavy - duty data processing with gnuplot? - Gnuplot alone is not suited very well for this. One thing you - might try is fudgit, an interactive multi-purpose fitting - program written by Martin-D. Lacasse - (isaac@frodo.physics.mcgill.ca). It can use gnuplot as its - graphics back end and is available from ftp.physics.mcgill.ca - in /pub/Fudgit/fudgit_2.33.tar.Z [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. +4.12 Does gnuplot support a driver for ? - Carsten Grammes has written a fitting program which goes - together with gnuplot; it is called gnufit and is available - 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. +To see a list of the available graphic drivers for your installation of +gnuplot, type "set term". - Michael Courtney has written a program called lsqrft, which - uses the Levenberg - Marquardt - Algorithm for fitting data to - a function. It is avialiable from ftp.cdrom.com as - /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. +Some graphics drivers are included in the normal distribution, but are +uncommented by default. If you want to use them, you'll have to change gnuplot/ +term.h, and recompile. - 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 - [141.142.20.50] and get the file README.BROCHURE for more - information. +4.13 Can I put different text sizes into my plots? - 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/~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/. +Some terminals, like the postscript terminal can, others can't. Look at the +help for the different terminals. - Another possibility is Octave. To quote from its README: Octave - is a high-level language, primarily intended for numerical - computations. It provides a convenient command line interface - for solving linear and nonlinear problems numerically. +4.14 How do I modify gnuplot, and apply 'patches'? - The latest released version of Octave is always available via - anonymous ftp from bevo.che.wisc.edu in the directory - /pub/octave. +For this, you will need to recompile gnuplot. - Q5.5: I have ported gnuplot to another system, or patched it. What do - I do? - If your patch is small, mail it to bug-gnuplot@dartmouth.edu, - 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 - :-) +Modifications people make are either done by replacing files, such as terminal +drivers, or by 'patching'. If a file is a replacement, it will probably tell +you in its README or in the lines at the beginning. - If your modifications are extensive (such as a port to another - system), upload your modifications to - ftp://ftp.dartmouth.edu/pub/dropoff. Please drop a note to - David.Kotz@dartmouth.edu, the maintainer of the gnuplot - subdirectory there, plus a note to bug-gnuplot@dartmouth.edu. +To patch a file, you need Larry Wall's patch utility. On many UNIX systems, it +is already installed; do a man patch to check. If it isn't, you'll have to get +it; it can be found wherever GNU software is archived. - Q5.6: I want to help in developing gnuplot 3.7. What can I do? - Join the gnuplot beta test mailing list by sending a mail - containing the line +4.15 How do I skip data points? +By specifying ? as a data value, as in + 1 2 + 2 3 + 3 ? + 4 5 -subscribe info-gnuplot-beta +4.16 How do I plot every nth point? - in the body (not the subject) of the mail to Majordomo@Dartmouth.EDU. +This can be specified with the various options for the command "plot". +4.17 How do I plot a vertical line? - Section 6: Making life easier +Depending on context, the main methods are: - Q6.1: How do I plot two functions in non - overlapping regions? - 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 +4.18 How do I plot data files - set parametric - 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" +4.19 How do I include accentuated characters in Postscript output? - Q6.2: How do I run my data through a filter before plotting? - If your system supports the popen() function, as Unix does, you - should be able to run the output through another process, for - example a short awk program, such as +To obtain accentuated characters like ü or n into postscript plots you should +use the postscript character codes together with the appropriate encoding +option. See the following example: +gnuplot> set encoding iso_8859_1 +gnuplot> set title "M\374nchner Bierverbrauch \374ber die Jahre" +gnuplot> plot "bier.dat" u 1:2 - gnuplot> plot "< awk ' { print $1, $3/$2 } ' file.in" +5 Miscellaneous - Unfortunately, in 3.2, there is a rather short limitation on the - maximum argument length, so your command line may be truncated - (usually, this will mean that awk cannot find the filename). - Also, you may need to escape the $ - characters in your awk - programs. +5.1 I've found a bug, what do I do? - As of version 3.4, gnuplot includes the thru - keyword for the - plot command for running data files through a gnuplot - defined - function. +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. - You can also get divhack.patch from - sotona.phys.soton.ac.uk[152.78.192.42] via anonymous ftp. It - allows expressions of the kind +Next, see whether you have an old version of gnuplot; if you do, chances are +the bug has been fixed in a newer release. +Fixes for bugs reported since the release of the current version are held in +the patches directory at gnuplot distribution sites. Before submitting a bug +report, please check whether the bug in question has already been fixed. - gnuplot> plot "datafile" using A:B:C +If, after checking these things, you still are convinced that there is a bug, +proceed as follows. If you have a fairly general sort of bug report, posting +to ~comp.graphics.apps.gnuplot is probably the way to go. If you have +investigated a problem in detail, especially if you have a context or unified +diff that fixes the problem, please e-email a report to +bug-gnuplot@dartmouth.edu. - where A,B,C,... are now either a column number, as usual, or an - arbitrary expression enclosed in ()'s, and using $1,$2,etc to - access the data columns. +The bug-gnuplot list is for reporting and collecting bug fixes, the ~ +comp.graphics.apps.gnuplot newsgroup will be more help for finding work arounds +or actually solving gnuplot related problems. If you do send in a bug report, +be sure and include the version of gnuplot (including patchlevel) as shown by +the command "show version long", terminal driver, operating system, an exact +description of the bug and input which can reproduce the bug. Failure to +indicate these details can render a solution to your problem almost impossible. +Also, any context diffs should be referenced against the latest official +version of gnuplot if at all possible. - Q6.3: How do I make it easier to use gnuplot with LaTeX? - There is a set of LaTeX macros and shell scripts that are meant - to make your life easier when using gnuplot with LaTeX. This - package can be found on ftp.dartmouth.edu [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. +5.2 Can I use gnuplot routines for my own programs? - Q6.4: How do I save and restore my settings? - Use the "save" and "load" commands for this; see "help save" - and "help load" for details. +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.gz at ftp.nau.edu in /pub/gplotlib.tar.gz. This library has been +updated to be compatible with version 3.5. - Q6.5: How do I plot lines (not grids) using splot? - If the data in a data file for splot is arranged in such a way - that each one has the same number of data points (using blank - lines as delimiters, as usual), splot will plot the data with a - grid. If you want to plot just lines, use a different number of - data entries (you can do this by doubling the last data point, - for example). Don't forget to set parametric mode, of course. +On systems supporting the pipes, you can pipe commands to gnuplot from other +programs. - Q6.6: How do I plot a function f(x,y) which is bounded by other - functions in the x-y plain? - An example: +5.3 What extensions have people made to gnuplot? Where can I get them? +Extensions are available from ftp.ucc.ie in /pub/gnuplot/contrib/ - f(x,y) = x**2 + y **2 - x(u) = 3*u - yu(x) = x**2 - yl(x) = -x**2 - set parametric - set cont - 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) +Some extensions available: - Q6.7: How do I get rid of ? - Usually, there is a set command to do this; do a + * barchart_via_fig: awk scripts to produce barcharts with filled boxes. + * date-errorbar: allows dates in the hi/lo fields for errorbars. + * 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. + * Gnuplot.py: A python package to create graphs from within python. More + information at http://monsoon.harvard.edu/ mhagger/Gnuplot/Gnuplot.html. +5.4 I need an integration, fft, iir-filter,....! - gnuplot> ?set no +Gnuplot has been and is a plotting program, no data processing or mathematical +program suite. Therefore gnuplot can't do that. Look into the demo +"bivariat.dem" for a basic implementation of an integration. - for a short overview. +For more sophisticated data-processing read the next section. - Q6.8: How do I call gnuplot from my own programs? - Here's code which works for a UNIX system, using (efficient) - named pipes. +5.5 Can I do heavy-duty data processing with gnuplot? or What is beyond +gnuplot? +gnuplot alone is not suited very well for this. One thing you might try is +fudgit, an interactive multi-purpose fitting program written by Martin-D. +Lacasse (isaac@frodo.physics.mcgill.ca). It can use gnuplot as its graphics +back end and is available from ftp.physics.mcgill.ca in /pub/Fudgit/ +fudgit_2.33.tar.Z and from the main Linux server, tsx-11.mit.edu and its +numerous mirrors around the world as /pub/linux/sources/usr.bin/ +fudgit-2.33.tar.z. Versions are available for AIX, Data General, HP-UX, IRIX 4, +Linux, NeXT, Sun3, Sun4, Ultrix, OS/2 and MS-DOS. The MS-DOS version is +available on simtel20 mirrors (simtel20 itself has closed down) in the "math" +subdirectory as fudg_231.zip. -#include -#include -#include -#include -#include -#include +Carsten Grammes has written a fitting program which has been merged into +gnuplot 3.7. -#define PANIC(a) do { \ - perror(a); \ - if (temp_name) unlink(temp_name);\ - exit(1);\ - } while(0) +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. -int main() { - FILE *command,*data; - char *temp_name = NULL; - double a,b; - int i; +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. - if ((temp_name = tmpnam((char *) 0)) == 0) PANIC("tmpnam failed"); - if(mkfifo(temp_name, S_IRUSR | S_IWUSR) != 0) PANIC("mkfifo failed"); - command = popen("gnuplot","w"); - 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(); +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/. - 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 = 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; -} +Another possibility is Octave. To quote from its README: Octave 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 from +http://www.che.wisc.edu/octave/ and via anonymous ftp from bevo.che.wisc.edu in +/pub/octave. Octave is licensed under GPL (see http://www.gnu.org/copyleft/ +gpl.html). By the way, octave uses gnuplot as its plotting engine, so you get a +data-processing program on top of gnuplot. - Here's code for OS/2, again using named pipes; I'm unable to check - this out myself. This code is care of fearick@physci.uct.ac.za - (Roger Fearick). +Finally, there is scilab at http://www-rocq.inria.fr/scilab/ doing about the +same as matlab. It is free but copyrighted software. +5.6 I have ported gnuplot to another system, or patched it. What do I do? -#include -#define INCL_DOS -#define INCL_DOSPROCESS -#define INCL_DOSNMPIPES -#include +If your patch is small, mail it to info-gnuplot-beta@dartmouth.edu, 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. -main() - { - HPIPE hpipe ; - 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" ) ; +If your modifications are extensive (such as a port to another system), place +them on a web/ftp site for download. There is currently no possibility to +upload patches. Send a note to info-gnuplot-beta@dartmouth.edu on where to find +the patch, what it is supposed to do, which version of gnuplot it is to be +applied against. For the time being (summer 1999) you can also send the patch +to gnuplot@ftp.ucc.ie. - /* start gnuplot; use unbuffered writes so we don't need to - flush buffer after a command */ - hgnu = popen( "gnuplot", "w" ) ; - setvbuf( hgnu, NULL, _IONBF, 0 ) ; +5.7 I want to help in developing the next version of gnuplot. What can I do? - /* plot a set of data */ +Join the gnuplot beta test mailing list by sending a mail containing the line +subscribe info-gnuplot-beta in the body (not the subject) of the mail to +Majordomo@Dartmouth.EDU. - fprintf( hgnu, "plot '/pipe/gtemp'\n" ) ; /* issue plot command */ - 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 */ +Also check with http://sourceforge.net/projects/gnuplot about latest source for +beta releases for development. - /* plot another set of data */ +5.8 Open questions for inclusion into the FAQ? - fprintf( hgnu, "plot '/pipe/gtemp'\n" ) ; - 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" ) ; +info-gnuplot-beta@Dartmouth.EDU. - DosClose( hpipe ) ; - pclose( hgnu ) ; - } +Please submit your questions (along with the answer) to +info-gnuplot-beta@Dartmouth.EDU. - ; The above code works for gnuplot 3.5. In gnuplot 3.7, this can be - greatly simplified, since data can be fed 'inline, as in +6 Making life easier +6.1 How do I plot two functions in non-overlapping regions? -plot '-' w l -1 1 -2 3 -3 4 -e +Use a parametric plot. An example: +gnuplot> set parametric +gnuplot> a=1 +gnuplot> b=3 +gnuplot> c=2 +gnuplot> d=4 +gnuplot> x1(t) = a+(b-a)*t +gnuplot> x2(t) = c+(d-c)*t +gnuplot> f1(x) = sin(x) +gnuplot> f2(x) = x**2/8 +gnuplot> plot [t=0:1] x1(t),f1(x1(t)) title "f1", x2(t), f2(x2(t)) title "f2" +You can also use gnuplot's ability to ignore mathematically undefined +expressions: the expression 1/0 is silently ignored, thus a construction like +gnuplot> set xran [-10:10] +gnuplot> plot (abs(x)>0.5?1/0: x**2) +plots a quadratic function only for |x| < 0.5. - Section 7: Known problems +6.2 How do I run my data through a filter before plotting? - Q7.1: Gnuplot is not plotting any points under X11! How come? - Very probably, you still are using an old version of - gnuplot_x11. Remove that, then do a full installation. +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 - On VMS, you need to make several symbols: +gnuplot> plot "< awk ' { print $1, $3/$2 } ' file.in" +The plot command is very powerful and is able to do some arithmetic on +datafiles. See "help plot". + +6.3 How do I make it easier to use gnuplot with LATEX? + +There is a set of LATEX macros and shell scripts that are meant to make your +life easier when using gnuplot with LATEX. This package can be found on +ftp.dartmouth.edu in pub/gnuplot/latex.shar, by David Kotz. For example, the +program "plotskel" can turn a gnuplot-output file plot.tex into a skeleton file +skel.tex, that has the same size as the original plot but contains no graph. +With the right macros, the skeleton can be used for preliminary LATEX passes, +reserving the full graph for later passes, saving tremendous amounts of time. + +6.4 How do I save and restore my settings? + +Use the "save" and "load" commands for this; see "help save" and "help load" +for details. + +6.5 How do I plot lines (not grids) using splot? + +If the data in a data file for splot is arranged in such a way that each one +has the same number of data points (using blank lines as delimiters, as usual), +splot will plot the data with a grid. If you want to plot just lines, use a +different number of data entries (you can do this by doubling the last data +point, for example). Don't forget to set parametric mode, of course. + +6.6 How do I plot a function f(x,y) 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 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 :== $disk:[directory]gnuplot.exe $ 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 +If you run gnuplot on Unix systems, be sure that the newest gnuplot_x11 is the +first in your search path. - Q7.2: My isoline data generated by a Fortran program is not handled - correctly. What can I do? - 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.2 My isoline data generated by a Fortran program is not handled correctly. +What can I do? +Update to the newest gnuplot. Gnuplot 3.7 is able to read Fortran-style files +where a blank line can contain more than a linefeed. - VMS> ATTRIB/RATTRIB=IMPDTED FOR010.DAT +7.3 Why does gnuplot ignore my very small numbers? - Q7.3: Why does gnuplot ignore my very small numbers? - Gnuplot treats all numbers less than 1e-08 as zero, by default. - Thus, if you are trying to plot a collection of very small - numbers, they may be plotted as zero. Worse, if you're plotting - on a log scale, they will be off scale. Or, if the whole set of - numbers is "zero", your range may be considered empty: +Gnuplot treats all numbers less than 1e-08 as zero, by default. Thus, if you +are trying to plot a collection of very small numbers, they may be plotted as +zero. Worse, if you're plotting on a log scale, they will be off scale. Or, if +the whole set of numbers is "zero", your range may be considered empty: +gnuplot> plot 'test1' +Warning: empty y range [4.047e-19:3e-11], adjusting to [-1:1] +gnuplot> set yrange [4e-19:3e-11] +gnuplot> plot 'test1' + ^ +y range is less than `zero` - gnuplot> plot 'test1' - Warning: empty y range [4.047e-19:3e-11], adjusting to [-1:1] - gnuplot> set yrange [4e-19:3e-11] - gnuplot> plot 'test1' - ^ - y range is less than `zero` +The solution is to change gnuplot's idea of "zero": +gnuplot> set zero 1e-20 - 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 ! 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 ! - What can I do? - Put a pause -1 after the plot command in the file. +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: - Q7.5: My formulas are giving me nonsense results! What's going on? - Gnuplot does integer, and not floating point, arithmetic on - integer expressions. For example, the expression 1/3 evaluates - to zero. If you want floating point expressions, supply - trailing dots for your floating point numbers. Example: - - - gnuplot> print 1/3 +gnuplot> print 1/3 0 - gnuplot> print 1./3. +gnuplot> print 1./3. 0.333333 - This way of evaluating integer expressions is shared by both C and - Fortran. +This way of evaluating integer expressions is shared by both C and Fortran. - Q7.6: My Linux gnuplot complains about a missing gnuplot_x11. What is - 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. +7.6 Set output 'filename' isn't outputting everything it should! - 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 - 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; Axel Eble and Jutta Zimmermann helped with the - conversion to HTML. +Please upgrade to gnuplot 3.7. Some versions of its beta-release had a problem +in the LATEX-terminal. +The LATEX2$\epsilon$ -core does no longer include the commands " +Diamond" and " +Box"; they are included in the latexsym package, which is part of the base +distribution and thus part of any LaTeX implementation. Please do not forget to +use this package. +7.8 The exit command does not work as documented! - Thomas Koenig, ig25@rz.uni-karlsruhe.de, 1994-03-28 +This is a known bug and is fixed in the latest release. If you need the feature +please upgrade to the latest release. +7.9 I can't find the demos and example files at the URLs in the documentation! + +The examples have been removed 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 a plot! + +You can call gnuplot by using a short Perl-script like the following: +#!/usr/local/bin/perl -w +open (GP, "|/usr/local/bin/gnuplot -persist") or die "no gnuplot"; +# force buffer to flush after each write +use FileHandle; +GP->autoflush(1); +print GP,"set term x11;plot '/tmp/data.dat' with lines\n"; +close GP + +Gnuplot closes its plot window on exit. The close GP command is executed, and +the plot window is closed even before you have a chance to look at it. + +There are three solutions to this: first, use the pause -1 command in gnuplot +before closing the pipe. Second, close the pipe only if you are sure that you +don't need gnuplot and its plot window anymore. Last, you can use the command +line option -persist: this option leaves the X-Window System plot window open. + +8 Credits + +Gnuplot 3.7's main contributors are (in alphabetical order) Hans-Bernhard +Broeker, John Campbell, Robert Cunningham, David Denholm, Gershon Elber, Roger +Fearick, Carsten Grammes, Lucas Hart, Lars Hecking, Thomas Koenig, David Kotz, +Ed Kubaitis, Russell Lang, Alexander Lehmann, Alexander Mai, Carsten Steger, +Tom Tkacik, Jos Van der Woude, James R. Van Zandt, and Alex Woo. + +This list was initially compiled by John Fletcher with contributions from +Russell Lang, John Campbell, David Kotz, Rob Cunningham, Daniel Lewart and Alex +Woo. Reworked by Thomas Koenig from a draft by Alex Woo, with corrections and +additions from Alex Woo, John Campbell, Russell Lang, David Kotz and many +corrections from Daniel Lewart. Again reworked for gnuplot 3.7 by Alexander Mai +and Juergen v.Hagen with corrections by Lars Hecking, Hans-Bernhard Broecker +and other people. + +About this document ... + +Gnuplot FAQ + +This document was generated using the LaTeX2HTML translator Version 2002-2-1 +(1.70) + +Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, +University of Leeds. +Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie +University, Sydney. + +The command line arguments were: +latex2html -split 0 -show_section_numbers -html_version 4.0 -nonavigation +faq.tex + +The translation was initiated by Lars Hecking on 2002-12-10 +------------------------------------------------------------------------------- + +Lars Hecking 2002-12-10