Annotation of OpenXM_contrib/gnuplot/docs/gpcard.tex, Revision 1.1
1.1 ! maekawa 1: % Quick Reference Card for GNUPLOT 1992
! 2: % Format stolen shamelessly from the GNU Emacs reference card
! 3: %**start of header
! 4: \special{landscape}
! 5: \newcount\columnsperpage
! 6:
! 7: % This file can be printed with 1, 2, or 3 columns per page (see below).
! 8: % Specify how many you want here. Nothing else needs to be changed.
! 9: % For GNUPLOT refcard, entries are too wide for 3 columns. Print
! 10: % 2 columns landscape
! 11:
! 12: \columnsperpage=2
! 13:
! 14: % Copyright (c) 1987 Free Software Foundation, Inc.
! 15:
! 16: % This file is part of GNU Emacs, but was adapted for the GNUPLOT
! 17: % reference card because it was so nicely set up.
! 18:
! 19: % This file is intended to be processed by plain TeX (TeX82).
! 20: %
! 21: % The final reference card has six columns, three on each side.
! 22: % This file can be used to produce it in any of three ways:
! 23: % 1 column per page
! 24: % produces six separate pages, each of which needs to be reduced to 80%.
! 25: % This gives the best resolution.
! 26: % 2 columns per page
! 27: % produces three already-reduced pages.
! 28: % You will still need to cut and paste.
! 29: % 3 columns per page
! 30: % produces two pages which must be printed sideways to make a
! 31: % ready-to-use 8.5 x 11 inch reference card.
! 32: % For this you need a dvi device driver that can print sideways.
! 33: % Which mode to use is controlled by setting \columnsperpage above.
! 34: %
! 35: % Author of GNU Emacs Refcard:
! 36: % Stephen Gildea
! 37: % UUCP: mit-erl!gildea
! 38: % Internet: gildea@erl.mit.edu
! 39: %
! 40: % Thanks to Paul Rubin, Bob Chassell, Len Tower, and Richard Mlynarik
! 41: % for their many good ideas.
! 42: %
! 43: % Person who ripped off the formatter:
! 44: % Alex Woo
! 45: % NASA Ames Research Center
! 46: % Internet: woo@ames.arc.nasa.gov
! 47: %
! 48: % Modified on 9 Dec 1992 by:
! 49: % Daniel S. Lewart
! 50: % University of Illinois
! 51: % Internet: d-lewart@uiuc.edu
! 52:
! 53: % make \bye not \outer so that the \def\bye in the \else clause below
! 54: % can be scanned without complaint.
! 55: \def\bye{\par\vfill\supereject\end}
! 56:
! 57: \def\copyrightnotice{
! 58: \vskip 1ex plus 2 fill\begingroup\small
! 59: Layout adapted from the \TeX\ source for Stephen Gildea's GNU Emacs
! 60: Reference Card (version 1.8).
! 61:
! 62: PostScript is a registered trademark of Adobe Systems Incorporated.
! 63: GNU, Versatec, Imagen, Printronix, Canon, GraphOn, Visual, MicroVAX,
! 64: UIS, Tektronix, Unix, VAX, VMS, NeWS, SunView, and em4010 are all
! 65: trademarks of various companies. We endorse none of them.
! 66:
! 67: \endgroup}
! 68:
! 69: \newdimen\intercolumnskip
! 70: \newbox\columna
! 71: \newbox\columnb
! 72:
! 73: \def\ncolumns{\the\columnsperpage}
! 74:
! 75: \message{[\ncolumns\space
! 76: column\if 1\ncolumns\else s\fi\space per page]}
! 77:
! 78: \def\scaledmag#1{ scaled \magstep #1}
! 79:
! 80: % This multi-way format was designed by Stephen Gildea
! 81: % October 1986.
! 82: % modified for GNUPLOT refcard by Alex Woo
! 83:
! 84: \if 1\ncolumns
! 85: % \hsize 4in
! 86: \hsize 6in
! 87: \vsize 10in
! 88: \voffset -.7in
! 89: \font\titlefont=\fontname\tenbf \scaledmag3
! 90: \font\headingfont=\fontname\tenbf \scaledmag2
! 91: \font\smallfont=\fontname\sevenrm
! 92: \font\smallsy=\fontname\sevensy
! 93:
! 94: \footline{\hss\folio}
! 95: \def\makefootline{\baselineskip10pt\hsize6.5in\line{\the\footline}}
! 96: \else
! 97: % \hsize 3.2in
! 98: \hsize 5in
! 99: \vsize 7.95in
! 100: \hoffset -.75in
! 101: \voffset -.745in
! 102: \font\titlefont=cmbx10 \scaledmag2
! 103: \font\headingfont=cmbx10 \scaledmag1
! 104: \font\smallfont=cmr6
! 105: \font\smallsy=cmsy6
! 106: \font\eightrm=cmr8
! 107: \font\eightbf=cmbx8
! 108: \font\eightit=cmti8
! 109: \font\eighttt=cmtt8
! 110: \font\eightsy=cmsy8
! 111: \textfont0=\eightrm
! 112: \textfont2=\eightsy
! 113: \def\rm{\eightrm}
! 114: \def\bf{\eightbf}
! 115: \def\it{\eightit}
! 116: \def\tt{\eighttt}
! 117: \normalbaselineskip=.8\normalbaselineskip
! 118: \normallineskip=.8\normallineskip
! 119: \normallineskiplimit=.8\normallineskiplimit
! 120: \normalbaselines\rm %make definitions take effect
! 121:
! 122: \if 2\ncolumns
! 123: \let\maxcolumn=b
! 124: \footline{\hss\rm\folio\hss}
! 125: \def\makefootline{\vskip 2in \hsize=6.86in\line{\the\footline}}
! 126: \else \if 3\ncolumns
! 127: \let\maxcolumn=c
! 128: \nopagenumbers
! 129: \else
! 130: \errhelp{You must set \columnsperpage equal to 1, 2, or 3.}
! 131: \errmessage{Illegal number of columns per page}
! 132: \fi\fi
! 133:
! 134: \intercolumnskip=.46in
! 135: \def\abc{a}
! 136: \output={%
! 137: % This next line is useful when designing the layout.
! 138: %\immediate\write16{Column \folio\abc\space starts with \firstmark}
! 139: \if \maxcolumn\abc \multicolumnformat \global\def\abc{a}
! 140: \else\if a\abc
! 141: \global\setbox\columna\columnbox \global\def\abc{b}
! 142: %% in case we never use \columnb (two-column mode)
! 143: \global\setbox\columnb\hbox to -\intercolumnskip{}
! 144: \else
! 145: \global\setbox\columnb\columnbox \global\def\abc{c}\fi\fi}
! 146: \def\multicolumnformat{\shipout\vbox{\makeheadline
! 147: \hbox{\box\columna\hskip\intercolumnskip
! 148: \box\columnb\hskip\intercolumnskip\columnbox}
! 149: \makefootline}\advancepageno}
! 150: \def\columnbox{\leftline{\pagebody}}
! 151:
! 152: \def\bye{\par\vfill\supereject
! 153: \if a\abc \else\null\vfill\eject\fi
! 154: \if a\abc \else\null\vfill\eject\fi
! 155: \end}
! 156: \fi
! 157:
! 158: % we won't be using math mode much, so redefine some of the characters
! 159: % we might want to talk about
! 160: \catcode`\^=12
! 161: \catcode`\_=12
! 162:
! 163: \chardef\\=`\\
! 164: \chardef\{=`\{
! 165: \chardef\}=`\}
! 166:
! 167: \hyphenation{mini-buf-fer}
! 168:
! 169: \parindent 0pt
! 170: \parskip 1ex plus .5ex minus .5ex
! 171:
! 172: \def\small{\smallfont\textfont2=\smallsy\baselineskip=.8\baselineskip}
! 173:
! 174: \outer\def\newcolumn{\vfill\eject}
! 175:
! 176: \outer\def\title#1{{\titlefont\centerline{#1}}\vskip 1ex plus .5ex}
! 177:
! 178: \outer\def\section#1{\par\filbreak
! 179: \vskip 3ex plus 2ex minus 2ex {\headingfont #1}\mark{#1}%
! 180: \vskip 2ex plus 1ex minus 1.5ex}
! 181:
! 182: \newdimen\keyindent
! 183:
! 184: \def\beginindentedkeys{\keyindent=1em}
! 185: \def\endindentedkeys{\keyindent=0em}
! 186: \endindentedkeys
! 187:
! 188: \def\paralign{\vskip\parskip\halign}
! 189:
! 190: \def\<#1>{$\langle${\rm #1}$\rangle$}
! 191:
! 192: \def\kbd#1{{\tt#1}\null} %\null so not an abbrev even if period follows
! 193:
! 194: \def\beginexample{\par\leavevmode\begingroup
! 195: \obeylines\obeyspaces\parskip0pt\tt}
! 196: {\obeyspaces\global\let =\ }
! 197: \def\endexample{\endgroup}
! 198:
! 199:
! 200: \def\key#1#2{\leavevmode\hbox to \hsize{\vtop
! 201: % {\hsize=.75\hsize\rightskip=1em
! 202: {\hsize=.5\hsize\rightskip=1em
! 203: \hskip\keyindent\relax#1}\kbd{#2}\hfil}}
! 204:
! 205: \newbox\metaxbox
! 206: \setbox\metaxbox\hbox{\kbd{M-x }}
! 207: \newdimen\metaxwidth
! 208: \metaxwidth=\wd\metaxbox
! 209:
! 210: \def\metax#1#2{\leavevmode\hbox to \hsize{\hbox to .75\hsize
! 211: {\hskip\keyindent\relax#1\hfil}%
! 212: \hskip -\metaxwidth minus 1fil
! 213: \kbd{#2}\hfil}}
! 214:
! 215: \def\threecol#1#2#3{\hskip\keyindent\relax#1\hfil&\kbd{#2}\quad
! 216: &\kbd{#3}\quad\cr}
! 217:
! 218: %**end of header
! 219:
! 220:
! 221: \title{GNUPLOT Quick Reference}
! 222:
! 223: \centerline{(Copyright(c) Alex Woo 1992 June 1)}
! 224:
! 225: \section{Starting GNUPLOT}
! 226:
! 227: \key{to enter GNUPLOT}{gnuplot}
! 228: \key{to enter batch GNUPLOT}{gnuplot macro_file}
! 229: \key{to pipe commands to GNUPLOT}{application | gnuplot}
! 230:
! 231: see below for environment variables you might want to change
! 232: before entering GNUPLOT.
! 233:
! 234: \section{Exiting GNUPLOT}
! 235:
! 236: \key{exit GNUPLOT}{quit}
! 237:
! 238: All GNUPLOT commands can be abbreviated to the first few
! 239: unique letters, usually three characters. This reference uses
! 240: the complete name for clarity.
! 241:
! 242: \section{Getting Help}
! 243:
! 244: \key{introductory help} {help plot}
! 245: \key{help on a topic}{help <topic>}
! 246: \key{list of all help available}{help or ?}
! 247: \key{show current environment}{show all}
! 248: \section{Command-line Editing}
! 249:
! 250: The UNIX, MS-DOS and VMS versions of GNUPLOT support command-line
! 251: editing and a command history. EMACS style editing is supported.
! 252:
! 253: \beginindentedkeys
! 254:
! 255: Line Editing:
! 256:
! 257: \key{move back a single character}{^ B}
! 258: \key{move forward a single character}{^ F}
! 259: \key{moves to the beginning of the line}{^ A}
! 260: \key{moves to the end of the line}{^ E}
! 261: \key{delete the previous character} {^ H and DEL }
! 262: \key{deletes the current character} {^ D}
! 263: \key{deletes to the end of line}{^ K}
! 264: \key{redraws line in case it gets trashed}{ ^ L,^ R}
! 265: \key{deletes the entire line}{ ^ U}
! 266: \key{deletes the last word}{ ^ W}
! 267: \endindentedkeys
! 268: \beginindentedkeys
! 269:
! 270: History:
! 271:
! 272: \key{moves back through history}{ ^ P }
! 273: \key{moves forward through history}{ ^ N }
! 274: \endindentedkeys
! 275:
! 276: The following arrow keys may be used on the MS-DOS version if READLINE is
! 277: used.
! 278:
! 279: \beginindentedkeys
! 280: IBM PC Arrow Keys:
! 281:
! 282: \key{Left Arrow}{same as ^ B}
! 283: \key{Right Arrow}{same as ^ F}
! 284: \key{Ctrl Left Arrow}{same as ^ A}
! 285: \key{Ctrl Right Arrow}{same as ^ E}
! 286: \key{Up Arrow}{same as ^ P}
! 287: \key{Down Arrow}{same as ^ N}
! 288: \endindentedkeys
! 289:
! 290:
! 291:
! 292: \section{Graphics Devices}
! 293:
! 294: All screen graphics devices are specified by names and options.
! 295: This information can be read from a startup file (.gnuplot in UNIX).
! 296: If you change the graphics device, you must replot with the
! 297: \kbd{replot} command.
! 298:
! 299: \key{get a list of valid devices }{set terminal [options]}
! 300:
! 301: \beginindentedkeys
! 302:
! 303: Graphics Terminals:
! 304:
! 305: \key{AED 512 Terminal} {set term aed512}
! 306: \key{AED 767 Terminal} {set term aed767}
! 307: \key{Amiga} {set term amiga}
! 308: \key{Adobe Illustrator 3.0 Format} {set term aifm}
! 309: \key{Apollo graphics primitive, rescalable} {set term apollo}
! 310: \key{Atari ST} {set term atari}
! 311: \key{BBN Bitgraph Terminal} {set term bitgraph}
! 312: \key{SCO CGI Driver} {set term cgi}
! 313: \key{Apollo graphics primitive, fixed window} {set term gpr}
! 314: \key{SGI GL window} {set term iris4d [8 24]}
! 315: \key{MS-DOS Kermit Tek4010 term - color} {set term kc_tek40xx}
! 316: \key{MS-DOS Kermit Tek4010 term - mono} {set term km_tek40xx}
! 317: \key{NeXTstep window system} {set term next}
! 318: \key{REGIS graphics language} {set term regis}
! 319: \key{Selanar Tek Terminal} {set term selanar}
! 320: \key{SunView window system} {set term sun}
! 321: \key{Tektronix 4106, 4107, 4109 \& 420X } {set term tek4OD10x}
! 322: \key{Tektronix 4010; most TEK emulators} {set term tek40xx}
! 323: \key{VAX UIS window system} {set term VMS}
! 324: \key{VT-like tek40xx terminal emulator} {set term vttek}
! 325: \key{UNIX plotting (not always supplied)} {set term unixplot}
! 326: \key{AT\&T 3b1 or 7300 UNIXPC} {set term unixpc}
! 327: \key{X11 default display device} {set term x11}
! 328: \key{X11 multicolor point default device} {set term X11}
! 329:
! 330: \endindentedkeys
! 331:
! 332: \beginindentedkeys
! 333:
! 334: Turbo C PC Graphics Modes:
! 335:
! 336: \key{Hercules}{set term hercules}
! 337: \key{Color Graphics Adaptor}{set term cga}
! 338: \key{Monochrome CGA}{set term mcga}
! 339: \key{Extended Graphics Adaptor}{set term ega}
! 340: \key{VGA} {set term vga}
! 341: \key{Monochrome VGA} {set term vgamono}
! 342: \key{Super VGA - requires SVGA driver}{set term svga}
! 343: \key{AT\&T 6300 Micro}{set term att}
! 344:
! 345: \endindentedkeys
! 346:
! 347: MS Windows 3.x and OS/2 Presentation Manager are also supported.
! 348:
! 349: \beginindentedkeys
! 350:
! 351: Hardcopy Devices:
! 352:
! 353: \key{Unknown - not a plotting device} {set term unknown}
! 354: \key{Dump ASCII table of X Y [Z] values}{set term table}
! 355: \key{printer or glass dumb terminal} {set term dumb}
! 356: \key{Roland DXY800A plotter} {set term dxy800a}
! 357:
! 358: Dot Matrix Printers
! 359:
! 360: \key{Epson-style 60-dot per inch printers} {set term epson_60dpi}
! 361: \key{Epson LX-800, Star NL-10 }{set term epson_lx800}
! 362: \key{NX-1000, PROPRINTER }{set term epson_lx800}
! 363: \key{NEC printer CP6, Epson LQ-800 }
! 364: {set term nec_cp6 [monochrome color draft]}
! 365: \key{Star Color Printer} {set term starc}
! 366: \key{Tandy DMP-130 60-dot per inch } {set term tandy_60dpi}
! 367: \key{Vectrix 384 \& Tandy color printer} {set term vx384}
! 368:
! 369: Laser Printers
! 370:
! 371: \key{Talaris EXCL language}{set term excl}
! 372: \key{Imagen laser printer} {set term imagen}
! 373: \key{LN03-Plus in EGM mode} {set term ln03}
! 374: \key{PostScript graphics language }
! 375: {set term post [mode color `font' size]}
! 376: \key{CorelDraw EPS}
! 377: {set term corel [mode color `font' size]}
! 378: \key{Prescribe - for the Kyocera Laser Printer} {set term prescribe}
! 379: \key{Kyocera Laser Printer with Courier font} {set term kyo}
! 380: \key{QMS/QUIC Laser (also Talaris 1200 )}{set term qms}
! 381:
! 382: Metafiles
! 383:
! 384: \key{AutoCAD DXF (120x80 default)} {set term dxf}
! 385: \key{FIG graphics language: SunView or X }{set term fig}
! 386: \key{FIG graphics language: Large Graph}{set term bfig}
! 387: \key{SCO hardcopy CGI}{set term hcgi}
! 388: \key{Frame Maker MIF 3.0}
! 389: {set term mif [pentype curvetype help]}
! 390: \key{Portable bitmap} {set term pbm [fontsize color]}
! 391: \key{Uniplex Redwood Graphics Interface Protocol}{set term rgip}
! 392: \key{TGIF language} {set term tgif}
! 393:
! 394: HP Devices
! 395:
! 396: \key{HP2623A and maybe others} {set term hp2623A}
! 397: \key{HP2648 and HP2647} {set term hp2648}
! 398: \key{HP7580, \& probably other HPs (4 pens)} {set term hp7580B}
! 399: \key{HP7475 \& lots of others (6 pens)} {set term hpgl}
! 400: \key{HP Laserjet series II \& clones} {set term hpljii [75 100 150 300]}
! 401: \key{HP DeskJet 500} {set term hpdj [75 100 150 300]}
! 402: \key{HP PaintJet \& HP3630 }
! 403: {set term hppj [FNT5X9 FNT9X17 FNT13x25]}
! 404: \key{HP laserjet III ( HPGL plot vectors)}
! 405: {set term pcl5 [mode font fontsize ]}
! 406:
! 407: TeX picture environments
! 408:
! 409: \key{LaTeX picture environment} {set term latex}
! 410: \key{EEPIC -- extended LaTeX picture } {set term eepic}
! 411: \key{LaTeX picture with emTeX specials} {set term emtex}
! 412: \key{PSTricks macros for TeX or LaTeX} {set term pstricks}
! 413: \key{TPIC specials for TeX or LaTeX} {set term tpic}
! 414: \key{MetaFont font generation input} {set term mf}
! 415:
! 416:
! 417: \endindentedkeys
! 418:
! 419: \section{Files}
! 420:
! 421: \key{{\bf plot} a data file}{plot `fspec'}
! 422: \key{{\bf load} in a macro file}{load `fspec'}
! 423: \key{{\bf save} command buffer to a macro file}{save `fspec'}
! 424: \key{{\bf save settings} for later reuse}{save set `fpec'}
! 425:
! 426: \section{PLOT \& SPLOT commands}
! 427:
! 428:
! 429: {\bf plot} and {\bf splot} are the primary commands
! 430: {\bf plot} is used to plot 2-d
! 431: functions and data, while {\bf splot} plots 3-d surfaces and data.
! 432:
! 433: Syntax:
! 434:
! 435: plot $\{$ranges$\}$ $<$function$> \{$title$\} \{$style$\}$
! 436: $\{, <$function$> \{$title$\} \{$style$\}...\}$
! 437:
! 438: splot $\{$ranges$\} <$function$> \{$title$\} \{$style$\}$
! 439: $\{, <$function$> \{$title$\} \{$style$\}...\}$
! 440:
! 441: where $<$function$>$ is either a mathematical expression, the name of a
! 442: data file enclosed in quotes, or a pair ({\bf plot}) or triple ({\bf splot})
! 443: of mathematical expressions in the case of parametric functions.
! 444: User-defined functions and variables may also be defined here.
! 445: Examples will be given below.
! 446:
! 447: \section{Plotting Data}
! 448: Discrete data contained in a file can displayed by specifying the
! 449: name of the data file (enclosed in quotes) on the {\bf plot} or {\bf splot}
! 450: command line. Data files should contain one data point per line.
! 451: Lines beginning with \# (or ! on VMS) will be treated as comments
! 452: and ignored. For {\bf plot}s, each data point represents an (x,y)
! 453: pair. For {\bf splot}s, each point is an (x,y,z) triple. For {\bf plot}s with
! 454: error bars (see {\bf plot errorbars}), each data point is either
! 455: (x,y,ydelta), (x,y,ylow,yhigh), (x,y,xlow,xhigh), (x,y,xdelta,ydelta), or
! 456: (x,y,xlow,xhigh,ylow,yhigh). In all cases, the numbers on each
! 457: line of a data file must be separated by blank space. This blank
! 458: space divides each line into columns.
! 459:
! 460: For {\bf plot}s the x value may be omitted, and for {\bf splot}s the x
! 461: and y values may be omitted. In either case the omitted values are
! 462: assigned the current coordinate number. Coordinate numbers start at 0
! 463: and are incremented for each data point read.
! 464:
! 465: \section{Surface Plotting}
! 466: Implicitly, there are two types of 3-d datafiles. If all the isolines
! 467: are of the same length, the data is assumed to be a grid data, i.e.,
! 468: the data has a grid topology. Cross isolines in the other parametric
! 469: direction (the ith cross isoline passes thru the ith point of all the
! 470: provided isolines) will also be drawn for grid data. (Note contouring
! 471: is available for grid data only.) If all the isolines are not of the
! 472: same length, no cross isolines will be drawn and contouring that data
! 473: is impossible.
! 474:
! 475: For splot if 3-d datafile and using format (see {\bf splot datafile using})
! 476: specify only z (height field), a non parametric mode must be specified.
! 477: If, on the other hand, x, y, and z are all specified, a parametric
! 478: mode should be selected (see {\bf set parametric}) since data is defining a
! 479: parametric surface.
! 480:
! 481: \key{example of plotting a 3-d data}{set parametric;splot 'glass.dat'}
! 482: \key{example of plotting explicit}{set noparametric;splot 'datafile.dat'}
! 483:
! 484: \section{Using Pipes}
! 485:
! 486: On some computer systems with a popen function (UNIX), the datafile
! 487: can be piped through a shell command by starting the file name
! 488: with a '$<$'. For example:
! 489:
! 490: pop(x) = 103*exp(x/10)
! 491: plot "$<$ awk '$\{$ print \$1-1965 \$2 $\}$' population.dat", pop(x)
! 492:
! 493: would plot the same information as the first population example
! 494: but with years since 1965 as the x axis.
! 495:
! 496: Similarly, output can be piped to another application, e.g.
! 497:
! 498: set out "$|$lpr -Pmy\_laser\_printer"
! 499:
! 500: \section{Plot Data Using}
! 501: The format of data within a file can be selected with the {\bf using}
! 502: option. An explicit scanf string can be used, or simpler column
! 503: choices can be made.
! 504:
! 505: \key{plot "datafile"}{ $\{$ using $\{ <$ycol$> |$}
! 506: \key{}{$<$xcol$>:<$ycol$> |$}
! 507: \key{}{$<$xcol$>:<$ycol$>:<$ydelta$> |$}
! 508: \key{}{$<$xcol$>:<$ycol$>:<$width$> |$}
! 509: \key{}{$<$xcol$>:<$ycol$>:<$xdelta$> |$}
! 510: \key{}{$<$xcol$>:<$ycol$>:<$ylo$>:<$yhi$> |$}
! 511: \key{}{$<$xcol$>:<$ycol$>:<$xlo$>:<$xhi$> |$}
! 512: \key{}{$<$xcol$>:<$ycol$>:<$xdelta$>:<$ydelta$> |$}
! 513: \key{}{$<$xcol$>:<$ycol$>:<$ydelta$>:<$width$> |$}
! 514: \key{}{$<$xcol$>:<$ycol$>:<$ylo$>:<$yhi$>:<$width$> |$}
! 515: \key{}{$<$xc$>:<$yc$>:<$xlo$>:<$xhi$>:<$ylo$>:<$yhi$> \}$}
! 516: \key{}{$\{$"<scanf string>"$\} \} ...$}
! 517:
! 518: \key{splot "datafile"}
! 519: {$\{$ using $\{ <$xcol$>:<$ycol$>:<$zcol$> \}$}
! 520: \key{}{$\{"<$scanf string$>"\} \} ...$}
! 521:
! 522: $<$xcol$>$, $<$ycol$>$, and $<$zcol$>$ explicitly select the columns to plot from
! 523: a space or tab separated multicolumn data file. If only $<$ycol$>$ is
! 524: selected for {\bf plot}, $<$xcol$>$ defaults to 1. If only $<$zcol$>$ is selected
! 525: for {\bf splot}, then only that column is read from the file. An $<$xcol$>$ of
! 526: 0 forces $<$ycol$>$ to be plotted versus its coordinate number. $<$xcol$>$,
! 527: $<$ycol$>$, and $<$zcol$>$ can be entered as constants or expressions.
! 528:
! 529: If errorbars (see also {\bf plot errorbars}) are used for {\bf plot}s,
! 530: xdelta or ydelta (for example, a +/- error) should be provided as the third
! 531: column, or (x,y)low and (x,y)high as third and fourth columns. These columns
! 532: must follow the x and y columns. If errorbars in both directions are wanted
! 533: then xdelta and ydelta should be in the third and fourth columns, respectively,
! 534: or xlow, xhigh, ylow, yhigh should be in the third, fourth, fifth, and sixth
! 535: columns, respectively.
! 536:
! 537: Scanf strings override any $<$xcol$>$:$<$ycol$>$(:$<$zcol$>$) choices, except for
! 538: ordering of input, e.g.,
! 539:
! 540: \key{plot "datafile"}{ using 2:1 "\%f\%*f\%f"}
! 541:
! 542: causes the first column to be y and the third column to be x.
! 543:
! 544: If the scanf string is omitted, the default is generated based on the
! 545: $<$xcol$>$:$<$ycol$>$(:$<$zcol$>$) choices. If the {\bf using} option is omitted, ''\%f\%f''
! 546: is used for {\bf plot} (''\%f\%f\%f\%f'' or ''\%f\%f\%f\%f\%f\%f'' for {\bf
! 547: errorbar} {\bf plot}s) and ''\%f\%f\%f'' is used for {\bf splot}.
! 548:
! 549: \key{plot "MyData"} {using "\%*f\%f\%*20[^$\backslash$n]\%f" w lines}
! 550:
! 551: Data are read from the file ``MyData'' using the format
! 552: ''\%*f\%f\%*20[^$\backslash$n]\%f''. The meaning of this format is: ''\%*f'' ignore the
! 553: first number, ''\%f'' then read in the second and assign to x,
! 554: ''\%*20[^$\backslash$n]'' then ignore 20 non-newline characters, ''\%f'' then read in
! 555: the y value.
! 556:
! 557: \section{Plot With Errorbars}
! 558: Error bars are supported for 2-d data file plots by reading one to
! 559: four additional columns specifying ydelta, ylow and yhigh, xdelta,
! 560: xlow and xhigh, xdelta and ydelta, or xlow, xhigh, ylow, and yhigh
! 561: respectively. No support exists for error bars for {\bf splot}s.
! 562:
! 563: In the default situation, GNUPLOT expects to see three to six
! 564: numbers on each line of the data file, either (x, y, ydelta),
! 565: (x, y, ylow, yhigh), (x, y, xdelta), (x, y, xlow, xhigh),
! 566: (x, y, xdelta, ydelta), or (x, y, xlow, xhigh, ylow, yhigh). The x
! 567: coordinate must be specified. The order of the numbers must be exactly
! 568: as given above. Data files in this format can easily be plotted with error
! 569: bars:
! 570:
! 571: plot "data.dat" with errorbars (or yerrorbars)
! 572:
! 573: plot "data.dat" with xerrorbars
! 574:
! 575: plot "data.dat" with xyerrorbars
! 576:
! 577: The error bar is a line plotted from (x, ylow) to (x,
! 578: yhigh) or (xlow, y) to (xhigh, y). If ydelta is specified instead
! 579: of ylow and yhigh, ylow=y-ydelta and yhigh=y+ydelta are derived. The
! 580: values for xlow and xhigh are derived similarly from xdelta. If there
! 581: are only two numbers on the line, yhigh and ylow are both set to
! 582: y and xhigh and xlow are both set to x. To get lines plotted between
! 583: the data points, {\bf plot} the data file twice, once with errorbars and
! 584: once with lines.
! 585:
! 586: If x or y autoscaling is on, the x or y range will be adjusted to fit the
! 587: error bars.
! 588:
! 589: Boxes may be drawn with y error bars using the {\bf boxerrorbars} style. The
! 590: width of the box may be either set with the "set boxwidth" command, given in
! 591: one of the data columns, or calculated automatically so each box touches the
! 592: adjacent boxes.
! 593: Boxes may be drawn instead of the cross drawn for the {\bf xyerrorbars} style
! 594: by using the {\bf boxxyerrorbars} style.
! 595:
! 596: \key{x,y,ylow \& yhigh from columns 1,2,3,4}{plot "data.dat" us 1:2:3:4 w errorbars}
! 597: \key{x from third, y from second, xdelta from 6}{plot "data.dat" using 3:2:6 w xerrorbars}
! 598: \key{x,y,xdelta \& ydelta from columns 1,2,3,4}{plot "data.dat" us 1:2:3:4 w
! 599: xyerrorbars}
! 600:
! 601: \section{Plot Ranges}
! 602: The optional range specifies the region of the plot that will be
! 603: displayed.
! 604:
! 605: Ranges may be provided on the {\bf plot} and {\bf splot} command line and
! 606: affect only that plot, or in the {\bf set xrange}, {\bf set yrange}, etc.,
! 607: commands, to change the default ranges for future plots.
! 608:
! 609: \key{[$\{<$dummy-var$> =\} \{<$xmin$> : <$xmax$>\}$]} { $\{$ [$\{<$ymin$> : <$ymax$>\}$] $\}$}
! 610:
! 611: where $<$dummy-var$>$ is the independent variable (the defaults are x and
! 612: y, but this may be changed with {\bf set dummy}) and the min and max
! 613: terms can be constant expressions.
! 614:
! 615: Both the min and max terms are optional. The ':' is also optional
! 616: if neither a min nor a max term is specified. This allows '[ ]' to
! 617: be used as a null range specification.
! 618:
! 619: Specifying a range in the {\bf plot} command line turns autoscaling for
! 620: that axis off for that plot. Using one of the {\bf set} range commands
! 621: turns autoscaling off for that axis for future plots, unless changed
! 622: later. (See {\bf set autoscale}).
! 623:
! 624: \key{This uses the current ranges}{plot cos(x)}
! 625: \key{This sets the x range only}{plot [-10:30] sin(pi*x)/(pi*x)}
! 626: \key{This sets both the x and y ranges}{plot [-pi:pi] [-3:3] tan(x), 1/x}
! 627: \key{sets only y range, \&} {plot [ ] [-2:sin(5)*-8] sin(x)**besj0(x)}
! 628: \key{turns off autoscaling on both axes}{}
! 629: \key{This sets xmax and ymin only}{plot [:200] [-pi:] exp(sin(x))}
! 630: \key{This sets the x, y, and z ranges}{splot [0:3] [1:4] [-1:1] x*y}
! 631:
! 632: \section{Plot With Style}
! 633: Plots may be displayed in one of twelve styles: {\bf lines}, {\bf points},
! 634: {\bf linespoints}, {\bf impulses}, {\bf dots}, {\bf steps},
! 635: {\bf errorbars} (or {\bf yerrorbars}), {\bf xerrorbars}, {\bf xyerrorbars},
! 636: {\bf boxes}, {\bf boxerrorbars}, or {\bf boxxyerrorbars}. The {\bf lines} style
! 637: connects adjacent points with lines. The {\bf points} style displays a
! 638: small symbol at each point. The {\bf linespoints} style does both
! 639: {\bf lines} and {\bf points}. The {\bf impulses} style displays a vertical line
! 640: from the x axis (or from the grid base for {\bf splot}) to each point. The
! 641: {\bf dots} style plots a tiny dot at each point; this is useful for
! 642: scatter plots with many points. The {\bf steps} style is used for drawing
! 643: stairstep-like functions. The {\bf boxes} style may be used for barcharts.
! 644:
! 645: The {\bf errorbars} style is only relevant to 2-d data file plotting. It
! 646: is treated like {\bf points} for {\bf splot}s and function {\bf plot}s. For
! 647: data
! 648: {\bf plot}s, {\bf errorbars} is like {\bf points}, except that a vertical error
! 649: bar is also drawn: for each point (x,y), a line is drawn from
! 650: (x,ylow) to (x,yhigh). A tic mark is placed at the ends of the error
! 651: bar. The ylow and yhigh values are read from the data file's columns,
! 652: as specified with the {\bf using} option to plot. The {\bf xerrorbars}
! 653: style is similar except that it draws a horizontal error bar from xlow to
! 654: xhigh. The {\bf xyerrorbars} or {\bf boxxyerrorbars} style is used for data
! 655: with errors in both x and y. A barchart style may be used in conjunction with y
! 656: error bars through the use of {\bf boxerrorbars}. The See {\bf plot errorbars}
! 657: for more information.
! 658:
! 659: Default styles are chosen with the {\bf set function style} and
! 660: {\bf set data style} commands.
! 661:
! 662: By default, each function and data file will use a different
! 663: line type and point type, up to the maximum number of available
! 664: types. All terminal drivers support at least six different point
! 665: types, and re-use them, in order, if more than six are required.
! 666: The LaTeX driver supplies an additional six point types (all variants
! 667: of a circle), and thus will only repeat after twelve curves are
! 668: plotted with points.
! 669:
! 670: If desired, the style and (optionally) the line type and point type
! 671: used for a curve can be specified.
! 672:
! 673: \key{with $<$style$>$}{$ \{<$linetype$> \{<$pointtype$>\}\}$}
! 674:
! 675: where $<$style$>$ is either {\bf lines}, {\bf points}, {\bf linespoints}, {\bf impulses},
! 676: {\bf dots}, {\bf steps}, {\bf errorbars} (or {\bf yerrorbars}),
! 677: {\bf xerrorbars}, {\bf xyerrorbars}, {\bf boxes}, {\bf boxerrorbars},
! 678: {\bf boxxyerrorbars}.
! 679:
! 680: The $<$linetype$>$ \& $<$pointtype$>$ are positive
! 681: integer constants or expressions and specify the line type and point
! 682: type to be used for the plot. Line type 1 is the first line type used
! 683: by default, line type 2 is the second line type used by default, etc.
! 684:
! 685: \key{plots sin(x) with impulses}{plot sin(x) with impulses}
! 686: \key{plots x*y with points, x**2 + y**2 default}{splot x*y w points, x**2 + y**2}
! 687: \key{plots tan(x) with default function style}
! 688: {plot [ ] [-2:5] tan(x)}
! 689: \key{plots ``data.1'' with lines}{plot "data.1" with l}
! 690: \key{plots ``leastsq.dat'' with impulses} {plot 'leastsq.dat' w i}
! 691: \key{plots ``exper.dat'' with errorbars \& }
! 692: {plot 'exper.dat' w l, 'exper.dat' w err}
! 693: \key{ lines connecting points}{}
! 694:
! 695: Here 'exper.dat' should have three or four data columns.
! 696:
! 697: \key{plots x**2 + y**2 and x**2 - y**2 with the same line type}
! 698: {splot x**2 + y**2 w l 1, x**2 - y**2 w l 1}
! 699: \key{plots sin(x) and cos(x) with linespoints, using}
! 700: {plot sin(x) w linesp 1 3, \\}
! 701: \key{ the same line type but different point types}{ cos(x) w linesp 1 4}
! 702: \key{plots file ``data'' with points style 3}
! 703: {plot "data" with points 1 3}
! 704:
! 705: Note that the line style must be specified when specifying the point
! 706: style, even when it is irrelevant. Here the line style is 1 and the
! 707: point style is 3, and the line style is irrelevant.
! 708:
! 709: See {\bf set style} to change the default styles.
! 710:
! 711: \section{Plot Title}
! 712:
! 713: A title of each plot appears in the key. By default the title is
! 714: the function or file name as it appears on the plot command line.
! 715: The title can be changed by using the {\bf title} option. This option
! 716: should precede any {\bf with} option.
! 717:
! 718: \key{ title "$<$title$>$"}{}
! 719:
! 720: where $<$title$>$ is the new title of the plot and must be enclosed in
! 721: quotes. The quotes will not be shown in the key.
! 722:
! 723: \key{plots y=x with the title 'x'} {plot x}
! 724: \key{plots the ``glass.dat'' file}
! 725: {splot "glass.dat" tit 'revolution surface'}
! 726: \key{with the title 'revolution surface'}{}
! 727: \key{plots x squared with title ``x^2'' and ``data.1''}
! 728: {plot x**2 t "x^2", \\}
! 729: \key{ with title 'measured data'}{ "data.1" t 'measured data'}
! 730:
! 731: \section{Set-Show Commands}
! 732:
! 733: \beginindentedkeys
! 734: \key{all commands below begin with set}{set}
! 735: \key{set mapping of polar angles}{angles [degrees|radians]}
! 736: \key{arrows from point to}{arrow [<tag>][from <sx>,<sy>,<sz>]}
! 737: \key{}{ [to <ex>,<ey>,<ez>][nohead]}
! 738: \key{force autoscaling of an axis}{autoscale [<axes>]}
! 739: \key{enter/exit parametric mode} {[no]parametric}
! 740: \key{display border}{[no]border}
! 741: \key{clip points/line near boundaries}{[no]clip <clip-type>}
! 742: \key{specify parameters for contour plots}{cntrparam
! 743: [spline][points][order][levels]}
! 744: \key{enable splot contour plots}{[no]contour [base|surface|both]}
! 745: \key{default plotting style for data}{data style <style-choice>}
! 746: \key{specify dummy variable}{dummy <dummy1>,<dummy2>...}
! 747: \key{tic-mark label format specification}{format
! 748: [<axes>]["format-string"]}
! 749: \key{function plotting style}{function style <style-choice>}
! 750: \key{draw a grid at major tick marks \& minor tics (optional)}{[no]grid [mxgrid
! 751: OR mygrid]}
! 752: \key{enables hiddenline removal}{[no]hidden3d}
! 753: \key{specify number of isolines}{isosamples <expression>}
! 754: \key{enables key of curves in plot}{key <x>,<y>,<z>}
! 755: \key{logscaling of an axes (optionally giving base)}{logscale <axes> [<base>]}
! 756: \key{mapping 3D coordinates}{mapping
! 757: [cartesian|spherical|cylindrical]}
! 758: \key{offsets from center of graph}{offsets
! 759: <left>,<right>,<top>,<bottom>}
! 760: \key{mapping 2D coordinates}{[no]polar}
! 761: \key{set radial range}{rrange [<rmin>:<rmax>]}
! 762: \key{set sampling rate of functions}{samples <expression>}
! 763: \key{set scaling factors of plot}{size <xsize>,<ysize>}
! 764: \key{control display of isolines of surface}{[no]surface}
! 765: \key{control graphics device}{terminal <device>}
! 766: \key{change direction of tics}{tics <direction>}
! 767: \key{adjust relative height of vertical axis}{ticslevel <level>}
! 768: \key{adjust size of tick marks}{ticscale [<size>]}
! 769: \key{turn on time/date stamp}{[no]time}
! 770: \key{set centered plot title}{title "title-text" <xoff>,<yoff>}
! 771: \key{set parametric range}{trange [<tmin>:<tmax>]}
! 772: \key{set surface parametric ranges}{urange or vrange}
! 773: \key{sets the view point for {\bf splot}}{view
! 774: <rot_x>,<rot_z>,<scale>,<scale_z>}
! 775: \key{sets x-axis label}{xlabel "<label>" <xoff>,<yoff>}
! 776: \key{set horizontal range}{xrange [<xmin>:<xmax>]}
! 777: \key{change horizontal tics}{xtics <start>,<incr>,<end>,}
! 778: \key{}{"<label>" <pos> }
! 779: \key{adjust number of minor tick marks}{[no]mxtics OR [no]mytics [<freq>]}
! 780: \key{draw x-axis}{[no]xzeroaxis}
! 781: \key{sets y-axis label}{ylabel "<label>" <xoff>,<yoff>}
! 782: \key{set vertical range}{yrange [<ymin>:<ymax>]}
! 783: \key{change vertical tics}{ytics <start>,<incr>,<end>,}
! 784: \key{}{"<label>" <pos> }
! 785: \key{draw y-axis}{[no]yzeroaxis}
! 786: \key{set default threshold for values near 0}{zero <expression>}
! 787: \key{draw axes}{[no]zeroaxis}
! 788: \key{sets z-axis label}{zlabel "<label>" <xoff>,<yoff>}
! 789: \key{set vertical range}{zrange [<zmin>:<zmax>]}
! 790: \key{change vertical tics}{ztics <start>,<incr>,<end>,}
! 791: \key{}{"<label>" <pos> }
! 792: \key{draw z-axis}{[no]zzeroaxis}
! 793: \endindentedkeys
! 794:
! 795: \section{Contour Plots}
! 796: Enable contour drawing for surfaces. This option is available for {\bf splot}
! 797: only.
! 798:
! 799: Syntax:
! 800: set contour $\{$ base $|$ surface $|$ both $\}$
! 801: set nocontour
! 802:
! 803: If no option is provided to {\bf set contour}, the default is {\bf base}.
! 804: The three options specify where to draw the contours: {\bf base} draws
! 805: the contours on the grid base where the x/ytics are placed, {\bf surface}
! 806: draws the contours on the surfaces themselves, and {\bf both} draws the
! 807: contours on both the base and the surface.
! 808:
! 809: See also {\bf set cntrparam} for the parameters that affect the drawing of
! 810: contours.
! 811:
! 812: \section{Contour Parameters}
! 813: Sets the different parameters for the contouring plot (see also {\bf contour}).
! 814:
! 815: \key{set cntrparam}{ $\{ \{$ linear $|$ cubicspline $|$ bspline $\} |$}
! 816: \key{}{points $<$n$>$ $|$ }
! 817: \key{}{order $<$n$>$ $|$ }
! 818: \key{}{levels \{ [ auto ] $<$n$>$ $|$ }
! 819: \key{}{discrete $<$z1$>$ $<$z2$>$ ... $|$ }
! 820: \key{}{incr $<$start$>$ $<$increment$>$ [ $<$n$>$ ] $\} \}$ }
! 821:
! 822: \key{5 automatic levels}{set cntrparam levels auto 5}
! 823: \key{3 discrete levels at 10\%, 37\% and 90\%}
! 824: {set cntrp levels discrete .1 1/exp(1) .9}
! 825: \key{5 incremental levels at 0, .1, .2, .3 and .4}
! 826: {set cntrparam levels incremental 0 .1 5 }
! 827: \key{sets n = 10 retaining current setting of auto, incr., or discr.}
! 828: {set cntrparam levels 10 }
! 829: \key{set start = 100 and increment = 50, retaining old n}
! 830: {set cntrparam levels incremental 100 50}
! 831:
! 832: This command controls the way contours are plotted. $<$n$>$ should be an
! 833: integral constant expression and $<$z1$>$, $<$z2$>$ any constant expressions.
! 834: The parameters are:
! 835:
! 836: {\bf linear}, {\bf cubicspline}, {\bf bspline} - Controls type of approximation or
! 837: interpolation. If {\bf linear}, then the contours are drawn piecewise
! 838: linear, as extracted from the surface directly. If {\bf cubicspline}, then
! 839: piecewise linear contours are interpolated to form a somewhat smoother
! 840: contours, but which may undulate. The third option is the uniform
! 841: {\bf bspline}, which only approximates the piecewise linear data but is
! 842: guaranteed to be smoother.
! 843:
! 844: {\bf points} - Eventually all drawings are done with piecewise linear
! 845: strokes. This number controls the number of points used to
! 846: approximate a curve. Relevant for {\bf cubicspline} and {\bf bspline} modes
! 847: only.
! 848:
! 849: {\bf order} - Order of the bspline approximation to be used. The bigger this
! 850: order is, the smoother the resulting contour. (Of course, higher order
! 851: bspline curves will move further away from the original piecewise linear
! 852: data.) This option is relevant for {\bf bspline} mode only. Allowed values are
! 853: integers in the range from 2 (linear) to 10.
! 854:
! 855: {\bf levels} - Number of contour levels, 'n'. Selection of the levels is
! 856: controlled by 'auto' (default), 'discrete', and 'incremental'. For 'auto',
! 857: if the surface is bounded by zmin and zmax then contours will be
! 858: generated from zmin+dz to zmax-dz in steps of size dz, where
! 859: dz = (zmax - zmin) / (levels + 1). For 'discrete', contours will be
! 860: generated at z = z1, z2 ... as specified. The number of discrete levels
! 861: is limited to MAX\_DISCRETE\_LEVELS, defined in plot.h to be 30. If
! 862: 'incremental', contours are generated at $<$n$>$ values of z beginning at
! 863: $<$start$>$ and increasing by $<$increment$>$.
! 864:
! 865: \section{Specifying Labels}
! 866: Arbitrary labels can be placed on the plot using the {\bf set label}
! 867: command. If the z coordinate is given on a {\bf plot} it is ignored; if
! 868: it is missing on a {\bf splot} it is assumed to be 0.
! 869:
! 870: \key{set label $\{<$tag$>\} \{"<$label_text$>"\}$}
! 871: {$\{$at $<$x$>,<$y$>\{,<$z$>\}\}$}
! 872: \key{}{$\{<$justification$>\}$}
! 873: \key{set nolabel $\{<$tag$>\}$}{}
! 874: \key{show label}{}
! 875:
! 876: The text defaults to '''', and the position to 0,0,0. The $<$x$>$, $<$y$>$, and
! 877: $<$z$>$ values are in the graph's coordinate system. The tag is an
! 878: integer that is used to identify the label. If no $<$tag$>$ is given, the
! 879: lowest unused tag value is assigned automatically. The tag can be used
! 880: to delete or change a specific label. To change any attribute of an
! 881: existing label, use the {\bf set label} command with the appropriate tag,
! 882: and specify the parts of the label to be changed.
! 883:
! 884: By default, the text is placed flush left against the point x,y,z.
! 885: To adjust the way the label is positioned with respect to the point
! 886: x,y,z, add the parameter $<$justification$>$, which may be {\bf left}, {\bf right}
! 887: or {\bf center}, indicating that the point is to be at the left, right or
! 888: center of the text. Labels outside the plotted boundaries are
! 889: permitted but may interfere with axes labels or other text.
! 890:
! 891: \key{label at (1,2) to ``y=x'' }{set label "y=x" at 1,2}
! 892: \key{label ``y=x^2'' w right of the text at (2,3,4), }
! 893: {set label 3 "y=x^2" at 2,3,4 right}
! 894: \key{\& tag the label number 3 }{}
! 895: \key{change preceding label to center justification}{set label 3 center}
! 896: \key{delete label number 2 }{set nolabel 2}
! 897: \key{delete all labels}{set nolabel}
! 898: \key{show all labels (in tag order)}{show label}
! 899:
! 900: (The EEPIC, Imagen, LaTeX, and TPIC drivers allow $\backslash$$\backslash$
! 901: in a string to specify a newline.)
! 902:
! 903: \section{Miscellaneous Commands}
! 904:
! 905: For further information on these commands, print out a copy
! 906: of the GNUPLOT manual.
! 907:
! 908: \key{change working directory}{cd}
! 909: \key{erase current screen or device}{clear}
! 910: \key{exit GNUPLOT}{exit or quit or EOF}
! 911: \key{display text and wait}{pause <time> ["<string>"]}
! 912: \key{print the value of $<$expression$>$}{print <expression>}
! 913: \key{print working directory}{pwd}
! 914: \key{repeat last {\bf plot} or {\bf splot}}{replot}
! 915: \key{spawn an interactive shell}{! (UNIX) or \$ (VMS)}
! 916:
! 917: \section{Environment Variables}
! 918:
! 919: A number of shell environment variables are understood by GNUPLOT.
! 920: None of these are required, but may be useful.
! 921:
! 922: If GNUTERM is defined, it is used as the name of the terminal type to
! 923: be used. This overrides any terminal type sensed by GNUPLOT on start
! 924: up, but is itself overridden by the .gnuplot (or equivalent) start-up
! 925: file (see {\bf start-up}), and of course by later explicit changes.
! 926:
! 927: On Unix, AmigaOS, and MS-DOS, GNUHELP may be defined to be the pathname
! 928: of the HELP file (gnuplot.gih).
! 929:
! 930: On VMS, the symbol GNUPLOT\$HELP should be defined as the name of
! 931: the help library for GNUPLOT.
! 932:
! 933: On Unix, HOME is used as the name of a directory to search for
! 934: a .gnuplot file if none is found in the current directory.
! 935: On AmigaOS and MS-DOS, GNUPLOT is used. On VMS, SYS\$LOGIN: is used.
! 936: See help start-up.
! 937:
! 938: On Unix, PAGER is used as an output filter for help messages.
! 939:
! 940: On Unix and AmigaOS, SHELL is used for the {\bf shell} command. On MS-DOS,
! 941: COMSPEC is used for the {\bf shell} command.
! 942:
! 943: On AmigaOS, GNUFONT is used for the screen font. For example:
! 944: ``setenv GNUFONT sapphire/14''.
! 945:
! 946: On MS-DOS, if the BGI interface is used, the variable {\bf BGI} is used to point
! 947: to the full path to the BGI drivers directory. Furthermore SVGA is used to
! 948: name the Super VGA BGI driver in 800x600 res., and its mode of operation
! 949: as 'Name.Mode'.
! 950: For example, if the Super VGA driver is C:$\backslash$TC$\backslash$BGI$\backslash$SVGADRV.BGI and mode 3 is
! 951: used for 800x600 res., then: 'set BGI=C:$\backslash$TC$\backslash$BGI' and 'set SVGA=SVGADRV.3'.
! 952:
! 953:
! 954: \section{Expressions}
! 955: In general, any mathematical expression accepted by C, FORTRAN,
! 956: Pascal, or BASIC is valid. The precedence of these operators is
! 957: determined by the specifications of the C programming language.
! 958: White space (spaces and tabs) is ignored inside expressions.
! 959:
! 960: Complex constants may be expressed as $\{<$real$>,<$imag$>\}$, where
! 961: $<$real$>$ and $<$imag$>$ must be numerical constants. For example,
! 962: $\{3,2\}$ represents 3 + 2{\bf i} and $\{0,1\}$ represents {\bf i}
! 963: itself. The curly braces are explicitly required here.
! 964: \section{Functions}
! 965: The functions in GNUPLOT are the same as the corresponding functions
! 966: in the Unix math library, except that all functions accept integer,
! 967: real, and complex arguments, unless otherwise noted. The {\bf sgn}
! 968: function is also supported, as in BASIC.
! 969:
! 970: %\begin{center}
! 971: %\begin{tabular}{|ccl|} \hline
! 972: \settabs 5\columns
! 973: \+Function & Arguments & Returns \cr
! 974: \hrule%\hline
! 975: \+ abs(x) & any & absolute value of {\tt x}, $|x|$; same type \cr
! 976: \+ abs(x) & complex & length of {\tt x}, $\sqrt{{\hbox{real}(x)^{2} +
! 977: \hbox{imag}(x)^{2}}}$ \cr
! 978: \+ acos(x) & any & $\cos^{-1} x$ (inverse cosine) in radians \cr
! 979: \+ arg(x) & complex & the phase of $x$ in radians\cr
! 980: \+ asin(x) & any & $\sin^{-1} x$ (inverse sin) in radians \cr
! 981: \+ atan(x) & any & $\tan^{-1} x$ (inverse tangent) in radians \cr
! 982: \+ besj0(x) & radians & $j_{0}$ Bessel function of $x$ \cr
! 983: \+ besj1(x) & radians & $j_{1}$ Bessel function of $x$ \cr
! 984: \+ besy0(x) & radians & $y_{0}$ Bessel function of $x$ \cr
! 985: \+ besy1(x) & radians & $y_{1}$ Bessel function of $x$ \cr
! 986: \+ ceil(x) & any & $\lceil x \rceil$, smallest integer not less than $x$
! 987: (real part) \cr
! 988: \+ cos(x) & radians & $\cos x$, cosine of $x$ \cr
! 989: \+ cosh(x) & radians & $\cosh x$, hyperbolic cosine of $x$ \cr
! 990: \+ erf(x) & any & $\hbox{Erf}(\hbox{real}(x))$, error function of real($x$) \cr
! 991: \+ erfc(x) & any & $\hbox{Erfc}(\hbox{real}(x))$, 1.0 - error function of real($x$) \cr
! 992: \+ exp(x) & any & $e^{x}$, exponential function of $x$ \cr
! 993: \+ floor(x) & any & $\lfloor x \rfloor$, largest integer not greater
! 994: than $x$ (real part) \cr
! 995: \+ gamma(x) & any & $\hbox{Gamma}(\hbox{real}(x))$, gamma function of real($x$) \cr
! 996: \+ ibeta(p,q,x) & any & $\hbox{Ibeta}(\hbox{real}(p,q,x))$, ibeta function of real($p$,$q$,$x$) \cr
! 997: \+ igamma(a,x) & any & $\hbox{Igamma}(\hbox{real}(a,x))$, igamma function of real($a$,$x$) \cr
! 998: \+ imag(x) & complex & imaginary part of $x$ as a real number \cr
! 999: \+ int(x) & real & integer part of $x$, truncated toward zero \cr
! 1000: \+ lgamma(x) & any & $\hbox{Lgamma}(\hbox{real}(x))$, lgamma function of real($x$) \cr
! 1001: \+ log(x) & any & $\log_{e} x$, natural logarithm (base $e$) of $x$ \cr
! 1002: \+ log10(x) & any & $\log_{10} x$, logarithm (base $10$) of $x$ \cr
! 1003: \+ rand(x) & any & $\hbox{Rand}(\hbox{real}(x))$, pseudo random number generator \cr
! 1004: \+ real(x) & any & real part of $x$ \cr
! 1005: \+ sgn(x) & any & 1 if $x>0$, -1 if $x<0$, 0 if $x=0$. imag($x$) ignored \cr
! 1006: \+ sin(x) & radians & $\sin x$, sine of $x$ \cr
! 1007: \+ sinh(x) & radians & $\sinh x$, hyperbolic sine $x$ \cr
! 1008: \+ sqrt(x) & any & $\sqrt{x}$, square root of $x$ \cr
! 1009: \+ tan(x) & radians & $\tan x$, tangent of $x$ \cr
! 1010: \+ tanh(x) & radians & $\tanh x$, hyperbolic tangent of $x$\cr
! 1011: \hrule % \hline
! 1012: %\end{tabular}
! 1013: %\end{center}
! 1014: \section{Operators}
! 1015: The operators in GNUPLOT are the same as the corresponding operators
! 1016: in the C programming language, except that all operators accept
! 1017: integer, real, and complex arguments, unless otherwise noted.
! 1018: The ** operator (exponentiation) is supported, as in FORTRAN.
! 1019:
! 1020: Parentheses may be used to change order of evaluation.
! 1021:
! 1022:
! 1023:
! 1024: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! 1025: \bye
! 1026: \subsubsection{Binary}
! 1027: The following is a list of all the binary operators and their
! 1028: usages:
! 1029:
! 1030:
! 1031: \begin{center}
! 1032: \begin{tabular}{|ccl|} \hline
! 1033: \multicolumn{3}{|c|}{Binary Operators} \\
! 1034: Symbol & Example & Explanation \\ \hline
! 1035: \verb~**~ & \verb~a**b~ & exponentiation\\
! 1036: \verb~*~ & \verb~a*b~ & multiplication\\
! 1037: \verb~/~ & \verb~a/b~ & division\\
! 1038: \verb~%~ & \verb~a%b~ & * modulo\\
! 1039: \verb~+~ & \verb~a+b~ & addition\\
! 1040: \verb~-~ & \verb~a-b~ & subtraction\\
! 1041: \verb~==~ & \verb~a==b~ & equality\\
! 1042: \verb~!=~ & \verb~a!=b~ & inequality\\
! 1043: \verb~&~ & \verb~a&b~ & * bitwise AND\\
! 1044: \verb~^~ & \verb~a^b~ & * bitwise exclusive OR\\
! 1045: \verb~|~ & \verb~a|b~ & * bitwise inclusive OR\\
! 1046: \verb~&&~ & \verb~a&&b~ & * logical AND\\
! 1047: \verb~||~ & \verb~a||b~ & * logical OR\\
! 1048: \verb~?:~ & \verb~a?b:c~ & * ternary operation\\
! 1049: \hline
! 1050: \end{tabular}
! 1051: \end{center}
! 1052: (*) Starred explanations indicate that the operator requires
! 1053: integer arguments.
! 1054:
! 1055: Logical AND (\&\&) and OR ($|$$|$) short-circuit the way they do in C.
! 1056: That is, the second \&\& operand is not evaluated if the first is
! 1057: false; the second $|$$|$ operand is not evaluated if the first is true.
! 1058:
! 1059: The ternary operator evaluates its first argument (a). If it is
! 1060: true (non-zero) the second argument (b) is evaluated and returned,
! 1061: otherwise the third argument (c) is evaluated and returned.
! 1062: \subsubsection{Unary}
! 1063: The following is a list of all the unary operators and their
! 1064: usages:
! 1065:
! 1066:
! 1067: \begin{center}
! 1068: \begin{tabular}{|ccl|} \hline
! 1069: \multicolumn{3}{|c|}{Unary Operators}\\
! 1070: Symbol & Example & Explanation \\ \hline
! 1071: \verb@-@ & \verb@-a@ & unary minus \\
! 1072: \verb@~@ & \verb@~a@ & * one's complement \\
! 1073: \verb@!@ & \verb@!a@ & * logical negation \\
! 1074: \verb@!@ & \verb@a!@ & * factorial \\
! 1075: \hline
! 1076: \end{tabular}
! 1077: \end{center}
! 1078: (*) Starred explanations indicate that the operator requires an
! 1079: integer argument.
! 1080:
! 1081: The factorial operator returns a real number to allow a greater range.
! 1082: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>