From 560b3fe2faeb84978d37f3cb3b1c337d0c7e8aca Mon Sep 17 00:00:00 2001 From: lhecking Date: Sat, 27 Mar 1999 14:56:59 +0000 Subject: [PATCH] Renamed. --- 0BUGS | 203 -------- 0FAQ | 1180 ------------------------------------------- 0INSTALL | 630 ----------------------- 0PORTING => PORTING | 0 0README => README | 0 5 files changed, 2013 deletions(-) delete mode 100644 0BUGS delete mode 100644 0FAQ delete mode 100644 0INSTALL rename 0PORTING => PORTING (100%) rename 0README => README (100%) diff --git a/0BUGS b/0BUGS deleted file mode 100644 index 1338f6561..000000000 --- a/0BUGS +++ /dev/null @@ -1,203 +0,0 @@ - - 1. The hidden line algorithm is not perfect. We have put in an option - to draw both sides of the surface in the same linetype, thus avoiding - this problem completely. We should put in an option of not drawing - the back at all. - - 2. In the Atari version, windows are not currently supported. This - means gnuplot 3.4 will not run with MultiAES. We hope to correct - this shortly in gpcontrb.tar.z. - [Status of this bug: unknown] - - 3. autoscale writeback is probably broken. One problem is that - the range is written back before the range is extented to a - whole number of tics. eg if data is 0.9->10.1, that is what - gets written back, but the plot is 0 -> 11. If autoscale - is switched off, you do get 0.9->10.1 since switching off - autoscale switches off the extend-to-tic-multiple stuff. - - Also, writeback with log scales writes back the log of the min/max - [Status: unknown] - - 4. m[]tics bug when plotting time data - There is an initialization problem when plotting time data with an - interval calculation; an inordinate number of m[]tics are automatically - drawn, e.g., - - set xdata time; set ydata time - set timefmt "%d/%m" - set format x "%b %d" - set xrange ["01/12":"06/12"] - set xtics "01/12", 172800, "05/12" - plot x - - The problem can be avoided by initializing via a plot before the - interval calculation: - [...] - set xrange ["01/12":"06/12"] - plot x - set xtics "01/12", 172800, "05/12" - plot x - - 5. "\n" does not work in the format for the tics in splot - - 6. Error bars don't work in polar plots - - 7. arrows and labels are not clipped (2D and 3D) - - 8. contour line clipping of 3D data plots - The following tips for plotting contours were kindly supplied by Don Taber - and Paul Halsema . - - Splotting gives little control over the appearance of contour lines. - You can do a better job by extracting the contours with the table - terminal and then plotting the resulting file. You should 'set - nosurface' to eliminate the surface isolines from the file generated - by the table terminal. - - All the contours will be written to a single file. To plot them with - different line styles, you can use one of several approaches. The - simplest is to use the 'index' feature. This has the advantage of - using only gnuplot internals. Other approaches use a utility - such as sed, awk, or perl to either break up the file or generate - a more sophisticated command file for plotting it. - - The following gnuplot script extracts circular contours from a - paraboloid of revolution and plots the resulting file. It then - uses 'index' to provide different linestyles. Finally, it runs - an awk script to generate a command file for plotting the file. - - set cntrparam levels discrete 20, 40, 60 - set contour base - set nosurface - splot x**2 + y**2 - set term table - set output 'circles' - replot - set term linux # or whatever your original term was - set output - - plot 'circles' # all one linestyle - - plot 'circles' index 0 t '20', 'circles' index 1 t '40', 'circles' index 2 t '60' # different linestyles - - !awk -f contr.awk circles > circles.gnu - load 'circles.gnu' - - Where the gawk script (contr.awk) contains the following: - -#!/usr/bin/nawk -f -# ^---Replace with your favorite variant -# courtesy of Paul Halsema (phalsema@harris.com) -# and Emmanuel Bigler -# -# This script operates on a file generated by a gnuplot splot command with -# a table terminal type. The output should be redirected to another file -# which can then be loaded into gnuplot. This results in a contour plot -# that is more appealing for presentation purposes. Providing the optional -# parameter n will put a label on the contour at every nth point. -# -# Sample usage (in gnuplot): -# !nawk -f contr.awk -v n=12 circles > circles.gnu -# load 'circles.gnu' -# -# If you make this script executable and place it somewhere in your path, -# then it can be called directly as in: -# -# !nawk -f contr.awk -v n=12 circles > circles.gnu -# load 'circles.gnu' - -BEGIN { - fmt1="%s \\\n index %d title '%s'"; - fmt2="%s, \\\n '' index %d title '%s'"; -# Add any gnuplot commands that you always want performed here - print "set key out"; - print "set key title '" FILENAME "'"; - print "set data style lines"; - print -# End of general commands section - pltcmd="plot '"FILENAME"'"; -} - -{ -# Generate a fragment of the plot command for each contour - if ($2=="Contour") - { - split($3,indx,","); - titl=$5; - if ($3=="0,") { pltcmd=sprintf(fmt1, pltcmd, indx[1], titl); } - else { pltcmd=sprintf(fmt2, pltcmd, indx[1], titl); } - } -# Add labels at every nth point along a contour - if( (n!=0) && ($0 !~ /^\#/) && ($0 !~ /^$/) && ((NR%n)==1)) - {printf("set label '%s' at %f,%f center\n",$3,$1,$2);} -} - -END { -# Write out the entire plot command - printf "\n%s\n", pltcmd; -} - - 9. There is an initialization problem of when plotting time data with an - interval calculation; an inordinate number of m[]tics are automatically - drawn, e.g., - - set xdata time; set ydata time - set timefmt "%d/%m" - set format x "%b %d" - set xrange ["01/12":"06/12"] - set xtics "01/12", 172800, "05/12" - plot x - - The problem can be avoided by initializing via a plot before the - interval calculation: - [...] - set xrange ["01/12":"06/12"] - plot x - set xtics "01/12", 172800, "05/12" - plot x - -10. (Not really a bug) - Terminal drivers which are accompanied by external executables - could cause some trouble: their subprocesses (started by fork() e.g.) - may inherit handles to open file(s) from the main process. - If the filesystem doesn't allow deleting open files these file are - locked for the time the terminal driver is running. - -11. OS/2 gcc optimiser bug - The following gnuplot commands demonstrate a bug in gcc's optimiser - under OS/2. The workaround is to use "-O2 -ffloat-store" instead of "-O2". - -reset -set key -set xlabel "Year" -set xdata time -set timefmt "%y%m%d" -set format x "%y" -set xrange ["900621" : "950126"] -set ylabel "Price per $100 principal" -plot '-' using 1:2 title 'Fitted IO' with lines 1 -900621 20 -950126 55 -e - -12. compiling help file with Visual C++ 4.0/Windows NT - The help compiler is unable to compile gnuplot.rtf, possibly because - it cannot handle the new RTF spec. There is no workaround, but - VC++ 5.0/6.0 users should have no problems. - -13. The 16bit Windows version, compiled by Borland C++ 3.1, crashes with - a protection violation in 'all.dem', on the first plot that tries - to read a datafile. Heap corruption suspected. - -(Moved from old WhatsNew file, needs cleaning up) - -BUGS outstanding - illegal trailing tab on fig output - minor tics missing on HPUX ? - terminal settings get propagated when terminal is changed (now fixed ?) - set ?range [] writeback is broken for logscales. - source file copyrights are out of date - what should go on new files ? - to be documented - ms-windows cannot do wide, dashed lines (well, win32 can, - but...) - diff --git a/0FAQ b/0FAQ deleted file mode 100644 index 5b1314797..000000000 --- a/0FAQ +++ /dev/null @@ -1,1180 +0,0 @@ -* Please note that this is not the current official FAQ since -* I have upgraded the info in answer 4.0 - dd -* Made more changes - lh - -Archive-name: graphics/gnuplot-faq -Version: Mon Sep 23 04:23:01 CES 1996 -Posting-frequency: every 14 days -URL: http://www.uni-karlsruhe.de/~ig25/gnuplot-faq/ - - comp.graphics.apps.gnuplot - - comp.graphics.apps.gnuplot FAQ (Frequent Answered Questions) - - This is the FAQ (Frequently Answered Questions) list of the - comp.graphics.apps.gnuplot newsgroup, which discusses the gnuplot - program for plotting 2D - and 3D - graphs. - - Most of the information in this document came from public discussion - on comp.graphics.apps.gnuplot; quotations are believed to be in the - public domain. - - If you are reading this via WWW, and you can't access the individual - pages, please select here, then try again. - - Here's a list of the questions. If you are looking for the answer for - a specific question, look for the string Qx.x: at the beginning of a - line, with x.x being the question number. Sections in this FAQ are - * 0. Meta-Questions - * 1. General Information - * 2. Setting it up - * 3. Working with it - * 4. Wanted features - * 5. Miscellaneous - * 6. Making life easier - * 7. Known problems - * 8. Credits - - -Questions: - - Section 0: Meta - Questions - - * Q0.1: Where do I get this document? - * Q0.2: Where do I send comments about this document? - - Section 1: General Information - - * Q1.1: What is gnuplot? - * Q1.2: How did it come about and why is it called gnuplot? - * Q1.3: Does gnuplot have anything to do with the FSF and the - GNU project? - * Q1.4: What does gnuplot offer? - * Q1.5: Is gnuplot suitable for batch processing? - * Q1.6: Can I run gnuplot on my computer? - - Section 2: Setting it up - - * Q2.1: What is the current version of gnuplot? - * Q2.2: Where can I get gnuplot? - * Q2.3: How do I get gnuplot to compile on my system? - * Q2.4: What documentation is there, and how do I get it? - - Section 3: Working with it - - * Q3.1: How do I get help? - * Q3.2: How do I print out my graphs? - * Q3.3: How do I include my graphs in ? - * Q3.4: How do I post-process a gnuplot graph? - * Q3.5: How do I change symbol size, line thickness and the - like? - * Q3.6: How do I generate plots in GIF format? - - Section 4: Wanted features - - * Q4.0: What's new in gnuplot 3.7? - * Q4.1: Does gnuplot have hidden line removal? - * Q4.2: Does gnuplot support bar-charts/histograms/boxes? - * Q4.3: Does gnuplot support multiple y-axes on a single plot? - * Q4.4: Can I put multiple plots on a single page? - * Q4.5: Can I put both data files and commands into a single - file? - * Q4.6: Can I put Greek letters and super/subscripts into my - labels? - * Q4.7 Can I do 1:1 scaling of axes? - * Q4.8: Can I put tic marks for x and y axes into 3d plots? - * Q4.9: Does gnuplot support a driver for ? - * Q4.10: Can I put different text sizes into my plots? - * Q4.11: How do I modify gnuplot? - * Q4.12: How do I skip data points? - - Section 5: Miscellaneous - - * Q5.1: I've found a bug, what do I do? - * Q5.2: Can I use gnuplot routines for my own programs? - * Q5.3: What extensions have people made to gnuplot? Where can I - get them? - * Q5.4: Can I do heavy-duty data processing with gnuplot? - * Q5.5: I have ported gnuplot to another system, or patched it. - What do I do? - * Q5.6: I want to help in developing gnuplot 3.7. What can I do? - - Section 6: Making life easier - - * Q6.1: How do I plot two functions in non-overlapping regions? - * Q6.2: How do I run my data through a filter before plotting? - * Q6.3: How do I make it easier to use gnuplot with LaTeX? - * Q6.4: How do I save and restore my settings? - * Q6.5: How do I plot lines (not grids) using splot? - * Q6.6: How do I plot a function f(x,y) which is bounded by - other functions in the x-y plain? - * Q6.7: How do I get rid of ? - * Q6.8: How do I call gnuplot from my own programs ? - - Section 7: Known Problems - - * Q7.1: Gnuplot is not plotting any points under X11! How come? - * Q7.2: My isoline data generated by a Fortran program is not - handled correctly. What can I do? - * Q7.3: Why does gnuplot ignore my very small numbers? - * Q7.4: Gnuplot is plotting nothing when run via gnuplot - ! What can I do? - * Q7.5: My formulas are giving me nonsense results! What's going - on? - * Q7.6: My Linux gnuplot complains about a missing gnuplot_x11. - What is wrong? - * Q7.7: set output 'filename' isn't outputting everything it - should! - - Section 8: Credits - - Section 0: Meta-Questions. - - Q0.1: Where do I get this document? - This document is posted about once every two weeks to the - newsgroups comp.graphics.apps.gnuplot, comp.answers and - news.answers. Like many other FAQ's, its newest (plaintext) - version is available via anonymous ftp from - ftp://rtfm.mit.edu/pub/usenet/news.answers/graphics/gnuplot - -faq. - - If you have access to the WWW, you can get the newest version - of this document from - http://www.uni-karlsruhe.de/~ig25/gnuplot-faq/ - - Q0.2: Where do I send comments about this document? - Send comments, suggestions etc. via e-mail to Thomas - Koenig, Thomas.Koenig@ciw.uni-karlsruhe.de or - ig25@dkauni2.bitnet. - - - Section 1: General Information - - Q1.1: What is gnuplot? - Gnuplot is a command-driven interactive function plotting - program. It can be used to plot functions and data points in - both two- and three- dimensional plots in many different - formats, and will accommodate many of the needs of today's - scientists for graphic data representation. Gnuplot is - copyrighted, but freely distributable; you don't have to pay - for it. - - Q1.2: How did it come about and why is it called gnuplot? - The authors of gnuplot are: - - Thomas Williams, Colin Kelley, Russell Lang, Dave Kotz, John - Campbell, Gershon Elber, Alexander Woo and many others. - - The following quote comes from Thomas Williams: - - I was taking a differential equation class and Colin was taking - Electromagnetics, we both thought it'd be helpful to visualize the - mathematics behind them. We were both working as sys admin for an - EE VLSI lab, so we had the graphics terminals and the time to do - some coding. The posting was better received than we expected, and - prompted us to add some, albeit lame, support for file data. - - Any reference to GNUplot is incorrect. The real name of the program - is "gnuplot". You see people use "Gnuplot" quite a bit because many - of us have an aversion to starting a sentence with a lower case - letter, even in the case of proper nouns and titles. Gnuplot is not - related to the GNU project or the FSF in any but the most - peripheral sense. Our software was designed completely - independently and the name "gnuplot" was actually a compromise. I - wanted to call it "llamaplot" and Colin wanted to call it "nplot." - We agreed that "newplot" was acceptable but, we then discovered - that there was an absolutely ghastly pascal program of that name - that the Computer Science Dept. occasionally used. I decided that - "gnuplot" would make a nice pun and after a fashion Colin agreed. - - Q1.3: Does gnuplot have anything to do with the FSF and the GNU - project? - Gnuplot is neither written nor maintained by the FSF. It is not - covered by the General Public License, either. - - However, the FSF has decided to distribute gnuplot as part of - the GNU system, because it is useful, redistributable software. - - Q1.4: What does gnuplot offer? - - + Plotting of two-dimensional functions and data points in many - different styles (points, lines, error bars) - + plotting of three-dimensional data points and surfaces in - many different styles (contour plot, mesh). - + support for complex arithmetic - + self - defined functions - + support for a large number of operating systems, graphics - file formats and devices - + extensive on-line help - + labels for title, axes, data points - + command line editing and history on most platforms - - Q1.5: Is gnuplot suitable for batch processing? - Yes. You can read in files from the command line, or you can - redirect your standard input to read from a file. Both data and - command files can be generated automatically, from data - acquisition programs or whatever else you use. - - Q1.6: Can I run gnuplot on my computer? - Gnuplot is available for a number of platforms. These are: Unix - (X11 and NeXTSTEP), VAX/VMS, OS/2, MS-DOS, Amiga, MS-Windows, - OS-9/68k, Atari ST and the Macintosh. Modifications for NEC - PC-9801 are said to exist (where?). - - - Section 2: Setting it up - - Q2.1: What is the current version of gnuplot? - The current version of gnuplot is 3.7, which has many - improvements over 3.5 - - Q2.2: Where can I get gnuplot? - All of the later addresses refer to ftp sites. Please note that - it is preferable for you to use the symbolic name, rather than - the IP address given in brackets, because that address is much - more subject to change. - - The official distribution site for the gnuplot source is - ftp.dartmouth.edu [129.170.16.4, soon to be 129.170.8.11], - the file is called /pub/gnuplot/gnuplot-3.7.tar.Z. Official - mirrors of that distribution are (for Australia) - ftp.monash.edu.au [130.194.11.18] and (for Europe) - ftp.irisa.fr [131.254.254.10]. You can also get it from your - friendly neighbourhood comp.sources.misc archive. - - MS-DOS and MS-Windows binaries are available from - - + oak.oakland.edu (North America) [141.210.10.117] as - /Simtel/msdos/plot/gpt35*.zip, - + garbo.uwasa.fi (Europe) [193.166.120.5] as - /pc/plot/gpt35*.zip and - + archie.au (Australia) [139.130.4.6] as - micros/pc/oak/plot/gpt35*.zip. - - The files are: gpt35doc.zip, gpt35exe.zip, gpt35src.zip and - gpt35win.zip. - - There is a special MS-DOS version for 386 or better processors; - it is available from the official gnuplot sites as DOS34.zip. - - OS/2 2.x binaries are at ftp-os2.nmsu.edu [128.123.35.151], - in /os2/2.x/unix/gnuplt35.zip. - - Amiga sources and binaries are available from ftp.wustl.edu - [128.252.135.4] as /pub/aminet/util/gnu/gnuplot-3.5.lha; there - are numerous mirrors of this distribution, for example - ftp.uni-kl.de, oes.orst.edu or ftp.luth.se. - - The NeXTSTEP front end can be found at - ftp://next-ftp.peak.org/pub/next/binaries/plotting/ as - Gnuplot1.2_bin.tar.Z. - - A version for OS-9/68K can be found at cabrales.cs.wisc.edu - [128.105.36.20] as /pub/OSK/GRAPHICS/gnuplot32x.tar.Z; it - includes both X-Windows and non - X-windows versions. - - There is a version for the Macintosh at - ftp://ftp.ee.gatech.edu/pub/mac/gnuplot/ which includes - binaries for 68000-based Macs with and without FPU and native - support for PowerMacs. - - Versions for the Atari ST and TT, which include some GEM - windowing support, are available from - ftp://ftp.uni-kl.de/pub/atari/graphics/, as gplt35st.zip - and gplt35tt.zip. They work best under MiNT. - - Executable files, plus documentation in Japanese, exist for the - X680x0 on - ftp://ftp.csis.oita-u.ac.jp/pub/x68k/fj.binaries.x68000/vol - 2. - - People without ftp access can use an ftp-mail server; send a - message saying 'help' to bitftp@pucc.bitnet (for BITNET only) - or to ftpmail@ftp.dartmouth.edu. - - For a uuencoded copy of the the gnuplot sources (compressed tar - file), send this as the body of a message to - ftpmail@ftp.dartmouth.edu: - - - open - cd pub/gnuplot - mode binary - get gnuplot3.5.tar.Z - quit - - If you have some problem, you might need to stick - - reply-to - - before all the above. - - It is a good idea to look for a nearby ftp site when - downloading things. You can use archie for this. See if an - archie client is installed at your system (by simply typing - archie at the command prompt), or send mail to archie@sura.net - with the word 'help' in both the subject line and the body of - the mail. However, be aware that the version you find at a near - ftp site may well be out of date; check the last modification - date and the number of bytes against the newest release at one - of the official servers. - - Q2.3: How do I get gnuplot to compile on my system? - As you would any other installation. Read the files README and - README.Install, edit the Makefile according to taste, and run - make or whatever is suitable for your operating system. - - If you get a complaint about a missing file libplot.a or - something similar when building gnuplot for X11, remove - -DUNIXPLOT from the TERMFLAGS= line, remove -lplot from the - DTBS= line and run again. If you are making X11 on a sun, type - 'make x11_sun'. - - For compiling gnuplot under Irix 5.2 and Irix 5.3, there is a - patch in the file lvs.zip in the contrib directory at - ftp.dartmouth.edu. - - Q2.4: What documentation is there, and how do I get it? - The documentation is included in the source distribution. Look - at the docs subdirectory, where you'll find - - + a Unix man page, which says how to start gnuplot - + a help file, which also can be printed as a manual - + a tutorial on using gnuplot with LaTeX - + a quick reference summary sheet for TeX only - - PostScript copies of the documentation can be ftp'd from - ftp.dartmouth.edu, in pub/gnuplot, as manual.ps.Z and - tutorial.ps.Z - - Andy Liaw and Dick Crawford have written a 16-page user's - guide. It is available from - ftp://picard.tamu.edu/pub/gnuplot/ as gptug.tex (also get - example.tex from the same directory), gptug.dvi or gptug.ps. - - At the same site, there's a two- page instruction sheet for the - enhpost PostScript driver (see Q4.6 ) as enhpost.guide.ps - and a short guide to gnuplot PostScript files, as gp-ps.doc. - - A Chinese translation of the gnuplot manual can be found on - ftp://servers.nctu.edu.tw/misc/environment/NCTU_EV/classnot - e/gnuplot.ps.gz . - - There is a WWW hompepage for gnuplot at - 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 - User's guide - ftp://phi.sinica.edu.tw/pub/aspac/doc/94/94002.ps.gz and a - 28 - page Touring Guide - ftp://phi.sinica.edu.tw/pub/aspac/doc/95/95006.ps.gz. Both - documents are in PostScript format and gzipped. - - - Section 3: Working with it - - Q3.1: How do I get help? - Give the 'help' command at the initial prompt. After that, keep - looking through the keywords. Good starting points are 'plot' - and 'set'. - - Read the manual, if you have it. - - Look through the demo subdirectory; it should give you some - ideas. - - Ask your colleagues, the system administrator or the person who - set up gnuplot. - - Post a question to comp.graphics.apps.gnuplot or send mail - to the gatewayed mailing list info-gnuplot@dartmouth.edu. If - you want to subscribe to the mailing list, send a mail to - majordomo@dartmouth.edu with the body of the message being - 'subscribe info-gnuplot'. Please don't do this if you can get - comp.graphics.apps.gnuplot directly. If you pose a - question there, it is considered good form to solicit e-mail - replies and post a summary. - - Q3.2: How do I print out my graphs? - The kind of output produced is determined by the 'set terminal' - command; for example, 'set terminal postscript' will produce - the graph in PostScript format. Output can be redirected using - the 'set output' command. - - As an example, the following prints out a graph of sin(x) on a - Unix machine running the X Window system. - - - gnuplot> plot [-6:6] sin(x) - gnuplot> set terminal postscript - Terminal type set to 'postscript' - Options are 'landscape monochrome "Courier" 14' - gnuplot> set output "sin.ps" - gnuplot> replot - gnuplot> set output # set output back to default - gnuplot> set terminal x11 # ditto for terminal type - gnuplot> ! lp -ops sin.ps # print PS File (site dependent) - request id is lprint-3433 (standard input) - lp: printed file sin.ps on fg20.rz.uni-karlsruhe.de (5068 Byte) - ! - gnuplot> - - Q3.3: How do I include my graphs in ? - Basically, you save your plot to a file in a format your word - processor can understand (using "set term" and "set output", - see above), and then you read in the plot from your word - processor. - - Details depend on the kind of word processor you use; use "set - term" to get a list of available file formats. - - Many word processors can use Encapsulated PostScript for - graphs. This can be generated by the "set terminal postscript - eps" command. Most MS-DOS word processors understand HPGL - (terminal type hpgl). - - With TeX, it depends on what you use to print your dvi files. - If you use dvips or dvi2ps, you can use Encapsulated - PostScript. For emTeX (popular for MS-DOS), you can use emTeX, - otherwise use the LaTeX terminal type, which generates a - picture environment. - - If nothing else helps, try using the pgm or ppm format and - converting it to a bitmap format your favourite word processor - can understand. An invaluable tool for this is Jef Poskanzer's - PBMPLUS package. - - The PBMPLUS package is available in the contrib distribution - for the X Window System. The original site for this is - ftp://ftp.x.org/contrib/. There are many mirrors, e.g. - ftp://ftp.th-darmstadt.de/pub/X11/contrib/ or . - ftp://sunsite.unc.edu/pub/X11/contrib/. - - The most recent release of pbm by the author is dated December - 91 and is called pbmplus10dec91.tar.Z - - There is new version including lots of patches from the net - that is not maintained by the author called netpbm, with the - newest version called netpbm-7dec1993.tar.gz. - - Check archie (see Q2.2 ) for an archive site near you. - - Q3.4: How do I post-process a gnuplot graph? - This depends on the terminal type you use. - - You can use the terminal type fig (you may need to recompile - gnuplot to enable this terminal type, by putting #define FIG - into ), and use the xfig drawing program to edit the - plot afterwards. - - For PostScript output, you may be able to use the pstotgif - script (which calls GhostScript) to convert PostScript into the - format of the tgif drawing program. Tgif is also able to save - in PostScript format. - - Both tgif and xfig can be obtained from the X Window contrib - distribution (see Q3.3). - - Another possibility for modifying PostScript output appears to - be IslandDraw, a commercial drawing program for UNIX - workstations. - - For Windows, there is another alternative, PageDraw. It can - post-process AI (Adobe Illustrator) files, and has a converter - from PostScript to AI. It can be downloaded from - http://www.wix.com/PageDraw/. - - Q3.5: How do I change symbol size, line thickness and the like? - Again, this depends on the terminal type. For PostScript, you - can edit the generated PostScript file. An overview of what - means what in the PostScript files gnuplot generates can be - found at ftp://picard.tamu.edu/pub/gnuplot/ as gs-ps.doc. - A general introduction to PostScript can be found at - ftp://unix.hensa.ac.uk/pub/misc/ukc.reports/comp.sci/repor - ts/ as 11-92.ps.Z. - - Q3.6: How do I generate plots in GIF format? - In gnuplot version 3.5, use the pbm terminal and use the - PBMPLUS package or other utilities to convert the resulting - bitmap (see Q 3.3 for how to get the PBMPLUS package). - - From 3.7 on, there is a gif terminal. - - - Section 4: Wanted features - - Q4.0: What's new in gnuplot 3.7? - Please refer to the NEWS file in the source distribution. - - Q4.1: Does gnuplot have hidden line removal? - Version 3.5 supports hidden line removal on all platforms - except MS-DOS; use the command - - - set hidden3d - - If someone can solve the 64K DGROUP memory problem, gnuplot would - support hidden line removal on MS-DOS as well. Version 3.2 - supports limited hidden line removal. - - Q4.2: Does gnuplot support bar-charts/histograms/boxes? - As of version 3.4, it does; use the style "with boxes" for bar - charts. To get filled boxes, you can try a modification by - Steve Cumming, available via ftp from - ftp://grebe.geog.ubc.ca/pub/gnuplot as box.tar. - - Q4.3: Does gnuplot support multiple y-axes on a single plot? - Yes, with two unofficial mods, multiplot.shar and borders.shar. - They can be obtained from - ftp://ftp.dartmouth.edu/pub/gnuplot/contrib/multi_woo.zip - or ftp://ftp.cygnus.edu/incoming/gpx38.zip. - - Also, 3.7 supports this capability. - - Q4.4: Can I put multiple plots on a single page? - Yes, with the multiplot.shar mod, or if you are running gnuplot - 3.7. If you are using PostScript output, check out mpage, which - can be ftp'd from ftp.eng.umd.edu:pub/misc/mpage-2.tar.Z - - Q4.5: Can I put both data files and commands into a single file? - This feature is in gnuplot 3.7. - - Q4.6: Can I put Greek letters and super/subscripts into my labels? - You might try using the LaTeX terminal type and putting text - like \alpha_{3} into it. - - David Denholm has written a PostScript terminal which allows - for super/and subscripts, such as a^x or {/Symbol a }. Ftp to - sotona.phys.soton.ac.uk [152.78.192.42] and get enhpost.trm, - written by David Denholm and Matt Heffron. To install it, - follow the instructions at the top of the file, then recompile. - enhpost is also included in gnuplot 3.7. - - Q4.7: Can I do 1:1 scaling of axes? - 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? - In version 3.5, you can; use the "with boxes" option. - - Q4.9: Does gnuplot support a driver for ? - To see a list of the available graphic drivers for your - installation of gnuplot, type "set term". - - Some graphics drivers are included in the normal distribution, - but are uncommented by default. If you want to use them, you'll - have to change ~gnuplot/term.h, and recompile. - - Q4.10: Can I put different text sizes into my plots? - If you use PostScript output, you can use Dave Denholm's and - Matt Heffron's updated PostScript driver, - /sotona.phys.soton.ac.uk:/enhpost.trm (see also Q4.6 ). - Else, use 3.7. - - Q4.11 How do I modify gnuplot, and apply 'patches'? - For this, you will need to recompile gnuplot. - - Modifications people make are either done by replacing files, - such as terminal drivers, or by 'patching'. If a file is a - replacement, it will probably tell you in its README or in the - lines at the beginning. - - To patch a file, you need Larry Wall's patch utility. On many - UNIX systems, it is already installed; do a man patch to check. - If it isn't, you'll have to get it; it can be found wherever - GNU software is archived. - - Q4.12 How do I skip data points? - By specifying ? as a data value, as in - - - 1 2 - 2 3 - 3 ? - 4 5 - - Q4.13 How do I plot every nth point? - You can apply the patch point_skip from the contrib section - (see Q5.3 or, assuming you have awk installed on your - system, you can use the following line: - - - gnuplot> plot "< awk '{if(NR%5==0)print}' file.dat" - - plots every 5th line, and - - gnuplot> plot "< awk '$0 !~ /^#/ {if(NR%40==0)print $1, $4}' file.dat" - - plots every 40th line while skipping commented lines. - - - Section 5: Miscellaneous - - Q5.1: I've found a bug, what do I do? - First, try to see whether it actually is a bug, or whether it - is a feature which may be turned off by some obscure set - - command. - - Next, see wether you have an old version of gnuplot; if you do, - chances are the bug has been fixed in a newer release. - - If, after checking these things, you still are convinced that - there is a bug, proceed as follows. If you have a fairly - general sort of bug report, posting to - comp.graphics.apps.gnuplot is probably the way to go. If - you have investigated a problem in detail, especially if you - have a context diff that fixes the problem, please e-email a - report to bug-gnuplot@dartmouth.edu. The bug-gnuplot list is - for reporting and collecting bug fixes, the - comp.graphics.apps.gnuplot newsgroup will be more help for - finding work arounds or actually solving gnuplot related - problems. If you do send in a bug report, be sure and include - the version of gnuplot (including patchlevel), terminal driver, - operating system, an exact description of the bug and input - which can reproduce the bug. Also, any context diffs should be - referenced against the latest official version of gnuplot if at - all possible. - - Q5.2: Can I use gnuplot routines for my own programs? - Yes. John Campbell has written - gplotlib, a version of gnuplot as C subroutines callable from a - C program. This is available as gplotlib.tar.Z on the machine - ftp.nau.edu in the directory /pub/gplotlib.tar.Z. This library - has been updated to be compatible with version 3.5. - - Q5.3: What extensions have people made to gnuplot? Where can I get - them? - __Extensions are available from - ftp://ftp.dartmouth.edu/pub/gnuplot/contrib/ . It contains - the following files: - - Point Skips - - + _Data Filtering_ Instead of just having two params - following the style param, there are now 4: - o 1: line_type - o 2: point_type - o 3: point_skip - gives the number of data samples per - plotted point - o 4: point_offs - gives the sample number on which to plot - the first point - Thus points are plotted only for the samples n satisfying n = - point_skip*i + point_offs for some non-negative integer i. - From: - pixar!sun!prony.Colorado.EDU!clarkmp@ucbvax.berkeley.edu - (Michael Clark) - + _Point Skip with Awk_ With UNIX, - -gnuplot> plot "< awk '{if(NR%5==0)print$0}' file.dat" - From: James Darrell McCauley, mccauley@ecn.purdue.edu - + _New Xlib mods._ From: gregg hanna - (gregor@kafka.saic.com) - - Vectors and Arrows - + _Program to convert lines to vectors_ This program turns - line segments into line segments with a half-arrow at the - head: by uncommenting two lines below, the arrowhead will be - a triangle. optional arguments: size angle where size is a - fraction of each vector's magnitude and angle is in degrees - all data taken from standard input, and output to standard - output. typical invocation: - -arrow 0.2 15 vector.heads - From: andrew@jarthur.claremont.edu (Andrew M. Ross) - + _Vect2gp_, an awk script to make gnuplot command script - to draw a vector field map. From: hiro@ice3.ori.u-tokyo.ac.jp - (Yasu-Hiro YAMAZAKI) - + _GNUPLOT to SIPP_ This is a "far from perfect" converter - that takes gnuplot table output and splits it in polygons. - Then it calls sipp to render it. You get sipp from - isy.liu.se:/pub/sipp or ask archie. From: - chammer@POST.uni-bielefeld.de (Carsten Hammer) - - Histograms and Pie Charts - + _Histogram C program_ The short C program below is a - filter that calculates a histogram from a sequence of numbers - and prints the output in such a format that Gnuplot can plot - the histogram by the command sequence - - !histogram < datain > tmp; - plot "tmp" with impulses - From: mustafa@seas.smu.edu (Mustafa Kocaturk) - + _HG_ is an automatic histogram generator. it reads a - column of data from an input file and emits a [log] histogram - ks does ks or chi^2 tests on a set of input arrays. you need - the "numerical recipes in C" library somewhere on your system - to link this one. I can not undertake to fix bugs or add - features, but I might do it if asked. From: Steve Cumming - stevec@geog.ubc.ca - + _Piechart C program_ The short C program below formats - data for display as a piechart. From: mccauley@ecn.purdue.edu - (James Darrell McCauley) - - Interprocess Communications - + _Notes of Windows Hooks_ From: Maurice - Castro,maurice@bruce.cs.monash.edu.au - + _Named Pipes Example _From: - dtaber@deathstar.risc.rockwell.com (Don Taber) - + _PipeLib_ What the library does is set up to 20 programs - going (like gnuplot), then allows you to send to them as if - the program were typing on the command line. I've included a - brief set of docs after the source code, in latex format. - There is no facility to watch the output of a program. From: - ssclift@neumann.uwaterloo.ca (Simon Clift) - + _Popen example from lsqrfit_ The following function - sends a command to gnuplot. Gnuplot will execute the command - just as if you typed it at the gnuplot command line. This - example is adapted from my least squares fitting program - which is located at ftp.cdrom.com in - pub/os2/2_x/unix/lsqrft14.zip. Complete source is included. - From: michael@krypton.mit.edu (Michael Courtney) - - Multiple logical plots on a single page - + _Gawk script for multiple encapsulated postscript on a - page_ It's slightly more flexible than mpage, because it - changes the aspect ratio of the plots; mpage according to the - documentation only allows 1, 2, 4, or 8 plots on a page. This - script works for unix with encapsulated postscript (eps) - output. It should work with gawk or nawk, although I've only - tested it with gawk. (Gawk is GNU's version of awk and is - available from prep.ai.mit.edu.) You just specify how many - rows and columns of plots you want and it does the rest. For - example, gnuplot_eps rows=3 cols=2 *.eps | lpr will print all - eps files in your current directory with 6 on a page. Also, - see the comments in the file. From: - holt@goethe.cns.caltech.edu (Gary Holt) - + _Sed script for multiple encapsulated postscript on a - page_ You have MULTIPLE postscript files each containing a - single plot. From: wgchoe@scoupe.postech.ac.kr (Choe Won Gyu) - + _Massive patch_ with add multiplotcapability to all - devices and a lot more. The reason it is offered in this form - is because the original multiplot.pat did not patch correctly - into gnuplot version 3.5. This mod also add borders options, - financial plots, multiple line titles and other asundry - items. Use at your own risk. Look at the top of makefile.r - for a more complete list of changes. - From: Alex Woo, woo@playfair.stanford.edu - - lvs.zip - This contains miscellaneous, modifications, which include: - + Label positioning using either plot or device-relative - coodinates - + Portability to Irix-5.2 and Irix-5.3 - + The "thru" keyword has been extended to include "thrux" for - the X - Coordinate - + Capability to read a ordinary Fortran-style unformatted file - + A Perl script for better handling of eps - + Modifications to docs/doc2info to generate "next", "prev", - and "up" data for each node. - + Changes in the documentation to reflect the above. - - Miscellaneous Mods - + _Congp3d3_ is a preprocessor to draw contour plots on - irregular regions. From: mrb2@nrc.gov (Margaret Rose Byrne) - + _Sockpipe_ is a socket based pipe needed for the - Stardent OS. From: Mike Hallesy, Stardent Computer Product - Support, hal@stardent.com - + _Time Series_ is a patch to add multiline titles and - labels, time series x and y data and tic marks, and automatic - resizing of plots and much more. From: Hans Olav Eggestad, - olav@jordforsk.nlh.no - - Other Operationing Systems - + _MacIntosh Port of Version 3.2_ From: Noboru Yamamoto, - sun!kekvax.kek.jp!YAMAMOTO@pixar.com - + _MacIntosh Port of Version 3.5_ From: - laval@londres.cma.fr (Philippe LAVAL) - + _OS-9 Port of Version 3.2_ - - - Q5.4: Can I do heavy - duty data processing with gnuplot? - Gnuplot alone is not suited very well for this. One thing you - might try is fudgit, an interactive multi-purpose fitting - program written by Martin-D. Lacasse - (isaac@frodo.physics.mcgill.ca). It can use gnuplot as its - graphics back end and is available from ftp.physics.mcgill.ca - in /pub/Fudgit/fudgit_2.33.tar.Z [132.206.9.13], and from the - main Linux server, tsx-11.mit.edu [18.172.1.2] and its numerous - mirrors around the world as - /pub/linux/sources/usr.bin/fudgit-2.33.tar.z. Versions are - available for AIX, Data General, HP-UX, IRIX 4, Linux, NeXT, - Sun3, Sun4, Ultrix, OS/2 and MS-DOS. The MS-DOS version is - available on simtel20 mirrors (simtel20 itself has closed down) - in the "math" subdirectory as fudg_231.zip. - - Carsten Grammes has written a fitting program which goes - together with gnuplot; it is called gnufit and is available - from the official gnuplot sites, as the files gnufit12.info, - gnufit12.tar.gz (source) and gft12dos.zip (MS-DOS). It has been - merged into gnuplot 3.7. - - Michael Courtney has written a program called lsqrft, which - uses the Levenberg - Marquardt - Algorithm for fitting data to - a function. It is avialiable from ftp.cdrom.com as - /pub/os2/2_x/unix/lsqrft13.zip; sources, which should compile - on Unix, and executables for MS-DOS and OS/2 2.x are included. - There is an interface to the OS/2 presentation manager. - - You might also want to look at the applications developed by - the Software Tools Group (STG) at the National Center for - Supercomputing Applications. Ftp to ftp.ncsa.uiuc.edu - [141.142.20.50] and get the file README.BROCHURE for more - information. - - You can also try pgperl, an integration of the PGPLOT plotting - package with Perl 5. Information can be found at - http://www.ast.cam.ac.uk/~kgb/pgperl.html, the source is - available from ftp://ftp.ast.cam.ac.uk/pub/kgb/pgperl/ or - ftp://linux.nrao.edu/pub/packages/pgperl/. - - Another possibility is Octave. To quote from its README: Octave - is a high-level language, primarily intended for numerical - computations. It provides a convenient command line interface - for solving linear and nonlinear problems numerically. - - The latest released version of Octave is always available via - 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 - I do? - If your patch is small, mail it to bug-gnuplot@dartmouth.edu, - with a thorough description of what the patch is supposed to - do, which version of gnuplot it is relative to, etc. Also, you - can send notification of the patch to the FAQ maintainer, if - you want a mention. Please don't send the patch itself to me - :-) - - If your modifications are extensive (such as a port to another - system), upload your modifications to - ftp://ftp.dartmouth.edu/pub/dropoff. Please drop a note to - David.Kotz@dartmouth.edu, the maintainer of the gnuplot - subdirectory there, plus a note to bug-gnuplot@dartmouth.edu. - - Q5.6: I want to help in developing gnuplot 3.7. What can I do? - Join the gnuplot beta test mailing list by sending a mail - containing the line - - -subscribe info-gnuplot-beta - - in the body (not the subject) of the mail to Majordomo@Dartmouth.EDU. - - - Section 6: Making life easier - - Q6.1: How do I plot two functions in non - overlapping regions? - Use a parametric plot. An example: - - - set parametric - a=1 - b=3 - c=2 - d=4 - x1(t) = a+(b-a)*t - x2(t) = c+(d-c)*t - f1(x) = sin(x) - f2(x) = x**2/8 - plot [t=0:1] x1(t),f1(x1(t)) title "f1", x2(t), f2(x2(t)) title "f2" - - Q6.2: How do I run my data through a filter before plotting? - If your system supports the popen() function, as Unix does, you - should be able to run the output through another process, for - example a short awk program, such as - - - gnuplot> plot "< awk ' { print $1, $3/$2 } ' file.in" - - Unfortunately, in 3.2, there is a rather short limitation on the - maximum argument length, so your command line may be truncated - (usually, this will mean that awk cannot find the filename). - Also, you may need to escape the $ - characters in your awk - programs. - - As of version 3.4, gnuplot includes the thru - keyword for the - plot command for running data files through a gnuplot - defined - function. - - You can also get divhack.patch from - sotona.phys.soton.ac.uk[152.78.192.42] via anonymous ftp. It - allows expressions of the kind - - - gnuplot> plot "datafile" using A:B:C - - where A,B,C,... are now either a column number, as usual, or an - arbitrary expression enclosed in ()'s, and using $1,$2,etc to - access the data columns. - - Q6.3: How do I make it easier to use gnuplot with LaTeX? - There is a set of LaTeX macros and shell scripts that are meant - to make your life easier when using gnuplot with LaTeX. This - package can be found on ftp.dartmouth.edu [129.170.16.54, soon - to be 129.170.8.11] in pub/gnuplot/latex.shar, by David Kotz. - For example, the program "plotskel" can turn a gnuplot-output - file plot.tex into a skeleton file skel.tex, that has the same - size as the original plot but contains no graph. With the right - macros, the skeleton can be used for preliminary LaTeX passes, - reserving the full graph for later passes, saving tremendous - amounts of time. - - Q6.4: How do I save and restore my settings? - Use the "save" and "load" commands for this; see "help save" - and "help load" for details. - - Q6.5: How do I plot lines (not grids) using splot? - If the data in a data file for splot is arranged in such a way - that each one has the same number of data points (using blank - lines as delimiters, as usual), splot will plot the data with a - grid. If you want to plot just lines, use a different number of - data entries (you can do this by doubling the last data point, - for example). Don't forget to set parametric mode, of course. - - Q6.6: How do I plot a function f(x,y) which is bounded by other - functions in the x-y plain? - An example: - - - f(x,y) = x**2 + y **2 - x(u) = 3*u - yu(x) = x**2 - yl(x) = -x**2 - set parametric - set cont - splot [0:1] [0:1] u,yl(x(u))+(yu(x(u)) - yl(x(u)))*v,\ - f(x(u), (yu(x(u)) - yl(x(u)))*v) - - Q6.7: How do I get rid of ? - Usually, there is a set command to do this; do a - - - gnuplot> ?set no - - for a short overview. - - Q6.8: How do I call gnuplot from my own programs? - Here's code which works for a UNIX system, using (efficient) - named pipes. - - -#include -#include -#include -#include -#include -#include - -#define PANIC(a) do { \ - perror(a); \ - if (temp_name) unlink(temp_name);\ - exit(1);\ - } while(0) - -int main() { - FILE *command,*data; - char *temp_name = NULL; - double a,b; - int i; - - if ((temp_name = tmpnam((char *) 0)) == 0) PANIC("tmpnam failed"); - if(mkfifo(temp_name, S_IRUSR | S_IWUSR) != 0) PANIC("mkfifo failed"); - command = popen("gnuplot","w"); - fprintf(command,"plot \"%s\" with lines\n",temp_name); fflush(command); - data = fopen(temp_name,"w"); - for (i=0; i<20; i++) { - a = i/10.0; - b = sin(a); - fprintf(data,"%f %f\n",a,b); - } - fclose(data); - fprintf(stderr,"press enter to continue..."); fflush(stderr); - getchar(); - - fprintf(command,"plot \"%s\" with lines\n",temp_name); fflush(command); - data = fopen(temp_name,"w"); - for (i=0; i<20; i++) { - a = i/10.0; - b = cos(a); - fprintf(data,"%f %f\n",a,b); - } - fclose(data); - fprintf(stderr,"press enter to continue..."); fflush(stderr); - getchar(); - pclose(command); - unlink(temp_name); - return 0; -} - - Here's code for OS/2, again using named pipes; I'm unable to check - this out myself. This code is care of fearick@physci.uct.ac.za - (Roger Fearick). - - -#include -#define INCL_DOS -#define INCL_DOSPROCESS -#define INCL_DOSNMPIPES -#include - -main() - { - HPIPE hpipe ; - FILE *hfile, *hgnu ; - /* create a named pipe. Use NP_WAIT so that DosConnect... - blocks until client (gnuplot) opens, and client reads - are blocked until data is available */ - DosCreateNPipe( "\\pipe\\gtemp", - &hpipe, - NP_ACCESS_OUTBOUND, - NP_WAIT|NP_TYPE_BYTE|1, - 256, - 256, - -1 ) ; - /* use stream i/o */ - hfile = fdopen( hpipe, "w" ) ; - - /* start gnuplot; use unbuffered writes so we don't need to - flush buffer after a command */ - hgnu = popen( "gnuplot", "w" ) ; - setvbuf( hgnu, NULL, _IONBF, 0 ) ; - - /* plot a set of data */ - - fprintf( hgnu, "plot '/pipe/gtemp'\n" ) ; /* issue plot command */ - DosConnectNPipe( hpipe ) ; /* wait until 'file' opened */ - fprintf( hfile, "1 1\n" ) ; /* write data to 'file' */ - fprintf( hfile, "2 2\n" ) ; - fprintf( hfile, "3 3\n" ) ; - fprintf( hfile, "4 4\n" ) ; - fflush( hfile ) ; /* flush buffer forces read */ - DosSleep( 500 ) ; /* allow gnuplot to catch up */ - DosDisConnectNPipe( hpipe ) ; /* disconnect this session */ - fprintf( hgnu, "pause -1\n" ) ; /* admire plot */ - - /* plot another set of data */ - - fprintf( hgnu, "plot '/pipe/gtemp'\n" ) ; - DosConnectNPipe( hpipe ) ; - fprintf( hfile, "1 4\n" ) ; - fprintf( hfile, "2 3\n" ) ; - fprintf( hfile, "3 2\n" ) ; - fprintf( hfile, "4 1\n" ) ; - fflush( hfile ) ; - DosSleep( 500 ) ; - DosDisConnectNPipe( hpipe ) ; - fprintf( hgnu, "pause -1\n" ) ; - - DosClose( hpipe ) ; - pclose( hgnu ) ; - } - - ; The above code works for gnuplot 3.5. In gnuplot 3.7, this can be - greatly simplified, since data can be fed 'inline, as in - - -plot '-' w l -1 1 -2 3 -3 4 -e - - - Section 7: Known problems - - Q7.1: Gnuplot is not plotting any points under X11! How come? - Very probably, you still are using an old version of - gnuplot_x11. Remove that, then do a full installation. - - On VMS, you need to make several symbols: - - $ gnuplot_x11 :== $disk:[directory]gnuplot_x11 - $ gnuplot :== $disk:[directory]gnuplot.exe - $ def/job GNUPLOT$HELP disk:[directory]gnuplot.hlb - - Then run gnuplot from your command line, and use - - gnuplot> set term x11 - - Q7.2: My isoline data generated by a Fortran program is not handled - correctly. What can I do? - One known cause for this is the use of list-directed output (as - in WRITE(10,*) for generating blank lines. Fortran uses ASA - carriage control characters, and for list - directed output - this results in a space being output before the newline. - Gnuplot does not like this. The solution is to generate blank - lines using formatted output, as in WRITE(10,'()'). If you use - carriage return files in VMS Fortran, you may have to open the - file with OPEN(...,CARRIAGECONTROL='DTST') or convert it using - the DECUS utility ATTRIB.EXE: - - - VMS> ATTRIB/RATTRIB=IMPDTED FOR010.DAT - - Q7.3: Why does gnuplot ignore my very small numbers? - Gnuplot treats all numbers less than 1e-08 as zero, by default. - Thus, if you are trying to plot a collection of very small - numbers, they may be plotted as zero. Worse, if you're plotting - on a log scale, they will be off scale. Or, if the whole set of - numbers is "zero", your range may be considered empty: - - - gnuplot> plot 'test1' - Warning: empty y range [4.047e-19:3e-11], adjusting to [-1:1] - gnuplot> set yrange [4e-19:3e-11] - gnuplot> plot 'test1' - ^ - y range is less than `zero` - - The solution is to change gnuplot's idea of "zero": - - gnuplot> set zero 1e-20 - - For more information, - - gnuplot> help set zero - - Q7.4: Gnuplot is plotting nothing when run via gnuplot ! - What can I do? - Put a pause -1 after the plot command in the file. - - Q7.5: My formulas are giving me nonsense results! What's going on? - Gnuplot does integer, and not floating point, arithmetic on - integer expressions. For example, the expression 1/3 evaluates - to zero. If you want floating point expressions, supply - trailing dots for your floating point numbers. Example: - - - gnuplot> print 1/3 - 0 - gnuplot> print 1./3. - 0.333333 - - This way of evaluating integer expressions is shared by both C and - Fortran. - - Q7.6: My Linux gnuplot complains about a missing gnuplot_x11. What is - wrong? - The binary gnuplot distribution from sunsite.unc.edu and its - mirrors in Linux/apps/math/gplotbin.tgz is missing one - executable that is necessary to access the x11 terminal. Please - install gnuplot from another Linux distribution, e.g. - Slackware. - - Q7.7: set output 'filename' isn't outputting everything it should! - You need to flush the output with a closing 'set output'. - - Section 8: Credits - - This list was initially compiled by John Fletcher with contributions - from Russell Lang, John Campbell, David Kotz, Rob Cunningham, Daniel - Lewart and Alex Woo. Reworked by Thomas Koenig from a draft - by Alex Woo, with corrections and additions from Alex Woo, John - Campbell, Russell Lang, David Kotz and many corrections from Daniel - Lewart; Axel Eble and Jutta Zimmermann helped with the - conversion to HTML. - - - - Thomas Koenig, ig25@rz.uni-karlsruhe.de, 1994-03-28 - diff --git a/0INSTALL b/0INSTALL deleted file mode 100644 index 790b347fa..000000000 --- a/0INSTALL +++ /dev/null @@ -1,630 +0,0 @@ -Installation -************ - - This document is divided into four parts: the first part (For the -impatient) provides a quick overview of configuration and compilation -instructions. It also lists those options to the configure shell script -which are unique to gnuplot. Part two describes the environment variables -used by gnuplot. Part three explains in detail how --with-PACKAGE=PATH -works, and how this option interacts with --libdir and --includedir. -Part four addresses some platform specific problems and testing issues. -There are also some hints how to build gnuplot with pre-ANSI C compilers. -Part five finally describes a few graphical front ends for gnuplot. - - The description of preprocessor options previously found here has been -moved to a new file called 0PORTING. Generic installation instructions -for `configure', such as distributed with FSF/GNU packages, have been -moved to the file INSTALL.gnu. - -For the impatient -================= - - First, tune term.h to choose which terminal drivers you wish to enable. -If you want to support gif output, you need to download, compile and -install the gd library : see term/gif.trm for details. - - If you want to support png output (free gif alternative), you need -png and z libraries : see term/png.trm for details. Note that the -png library will probably not compile without an ANSI/ISO C compiler. - - A complete overview of configure options is below in the Basic -Installation section. On platforms which do not support GNU -autoconf/configure, ie. most non-Unix platforms, look for a makefile -that looks suitable, (makefile.emx for emx on dos, makefile.nt for -MS VC++ 4.x on NT and probably win95, makefile.win for borland c on -win95/nt, makefile.wc for DOS Watcom C etc.) - -File location defaults ----------------------- - -PREFIX /usr/local -gnuplot PREFIX/bin -gnuplot_x11 PREFIX/bin -gnuplot.1 PREFIX/man/man1 -gnuplot.gih PREFIX/share - - The only files where the runtime location is defined at compile time are -gnuplot.gih and show.c. This is important if gnuplot is not installed by running -'make install'. - - The default path for the help library, gnuplot.gih, can be controlled in -several different ways: - - o with configure's --prefix= option, eg. - ./configure --prefix=/gnuplot - gnuplot will look for the online help file, gnuplot.gih, in /gnuplot/share. - Attention: This option affects the location of *all* installed files! - - o with configure's --datadir= option, eg. - ./configure --datadir='/gnuplot/docs' - gnuplot will look for the online help file, gnuplot.gih, in /gnuplot/docs. - - o at make time, eg. - make HELPFILE='/gnuplot/docs/gnuplot.gih' - gnuplot will look for the online help file /gnuplot/docs/gnupot.gih. - - o at execution time by specifying the helpfile with the environment - variable GNUHELP (see "Environment Variables" below). - - The default location of the executables can be controlled in different -ways: - - o with configure's --prefix= option, eg. - ./configure --prefix=/gnuplot - gnuplot will be installed as /gnuplot/bin/gnuplot. - Attention: This affects the location of *all* installed files! - - o with configure's --bindir= option, eg. - ./configure --bindir='/gnuplot/bin' - gnuplot will be installed as /gnuplot/bin/gnuplot. - - o at make time, eg. - make GNUPLOT_BINDIR='/gnuplot/bin' - gnuplot will be installed as /gnuplot/bin/gnuplot. - - If the executables are not installed in the default location, files -written by the `save' command cannot be used as scripts on Un*x platforms. -There is no way to specify the location of the executables during -runtime. Other platforms are not affected by this. - - The gnuplot demo files are not installed by default. If desired, they -should be copied manually to a location of choice. - -Unix, configure ---------------- - - On Unix, use -$ ./configure -$ make -[ Optionally run demos--see "How to test gnuplot" below. ] -$ make install - - If gcc is installed, it is used by default. A different compiler can be -used through the CC environment variable: - -(Bourne shell) -$ CC=c89 ./configure - -(C shell) -$ setenv CC c89 -$ ./configure - - Any environment settings for CFLAGS are included into the Makefile, -so please make sure that these are really needed. - - There are several options available for configure that you may want -to change. A complete list of options is available through - -$ ./configure --help - - The options relevant to gnuplot are listed below: - - --prefix=PREFIX Install architecture-independent files in PREFIX - [/usr/local]. The gnuplot (and gnuplot_x11) binary - is installed in PREFIX/bin. - --bindir=DIR user executables in DIR [PREFIX/bin] - --datadir=DIR Read-only architecture-independent data in DIR - [PREFIX/share]. The gnuplot help file is installed - in this directory. - --libdir=DIR object code libraries in DIR [EPREFIX/lib] - --includedir=DIR C header files in DIR [PREFIX/include] - --mandir=DIR Man documentation in DIR [PREFIX/man] - --with-readline (*) use the builtin minimal readline function - --without-readline do not use the builtin readline function - --with-readline=gnu use the GNU readline library - --with-readline=PATH Specify the location of GNU readline - --with-plot use the Unix plot library - --with-plot=PATH Specify the location of GNU libplot - --with-gd (*) enable gif terminal with Tom Boutell's gd library - (requires GD library) - --with-gd=PATH Specify the location of libgd - --with-png (*) enable png terminal - (requires libpng and libz) - --with-png=PATH Specify the location of libpng - --with-cwdrc check current directory for .gnuplot file, - normally disabled for security reasons - --with-lasergnu install lasergnu printer script - --with-linux-vga use the Linux SVGA console driver - (requires /usr/lib/libvga) - --enable-history enable history (requires GNU readline) - --enable-thin-splines enable thin plate splines (EXPERIMENTAL) - --enable-iris enable IRIS terminal (IRIS4D only) - --enable-mgr enable MGR terminal - --enable-rgip enable Redwood Graphics Interface Protocol - --with-x (*) Use the X Window System - - Options marked with (*) are enabled by default, ie. these features or -packages are used if configure detects them even if the corresponding -option is not specified. Please note that the `--with-PACKAGE' options -can have additional arguments: - - o `--with-PACKAGE' is equivalent to `--with-PACKAGE=yes' - o `--with-PACKAGE=no' disables checking for PACKAGE. It has the same - effect as `--without-PACKAGE'. - o `--with-PACKAGE=PATH' checks for PACKAGE in PATH - -Unix, no configure ------------------- - - The older, no-longer-preferred, way is to copy makefile.unx to Makefile - cp makefile.unx Makefile - Look through the Makefile to see if you need to make any changes. - See especially the HELPDEST and TERMFLAGS variables. Edit if needed. - Alternatively, all these variables may be set as command line arguments to - 'make'. For example: - - make HELPDEST='/usr/um/misc/lib' \ - DEST='/usr/um/misc/bin' READLINE= - - Type - make - For further instructions. - If that works, try - make install - For further instructions. - -VMS ---- - - On VMS, invoke MAKE_VMS.COM (or BUILDVMS.COM if you have MMS or MMK -but don't want to use the supplied DESCRIP.MMS). You may get warnings -or more serious errors depending on the versions of the C compiler, the -C run-time libraries, and {Open}VMS on your system. - - - To compile using DEC MMS or MMK (PD clone), - invoke MMS or MMK with the supplied descrip.mms - Or if you have a unix-like make utility - copy makefile.vms makefile - make - Or if you don't have a suitable make: - @buildvms - To tell gnuplot where to find the help library: - $ define gnuplot$help disk:[directory]gnuplot.hlb - Alternatively (and preferably) put the help in the main system help library. - -AmigaOS -------- - -Using Aztec C 5.2a - make -f makefile.ami -Using SAS/C 6.1 or later versions - smake -f makefile.amg - You can also copy makefile.amg to smakefile and just type `smake'. - - At the beginning of makefile.amg you will find a configuration - section where you have to adjust all settings which control the build - process. Most important is probably to select the terminal devices - which should be supported. You can create a version offering - png graphics as well as gif support. Use the appropriate settings - for CPU and MATH to compile for a specific machine type. - Be sure to enable only those devices for which you have the - necessary software already installed. Also ensure that the - libraries and the sources are all compiled using the same - settings for CPU and MATH. -Using gcc: see Unix - -Atari/TOS ---------- - -Using gcc 2.x as unix cross- or native compiler - make -f makefile.st -(Edit top of makefile.st for name of crosscompiler or choose native setting) -Using PureC - use gnuplot.prj -Using TurboC - use gnuplot.prj -(Edit gnuplot.prj according to notes at the beginning) - -MS-Windows ----------- - -Using Microsoft C 7.0 and compiling for MS-Windows - copy makefile.msw makefile - nmake - Put wgnuplot.exe, wgnuplot.dll, wgnuplot.hlp and wgnuplot.mnu - in the windows directory. - -Using Borland C++ 3.1 and compiling for MS-Windows - copy makefile.win makefile - Edit makefile to change TC. - make - Put wgnuplot.exe, wgnuplot.dll, wgnuplot.hlp and wgnuplot.mnu - in the windows directory. - -Using Visual C++ and compiling for Windows NT/95/98 - nmake -f makefile.nt - or - copy makefile.nt makefile - nmake - -Using the MinGW32 port of egcs: you need the Micrsoft SDK for the -moment. - copy makefile.mgw makefile - Look through the Makefile to see if you need to make any changes. - make - make install - -Using the Cygwin port of gcc, which includes MinGW32: you need the -Micrsoft SDK for the moment. - copy makefile.cyg makefile - Look through the Makefile to see if you need to make any changes. - make - Put wgnuplot.exe, wgnuplot.dll, wgnuplot.hlp and wgnuplot.mnu - in the windows directory. - -MSDOS ------ - -Using DJGPP - Basically the same as Unix+configure. Andris Pavenis - has contributed a shell script which makes the whole process even easier: - just run djconfig.sh, and then make. - For novices, it is recommended to use makefile.dj2 instead: - copy makefile.dj2 makefile - make - -Using Microsoft C 7.0. - copy makefile.msc makefile - nmake - -Using Borland C++ 3.0 - copy makefile.tc makefile - Edit makefile to change TC, BIN, BGI, BGIOBJ. You may also want to turn - off overlays (See manual for more on overlays). - make - -The file gnuplot.gih is needed for help on the PC. -If the file gnuplot.gih is not in the default directory, then use: - set GNUHELP={full path name of gnuplot.gih} - -OS/2 ----- - -To compile under OS/2 (2.x and above) you need the development -suite EMX 0.9 (including gcc). You should also have -GNU Make and IBM's IPFC (Information Presentation Facility Compiler, -available from the Developer's Toolkit; nowadays it's accessible -through an IBM website for free!). - -At the beginning of Makefile.os2 you will find a configuration -section where you have to adjust all settings which control the build -process. Most important is probably to select the terminal devices -which should be supported. You can create a version offering -PM graphics as well as X11 support (to use with XFree86). -Support for these two terminals is provided by additional -executables. -Be sure to enable only those devices for which you have the -necessary software already installed. Also ensure that the -libraries and the sources are all compiled (not) using -the '-Zmt' flags. - -Executing - make -f makefile.os2 -should create a default build while - make -f makefile.os2 help -will show you all pre-defined targets. - -See other sections of the manuals for more information about -installing/using gnuplot on OS/2. - -Environment Variables -===================== - -See 'help environment'. - -If the environment variable GNUTERM is found, it is used as the terminal -type. Otherwise, in some cases the variable TERM will be used, or the -hardware may be automatically detected. - -The PC version looks for the environment variable GNUPLOT to contain -the name of the directory from which to load the initialization file -GNUPLOT.INI. See the help on 'start_up' for more information. - -HOME is examined as a directory where a .gnuplot startup file might be -found. See help on "start-up". - -If defined, the environment variable GNUHELP is used for the name -of the .gih help file, otherwise HELPFILE (defined in makefile or -command.c) is used. - -The VMS version looks for the logical name GNUPLOT$HELP to locate -the help library. - -The CGI drivers need the CGIPATH environment variable to set the path -to the CGI agents, and the CGIDISP and/or CGIPRNT environment variables -to set the output devices. - - If creating dynamically linked executables for the X11 Window System, it -may be necessary to add flags to the LIBS variable in Makefile -to make sure gnuplot finds all required libraries at runtime. Systems like -SunOS and Solaris use -R to specify the runtime library search path, whereas -OSF/Dec Unix, Irix and Linux use -rpath. If this is not possible, the -LD_LIBRARY_PATH environment variable should be set. - -About --with-PACKAGE[=PATH] -*************************** - - The described method of finding library and header files using the ---with-package configure option applies to gnuplot only. - - Every `--with-PACKAGE' option sets a `with_package' variable in -configure. Depending on how `--with-PACKAGE' was invoked, there are -only three different possible values for the `with_package' variable: - - Option $with_package ----------------------------------------- -(not specified) yes or no; default set in configure ---with-package yes ---with-package=yes yes ---with-package=no no ---with-package=PATH PATH ---without-package no - - This means that configure will always (by default) try to locate PACKAGE -unless `--with-package=no' or `--without-package' was specified. Examples -for with-PACKAGE options used by gnuplot's configure are `--with-gd', -`--with-png'. The corresponding package variables are `with_gd', -and `with_png'. - - For gnuplot, configure uses the macros `gp_SEARCH_LIBDIRS' and -`gp_SEARCH_HEADERDIRS' to search for libraries and includes, resp. These -macros are different from the standard GNU autoconf macros for this purpose, -`AC_CHECK_LIB' and `AC_CHECK_HEADER/S' (see autoconf manual). The -gp_XXX macros are closely tied to gnuplot, and cannot be used for other -packages without modification. - - The difference between these package specific macros and standard -autoconf macros is that they do search more than one (the default) -directory to determine the location of the specified file. - - Libraries will be searched in at least three, and up to five different -directories, depending on the PATH specified with `--with-PACKAGE=PATH': - - o the default linker path (this is really more than one directory) - o /usr/local/lib, which is a fairly common place for 3rd party libs - o the PATH directory, trailing `/lib/libPACKAGE.a' stripped off - o the PATH directory, trailing `/lib/libPACKAGE.a' stripped off and - `/lib' added - o the PATH directory, trailing `/libPACKAGE.a' stripped off. - - Using the default linker path as the first search directory has one -big, but not so obvious advantage: if all libraries are in the same -directory, the path to the first library specified with --with-PACKAGE -is added to the linker path with a `-L' option. The library searched -for with the next --with-PACKAGE option will now be found faster, because -only one additional directory is checked. This is also true for header files. - - Example: the user has unpacked the gd library distribution into -/home/user/source/gd: - -$ configure --with-gd=/home/user/source/gd - -will search the following directories for libgd.a: - - o the default linker path - o /usr/local/lib - o /home/user/source/gd - o /home/user/source/gd/lib - o /home/user/source/gd - - Include files will be searched in at least two, and up to three different -directories, depending on the PATH specified with `--with-PACKAGE=PATH': - - o the default include path (can be more than one diretcory) - o /usr/local/include, a fairly common place for 3rd party headers - o the PATH directory, trailing `/lib/libPACKAGE.a' stripped off - o the PATH directory, trailing `/lib/libPACKAGE.a' stripped off and - `/include' added - - Caveat: the `gp_SEARCH_HEADERDIRS' macro should only be used after the -corresponding `gp_SEARCH_LIBDIRS' macro to take full advantage of the -search algorithm. This is a reasonable assumption nevertheless, because -it allows for structuring configure.in so that the test for a header file -is skipped if the corresponding library is not found. - - Here are some more examples: - - o the gd and png libraries are in /usr/local/gnu/lib, which is - automatically searched by gcc. The corresponding header files are - in /usr/local/gnu/include, which is not in gcc's include search path. - Solution: - - $ ./configure --with-gd=/usr/local/gnu - - o the gd and png libraries are in /opt/gnu/lib, the header files are - in /opt/gnu/include. Solution: - - $ ./configure --with-gd=/opt/gnu - - o the gd and png libraries and headers are all in different directories, - none of which is in the compilers search path: - - $ ./configure --with-gd=/tmp/gd --with-png=/tmp/libpng - -[I would like to implement the more generic `--site-includes' and -`--site-libraries' options for additional flexibility, but this is -painfully difficult with the current autoconf. It also seems that such -a feature would not comply with GNU coding standards.] - -Platform problems and testing -***************************** - - This section addresses trouble shooting and testing issues. Userland -questions are answered in the FAQ. - -Platform notes -============== - - Generally, if you think that configure has made a mistake in detecting -platform features, there are two ways to switch these off. - - Example: -configure was for some reason unable to detect the memset() function, but -you are sure it is ok to use on your platform. Now you can either edit -config.cache and change - - ac_cv_func_memset=${ac_cv_func_memset='no'} to - ac_cv_func_memset=${ac_cv_func_memset='yes'} - -and rerun configure, or, edit config.h and change - -/* #undef HAVE_MEMSET */ to -#define HAVE_MEMSET 1 - - Note that changing such defines at compile time, eg. via -'make DEFS=-DHAVE_MEMSET' is wrong, because the DEFS variable in Makefile -may contain other defines (make DEFS='-DHAVE_CONFIG_H -DHAVE_MEMSET' -should work, though). - - - HP-UX 9.x - It is recommended to use gcc, although the native compiler cc may - work with warnings. - - - HP-UX 10.x - It is recommended to use the native compiler cc, as problems - have been reported when using gcc. In the cases reported, we have - yet to establish whether the compiler is at fault, or the compiler - setup/configuration is broken. - - - IRIX 6.x - If you want to use the png terminal, you must install your own - versions of libpng and zlib. The versions supplied with the OS - are too old. Note that you need be very careful to select the - correct compiler options/ABI's. - - - MS-DOS - If ports of common Unix utilities (bash, sed etc) are available, - gnuplot can be built with DJGPP. Install instructions are the same - as for Unix (with configure). - - - SunOS 4.x - An ANSI/ISO C compiler should be used to compile gnuplot. It is - recommended to install gcc. If this is not an option, the system - compiler cc can be made to work with Wietse Venema's unproto tool. - See entry below for instructions. - - As of 1998-11-18, gnuplot compiles again with the native compiler cc. - - - System V.2/Ultrix 4.x/M88 SysV.3 - An ANSI/ISO C compiler should be used to compile gnuplot. It is - recommended to install gcc. If this is not an option, the system - compiler cc can be made to work with Wietse Venema's unproto tool. - - unproto is available from - ftp://ftp.win.tue.nl/pub/unix/unproto5.shar.Z - ftp://ftp.porcupine.org/pub/lang/unproto5.shar.Z - - After installing unproto, configure gnuplot with - - (Bourne shell syntax) - - $ cd gnuplot - $ CC='cc -B/full/path/to/unproto/dir/ -tp' ./configure - - or (C shell syntax) - - prompt (41) cd gnuplot - prompt (42) setenv CC 'cc -B/full/path/to/unproto/dir/ -tp' - prompt (43) ./configure - - The required compiler options shown here are for System V.2. For other - platforms, consult the unproto documentation. `/full/path/to/unproto/dir' - is the full path name of the directory where unproto is installed. It is - not necessary to "install" unproto, one can just create a subdirectory - in gnuplot's source directory and use it from there. - -How to test gnuplot -=================== - - No comprehensive test suite for gnuplot's features has been written -to date. It is probaly impossible to write such a test suite, because -it would need to cover all possible variations allwed by gnuplot's -command language, or a significant subset thereof. -However, the supplied demo files provide a good method of testing commonly -used features. All command line examples below assume Unix Bourne shell -syntax. - - The demo files can be run interactively by eg. - -$ cd gnuplot/demo -$ PATH=..:$PATH ../gnuplot simple.dem - -and gnuplot prompts the user to "Hit return to continue" to cycle -through all the plots (the PATH= statement is only required if you are -using the X11 or BeOS plotting device and the gnuplot_x11/gnuplot_be -binary has not been installed yet, or you want to test the external -binaries you just compiled at the same time). - - To run the demos in a specified file without interaction, one -can use - -$ PATH=..:$PATH ../gnuplot simple.dem test - - `test` creates a display of line and point styles and other useful things -appropriate for the terminal you are using. - -Front Ends for gnuplot -====================== - - o Xgfe by David Ishee , available from - http://von-mises.home.ml.org/xgfe/xgfe.html - To compile from source, you need Qt library from - http://www.troll.no/. - - o Bruce Ravel has written a new version of - gnuplot-mode for GNU emacs and XEmacs. This version is based on - the gnuplot.el file by Gershon Elber which is included with this - distribution. The package is available from - http://feff.phys.washington.edu/~ravel/gnuplot/. - Future distributions of gnuplot will hopefully include Bruce's - version. - diff --git a/0PORTING b/PORTING similarity index 100% rename from 0PORTING rename to PORTING diff --git a/0README b/README similarity index 100% rename from 0README rename to README