version 1.1.1.1, 2000/01/09 17:00:48 |
version 1.1.1.3, 2003/09/15 07:09:21 |
|
|
* Please note that this is not the current official FAQ since |
Gnuplot FAQ |
* I have upgraded the info in answer 4.0 - dd |
|
* Made more changes - lh |
|
|
|
Archive-name: graphics/gnuplot-faq |
Contents |
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 |
* 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 <word processor>? |
|
+ 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 <graphics format>? |
|
+ 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 <feature> in a plot? |
|
+ 6.8 How do I call gnuplot from my own programs? |
|
+ 6.9 What if I need h-bar (Planck's constant)? |
|
|
|
* 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 <filename>! 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 |
0.1 Where do I get this document? |
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 |
This document is posted about once every two weeks to the newsgroups ~ |
on comp.graphics.apps.gnuplot; quotations are believed to be in the |
comp.graphics.apps.gnuplot. Its newest (plaintext) version is available via |
public domain. |
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 |
If you have access to the WWW, you can get the newest version of this document |
pages, please select here, then try again. |
from http://www.ucc.ie/gnuplot/gnuplot-faq.html. |
|
|
Here's a list of the questions. If you are looking for the answer for |
Today's version is version $Revision$, dated 2002/12/07 18:33: |
a specific question, look for the string Qx.x: at the beginning of a |
30 $ |
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 |
|
|
|
|
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? |
1.1 What is gnuplot? |
* Q0.2: Where do I send comments about this document? |
|
|
|
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? |
This document deals with gnuplot Version 3.7 which is the latest official |
* Q1.2: How did it come about and why is it called gnuplot? |
release as of December 10, 2002. References to bug-fix versions or (recent) |
* Q1.3: Does gnuplot have anything to do with the FSF and the |
beta versions are explicitly marked. |
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? |
|
|
|
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? |
The authors of gnuplot are: Thomas Williams, Colin Kelley, Russell Lang, Dave |
* Q2.2: Where can I get gnuplot? |
Kotz, John Campbell, Gershon Elber, Alexander Woo and many others. |
* 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 following quote comes from Thomas Williams: |
|
|
* Q3.1: How do I get help? |
I was taking a differential equation class and Colin was taking |
* Q3.2: How do I print out my graphs? |
Electromagnetics, we both thought it'd be helpful to visualize the |
* Q3.3: How do I include my graphs in <word processor>? |
mathematics behind them. We were both working as sys admin for an EE VLSI |
* Q3.4: How do I post-process a gnuplot graph? |
lab, so we had the graphics terminals and the time to do some coding. The |
* Q3.5: How do I change symbol size, line thickness and the |
posting was better received than we expected, and prompted us to add some, |
like? |
albeit lame, support for file data. |
* Q3.6: How do I generate plots in GIF format? |
|
|
|
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? |
1.3 Does gnuplot have anything to do with the FSF and the GNU project? |
* 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 <graphics format>? |
|
* 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 |
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? |
Gnuplot is freeware in the sense that you don't have to pay for it. However it |
* Q5.2: Can I use gnuplot routines for my own programs? |
is not freeware in the sense that you would be allowed to distribute a modified |
* Q5.3: What extensions have people made to gnuplot? Where can I |
version of your gnuplot freely. Please read and accept the Copyright file in |
get them? |
your distribution. |
* 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 |
1.4 What does gnuplot offer? |
|
|
* Q6.1: How do I plot two functions in non-overlapping regions? |
* Plotting of two-dimensional functions and data points in many different |
* Q6.2: How do I run my data through a filter before plotting? |
styles (points, lines, error bars) |
* Q6.3: How do I make it easier to use gnuplot with LaTeX? |
* computations in integer, float and complex arithmetic |
* Q6.4: How do I save and restore my settings? |
* plotting of three-dimensional data points and surfaces in many different |
* Q6.5: How do I plot lines (not grids) using splot? |
styles (contour plot, mesh). |
* Q6.6: How do I plot a function f(x,y) which is bounded by |
* support for complex arithmetic |
other functions in the x-y plain? |
* self - defined functions |
* Q6.7: How do I get rid of <feature in a plot>? |
* support for a large number of operating systems, graphics file formats and |
* Q6.8: How do I call gnuplot from my own programs ? |
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? |
Yes. You can read in files from the command line, or you can redirect your |
* Q7.2: My isoline data generated by a Fortran program is not |
standard input to read from a file. Both data and command files can be |
handled correctly. What can I do? |
generated automatically, from data acquisition programs or whatever else you |
* Q7.3: Why does gnuplot ignore my very small numbers? |
use. |
* 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 |
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? |
Please notify the FAQ-maintainer of any further ports you might be aware of. |
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. |
|
|
|
If you have access to the WWW, you can get the newest version |
You should be able to compile the gnuplot source more or less out of the box on |
of this document from |
any reasonable standard (ANSI/ISO C, POSIX) environment. |
http://www.uni-karlsruhe.de/~ig25/gnuplot-faq/ |
|
|
|
Q0.2: Where do I send comments about this document? |
1.7 Legalize it! |
Send comments, suggestions etc. via e-mail to Thomas |
|
Koenig, Thomas.Koenig@ciw.uni-karlsruhe.de or |
|
ig25@dkauni2.bitnet. |
|
|
|
|
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? |
For all intent and purpose, any description of what the codes are doing |
Gnuplot is a command-driven interactive function plotting |
should be construed as being a note of what we thought the codes did on our |
program. It can be used to plot functions and data points in |
machine on a particular Tuesday of last year. If you're really lucky, they |
both two- and three- dimensional plots in many different |
might do the same for you someday. Then again, do you really feel *that* |
formats, and will accommodate many of the needs of today's |
lucky? |
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? |
1.8 Is gnuplot Y2K compliant? |
The authors of gnuplot are: |
|
|
|
Thomas Williams, Colin Kelley, Russell Lang, Dave Kotz, John |
Gnuplot's compliance depends in part on the compliance of the underlying |
Campbell, Gershon Elber, Alexander Woo and many others. |
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 |
Gnuplot 3.7 also allows the use of time/date data as variables, but the user |
Electromagnetics, we both thought it'd be helpful to visualize the |
has complete control over the input format of the data and the output format of |
mathematics behind them. We were both working as sys admin for an |
the tic labels - the same 2-digit "%y" (interpreted as 1900+) and 4-digit "%Y" |
EE VLSI lab, so we had the graphics terminals and the time to do |
formats are both available. But again, these are user-specifiable, so if there |
some coding. The posting was better received than we expected, and |
is a Y2K problem here, it is the responsibility of the user. |
prompted us to add some, albeit lame, support for file data. |
|
|
|
Any reference to GNUplot is incorrect. The real name of the program |
Of course, gnuplot is built by executing a makefile, which may well be |
is "gnuplot". You see people use "Gnuplot" quite a bit because many |
date-dependent. So if the operating system has a Y2K problem, the process of |
of us have an aversion to starting a sentence with a lower case |
building a new executable of gnuplot may be affected. But that wouldn't be a |
letter, even in the case of proper nouns and titles. Gnuplot is not |
problem with gnuplot per se. |
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. |
|
|
|
Q1.3: Does gnuplot have anything to do with the FSF and the GNU |
IMPORTANT NOTICE |
project? |
|
Gnuplot is neither written nor maintained by the FSF. It is not |
|
covered by the General Public License, either. |
|
|
|
However, the FSF has decided to distribute gnuplot as part of |
As of gnuplot beta version 3.7.0.9, the interpretation of the "%y" two digit |
the GNU system, because it is useful, redistributable software. |
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 |
The following sites have more information about gnuplot. |
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? |
* http://www.comnets.rwth-aachen.de/doc/gnu/gnuplot37/gnuplot.html an online |
Yes. You can read in files from the command line, or you can |
documentation in html-format |
redirect your standard input to read from a file. Both data and |
* http://www.usf.uni-osnabrueck.de/ breiter/tools/gnuplot/index.en.html has |
command files can be generated automatically, from data |
many links to many features and add-ons for gnuplot |
acquisition programs or whatever else you use. |
* 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? |
Some documentation is available in other languages than English. Those include: |
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?). |
|
|
|
|
* 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? |
* http://www.cs.dartmouth.edu/gnuplot_info.html slightly outdated site for |
The current version of gnuplot is 3.7, which has many |
the 3.6 beta version, but also a web-gateway to the users' newsgroup |
improvements over 3.5 |
* 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? |
The following sites were said to exist, however they seem to be down right now. |
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 official distribution site for the gnuplot source is |
* http://www.geocities.com/SiliconValley/Foothills/6647/ the copyright |
ftp.dartmouth.edu [129.170.16.4, soon to be 129.170.8.11], |
statement and some binaries contains ads |
the file is called /pub/gnuplot/gnuplot-3.7.tar.Z. Official |
* http://www.delorie.com/gnu/docs/gnuplot/gplot_toc.html doesn't work |
mirrors of that distribution are (for Australia) |
* picard.tamu.edu in /pub/gnuplot gives a tutorial |
ftp.monash.edu.au [130.194.11.18] and (for Europe) |
* http://feff.phys.washington.edu/ ravel/gnuplot has a new mode for the users |
ftp.irisa.fr [131.254.254.10]. You can also get it from your |
of (X)Emacs |
friendly neighbourhood comp.sources.misc archive. |
|
|
|
MS-DOS and MS-Windows binaries are available from |
2 Setting it up |
|
|
+ oak.oakland.edu (North America) [141.210.10.117] as |
2.1 What is the current version of gnuplot? |
/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 |
The current version of gnuplot is 3.7, which has many improvements over 3.5. |
gpt35win.zip. |
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], |
2.2 Where can I get gnuplot? |
in /os2/2.x/unix/gnuplt35.zip. |
|
|
|
Amiga sources and binaries are available from ftp.wustl.edu |
The best place is definitly http://www.gnuplot.info. From there you find |
[128.252.135.4] as /pub/aminet/util/gnu/gnuplot-3.5.lha; there |
various pointers to other sites. |
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 available |
ftp://next-ftp.peak.org/pub/next/binaries/plotting/ as |
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.gnuplot.info in /pub/gnuplot/. This server is mirrored |
[128.105.36.20] as /pub/OSK/GRAPHICS/gnuplot32x.tar.Z; it |
by 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 to |
windowing support, are available from |
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 /pub/next/binaries/ |
downloading things. You can use archie for this. See if an |
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 /pub/OSK/ |
As you would any other installation. Read the files README and |
GRAPHICS/gnuplot32x.tar.Z; it includes both an X-Window Systems and a non - |
README.Install, edit the Makefile according to taste, and run |
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, are |
something similar when building gnuplot for X11, remove |
available from ftp.uni-kl.de in /pub/atari/graphics/, as gplt35st.zip and |
-DUNIXPLOT from the TERMFLAGS= line, remove -lplot from the |
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 search |
+ a help file, which also can be printed as a manual |
engines for searching for gnuplot. One of these would be Lycos at http:// |
+ a tutorial on using gnuplot with LaTeX |
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 Comprehensive |
ftp.dartmouth.edu, in pub/gnuplot, as manual.ps.Z and |
TeX Archive Network (CTAN) in the graphics/gnuplot directory. See |
tutorial.ps.Z |
|
|
|
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, you |
User's guide |
can just run djconfig.sh. For other platforms, copy the relevant makefile from |
ftp://phi.sinica.edu.tw/pub/aspac/doc/94/94002.ps.gz and a |
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 installed |
ideas. |
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 gnuplot. |
term" to get a list of available file formats. |
|
|
|
Many word processors can use Encapsulated PostScript for |
If all these fail, please upgrade to the newest version of gnuplot or urge your |
graphs. This can be generated by the "set terminal postscript |
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 format. |
can understand. An invaluable tool for this is Jef Poskanzer's |
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 window |
that is not maintained by the author called netpbm, with the |
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 preferred, 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 a |
gnuplot to enable this terminal type, by putting #define FIG |
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 dvips |
distribution (see Q3.3). |
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 |
If nothing else helps, try using the pgm or ppm format and converting it to a |
be IslandDraw, a commercial drawing program for UNIX |
bitmap format your favourite word processor can understand. An invaluable tool |
workstations. |
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 X-Window |
post-process AI (Adobe Illustrator) files, and has a converter |
System. The original site for this is ftp.x.org in /contrib/. There are many |
from PostScript to AI. It can be downloaded from |
mirrors, e.g. ftp.tu-darmstadt.de in /pub/X11/contrib/ or . sunsite.unc.edu in |
http://www.wix.com/PageDraw/. |
/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 called |
Again, this depends on the terminal type. For PostScript, you |
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 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? |
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 enable |
Version 3.5 supports hidden line removal on all platforms |
this terminal type, by putting #define FIG into <term.h>), and use the xfig |
except MS-DOS; use the command |
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 terminal. |
You might try using the LaTeX terminal type and putting text |
|
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 superior |
for super/and subscripts, such as a^x or {/Symbol a }. Ftp to |
png format. For those who absolutely need gif support in gnuplot, we are |
sotona.phys.soton.ac.uk [152.78.192.42] and get enhpost.trm, |
providing older versions of gd library at the gnuplot distribution sites which |
written by David Denholm and Matt Heffron. To install it, |
are free of Unisys patented code. Please read also the file README a the |
follow the instructions at the top of the file, then recompile. |
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. Basically, |
In version 3.5, you can; use the "with boxes" option. |
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 http://www.danbbs.dk/ |
To see a list of the available graphic drivers for your |
dino/whirlgif. It reads run-length encoded gifs and packs them into a minimal |
installation of gnuplot, type "set term". |
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: http://http:// |
have to change ~gnuplot/term.h, and recompile. |
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 there |
such as terminal drivers, or by 'patching'. If a file is a |
is a workaround. |
replacement, it will probably tell you in its README or in the |
gnuplot> # as example. Place your definition in the following line |
lines at the beginning. |
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 |
4 Wanted features |
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. |
|
|
|
Q4.12 How do I skip data points? |
4.1 What's new in gnuplot 3.7? |
By specifying ? as a data value, as in |
|
|
|
|
Too many things to be named here. Please refer to the NEWS file in the source |
|
distribution. |
|
|
1 2 |
4.2 Does gnuplot have hidden line removal? |
2 3 |
|
3 ? |
|
4 5 |
|
|
|
Q4.13 How do I plot every nth point? |
Version 3.7 supports hidden line removal on all platforms; use the command set |
You can apply the patch point_skip from the contrib section |
hidden3d. |
(see Q5.3 or, assuming you have awk installed on your |
|
system, you can use the following line: |
|
|
|
|
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? |
It's not possible in gnuplot, but have a look at http://ricardo.ecn.wfu.edu/ |
First, try to see whether it actually is a bug, or whether it |
cottrell/qplot. The corresponding file qplot.zip can be obtained from the |
is a feature which may be turned off by some obscure set - |
contrib directory on any gnuplot server. |
command. |
|
|
|
Next, see wether you have an old version of gnuplot; if you do, |
4.6 Does gnuplot support multiple y-axes on a single plot? |
chances are the bug has been fixed in a newer release. |
|
|
|
If, after checking these things, you still are convinced that |
Yes. You can have 2 x- and 2 y-axes per plot. See "plot". |
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. |
|
|
|
Q5.2: Can I use gnuplot routines for my own programs? |
4.7 Can I put multiple pages on one page? |
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. "set multiplot" |
them? |
|
__Extensions are available from |
|
ftp://ftp.dartmouth.edu/pub/gnuplot/contrib/ . It contains |
|
the following files: |
|
|
|
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 |
4.8 Can I put both data files and commands into a single file? |
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" |
This is possible by the new plot "-" possibility. The plot "-" command allows |
From: James Darrell McCauley, mccauley@ecn.purdue.edu |
to read the data to be plot from standard input or the current batch job. |
+ _New Xlib mods._ From: gregg hanna |
|
(gregor@kafka.saic.com) |
|
|
|
Vectors and Arrows |
gnuplot> plot "-" |
+ _Program to convert lines to vectors_ This program turns |
1 1 |
line segments into line segments with a half-arrow at the |
2 4 |
head: by uncommenting two lines below, the arrowhead will be |
3 9 |
a triangle. optional arguments: size angle where size is a |
<CTRL-D> |
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 |
4.9 Can I put Greek letters and super/subscripts into my labels? |
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 |
You might try using the LATEX terminal type and putting text like "\\alpha_{3}" |
+ _Histogram C program_ The short C program below is a |
or '\alpha_{3}' into it. |
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; |
The enhanced option in the postscript terminal is also able to use sub- and |
plot "tmp" with impulses |
superscripts. It also allows to use Greek letters and symbols via symbol fonts. |
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 |
If you include your gnuplot-graphs into a LATEX document you can use the |
+ _Notes of Windows Hooks_ From: Maurice |
LATEX-package psfrag to typeset any characters into your graphs. |
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 |
One more possibility is to use the MetaPost terminal. It supports TEX syntax |
+ _Gawk script for multiple encapsulated postscript on a |
and is converted onto encapsulated PostScript by mpost. |
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 gnuplot/ |
a function. It is avialiable from ftp.cdrom.com as |
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 terminal |
I do? |
drivers, or by 'patching'. If a file is a replacement, it will probably tell |
If your patch is small, mail it to bug-gnuplot@dartmouth.edu, |
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, it |
system), upload your modifications to |
is already installed; do a man patch to check. If it isn't, you'll have to get |
ftp://ftp.dartmouth.edu/pub/dropoff. Please drop a note to |
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 |
|
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? |
* set arrow .... .... nohead where you have to compute explicitly the start |
Use a parametric plot. An example: |
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 |
4.19 How do I include accentuated characters in Postscript output? |
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? |
To obtain accentuated characters like ü or n into postscript plots you should |
If your system supports the popen() function, as Unix does, you |
use the postscript character codes together with the appropriate encoding |
should be able to run the output through another process, for |
option. See the following example: |
example a short awk program, such as |
|
|
|
|
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 |
5.1 I've found a bug, what do I do? |
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. |
|
|
|
As of version 3.4, gnuplot includes the thru - keyword for the |
First, try to see whether it actually is a bug, or whether it is a feature |
plot command for running data files through a gnuplot - defined |
which may be turned off by some obscure set-command. |
function. |
|
|
|
You can also get divhack.patch from |
Next, see whether you have an old version of gnuplot; if you do, chances are |
sotona.phys.soton.ac.uk[152.78.192.42] via anonymous ftp. It |
the bug has been fixed in a newer release. |
allows expressions of the kind |
|
|
|
|
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 |
The bug-gnuplot list is for reporting and collecting bug fixes, the ~ |
arbitrary expression enclosed in ()'s, and using $1,$2,etc to |
comp.graphics.apps.gnuplot newsgroup will be more help for finding work arounds |
access the data columns. |
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? |
5.2 Can I use gnuplot routines for my own programs? |
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? |
Yes. John Campbell jdc@nauvax.ucc.nau.edu has written gplotlib, a version of |
Use the "save" and "load" commands for this; see "help save" |
gnuplot as C subroutines callable from a C program. This is available as |
and "help load" for details. |
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? |
On systems supporting the pipes, you can pipe commands to gnuplot from other |
If the data in a data file for splot is arranged in such a way |
programs. |
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 |
5.3 What extensions have people made to gnuplot? Where can I get them? |
functions in the x-y plain? |
|
An example: |
|
|
|
|
Extensions are available from ftp.ucc.ie in /pub/gnuplot/contrib/ |
|
|
f(x,y) = x**2 + y **2 |
Some extensions available: |
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) |
|
|
|
Q6.7: How do I get rid of <feature in a plot>? |
* barchart_via_fig: awk scripts to produce barcharts with filled boxes. |
Usually, there is a set command to do this; do a |
* 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? |
5.5 Can I do heavy-duty data processing with gnuplot? or What is beyond |
Here's code which works for a UNIX system, using (efficient) |
gnuplot? |
named pipes. |
|
|
|
|
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 <sys/types.h> |
Carsten Grammes has written a fitting program which has been merged into |
#include <sys/stat.h> |
gnuplot 3.7. |
#include <stdlib.h> |
|
#include <stdio.h> |
|
#include <math.h> |
|
#include <unistd.h> |
|
|
|
#define PANIC(a) do { \ |
Michael Courtney has written a program called lsqrft, which uses the |
perror(a); \ |
Levenberg-Marquardt - Algorithm for fitting data to a function. It is available |
if (temp_name) unlink(temp_name);\ |
from hobbes.nmsu.edu in /pub/os2/apps/analysis/lsqrft15.zip; sources, which |
exit(1);\ |
should compile on Unix, and executables for MS-DOS and OS/2 are available. |
} while(0) |
There is an interface to the OS/2 presentation manager. |
|
|
int main() { |
You might also want to look at the applications developed by the Software Tools |
FILE *command,*data; |
Group (STG) at the National Center for Supercomputing Applications. Ftp to |
char *temp_name = NULL; |
ftp.ncsa.uiuc.edu and get the file README.BROCHURE for more information. |
double a,b; |
|
int i; |
|
|
|
if ((temp_name = tmpnam((char *) 0)) == 0) PANIC("tmpnam failed"); |
You can also try pgperl, an integration of the PGPLOT plotting package with |
if(mkfifo(temp_name, S_IRUSR | S_IWUSR) != 0) PANIC("mkfifo failed"); |
Perl 5. Information can be found at http://www.ast.cam.ac.uk/AAO/local/www/kgb/ |
command = popen("gnuplot","w"); |
pgperl, the source is available from ftp.ast.cam.ac.uk in /pub/kgb/pgperl/ or |
fprintf(command,"plot \"%s\" with lines\n",temp_name); fflush(command); |
linux.nrao.edu in /pub/packages/pgperl/. |
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); |
Another possibility is Octave. To quote from its README: Octave is a high-level |
data = fopen(temp_name,"w"); |
language, primarily intended for numerical computations. It provides a |
for (i=0; i<20; i++) { |
convenient command line interface for solving linear and nonlinear problems |
a = i/10.0; |
numerically. The latest released version of Octave is always available from |
b = cos(a); |
http://www.che.wisc.edu/octave/ and via anonymous ftp from bevo.che.wisc.edu in |
fprintf(data,"%f %f\n",a,b); |
/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 |
fclose(data); |
data-processing program on top of gnuplot. |
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 |
Finally, there is scilab at http://www-rocq.inria.fr/scilab/ doing about the |
this out myself. This code is care of fearick@physci.uct.ac.za |
same as matlab. It is free but copyrighted software. |
(Roger Fearick). |
|
|
|
|
5.6 I have ported gnuplot to another system, or patched it. What do I do? |
|
|
#include <stdio.h> |
If your patch is small, mail it to info-gnuplot-beta@dartmouth.edu, with a |
#define INCL_DOS |
thorough description of what the patch is supposed to do, which version of |
#define INCL_DOSPROCESS |
gnuplot it is relative to, etc. Also, you can send notification of the patch to |
#define INCL_DOSNMPIPES |
the FAQ maintainer, if you want a mention. Please don't send the patch itself |
#include <os2.h> |
to me. |
|
|
main() |
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 |
HPIPE hpipe ; |
upload patches. Send a note to info-gnuplot-beta@dartmouth.edu on where to find |
FILE *hfile, *hgnu ; |
the patch, what it is supposed to do, which version of gnuplot it is to be |
/* create a named pipe. Use NP_WAIT so that DosConnect... |
applied against. For the time being (summer 1999) you can also send the patch |
blocks until client (gnuplot) opens, and client reads |
to gnuplot@ftp.ucc.ie. |
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 |
5.7 I want to help in developing the next version of gnuplot. What can I do? |
flush buffer after a command */ |
|
hgnu = popen( "gnuplot", "w" ) ; |
|
setvbuf( hgnu, NULL, _IONBF, 0 ) ; |
|
|
|
/* 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 */ |
Also check with http://sourceforge.net/projects/gnuplot about latest source for |
DosConnectNPipe( hpipe ) ; /* wait until 'file' opened */ |
beta releases for development. |
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 */ |
5.8 Open questions for inclusion into the FAQ? |
|
|
fprintf( hgnu, "plot '/pipe/gtemp'\n" ) ; |
info-gnuplot-beta@Dartmouth.EDU. |
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 ) ; |
Please submit your questions (along with the answer) to |
pclose( hgnu ) ; |
info-gnuplot-beta@Dartmouth.EDU. |
} |
|
|
|
; The above code works for gnuplot 3.5. In gnuplot 3.7, this can be |
6 Making life easier |
greatly simplified, since data can be fed 'inline, as in |
|
|
|
|
6.1 How do I plot two functions in non-overlapping regions? |
|
|
plot '-' w l |
Use a parametric plot. An example: |
1 1 |
gnuplot> set parametric |
2 3 |
gnuplot> a=1 |
3 4 |
gnuplot> b=3 |
e |
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? |
If your system supports the popen() function, as Unix does, you should be able |
Very probably, you still are using an old version of |
to run the output through another process, for example a short awk program, |
gnuplot_x11. Remove that, then do a full installation. |
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 <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 |
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 |
7.2 My isoline data generated by a Fortran program is not handled correctly. |
correctly. What can I do? |
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: |
|
|
|
|
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 |
Gnuplot treats all numbers less than 1e-08 as zero, by default. |
are trying to plot a collection of very small numbers, they may be plotted as |
Thus, if you are trying to plot a collection of very small |
zero. Worse, if you're plotting on a log scale, they will be off scale. Or, if |
numbers, they may be plotted as zero. Worse, if you're plotting |
the whole set of numbers is "zero", your range may be considered empty: |
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' |
The solution is to change gnuplot's idea of "zero": |
Warning: empty y range [4.047e-19:3e-11], adjusting to [-1:1] |
gnuplot> set zero 1e-20 |
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 problem |
from Russell Lang, John Campbell, David Kotz, Rob Cunningham, Daniel |
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. |
|
|
|
|
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 |