gnuplot 4.6
21
Both the exit and quit commands terminate the current command le and load the next one, until all have
been processed.
Examples:
To launch an interactive session:
gnuplot
To launch a batch session using two command les "input1" and "input2":
gnuplot input1 input2
To launch an interactive session after an initialization le "header" and followed by another command le
"trailer":
gnuplot header - trailer
To give gnuplot commands directly inthe commandline, usingthe "-persist" optionsothat the plot remains
on the screen afterwards:
gnuplot -persist -e "set title ’Sine curve’; plot sin(x)"
To set user-dened variables a and s prior to executing commands from a le:
gnuplot -e "a=2; s=’file.png’" input.gpl
Canvas size
In earlier versions of gnuplot, some terminal types used the values from set size to control also the size of
the output canvas; others did not. The use of ’set size’ for this purpose was deprecated in version 4.2. Since
version 4.4 almost all terminals now behave as follows:
set term <terminal
type> size <XX>, <YY> controls the size of the output le, or "canvas". Please
see individual terminal documentation for allowed values of the size parameters. By default, the plot will ll
this canvas.
set size <XX>, <YY> scales the plot itself relative to the size of the canvas. Scale values less than 1 will
cause the plot to not ll the entire canvas. Scale values larger than 1 will cause only a portion of the plot
to t on the canvas. Please be aware that setting scale values larger than 1 may cause problems on some
terminal types.
The major exception to this convention is the PostScript driver, which by default continues to act as it has
in earlier versions. Be warned that the next version of gnuplot may change the default behaviour of the
PostScript driver as well.
Example:
set size 0.5, 0.5
set term png size 600, 400
set output "figure.png"
plot "data" with lines
These commands will produce an output le "gure.png" that is 600 pixels wide and 400 pixels tall. The
plot will ll the lower left quarter of this canvas. This is consistent with the way multiplot mode has always
worked.
Command-line-editing
Command-line editing and command history are supported using either an external gnu readline library,
an external BSD libedit library, or a built-in equivalent. This choice is a conguration option at the time
gnuplot is built.
The editing commands of the built-in version are given below. Please note that the action of the DEL key
is system-dependent. The gnu readline and BSD libedit libraries have their own documentation.
Convert pdf to powerpoint presentation - Library application API:C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF in C#.net, ASP.NET MVC, WinForms, WPF
Online C# Tutorial for Creating PDF from Microsoft PowerPoint Presentation
www.rasteredge.com
Convert pdf to powerpoint presentation - Library application API:VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to PDF in vb.net, ASP.NET MVC, WinForms, WPF
VB.NET Tutorial for Export PDF file from Microsoft Office PowerPoint
www.rasteredge.com
22
gnuplot 4.6
Command-line Editing Commands
Character Function
Line Editing
^B
move back a single character.
^F
move forward a single character.
^A
move to the beginning of the line.
^E
move to the end of the line.
^H
delete the previous character.
DEL
delete the current character.
^D
delete current character. EOF if line is empty.
^K
delete from current position to the end of line.
^L, ^R
redraw line in case it gets trashed.
^U
delete the entire line.
^W
delete previous word.
History
^P
move back through history.
^N
move forward through history.
Comments
Comments are supported as follows: a # may appear in most places in a line and gnuplot will ignore the
rest of the line. It will not have this eect inside quotes, inside numbers (including complex numbers), inside
command substitutions, etc. In short, it works anywhere it makes sense to work.
See also set datale commentschars (p.109) for specifying comment characters in data les. Note that
if a comment line ends in ’n’ then the subsequent line is also treated as a comment.
Coordinates
The commands set arrow, set key, set label and set object allow you to draw something at an arbitrary
position on the graph. This position is specied by the syntax:
{<system>} <x>, {<system>} <y> {,{<system>} <z>}
Each <system> can either be rst, second, graph, screen, or character.
rst places the x, y, or z coordinate in the system dened by the left and bottom axes; second places it
in the system dened by the second axes (top and right); graph species the area within the axes | 0,0
is bottom left and 1,1 is top right (for splot, 0,0,0 is bottom left of plotting area; use negative z to get to
the base | see set xyplane (p. 165)); screen species the screen area (the entire area | not just the
portion selected by set size), with 0,0 at bottom left and 1,1 at top right; and character gives the position
in character widths and heights from the bottom left of the screen area (screen 0,0), character coordinates
depend on the chosen font size.
If the coordinate system for x is not specied, rst is used. If the system for y is not specied, the one used
for x is adopted.
In some cases, the given coordinate is not an absolute position but a relative value (e.g., the second position
in set arrow ... rto). In most cases, the given value serves as dierence to the rst position. If the given
coordinate resides in a logarithmic axis the value is interpreted as factor. For example,
set logscale x
set arrow 100,5 rto 10,2
plots an arrow from position 100,5 to position 1000,7 since the x axis is logarithmic while the y axis is linear.
If one (or more) axis is timeseries, the appropriate coordinate should be given as a quoted time string
according to the timefmt format string. See set xdata (p. 159) and set timefmt (p. 156). Gnuplot
will also accept an integer expression, which will be interpreted as seconds from 1 January 2000.
Library application API:VB.NET PowerPoint: Use PowerPoint SDK to Create, Load and Save PPT
About This SDK. Specifically speaking, this VB.NET PowerPoint presentation document control of RasterEdge .NET Imaging SDK has been developed and provided to
www.rasteredge.com
Library application API:VB.NET PowerPoint: Sort and Reorder PowerPoint Slides by Using VB.
you can choose to show your PPT presentation in inverted clip art or screenshot to PowerPoint document slide & profession imaging controls, PDF document, image
www.rasteredge.com
gnuplot 4.6
23
Datastrings
Data les may contain string data consisting of either an arbitrary string of printable characters containing
no whitespace or an arbitrary string of characters, possibly including whitespace, delimited by double quotes.
The following sample line from a datale is interpreted to contain four columns, with a text eld in column
3:
1.000 2.000 "Third column is all of this text" 4.00
Text elds can be positioned within a 2-D or 3-D plot using the commands:
plot ’datafile’ using 1:2:4 with labels
splot ’datafile’ using 1:2:3:4 with labels
Acolumn of text data can also be used to label the ticmarks along one or more of the plot axes. The example
below plots a line through a series of points with (X,Y) coordinates taken from columns 3 and 4 of the input
datale. However, rather than generating regularly spaced tics along the x axis labeled numerically, gnuplot
will position a tic mark along the x axis at the X coordinate of each point and label the tic mark with text
taken from column 1 of the input datale.
set xtics
plot ’datafile’ using 3:4:xticlabels(1) with linespoints
There is also an option that will interpret the rst entry in a column of input data (i.e. the column heading)
as a text eld, and use it as the key title for data plotted from that column. The example given below will
use the rst entry in column 2 to generate a title in the key box, while processing the remainder of columns
2and 4 to draw the required line:
plot ’datafile’ using 1:(f($2)/$4) with lines title columnhead(2)
Another example:
plot for [i=2:6] ’datafile’ using i title "Results for ".columnhead(i)
See set style labels (p.55), using xticlabels (p.87), plot title (p.91), using (p.85).
Enhanced text mode
Many terminal types support an enhanced text mode inwhich additionalformatting information is embedded
in the text string. For example, "x^2" will write x-squared as we are used to seeing it, with a superscript 2.
This mode is normally selected when you set the terminal, e.g. "set term png enhanced", but may also be
toggled afterward using "set termoption enhanced", or by marking individual strings as in "set label ’x
2’
noenhanced".
Enhanced Text Control Codes
Control
Example
Result
Explanation
^
a^x
ax
superscript
_
a_x
a
x
subscript
@
a@^b_{cd}
ab
cd
phantom box (occupies no width)
&
d&{space}b d     b
inserts space of specied length
~
~a{.8-}
~a
overprints ’-’ on ’a’, raised by .8
times the current fontsize
Braces can be used to place multiple-character text where a single character is expected (e.g., 2^f10g). To
change the font and/or size, use the full form: f/[fontname][=fontsize j *fontscale] textg. Thus f/Symbol=20
Gg is a 20 pt GAMMA and f/*0.75 Kg is a K at three-quarters of whatever fontsize is currently in eect.
(The ’/’ character MUST be the rst character after the ’f’.)
The phantom box is useful for a@^b
c to align superscripts and subscripts but does not work well for
overwriting an accent on a letter. For the latter, it is much better to use an encoding (e.g. iso
8859
1or
Library application API:VB.NET PowerPoint: Merge and Split PowerPoint Document(s) with PPT
individual slide is with the virtual presentation of PPTXPage in VB.NET to finish PowerPoint document splitting If you want to see more PDF processing functions
www.rasteredge.com
Library application API:C# Create PDF from OpenOffice to convert odt, odp files to PDF in
using RasterEdge.XDoc.Excel; using RasterEdge.XDoc.PowerPoint; How to Use C#.NET Demo Code to Convert ODT to PDF in C#.NET Project.
www.rasteredge.com
24
gnuplot 4.6
utf8) that contains a large variety of letters with accents or other diacritical marks. See set encoding
(p. 112). Since the box is non-spacing, it is sensible to put the shorter of the subscript or superscript in
the box (that is, after the @).
Space equal in length to a string can be inserted using the ’&’ character. Thus
’abc&{def}ghi’
would produce
’abc
ghi’.
The ’~ ’ character causes the next character or bracketed text to be overprinted by the following character
or bracketed text. The second text will be horizontally centered on the rst. Thus ’~ a/’ will result in an
’a’ with a slash through it. You can also shift the second text vertically by preceding the second text with a
number, which will dene the fraction of the current fontsize by which the text will be raised or lowered. In
this case the number and text must be enclosed in brackets because more than one character is necessary. If
the overprinted text begins with a number, put a space between the vertical oset and the text (’~ fabcgf.5
000g’); otherwise no space is needed (’~ fabcgf.5 | g’). You can change the font for one or both strings (’~
af.5 /*.2 og’ | an ’a’ with a one-fth-size ’o’ on top | and the space between the number and the slash is
necessary), but you can’t change it after the beginning of the string. Neither can you use any other special
syntax within either string. You can, of course, use control characters by escaping them (see below), such
as ’~ afn^g’
You can access special symbols numerically by specifying ncharacter-code (in octal), e.g., f/Symbol n245g
is the symbol for innity. This does not work for multibyte encodings like UTF-8, however. In a UTF-8
environment, you should be able to enter multibyte sequences implicitly by typing or otherwise selecting the
character you want.
You can escape control characters using n, e.g., nn, nf, and so on.
But be aware that strings in double-quotes are parsed dierently than those enclosed in single-quotes. The
major dierence is that backslashes may need to be doubled when in double-quoted strings.
Examples (these are hard to describe in words | try them!):
set xlabel ’Time (10^6 {/Symbol m}s)’
set title ’{/Symbol=18 \\362@_{/=9.6 0}^{/=12 x}} \\
{/Helvetica e^{-{/Symbol m}^2/2} d}{/Symbol m}’
The le "ps
guide.ps" in the /docs/psdoc subdirectory of the gnuplot source distribution contains more
examples of the enhanced syntax.
Environment
Anumber of shell environment variables are understood by gnuplot. None of these are required, but may
be useful.
If GNUTERM is dened, it is used as the name of the terminal type to be used. This overrides any terminal
type sensed by gnuplot on start-up, but is itself overridden by the .gnuplot (or equivalent) start-up le (see
startup (p.38)) and, of course, by later explicit changes.
GNUHELP may be dened to be the pathname of the HELP le (gnuplot.gih).
On VMS, the logical name GNUPLOT$HELP should be dened as the name of the help library for gnuplot.
The gnuplot help can be put inside any system help library, allowing access to help from both within and
outside gnuplot if desired.
On Unix, HOME is used as the name of a directory to search for a .gnuplot le if none is found in the current
directory. On MS-DOS, Windows and OS/2, GNUPLOT is used. On Windows, the NT-specic variable
USERPROFILE is also tried. VMS, SYS$LOGIN: is used. Type help startup.
On Unix, PAGER is used as an output lter for help messages.
On Unix, SHELL is used for the shell command. On MS-DOS and OS/2, COMSPEC is used for the shell
command.
Library application API:C# PDF Text Extract Library: extract text content from PDF file in
But sometimes, we need to extract or fetch text content from source PDF document file for word processing, presentation and desktop publishing applications.
www.rasteredge.com
Library application API:VB.NET PowerPoint: VB Codes to Create Linear and 2D Barcodes on
2d barcodes of different types on PowerPoint presentation when you Here is a market-leading PowerPoint barcode add 2d barcodes QR Code, Data Matrix, PDF-417,
www.rasteredge.com
gnuplot 4.6
25
FIT
SCRIPT may be used to specify a gnuplot command to be executed when a t is interrupted | see
t (p.63). FIT
LOG species the default lename of the logle maintained by t.
GNUPLOT
LIB may be used to dene additional search directories for data andcommand les. The variable
may contain a single directory name, or a list of directories separated by a platform-specic path separator,
eg. ’:’ on Unix, or ’;’ on DOS/Windows/OS/2 platforms. The contents of GNUPLOT
LIB are appended to
the loadpath variable, but not saved with the save and save set commands.
Several gnuplot terminal drivers access TrueType fonts via the gd library. For these drivers the font search
path is controlled by the environmental variable GDFONTPATH. Furthermore, a default font for these
drivers may be set via the environmental variable GNUPLOT
DEFAULT
GDFONT.
The postscript terminal uses its own font search path. It is controlled by the environmental vari-
able GNUPLOT
FONTPATH. The format is the same as for GNUPLOT
LIB. The contents of GNU-
PLOT
FONTPATH are appended to the fontpath variable, but not saved with the save and save set
commands.
GNUPLOT
PS
DIR is used by the postscript driver to search for external prologue les. Depending on the
build process, gnuplot contains either a built-in copy of those les or a default hardcoded path. You can
use this variable have the postscript terminal use custom prologue les rather than the default les. See
postscript prologue (p. 215).
Expressions
In general, any mathematical expression accepted by C, FORTRAN, Pascal, or BASIC is valid. The prece-
dence of these operators is determined by the specications of the C programming language. White space
(spaces and tabs) is ignored inside expressions.
Complex constants are expressed as f<real>,<imag>g, where <real> and <imag> must be numerical
constants. For example, f3,2g represents 3 + 2i; f0,1g represents ’i’ itself. The curly braces are explicitly
required here.
Note that gnuplot uses both "real" and "integer" arithmetic, like FORTRAN and C. Integers are entered as
"1", "-10", etc; reals as "1.0", "-10.0", "1e1", 3.5e-1, etc. The most important dierence between the two
forms is in division: division of integers truncates: 5/2 = 2; division of reals does not: 5.0/2.0 = 2.5. In
mixed expressions, integers are "promoted" to reals before evaluation: 5/2e0 = 2.5. The result of division
of a negative integer by a positive one may vary among compilers. Try a test like "print -5/2" to determine
if your system chooses -2 or -3 as the answer.
The integer expression "1/0" may be used to generate an "undened"  ag, which causes a point to ignored.
Or you can use the pre-dened variable NaN to achieve the same result. See using (p.85) for an example.
The real and imaginary parts of complex expressions are always real, whatever the form in which they are
entered: in f3,2g the "3" and "2" are reals, not integers.
Gnuplot can also perform simple operations on strings and string variables. For example, the expression
("A" . "B" eq "AB") evaluates as true, illustrating the string concatenation operator and the string equality
operator.
Astring which contains a numerical value is promoted to the corresponding integer or real value if used in
anumerical expression. Thus ("3" + "4" == 7) and (6.78 == "6.78") both evaluate to true. An integer,
but not a real or complex value, is promoted to a string if used in string concatenation. A typical case is
the use of integers to construct le names or other strings; e.g. ("le" . 4 eq "le4") is true.
Substrings can be specied using a postxed range descriptor [beg:end]. For example, "ABCDEF"[3:4] ==
"CD" and "ABCDEF"[4:*] == "DEF" The syntax "string"[beg:end] is exactly equivalent to calling the
built-in string-valued function substr("string",beg,end), except that you cannot omit either beg or end from
the function call.
Library application API:VB.NET Create PDF from OpenOffice to convert odt, odp files to PDF
using RasterEdge.XDoc.Word; using RasterEdge.XDoc.Excel; using RasterEdge.XDoc.PowerPoint; How to VB.NET: Convert ODT to PDF.
www.rasteredge.com
Library application API:VB.NET PowerPoint: Add Image to PowerPoint Document Slide/Page
image or clip art to your PowerPoint presentation in VB insert or delete any certain PowerPoint slide without & profession imaging controls, PDF document, tiff
www.rasteredge.com
26
gnuplot 4.6
Functions
The math functions in gnuplot are the same as the corresponding functions in the Unix math library, except
that all functions accept integer, real, and complex arguments unless otherwise noted. Functions that accept
or return angles (e.g. sin(x), cos(x), arg(z)) treat angle values as radians, but this may be changed to degrees
using the command set angles.
Math library functions
Function
Arguments
Returns
abs(x)
any
absolute value of x, jxj; same type
abs(x)
complex
length of x,
p
real(x)2 + imag(x)2
acos(x)
any
cos
1
x(inverse cosine)
acosh(x)
any
cosh
1
x(inverse hyperbolic cosine) in radians
airy(x)
any
Airy function Ai(x)
arg(x)
complex
the phase of x
asin(x)
any
sin
1
x(inverse sin)
asinh(x)
any
sinh
1
x(inverse hyperbolic sin) in radians
atan(x)
any
tan
1
x(inverse tangent)
atan2(y,x)
int or real
tan
1
(y=x) (inverse tangent)
atanh(x)
any
tanh
1
x(inverse hyperbolic tangent) in radians
EllipticK(k)
real k 2 (-1:1)
K(k) complete elliptic integral of the rst kind
EllipticE(k)
real k 2 [-1:1]
E(k) complete elliptic integral of the second kind
EllipticPi(n,k) real n<1, real k 2 (-1:1) (n;k) complete elliptic integral of the third kind
besj0(x)
int or real
j
0
Bessel function of x, in radians
besj1(x)
int or real
j
1
Bessel function of x, in radians
besy0(x)
int or real
y
0
Bessel function of x, in radians
besy1(x)
int or real
y
1
Bessel function of x, in radians
ceil(x)
any
dxe, smallest integer not less than x (real part)
cos(x)
any
cosx, cosine of x
cosh(x)
any
coshx, hyperbolic cosine of x in radians
erf(x)
any
erf(real(x)), error function of real(x)
erfc(x)
any
erfc(real(x)), 1.0 - error function of real(x)
exp(x)
any
e
x
,exponential function of x
expint(n,x)
int n  0, real x  0
E
n
(x) =
R
1
1
t
n
e
xt
dt, exponential integral of x
oor(x)
any
bxc, largest integer not greater than x (real part)
gamma(x)
any
gamma(real(x)), gamma function of real(x)
ibeta(p,q,x)
any
ibeta(real(p;q;x)), ibeta function of real(p,q,x)
inverf(x)
any
inverse error function of real(x)
igamma(a,x)
any
igamma(real(a;x)), igamma function of real(a,x)
imag(x)
complex
imaginary part of x as a real number
invnorm(x)
any
inverse normal distribution function of real(x)
int(x)
real
integer part of x, truncated toward zero
lambertw(x)
real
Lambert W function
lgamma(x)
any
lgamma(real(x)), lgamma function of real(x)
log(x)
any
log
e
x, natural logarithm (base e) of x
log10(x)
any
log
10
x, logarithm (base 10) of x
norm(x)
any
normal distribution (Gaussian) function of real(x)
rand(x)
int
pseudo random number in the interval [0:1]
real(x)
any
real part of x
sgn(x)
any
1if x > 0, -1 if x < 0, 0 if x = 0. imag(x) ignored
sin(x)
any
sinx, sine of x
sinh(x)
any
sinhx, hyperbolic sine of x in radians
sqrt(x)
any
p
x, square root of x
tan(x)
any
tanx, tangent of x
tanh(x)
any
tanhx, hyperbolic tangent of x in radians
voigt(x,y)
real
Voigt/Faddeeva function
y
R
exp(t
2
)
(x t)2+y2
dt
gnuplot 4.6
27
String functions
Function
Arguments Returns
gprintf("format",x,...)
any
string result from applying gnuplot’s format parser
sprintf("format",x,...)
multiple
string result from C-language sprintf
strlen("string")
string
int length of string in bytes
strstrt("string","key")
strings
int index of rst character of substring "key"
substr("string",beg,end)
multiple
string "string"[beg:end]
strftime("timeformat",t)
any
string result from applying gnuplot’s time parser
strptime("timeformat",s)
string
seconds since year 2000 as given in string s
system("command")
string
string containing output stream of shell command
word("string",n)
string, int
returns the nth word in "string"
words("string")
string
returns the number of words in "string"
other gnuplot functions
Function
Arguments
Returns
column(x)
int or string
column x during datale manipulation.
columnhead(x)
int
string containing rst entry of column x in datale.
dened(X)
variable name [DEPRECATED] returns 1 if X is dened, 0 otherwise.
exists("X")
string
returns 1 if a variable named X is dened, 0 otherwise.
stringcolumn(x)
int or string
content of column x as a string.
timecolumn(x)
int
timecolumn x during datale manipulation.
tm
hour(x)
int
the hour
tm
mday(x)
int
the day of the month
tm
min(x)
int
the minute
tm
mon(x)
int
the month
tm
sec(x)
int
the second
tm
wday(x)
int
the day of the week
tm
yday(x)
int
the day of the year
tm
year(x)
int
the year
time(x)
any
the current system time
valid(x)
int
test validity of column(x) during datale manip.
value("name")
string
returns the value of the named variable.
Elliptic integrals
The EllipticK(k) function returns the complete elliptic integral of the rst kind, i.e. the denite integral
between 0 and pi/2 of the function (1-(k*sin(p))**2)**(-0.5). The domain of k is -1 to 1 (exclusive).
The EllipticE(k) function returns the complete elliptic integral of the second kind, i.e. the denite integral
between 0 and pi/2 of the function (1-(k*sin(p))**2)**0.5. The domain of k is -1 to 1 (inclusive).
The EllipticPi(n,k) functionreturns the complete elliptic integral of the third kind, i.e. the denite integral
between 0 and pi/2 of the function (1-(k*sin(p))**2)**(-0.5)/(1-n*sin(p)**2). The parameter n must
be less than 1, while k must lie between -1 and 1 (exclusive). Note that by denition EllipticPi(0,k) ==
EllipticK(k) for all possible values of k.
Random number generator
The function rand() produces a sequence of pseudo-random numbers between 0 and 1 using an algorithm
from P. L’Ecuyer and S. Cote, "Implementing a random number package with splitting facilities", ACM
Transactions on Mathematical Software, 17:98-111 (1991).
rand(0)
returns a pseudo random number in the interval [0:1]
generated from the current value of two internal
32-bit seeds.
rand(-1)
resets both seeds to a standard value.
28
gnuplot 4.6
rand(x)
for integer 0 < x < 2^31-1 sets both internal seeds
to x.
rand({x,y}) for integer 0 < x,y < 2^31-1 sets seed1 to x and
seed2 to y.
Value
B= value("A") is eectively the same as B = A, where A is the name of a user-dened variable. This is
useful when the name of the variable is itself held in a string variable. See user-dened variables (p.30).
It also allows you to read the name of a variable from a data le. If the argument is a numerical expression,
value() returns the value of that expression. If the argument is a string that does not correspond to a
currently dened variable, value() returns NaN.
Operators
The operators in gnuplot are the same as the corresponding operators in the C programming language,
except that all operators accept integer, real, and complex arguments, unless otherwise noted. The **
operator (exponentiation) is supported, as in FORTRAN.
Parentheses may be used to change order of evaluation.
Unary
The following is a list of all the unary operators and their usages:
Unary Operators
Symbol Example Explanation
-
-a
unary minus
+
+a
unary plus (no-operation)
~
~a
*one’s complement
!
!a
*logical negation
!
a!
*factorial
$
$3
*call arg/column during ‘using‘ manipulation
(*) Starred explanations indicate that the operator requires an integer argument.
Operator precedence is the same as in Fortran and C. As in those languages, parentheses may be used to
change the order of operation. Thus -2**2 = -4, but (-2)**2 = 4.
The factorial operator returns a real number to allow a greater range.
Binary
The following is a list of all the binary operators and their usages:
gnuplot 4.6
29
Binary Operators
Symbol Example Explanation
**
a**b
exponentiation
*
a*b
multiplication
/
a/b
division
%
a%b
*modulo
+
a+b
addition
-
a-b
subtraction
==
a==b
equality
!=
a!=b
inequality
<
a<b
less than
<=
a<=b
less than or equal to
>
a>b
greater than
>=
a>=b
greater than or equal to
&
a&b
*bitwise AND
^
a^b
*bitwise exclusive OR
|
a|b
*bitwise inclusive OR
&&
a&&b
*logical AND
||
a||b
*logical OR
=
a = b
assignment
,
(a,b)
serial evaluation
.
A.B
string concatenation
eq
A eq B
string equality
ne
A ne B
string inequality
(*) Starred explanations indicate that the operator requires integer arguments. Capital letters A and B
indicate that the operator requires string arguments.
Logical AND (&&) and OR (jj) short-circuit the way they do in C. That is, the second && operand is not
evaluated if the rst is false; the second jj operand is not evaluated if the rst is true.
Serial evaluation occurs only in parentheses and is guaranteed to proceed in left to right order. The value of
the rightmost subexpression is returned.
Ternary
There is a single ternary operator:
Ternary Operator
Symbol Example Explanation
?:
a?b:c
ternary operation
The ternary operator behaves as it does in C. The rst argument (a), which must be an integer, is evaluated.
If it is true (non-zero), the second argument (b) is evaluated and returned; otherwise the third argument (c)
is evaluated and returned.
The ternary operator is very useful both in constructing piecewise functions and in plotting points only when
certain conditions are met.
Examples:
Plot a function that is to equal sin(x) for 0 <= x < 1, 1/x for 1 <= x < 2, and undened elsewhere:
f(x) = 0<=x && x<1 ? sin(x) : 1<=x && x<2 ? 1/x : 1/0
plot f(x)
Note that gnuplot quietly ignores undened values, so the nal branch of the function (1/0) will produce
no plottable points. Note also that f(x) will be plotted as a continuous function across the discontinuity if
aline style is used. To plot it discontinuously, create separate functions for the two pieces. (Parametric
functions are also useful for this purpose.)
30
gnuplot 4.6
For data in a le, plot the average of the data in columns 2 and 3 against the datum in column 1, but only
if the datum in column 4 is non-negative:
plot ’file’ using 1:( $4<0 ? 1/0 : ($2+$3)/2 )
For an explanation of the using syntax, please see plot datale using (p. 85).
Summation
Asummation expression has the form
sum [<var> = <start> : <end>] <expression>
<var> is treated as an integer variable that takes on successive integral values from <start> to <end>. For
each of these, the current value of <expression> is added to a running total whose nal value becomes the
value of the summation expression. Examples:
print sum [i=1:10] i
55.
# Equivalent to plot ’data’ using 1:($2+$3+$4+$5+$6+...)
plot ’data’ using 1 : (sum [col=2:MAXCOL] column(col))
It is not necessary that <expression> contain the variable <var>. Although <start> and <end> can be
specied as variables or expressions, their value cannot be changed dynamically as a side-eect of carrying
out the summation. If <end> is less than <start> then the value of the summation is zero.
Gnuplot-dened variables
Gnuplot maintains a number of read-only variables that re ect the current internal state of the program and
the most recent plot. These variables begin with the prex "GPVAL
". Examples include GPVAL
TERM,
GPVAL
X
MIN, GPVAL
X
MAX, GPVAL
Y
MIN. Type show variables all to display the complete list
and current values. Values related to axes parameters (ranges, log base) are values used during the last plot,
not those currently set.
Example: To calculate the fractional screen coordinates of the point [X,Y]
GRAPH_X = (X - GPVAL_X_MIN) / (GPVAL_X_MAX - GPVAL_X_MIN)
GRAPH_Y = (Y - GPVAL_Y_MIN) / (GPVAL_Y_MAX - GPVAL_Y_MIN)
SCREEN_X = GPVAL_TERM_XMIN + GRAPH_X * (GPVAL_TERM_XMAX - GPVAL_TERM_XMIN)
SCREEN_Y = GPVAL_TERM_YMIN + GRAPH_Y * (GPVAL_TERM_YMAX - GPVAL_TERM_YMIN)
FRAC_X = SCREEN_X / GPVAL_TERM_XSIZE
FRAC_Y = SCREEN_Y / GPVAL_TERM_YSIZE
The read-only variable GPVAL
ERRNO is set to a non-zero value if any gnuplot command terminates early
due to an error. The most recent error message is stored in the string variable GPVAL
ERRMSG. Both
GPVAL
ERRNO and GPVAL
ERRMSG can be cleared using the command reset errors.
Interactive terminals with mouse functionality maintain read-only variables with the prex "MOUSE
".
See mouse variables (p. 37) for details.
The t mechanism uses several variables with names that begin "FIT
". It is safest to avoid using such
names. "FIT
LIMIT", however, is one that you may wish to redene. Under set t errorvariables,
the error for each tted parameter will be stored in a variable named like the parameter, but with "
err"
appended. See the documentation on t (p.63) for details.
See user-dened variables (p. 30), reset errors (p. 96), mouse variables (p.37), and t (p. 63).
User-dened variables and functions
New user-denedvariables and functions of one throughtwelve variables may be declaredand used anywhere,
including on the plot command itself.
User-dened function syntax:
Documents you may be interested
Documents you may be interested