+ All Categories
Home > Documents > nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf ·...

nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf ·...

Date post: 29-Sep-2018
Category:
Upload: trinhthuy
View: 241 times
Download: 0 times
Share this document with a friend
40
gnuplot nástroj pro kreslení grafů Katedra optiky, Přírodovědecká fakulta Univerzita Palackého v Olomouci
Transcript
Page 1: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot

nástroj pro kreslení grafů

Katedra optiky, Přírodovědecká fakultaUniverzita Palackého v Olomouci

Page 2: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – nástroj pro kreslení grafů a analýzu

● Smyslem výpočtů je porozumění, ne čísla.

● Smyslem výpočtů je porozumění, ne grafy.

Citáty R. W. Haminga a L. N. Trefethena z knihy Philippa Janerta „gnuplot v akci“

● Čísla a grafy pomáhají porozumět

cena

Dow Jonesův index

čas

cena

Page 3: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – nástroj pro kreslení grafů

● Vývoj 1986 - 2009

● Operační systémy

– Linux/UNIX

– Windows

– Mac OS X● Copyright © dává

souhlas s užíváním, kopírováním a distribucí pro jakékoliv použití …

● Poslední verze:gnuplot 4.2.5 (30.3.2009)

● Podrobnosti na:gnuplot.info

● Autoři:Thomas WilliamsColin KelleyRussell LangDave KotzJohn CambellGershon Elbera mnoho jinýchHans-Bernhard BrokerEthan A Merritta mnoho jiných

● Svobodný software● České návody a příklady:

V. Jarý (2004): na Linuxsoft.czP. Pinkas (2001): na Root.czP. Michálek(2000): mat.fsv.cvut.cz/michalekpe/Diplomový seminář (2006):http://sirrah.troja.mff.cuni.cz/~mira/diplomovy_seminar/gnuplot/

Page 4: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – proč zrovna gnuplot?

● jednoduchý k užití

● snadno naučitelný

● běží „všude“

● dostupný na učebně, domaa všude kde chceme

● svobodný software

● odzkoušený a stabilní

● stále vylepšovaný

● 2D grafy

● 3D grafy

● zpracuje i rozsáhlá datová pole

● Gnuplot je nástroj ke kreslení grafůnic víc, nic méně.

● provádí jen jednoduché výpočty

● nemá žádné ambice pro „realistické zobrazení“

● Je to jednoduchý nástroj jen pro jednu věca tuto jednu věc,vykreslení grafů,dělá dobře.

Page 5: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – nalezneme na: www.gnuplot.info

Page 6: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – příkazový řádek

Ve Windows voláme program WGnuplot

Page 7: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – vykreslení průběhu y = sin x

Page 8: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – vykreslení průběhu dvou funkcí

Page 9: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – vykreslení průběhu v jednom grafu

Page 10: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – základní operace a funkceStandardní znaky:

+ pro součet- pro rozdíl* pro násobení/ pro dělení** pro mocninu! faktoriál

abs, sign (absolutní hodnota, znaménko)ceil, floor („zaokrouhlení nahoru a dolů“)sin, cos, tanasin, acos, atansinh, cosh, tanhasinh, acosh, atanhexplog (logaritmus při základu e)log10 (logaritmus při základu 10)sqrt (druhá odmocnina)besj0, besj1 (Besselovy funkce 1.druhu)besy0, besy1 (Besselovy funkce 2. druhu)random (generuje pseudonáhodné číslo) gamma, ...

Podrobnosti a další funkce viz help functions.

Standardní funkce:

== rovnost!= nerovnost< menší<= menší nebo rovno> větší>= větší nebo rovno&& logické AND (a)|| logické OR (nebo)! negace

Standardní logické operátory:

Funkce, které požadují, nebo vrací úhly, jsoupřednastaveny na radiány. Přepnutí na stupně příkazem set angles degreesZpětné přepnutí na radiány příkazem set angles radians.

Standardně je definována proměnnápi = 3.14159265358979

Page 11: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – jako kalkulačka

print - zobrazí výsledek výpočtu příslušného výrazu na obrazovku

Syntax: print <výraz> {,<výraz>, … }

Konstanty vstupující do výrazů mohou být:celá čísla (např.: 1, -7, 0, ...)reálná čísla (např.: 1.0, -7.0, … )komplexní čísla (např. 3+2i vstupuje {3,2})

Příklady: print 6/51

print 6.0/51.2

print 7*sin(pi/6)3.5

print ceil(2.0/5)1

print floor(2.0/5)0

print {2.0,3.0}*{4.0,5.0}{-7.0, 22.0}

print pi, exp(1), sqrt(-1)3.14159265358979 2.71828182845905 {0.0, 1.0}

a=3; b=-5; c=2D=b**2-4*a*cx1=(-b+sqrt(D))/(2*a) ; x2=(-b-sqrt(D))/(2*a)print D, x1, x2

1 1.0 0.666666666666667

a=4D=b**2-4*a*cx1=(-b+sqrt(D))/(2*a) ; x2=(-b-sqrt(D))/(2*a)print D, x1, x2

-7 {0.625, 0.330718913883074} {0.625, -0.3307...}

Page 12: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – rozsah os, typ čar

plot [0 : 2*pi] [-1.1 : 1.3] sin(x) with lines, cos(x) with impulses

Page 13: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – zakreslení os v počátku

plot [0:4*pi] [-1.2: 1.5] sin(x), sin(x+2*pi/3), sin(x+4*pi/3)

set zeroaxis linetype -1 linewidth 2.5 #nastaví černou barvu os a jejich šířku

Page 14: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – definice uživatelských funkcí set titel 'Bodova rozptylova funkce psf(x)' psf(x)=(2*besj1(x)/x)**2

plot psf(x)

I=[ 2 J 1 ]2

Page 15: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – definice funkce ternárním operátorem

gnuplot má definován ternární operátor podmínka ? výraz1 : výraz2

Řeší se první podmínka. Je-li pravdivá, tak se vyřeší a vrátí se výraz1,jinak se vyřeší a vrátí výraz2.

plot [-5 : 5] [-2.5 : 2.5] f(x)

f(x)=(x>2) ? 2: ((x<-2)?-2:x)

Page 16: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – více os, popis os

set xrange [0 : 5] set yrange [0 : 60] set y2range [-150 : 0] set xlabel "doba [s]" set ylabel "rychlost [m/s]" set y2label "hloubka [m]" set tics border nomirror

plot 9.81*x title 'v=gt' axes x1y1, -0.5*9.81*x**2 title 'h=1/2 gt^2' axes x1y2

Nastavení globálních podmínek kresleníse provádí přikazy set.Toto nastavení je platné po celou dobu práce,pokud se nezmění přenastavením,nebo se neodstraní odpovídajícími příkazy:unset xlabel, unset ylabel, … , unset tics

Lze využít 4 nezávislé osy: x1, x2, y1, y2

Page 17: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – parametrické funkce

Závislost x na y je zprostředkovaná parametrem t

x = f(t)y = g(t)

set parametric #zapne režim parametrického zadávání

plot [0:10*pi] t*sin(t), t*cos(t) r=10; d=12f(t)=r*t – d*sin(t)g(t)=r – d*cos(t)plot [0:20] f(t), g(t)

Page 18: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – polární souřadnicePoloho bodu P v rovině lze určit polárními souřadnicemi r, θ .

x = r sin θy = r cos θ

set polar #zapne režim polárního zadávání souřadnic

r

θθx

yP

unset border #odstraní orámování grafu set xtics axis nomirror #popis x se nebude zdvojovatset ytics axis nomirror #popis y se nebude zdvojovatset samples 160 #zvýší počet děleni na 160set zeroaxis #vykreslí osy v bodě 0set trange [0:2*pi] #nastaví rozsah θ (tj. t)set title "Kruhy" #napíše nadpis grafu

plot 1.0,2,3

Vykresluje se funkce r=f(θ)Přednastavení rozsahu změny θ je 0 až 2π

Příklad:

Page 19: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – graf ze souboru datMějme datový soubor citlivost_oka.dat, jehož struktura odpovídá tabulce:

400 0.0004 0.0093410 0.0012 0.0348420 0.004 0.0966..... ..... .......... ..... .....700 0.0041 0710 0.0021 0

plot 'citlivost_oka.dat' using 1:2, 'citlivost_oka.dat' using 1:3

Page 20: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – graf ze souboru dat, další úpravy

set style data lines #graf jako spojitá funkce set style line 1 lt 2 lc rgb "green" lw 3 #nastaveni tloušťky a barvy spojnice 1set style line 2 lt 1 lc rgb "blue" lw 1 #nastaveni tloušťky a barvy spojnice 2

plot 'citlivost_oka.dat' using 1:2 ls 1, 'citlivost_oka.dat' using 1:3 ls 2

Každý gnuplot terminál poskytuje typické čáry„linotyps“ (lt), které se mohou různit:- barvou (lc),- tloušťkou (lw),- tečkováním nebo čárkováním- kombinací barev, tečkováním nebo čárkováním

Defnice barev a čar není u terminálů stejná.

lt -1 je vždy plná černá čára,lt 1 je obvykle plná červená čára,lt 2 je obvykle plná zelená řára, lt 3 je obvykle plná modrá čára, …

Klíčová slova linecolor (lc) a linewidth (lw)umožňují lokálně změnit styl čar.

Vlastní uživatelský styl čar umožňuje příkaz nastavení set style line .

Page 21: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – dostupné terminály (koncové výstupy)

set terminal #vypíše dostupné terminály

● Linux

X11

wxt -samostatná oknadxf –pole pro AutoCadgif –obrazový GIFjpeg –JPEG obrazový formátlatex –obrázky v LaTEXpng -PNG obrazový výstuppostscript -včetně *.epssvg -vektorový fotmát..................................................................

● Windows

windowswindows enhanced

dxf –pole pro AutoCadgif –obrazový GIFjpeg –JPEG obrazový formátlatex –obrázky v LaTEXpng -PNG obrazový výstup postscript -včetně *.epssvg -vektorový fotmát..............................................................

Page 22: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – test stylu pro různé terminály

terminál wxt

terminál x11

terminál windows

Page 23: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – terminálové výstupy

set terminal png # nastaví terminál pngset output 'citlivost_oka.png' # definuje jméno pro výstupní polereplot

set terminal jpg # nastaví terminál jpgset output 'citlivost_oka.jpg' # definuje jméno pro výstupní polereplot

set terminal post enh # nastaví terminál enhanced PostScriptset output 'citlivost_oka.eps' # definuje jméno pro výstupní polereplot

set terminal gif # nastaví terminál gifset output 'citlivost_oka.gif' # definuje jméno pro výstupní polereplot

Pozor: speciální symboly a znaky vyvolávají někdy u různých terminálů problémy.

Doporučení: přenos do vhodného formátu realizujte prostřednictvím vhodnéhografického editoru. Zvláštní pozornosti zasluhuje grafický editor GIMP. Přechod uskutečníte použitím Ctrl+C > Ctrl+V (alternativa Alt+PrtScr> Ctrl+V).

Page 24: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – graf ze souboru dat, hladký průběh

plot [380:650] [0:1] 'citlivost_oka.dat' using 1:3 ls 1, 'citlivost_oka.dat' using 1:3 ls 4 smooth cspline title 'cspline'

smooth { unique |fquency |splines |asplines |bezier |sbezier }

Page 25: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – logaritmická osa

set terminal windows enhancedset title "Spektralni citlivost oka"

set ylabel "relativni citlivost"set y2label "log citlivosti"set xlabel "{/Symbol=15 l} [nm]" set y2range [1e-12:1]

set style data linesset style line 1 lt 2 lc rgb "green" lw 3 set style line 2 lt 1 lc rgb "red" lw 1

set tics border nomirror

plot 'citlivost_oka.dat' using 1:2 ls 1 title 'relat',\ 'citlivost_oka.dat' using 1:2 ls 2 title 'log' axes x1y2

set logscale y2

Page 26: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – data vytvořená jiným programen

set style data linesset zeroaxis

plot [0:2*pi] [-1.05:1.05] "gnuplot4.dat" using 1:2 title 'sin (x)' , \'gnuplot4.dat' using 1:3 title 'x' , \'gnuplot4.dat' using 1:4 title 'x-x^3/3!' , \'gnuplot4.dat' using 1:5 title 'x-x^3/3!+x^5/5!' , \'gnuplot4.dat' using 1:6 title 'x-x^3/3!+x^5/5!-x^7/7!' , \'gnuplot4.dat' using 1:7 title 'x-x^3/3!+x^5/5!-x^7/7!+x^9/9!'

Page 27: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – grupová rychlost

plot [0:3] [-2.1: 2.2] sin(2*pi*f1*(0-x/v1)) + sin(2*pi*f2*(0-x/v2))

plot [0:3] [-2.1: 2.2] sin(2*pi*f1*(0-x/v1)), sin(2*pi*f2*(0-x/v2))

lambda1=0.5; lambda2=0.6; c=2.99793e16; n1=1.5; n2=1.51f1=c/lambda1; f2=c/lambda2; v1=c/n1; v2=c/n2

Page 28: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – příkaz plot

plot je primární příkaz pro ktreslení 2D grafů

Syntax:

plot {<rozsah>} {<opakování>}

{<funkce> | {“<datové pole>“ {modifikátory datového pole}}}{axes {<osy>} {definování názvu} {with <styl>}{, {definice, } <funkce> .....}

př1: plot sin(x)př2: plot [-2*pi : 2*pi] sin(x)př3: plot sin(x), cos(x)př4: plot f(x)=sin(x*a), a=0.2, f(x), a=0.4, f(x)př5: plot „soubor_dat.1“ with lines, „soubor_dat.2“ with pointspř6: plot [t=0:90] [-100:100] tan(pi*t/180) př7: plot [t=0:90] [0:20] tan(pi*t/180) title 'tan x', 10*sin(pi*t/180) title '10 sin x'

př8: plot 4/(1+x**2) axes x1y1 title 'y=4/(1+x^2)', \p(x)=(1/(sig*sqrt(2*pi)))*exp(-((x-a)**2)/(2*sig**2)), sig=0.2, a=0, p(x)

př9: plot [-1:1] \p(x)=(1/(sig*sqrt(2*pi)))*exp(-((x-a)**2)/(2*sig**2)), sig=0.1, a=0, p(x)\title 'sigma=0.10', sig=0.15, p(x) title 'sigma=0.15', sig=0.2, p(x) title 'sigma=0.20',\sig=0.3, p(x) title 'sigma=0.30' , sig=0.5, p(x) title 'sigma=0.50'

Page 29: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – přesnost kreslení, mřížka

plot [0:10] [-2.1: 2.2] sin(2*pi*f1*(0-x/v1)) + sin(2*pi*f2*(0-x/v2))

set terminal windows 'Grupova rychlost' set samples 100

lambda1=0.5; lambda2=0.6; c=2.99793e16; n1=1.5; n2=1.51f1=c/lambda1; f2=c/lambda2; v1=c/n1; v2=c/n2set grid

set terminal windows 'Grupova rychlost – presneji'set samples 1000

Page 30: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – 3D grafy, příkaz splot

splot [x1:x2] [y1:y2] [z1:z2] f(x,y) #nastaví meze a vykreslí plochu

set xrange [x1 : x2] #globální nastavení rozsahu osy xset yrange [y1 : y2] #globální nastavení rozsahu osy yset autoscale z # automatické nastavování meyí osy zset view h, v, z # nastaví úhel pohledu (h=60, v=30, z=1 vzdálenost)set isosamples s1, s2 #nastavení dělení (vzorků) na ose x a y

set isosamples 100,100set hidden3d

splot [0 : 2*pi] [0 : 4*pi] sin(x)*sin(y)

Page 31: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – ekvipotenciální čáry

set contour base set contour surface set contour both

set isosamples 50,50set hidden3d

splot [-4*pi :4*pi] [-4*pi :4*pi] \ sin(sqrt(x**2+y**2))/(sqrt(x**2+y**2))

Page 32: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – zvýraznění pomocí strmosti

splot [-10:10] [-10:10] [0:1.5] \ 4*(besj1(sqrt(x**2+y**2))*besj1(sqrt(x**2+y**2))) / (x**2+y**2)\ title '[2 J_1({/Symbol=10 t}) /{/Symbol=10 t}]^2';

set title "Bodova rozptylova funkce" offset 0, 0 font "Ariel, 15"set terminal windows enhanced

set pm3d at stset palette grayset palette gamma 3set gridset key bmarginset border 4095set surfaceset samples 100set isosamples 61set ticslevel 0

Page 33: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – mnoho možností a účelunset surfaceset palette model RGB negative

set surfaceset palette model RGB

unset surfaceset palette model CMY positive

unset surfaceset grey scaleset palette gamma 3

Page 34: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – test barev

test palette # příkaz poskytuje základní informace o barvách

set palette model XYZ test palette

set palette model RGB maxcolors 5set palette defined (0 'blue', 1 'green' , 2 'yellow', 3 'red', 4 'dark-red') test palette

.....

Page 35: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – pm3d map, strmost

set pm3d map #Nastavení umožňuje vykreslit příkazem splot 2D mapu# ekvipotenciálních čar.

Pro dříve uvedený příklad grafu „Bodové rozptylové funkce“ dostaneme poaplikaci tohoto nastavení pro různá gamma následované příkazem replot grafy:

set palette gamma 5 set palette gamma 3 set palette gamma 10

set palette gamma 0.1 set palette gamma0.5 set palette gamma 1

Page 36: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – práce s adresáři a soubory

pwd - zobrazí cestu k aktuálnímu pracovbnímu adresáři

cd - jméno nového adresáře' - změní aktuální adresář, může se uvést i cesta

save - umožní uložit pod specifikovaným názvem uživatelem definovanou funkci,proměnné, podmínky nastavené příkazem set a poslední příkaz plot (splot).

Syntax: save {<co_se_uklada>} '<jmeno_pole>'

functions -funkcevar -proměnnéset -nastavení,term -terminálnení-li nic, ukládá se vše

zvolený názevv uvozovkáchnapř.'animace.plt'

load – provede každý příkaz zapsaný na řádcích specifikovaného pole tak,jakoby tyto řádky byly postupně zapisovány v ineraktivním režimu.

Syntax: load '<jmeno_pole>'

Page 37: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – vybrané příkazy

replot - bez argumentu zajistí opakování posledního příkazu plot, nebo splot.Používá se např. pro nové zobrazení po přenastavení různými příkazy set.

Případné argumenty za slovem replot budou doplněny k poslednímu příkazu plot,nebo splot a graf bude znovu vykreslen. Argumenty se oddělují čárkou.

Příklad: plot [0 : 2*pi] [-1.2: 1.2] sin(x);replot (x-x**3/3! + x**5/5!) title 'aproximace 5. radu', cos(x);

reset - všechna dříve provedená nastavení pomocí příkazů set budou zrušenaa systém bude nastaven na výchozí hodnoty

reread - provádění příkazů určitého příkazového pole, které je specifikované příkazem load bude před tím, než budou přečteny následující příkazy vráceno na začátek. Tím je realizována nekonečná smyčka, nebo s příkazem if konečná smyčka.

pause - zobrazí za tímto příkazem specifikovaný text a počká udanou dobu

pause <doba v sekundách> {'string'}

clear – vymaže aktuální obrazovku.

fit – umožňuje aproximovat závislost specifikovanou datovým polem pomoví zvolené funkce – určí proměnné zvolené funkce metodou nejmenších čtverců

fit {[rozsah x] {[rozsah y]}} <funkce> '<datové pole>'{datové modifikátory}via '<pole parametrů>' | <proměnná1> {, <proměnná2>, ...}

Page 38: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

if (<podmínka>) <příkazy> [; else if (<podmínka>) ...; else ...]

gnuplot – podmíněný příkaz if, smyčka

if - podmíněný příkaz „jestliže“

p=0 load 'smycka10.dat'

Spojení reread s if umožní animaci:

#definice souboru smycka10.datp=p+0.05plot [0:8*pi] sin(x-p)pause 0.05if (p<8*pi) reread

Nezapomeňte, že datový soubor musí být uložen v aktuálním adresáři,nebo k němu musí být nastavena cesta.

Page 39: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot – příklad animace

set samples 100set title "Konjunkce"p=10

plot [-15:15] [0:2] 4*((besj1(x))/x)**2+\ 4*((besj1(x-p))/(x-p))**2

load 'smycka_animace.dat';

p=p-0.05replotpause 0.1if (p>-10) reread

Page 40: nástroj pro kreslení grafů - optics.upol.czoptics.upol.cz/userfiles/file/GNUPLOT_6.pdf · gnuplot – logaritmická osa set terminal windows enhanced set title "Spektralni citlivost

gnuplot

Zkuste to!


Recommended