gnuplot Templates

=========Start_Up======================

donsauer\$ gnuplot

gnuplot>  plot sin(x)/x

=========Functions_And_Variables======================

print pi

comb(n,k) = n!/(k!*(n-k)!)

print comb(5,4)

min(a,b) = (a < b) ? a : b

print min(5,3)

w = 2

q = floor(tan(pi/2 - 0.1))

f(x) = sin(w*x)

sinc(x) = sin(pi*x)/(pi*x)

delta(t) = (t == 0)

ramp(t) = (t > 0) ? t : 0

comb(n,k) = n!/(k!*(n-k)!)

len3d(x,y,z) = sqrt(x*x+y*y+z*z)

plot f(x) = sin(x*a), a = 0.2, f(x), a = 0.4, f(x)

file = "mydata.inp"

file(n) = sprintf("run_%d.dat",n)

`rand(0)` returns a pseudo random number in the interval [0:1]

`rand(-1)` resets both seeds to a standard value.

`rand(x)` for x>0 sets both seeds to a value based on the value of x.

`rand({x,y})` for x>0 sets seed1 to x and seed2 to y.

f(x) = 0<=x && x<1 ? sin(x) : 1<=x && x<2 ? 1/x : 1/0

print f(.5)

=========Math_Terms======================

**   a**b exponentiation

*     a*b multiplication

/     a/b division

%    a%b * modulo

-     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 string concatenation

eq  A eq B string equality

ne  A ne B string inequality

=========Pause======================

pause 10 "Isn't this pretty? It's a cubic spline."

pause mouse "Click any mouse button on selected data point"

=========Mouse_Terms======================

When mousing is active, clicking in the active window will set several user variables

in MOUSE X MOUSE Y MOUSE X2 and MOUSE Y2

gnuplot> pause mouse

print  MOUSE_X , MOUSE_Y

gnuplot> print  MOUSE_X , MOUSE_Y

987652.839223448 -100.379746835443

=========LogGraphs======================

set xrange [0:1]

set log y

set xlabel "Vbe" offset -3,-2

set ylabel "IE" offset   3,-2

plot 1e-21*exp(x/.026) title "NPN_1X"

set title "NPN_Compare"

set xrange [0:1]

set log y

set xlabel "Vbe" offset -3,-2

set ylabel "IE" offset   3,-2

plot 1e-21*exp(x/.026) title "NPN_1X",1e-20*exp(x/.026) title "NPN_10X"

=========Grids======================

set title "Plot a One Pole low pass"

set xrange [1:1e6]

f = 10000

set log x

unset log y

set grid

set xlabel "frequency"

set ylabel "gain_dB"

plot 20*log(1/sqrt( 1+ (x/f)**2)) title "Gain", \

-180*atan( (x/f))/pi title "phase"

=========Dummy======================

independent, or "dummy", variable is "x"   or "t" if in parametric or polar mode

for the splot command are  "x" and "y"    or  "u" and "v" in parametric mode

set dummy t

plot sin(t), cos(t)

=========Dummy_And_Functions======================

# Bipolar Transistor (NPN) Mutual Characteristic

Ie(Vbe)=Ies*exp(Vbe/kT_q)

Ic(Vbe)=alpha*Ie(Vbe)+Ico

alpha = 0.99

Ies = 4e-14

Ico = 1e-09

kT_q = 0.025

set dummy Vbe

set grid

set offsets

unset log

unset polar

set samples 160

set title "Mutual Characteristic of a Transistor"

set xlabel "Vbe (base emmitter voltage)"

set xrange [0 : 0.75]

set ylabel "Ic (collector current)"

set yrange [0 : 0.005]

set key box

set key at .2,.0045

set format y "%.4f"

plot Ic(Vbe)

set format "%g"

provide a mechanism to put a boundary around the data inside of an autoscaled graph.

set offsets <left>, <right>, <top>, <bottom>

=========Parametric======================

2-d parametric function, plot sin(t),cos(t) draws a circle

3-d plotting, the surface is described as x=f(u,v), y=g(u,v), z=h(u,v).

cos(u)*cos(v),cos(u)*sin(v),sin(u)  draws a sphere

set parametric

set dummy t

set autoscale

set samples 160

set title ""

set key box

set key below

plot sin(t),cos(t)

set autoscale x

set yrange [-1.5:1.5]

set trange [0.0001:10*pi]

plot sin(t)/t,cos(t)/t

show parametric

parametric is ON

unset parametric

=========Multiplot======================

set multiplot

plot sin(x)

set origin 0.5,0.5

set size 0.4,0.4

clear

plot cos(x)

unset multiplot

=========MultiTrace======================

reset

set style function lines

set size 1.0, 1.0

set origin 0.0, 0.0

set multiplot

set size 0.5,0.5

set origin 0.0,0.5

set grid

unset key

set samples 250

#  Plot Magnitude Response

set title "Second Order System Transfer Function - Magnitude"

mag(w) = -10*log10( (1-w**2)**2 + 4*(zeta*w)**2)

set dummy w

set logscale x

set xlabel "Frequency (w/wn)"

set ylabel "Magnitude (dB)" offset 1,0

set label 1 "Damping =.1,.2,.3,.4,.5,.707,1.0,2.0" at .14,17

set xrange [.1:10]

set yrange [-40:20]

plot \

zeta=.1,mag(w), \

zeta=.2,mag(w), \

zeta=.3,mag(w), \

zeta=.4,mag(w), \

zeta=.5,mag(w), \

zeta=.707,mag(w), \

zeta=1.0,mag(w), \

zeta=2.0,mag(w),-6

=========Polar======================

unset border

set clip

set polar

set xtics axis nomirror

set ytics axis nomirror

set samples 160

set zeroaxis

set trange [0:2*pi]

set title "Three circles (with aspect ratio distortion)"

plot .5,1,1.5

set trange [0:12*pi]

plot 2*t

set polar

plot t*sin(t)

plot [-2*pi:2*pi] [-3:3] [-3:3] t*sin(t)

=========Complex======================

Can Define a complex function as so

compl(a,b)=a*{1,0}+b*{0,1}

# amplitude frequency response

A(jw) = ({0,1}*jw/({0,1}*jw+p1)) * (1/(1+{0,1}*jw/p2))

p1 = 10

p2 = 10000

set dummy jw

set grid x y2

set logscale xy

set log x2

unset log y2

set key default

set key bottom center box

set title "Amplitude and Phase Frequency Response"

set xrange [1.1 : 90000.0]

set x2range [1.1 : 90000.0]

set ylabel "magnitude of A(jw)"

set y2label "Phase of A(jw) (degrees)"

set ytics nomirror

set y2tics

set tics out

set autoscale  y

set autoscale y2

plot abs(A(jw)), 180/pi*arg(A(jw)) axes x2y2

# This file is called   force.dat

# This file needs LF convert Mac->PC

# Force-Deflection data for a beam and a bar

# Deflection    Col-Force       Beam-Force

0.000              0              0

0.001            104             51

0.002            202            101

0.003            298            148

0.0031           290            149

0.004            289            201

0.0041           291            209

0.005            310            250

0.010            311            260

0.020            280            240

gnuplot> plot  "force.dat"

gnuplot> plot  "force.dat" with lines

plot "force.dat" using 1:3 with linespoints ,"force.dat" using 1:2 with linespoints

plot "force.dat" using 2:3 with linespoints

gnuplot> show pointsize

pointsize is 1

gnuplot> set pointsize 6

=========ScriptFile======================

# Gnuplot script file for plotting data in file "force.dat"

# This file is called   force.p

set   autoscale                        # scale axes automatically

unset log                              # remove any log-scaling

unset label                            # remove any previous labels

set xtic auto                          # set xtics automatically

set ytic auto                          # set ytics automatically

set title "Force Deflection Data for a Beam and a Column"

set xlabel "Deflection (meters)"

set ylabel "Force (kN)"

set key 0.01,100

set label "Yield Point" at 0.003,260

set arrow from 0.0028,250 to 0.003,280

set xr [0.0:0.022]

set yr [0:325]

plot    "force.dat" using 1:2 title 'Column' with linespoints , \

"force.dat" using 1:3 title 'Beam' with points

=========Line_Format======================

Style

set style data <style>

show style function

show style data

set style arrow <n> <arrowstyle>

set style fill <fillstyle>

set style histogram <histogram style options>

set style line <n> <linestyle>

plot sin(x) lt -1 # black   {{linetype | lt <line_type>}

plot sin(x) lt 1   # red

plot sin(x) lt 2   # green

plot sin(x) lt 3   # blue

plot sin(x) lt 4   # violet

plot sin(x) lt 5   # cyan

plot sin(x) lt 6   # brown

plot sin(x) lt 7   # orange

plot sin(x) lt 8   # green

plot sin(x) lt -1 # black

plot sin(x)  lt 2 lw 5 #   {linewidth | lw <line_width>}

with lines, points, linespoints, impulses, dots, steps, fsteps, histeps, error-bars, labels,

xerrorbars, yerrorbars, xyerrorbars, errorlines, xerrorlines, yerrorlines, xyerrorlines, boxes,

histograms,  lledcurves, boxerrorbars, boxxyerrorbars,  nancebars, candlesticks, vectors, image, rgbimage or pm3d.

plot sin(x) with linespoints lt 3 pt 5 ps 3 # {pt <point_type>} {ps <point_size>}

plot sin(x) with linespoints lt 3 pt 1 ps

plot sin(x) with linespoints lt 3 pt 2 ps 3 #

plot sin(x) with impulses

reset

set samples 25        # default, sampling is set to 100 points

unset xtics           # set xtics (0.002,0.004,0.006,0.008) changes tickmarks

unset ytics

set yrange [0:120]

set title "A demonstration of boxes with default properties"

plot [-10:10] 100/(1.0+x*x) title 'distribution' with boxes

set title "A demonstration of boxes with style fill solid 1.0"

set style fill solid 1.0

replot

set title "A demonstration of boxes with style fill solid border -1"

set style fill solid border -1

replot

set title "Filled boxes of reduced width"

set boxwidth 0.5

replot

=========Surface_Plots======================

gnuplot> splot sin(x*y)/(x*y)

set view 10, 0, 1, 1

splot sin(x*y)/(x*y)

set view 10, 50, 1, 1

splot sin(x*y)/(x*y)

set view 30, 50, 1, 1

splot sin(x*y)/(x*y)

set hidden3d

set view 30, 50, 1, 1

splot sin(x*y)/(x*y)

set hidden3d

set view 100, 50, 1, 1

splot sin(x*y)/(x*y)

=========Plot_3D_File======================

# This file is called   glass3.dat

# This file needs LF convert Mac->PC

# x    y    z

-1   -1    0

0   -1    0

1   -1    0

2   -1    0

3   -1    0

-1    0    0

0    0    0

1    0    1

2    0    0

3    0    0

-1    1    0

0    1    0

1    1    0

2    1    0

3    1    0

set hidden3d

unset key

set style data line

set view 30,46

splot "glass3.dat"

set hidden3d

unset key

set style data line

set view 60,46, 1,1

splot "glass3.dat"

set hidden3d

unset key

set style data line

set view 60,46, 1,.5

splot "glass3.dat"

=========Formats======================

=========Other_Examples======================

set pm3d

set hidden3d

set sample 3,3

set view 30, 50, 1, 1

splot sin(x*y)/(x*y)

<>set pm3d

set hidden3d

set isosamples 101

set view 30, 50, 1, 1

splot sin(x*y)/(x*y)

<>unset log z

set xtics autofreq

set ytics autofreq

set xrange [-1:1]

set yrange [-1:1]

set samples 51

set isosample 21

set dummy u,v

set title "3D gnuplot demo"

splot u*v / (u**2 + v**2 + 0.1)

splot [x=-3:3] [y=-3:3] sin(x) * cos(y)

set zrange [-1.0:1.0]

replot

set title "Sinc function"

set zrange [-1:1]

set label 1 "This is equal to 1" at 0,3.2,1 left

set arrow 1 from 0,3,1 to 0,0,1

sinc(u,v) = sin(sqrt(u**2+v**2)) / sqrt(u**2+v**2)

splot [-5:5.01] [-5:5.01] sinc(u,v)

set view 70,20,1

set zrange [-0.5:1.0]

set ztics -1,0.25,1

set label 1 "This is equal to 1" at -5,-2,1.5 centre

set arrow 1 from -5,-2.1,1.4 to 0,0,1

splot [-12:12.01] [-12:12.01] sinc(u,v)