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