Interní rozvojová soutěž (IRS 2017)

Gnuplot

 

 

 

Když uživatel poprvé otevře gnuplot a uvidí jen prázdné bílé okno s hlavním panelem, mohl by se trochu vyděsit. Gnuplot čeká, až mu uživatel napíše, co je potřeba nakreslit. Jenže jak v takovém okně vytvořit graf, když prostředí není zrovna intuitivní?

Tyto stránky byly vytvořeny s cílem usnadnit novým uživatelům překonání počáteční bariéry na konkrétních příkladech. Cílem nebylo přeložit rozsáhlé manuály z angličtiny, které jsou snadno dostupné, ale vytvořit přehledný manuál, zahrnující základy nezbytné v začátcích práce s gnulotem. Pro zkušenější uživatele pak mohou tyto stránky sloužit jako místo, kam se mohou kdykoliv podívat na pozapomenutý tvar některého z příkazů. 

Gnuplot je volně dostupný software, který je ke stažení z domovské stránky http://www.gnuplot.info/

1.      Úvodní informace k používání Gnuplotu

Gnuplot umožňuje jak vykreslení funkcí, tak i vykreslení datových souborů. Úplně nejjednodušší způsob otestování instalace gnuplotu je zapsání příkazu:

p x

což vede k vykreslení funkce y = x v předdefinovaných mezích od -10 do +10. Příkaz p je zkratkou pro příkaz "plot", x je proměnná. Podobně je možné používat gnuplot k zobrazení celé řady dalších funkcí. Účelem této stránky je však poskytnout studentům informace o možnostech grafického zobrazení experimentálních dat, a proto není problematika funkcí dále v textu řešena. Relevantní informace v angličtině je možno nalézt na řadě míst, např zde.  

K vytvoření jednoduchého grafu v gnuplotu je potřeba splnit dvě nezbytné podmínky:

  • sdělit gnuplotu, kde jsou data, která mají být vykreslena,
  • sdělit gnuplotu, jak má data vykreslit.

Téměř ve všech případech se data k vykreslení nacházejí v nějakém datovém souboru, takze stačí gnuplot správně nasměrovat. To jak mají být data vykreslena je možné zadat dvěma způsoby:

  • napsat vše přímo do okna gnuplotu (viz příklad s vykreslením funkce). Tato možnost je ideální, pokud je třeba vytvořit pouze rychlý náhled a není nutné definovat názvy os, mřížky, fonty atd.
  • napsat totéž co výše do textového souboru (dále jej nazýváme skript) v textovém editoru jako je např. poznámkový blok, notepad++, vim ad. Takovýto soubor je pak možno v příslušné složce se zdrojovými daty jedním dvojklikem spustit a graf vytvořit se všemi definovanými parametry. Graf je také možno rychle upravovat.

K tomu, aby se skript ve složce nezobrazoval jako obyčejný .txt soubor, je ukládán s koncovkou .plt. Do skriptu lze vpisovat pomocí symbolu # poznámky. Gnuplot pak daný řádek (nebo jeho část) bere jako text, a nikoliv příkaz týkající se definice grafu.

V případě, že máme data uložená jako soubor "priklad1.txt", může datový soubor vypadat např. následovně:

 

K vykreslení grafu je nejprve nutné vytvořit nový textový soubor, do kterého budeme náš skript psát.  Toho docílíme jednoduše pomocí pravého tlačítka myši a volby „nový“ a následně „textový dokument“. Osobně doporučuji pracovat spíše než s klasickým poznámkovým blokem s jeho pokročilejší verzí notepad++, která je volně dostupná ke stažení (https://notepad-plus-plus.org/download/v7.5.3.html).

Do prázdného dokumentu pak začneme psát příkazy k tvorbě grafu (popsané dále). V dokumentu lze pro lepší přehlednost volně vynechávat řádky, nebo vkládat komentáře pro vlastní potřebu za symbol křížku #.

Základní skript s popisem všech funkcí pro vykreslení hodnot ze souboru "priklad.txt" pak bude vypadat např. následovně:

A povede k vytvoření grafu:

Takto jednoduchým skriptem lze vykreslit graf nejen z jednoduchého souborou, který obsahuje několik málo bodů, ale rovněž i ze souboru, který obsahuje několik milionů bodů. Postup je úplně stejný.

Tip: V notepad++ doporučuji nastavit zalamování řádků pro případ psaní dlouhých komentářů nebo práce v úzkém okně (zobrazit-> zalomit řádky). Pro zpřehlednění skriptu lze dále nastavit syntaxi pro gnuplot.

true

2. Otevření skriptu v Gnuplotu

Tato kapitola se zabývá otevřením skriptu, který je uložen ve složce na disku. Jedná se o velmi jednoduchou záležitost, kdy je nejprve je nutné změnit adresář na umístění txt/csv souborů a příslušného skriptu. K tomu složí ikona ChDir (change directory) na horním panelu v okně gnuplotu, jak je ukázáno na následujícím obrázku.

Po nalezení složky s uloženým skriptem a zdrojovými daty otevřeme daný skript k pomocí možnosti open opět na horním panelu okna gnuplotu. K tomu, aby byly skripty vidět v nabídce, je potřeba je mít uložené s příponou .plt, jak již bylo uvedeno.

Skripty lze rovněž otevírat ve složce dvojklikem. To se hodí zejména při otevírání starších hotových grafů, kdy potřebujeme pouze nahlédnout a již nic neměnit a není tedy třeba spouštět samotný gnuplot. V průběhu tvorby nového grafu a optimalizace jeho vzhledu ovšem tento postup vede k otevírání stále nových oken. Rychlejší a praktičtější je využívání šipky nahoru v okně gnuplotu, čímž listujeme historií zadaných příkazů a enterem výběr potvrdíme. Dvěma rychlými klávesami (šipka nahoru + enter) lze tedy otevřený graf překreslit v již otevřeném okně.

true

3.     Vykreslení křivky z dat v souboru

Výhoda tvorby grafů pomocí gnuplotu je jednoduchost vykreslení dat. Na rozdíl od softwarů jako MS Excel není potřeba nikam naměřená data importovat, ale lze je jednoduše načíst přímo v datovém souboru, jak je popsáno v této kapitole. 

3.1.    Jedna křivka

Příkaz k vyvolání křivky v grafu je:

  • plot 'XXX.txt'

kde XXX je název souboru a .txt je formát. Zvolení výchozího souboru je základem pro vykreslení křivky, za který se dále přidávají níže uvedené příkazy. Jak může vypadat hotový příkaz je vždy ukázán na příkladu. 

Pokud máme ve zdrojovém souboru více sloupců a chceme k vykreslení použít jen konkrétní z nich, pak je k příkazu doplněno using 1:2, kde čísla odpovídají zvoleným sloupcům:

  • using 1:2

V případě, že máme velmi objemný datový soubor a načtení všech bodů znamená vysoké zatížení PC, bývá potřeba vykreslit každý několikátý bod. K tomuto účelu slouží příkaz every, kde číslem určíme, kolikátý další bod bude vykreslen. Pokud není uvedeno jinak, Gnuplot automaticky vykreslí každý bod:

  • every 10

Příkaz ti (title) slouží k pojmenování křivky. Pro schování křivky v legendě lze uvést prázdné uvozovky.

  • title / ti "XXX"

Následujícím heslem je určen rozsah dat ve zdrojovém souboru, která se mají do křivky načíst:

  • every ::1000::2000

Příkaz k vykreslení křivky od 3. řádku v datovém souboru. Např. při potřebě přeskočit textovou hlavičku:

  • every ::3

Příkaz, kterým odfiltrujeme data mimo zadaný rozsah. K vykreslení křivky budou použita data na ose x ze sloupce 1 datového souboru, která jsou větší než 1700:

  • u ($1<1700 ? $1 : 1/0):2

Pokročilejší verze předchozího příkazu, kterým pro křivku nastavíme rozsah na ose x od 2700 do 3300 a zároveň od těchto hodnot odečteme 960:

  • u ($1>2700&&$1<3300  ? $1-960 : 1/0)

Další speciální případ, kterým lze pro jednu křivku použít dva sloupce datového souboru. K vykreslení křivky budou použita data ve sloupci 1 na ose x. Hodnoty y budou použity ze sloupce 2 a po překročení y=100 budou použity data z datového sloupce 3:

  • using 1:($3>100 ? $2 : 1/0)

Obdobně lze vykreslit funkci místo dat ze souboru. Tímto příkazem lze nakreslit křivku funkce f(x) v rozsahu x hodnot 0.1< x<0.7:

  • (x < 0.7 && x>0.1) ? f(x) : 1/0 ti "Funkce f(x) " with lines lc "dark-red"

Příklad:

plot "Rana1.csv" u 1:6 every 5 ti "CH5"

Příkaz slouží k vyvolání dat ze souboru Rana1.csv, ve kterém bude vykreslen každý pátý bod ze sloupců 1 a 6. Křivka bude v legendě pojmenována jako „CH5“ (channel 5).

3.2.    Více křivek

Velmi často je graf tvořen více křivkami najednou, čehož je docíleno obdobným způsobem jako u jedné křivky. Volá se již pouze zdrojový soubor bez hesla „plot“. Příkazy pro jednotlivé křivky lze psát do jednoho řádku, kdy při vyšším počtu křivek přestává být script přehledný, nebo pomocí obráceného lomítka \ řádky oddělit a každou křivku psát na samostatný řádek.

Příklad:

plot "Rana1.csv" u 1:2 every 5 ti "Rána 1 CH1" lc "blue" pt 7 ps 0.3, \

"Rana1.csv" u 1:3 every 5 ti " Rána 1 CH2" lc "dark-red" pt 7 ps 0.3, \

"Rana2.csv" u 1:2 every 5 ti " Rána 2 CH1" lc "dark-green" pt 7 ps 0.3, \

"Rana2.csv" u 1:3 every 5 ti " Rána 2 CH2" lc "black" pt 7 ps 0.3,

nebo

plot "Rana1.csv" u 1:2 every 5 ti "Rána 1 CH1" lc "blue" pt 7 ps 0.3, "Rana1.csv" u 1:3 every 5 ti " Rána 1 CH2" lc "dark-red" pt 7 ps 0.3, "Rana2.csv" u 1:2 every 5 ti " Rána 2 CH1" lc "dark-green" pt 7 ps 0.3, "Rana2.csv" u 1:3 every 5 ti " Rána 2 CH2" lc "black" pt 7 ps 0.3,

kde dochází k vykreslení čtyř křivek ze souboru Rana1.csv. Všechny křivky mají společnou osu x a je načítán každý pátý bod z obou souborů. Definování vzhledu křivky, čemuž odpovídají zkratky lc, pt a ps je věnována následující kapitola.

Tip: Pokud vykreslujeme dvě a více křivek ze stejného souboru, jak bylo uvedeno v příkladu, není potřeba psát název datového souboru stále dokola u každé z křivek. Uvedením prázdných uvozovek dáváme gnuplotu informaci, že má pracovat stále se stejným datovým souborem a změnily se pouze jiné parametry křivky. Zjednodušený příklad o tento trik pak vypadá následovně a vede ke stejnému výsledku:

Příklad:

plot "Rana1.csv" u 1:2 every 5 ti "Rána 1 CH1" lc "blue" pt 7 ps 0.3, \

"" u 1:3 every 5 ti " Rána 1 CH2" lc "dark-red" pt 7 ps 0.3, \

"Rana2.csv" u 1:2 every 5 ti " Rána 2 CH1" lc "dark-green" pt 7 ps 0.3, \

"" u 1:3 every 5 ti " Rána 2 CH2" lc "black" pt 7 ps 0.3,

true

4.     Typ grafu

V gnuplotu lze vykreslit nespočet různých typů grafů od klasických jako čárový, bodový, bodový se spojnicí, histogramy až po složité 3D grafy. V tomto manuálu jsou popsány základní a nejběžnější typy, ale tvorba grafu neuvedeného zde je často otázka pouze zadání jednoho příkazu definujícího zvolený typ grafu, jak bude pro několik typů ukázáno. 

4.1.    Bodový graf

Příkaz pro čárový graf. Lze psát zkráceně jen jako w p hned za výběr sloupců ze zdrojového souboru. Případně hned za plot XXX.txt pokud sloupce nevybíráme.

  • with points / w p

Určení barvy zobrazených bodů:

  • linecolor „blue“ / lc „blue“

Určení typu zobrazených bodů. Příklad nejčastějších typů je uveden na obrázku:

  • pointtype 7 / pt 7

Určení velikosti zobrazených bodů:

  • pointsize 0.7 / ps 0.7

Příklad:

plot "XXX.txt" u 1:2 w p ti "CH5" lc "dark-blue" pt 7 ps 0.3

Příkaz povede k nakreslení grafu s jednou křivkou pojmenovanou jako CH5. Křivka bude vykreslena bodově ze sloupců 1 a 2 v datovém souboru, modře, s plným kroužkem jako značkou bodu a velikostí bodu 0,3.

4.2.    Alternativní postup určení stylu bodů/čar

Lze nejprve definovat styl zobrazení bodů/čar a následně se na něj u vykreslení křivky pouze odkazovat.

Příkaz, kterým se určí podoba bodů pro styl 1:

  • set style line 1

Příkaz, kterým se při tvorbě křivky odkážeme na styl 1:

  • linestyle 1 / ls 1

Příklad:

set style line 1 linecolor "dark-red" pt 7 ps 0.5

set style line 2 lc "dark-blue" pt 7 ps 0.5

plot "XXX.txt" using 1:2 with points title "CH1" linestyle 1

plot "YYY.txt" u 1:3 w p ti "CH2" ls 2

Příklad příkazů pro vykreslení grafu o dvou křivkách, kde je podoba obou křivek definována jako styl čáry, na který je později pouze odkázáno. 

4.3.    Kreslení jednoho bodu bez datového souboru

Občas bývá do grafu potřeba přidat jeden bod, který není součástí datového souboru. V takovém případě není nutné vytvářet nový datový soubor pouze pro tento bod, ale lze zadat XY souřadnice bodu přímo do skriptu.

  • plot '-' w p ls 1, '-' w p ls 2, '-' w p ls 3

1 40

2 80

e

3 65

První dva budou ve stejné křivce. Při oddělení řádku pomocí „e“ bude použita nová křivka.

Příklad:

plot "priklad1.txt" u 1:2 w p ti "CH1" lc "dark-blue" pt 7 ps 1.0, \

'-' w p ti "Body 1 a 2" ls 1, '-' w p ti"Bod3" ls 2,

3 40

7 90

e

5 65

Příklad skriptu, kterým docílíme vykreslení první křivky z datového souboru bodově, modře a s plnými kolečky o velikosti 1. Zároveň do grafu přidáme tři samostatné body, kde dva červené tvoří společně druhou křivku a zelený bod je samostatný a souřadnicemi by odpovídal poloze na křivce z červených bodů. 

4.4.    Čárový

Příkaz with lines pro čárový graf lze psát zkráceně jen jako w l hned za výběr sloupců ze zdrojového souboru. Případně hned za plot XXX.txt pokud sloupce nevybíráme:

  • With lines / w l

Příkaz k určení tloušťky čáry:

  • Linewidth 2.0 / lw 2.0

Příkaz k určení typu čáry. Automaticky je vykreslována plná čára:

  • Dashtype 1/ dt 1

Příklad:

plot "priklad1.txt" u 1:2 w l ti "CH1" lc "dark-blue" lw 2.0 dt 2

Vykreslení křivky ze souboru priklad1.txt jako přerušovanou čáru tloušťky 2.0 tmavě modré barvy. Rovněž lze předem definovat styl a následně se na něj odvolat.

set style line 1 linecolor "dark-blue" lw 2.0 dt 2

plot "priklad1.txt" u 1:2  with lines  ti "CH1" ls 1

 

4.4.1.     Čárový s hladkou křivkou

V případě, že není křivka dostatečně hladká, lze vyhladit pomocí dodatečné funkce:

  • smooth csplines (sbezier, beizer, acsplines)

Pozor na použití v grafech, kde takto nelze zkreslit prezentované hodnoty!! 

Příklad:

plot "priklad1.txt" u 1:2 w l smooth csplines ti "CH2" lc "dark-red" lw 2.0,

4.5.    Bodový s čarou

Vykreslení křivky s body, které jsou zároveň proloženy čarou:

  • With linespoints

 

4.6.    Sloupcový

Následující příkaz vykreslí data jako sloupcový graf, který lze dále upravovat:

  • with boxes

Určí šířku sloupců:

  • set boxwidth 0.5

 Nevyplněné sloupce (0.0) s ohraničením:

  • set style fill solid 0.0 border

Poloprůhledné sloupce bez ohraničení:

  • set style fill solid 0.5 noborder

Příklad:

A) set boxwidth 0.5

set style fill solid 0.5 noborder

plot "priklad1.txt" u 1:2 with boxes " lc "dark-blue"

B)  set style fill solid 0.0 border

plot "priklad1.txt" using 1:2 with boxes ti "" lc "dark-blue" pt 7 lw 1.5,

A) Vykreslí poloprůhledný sloupcový graf tloušťky 0.5

B) Vykreslí sloupcový graf pouze s modrým ohraničením a neprůhlednou výplní bez mezery mezi sloupci

 

4.7.    Vyplnění prostoru mezi dvěma křivkami

V některých případech je potřeba vyplnit prostor mezi dvěma křivkami. V takovém případě postup závisí na tom, zda máme data pro obě křivky uloženy v jednom soboru a zda mají křivky společná data pro osu x. V případě, že ano, lze použít příkaz:

  • plot "XXX.txt" u 1:2:3 with filledcurves

Příkaz načte data ze sloupců 1, 2 a 3, kde 1 je společná osa x pro obě křivky a sloupce 2 a 3 jsou y hodnoty pro dané křivky. Styl výplně lze nastavit pomocí následujících příkazů.

Určení průhlednosti vyplněné oblasti. Hodnota 0.2 odpovídá 20% průhlednosti, 1.0 neprůhledné oblasti:

  • Set style fill transparent solid 0.2

Příklad:

plot "XXX.txt" u 1:2:3 with filledcurves ti "CH1" lc "dark-blue"

set style fill transparent solid 0.2

  • w filledcurve x1 (x2 ,y1 ,y2)

Vyplní prostor mezi křivkou a osou x1 (dolní osa x) nebo osou x2 (vršek grafu) případně osami y1 a y2, které odpovídají levé a pravé straně oblasti grafu.

Tip: Při používání vybarvení oblasti, je vhodné následně vykreslit stejnou křivku čárově pro zvýraznění experimentálních bodů (viz příklad).

Příklad:

A ) set style fill transparent solid 0.2

plot "priklad1.txt" u 1:2 with filledcurve x1 lc "dark-blue", 

B) set style fill transparent solid 0.2

plot "priklad1.txt" u 1:2 with filledcurve x1 lc "dark-blue", \

"priklad1.txt" u 1:2 with lines lc "dark-blue" lw 2.0,

 

Stejně jako lze vyplnit prostor mezi křivkou a osou, lze použít vyplnění mezi křivkou a libovolnou hodnotou na osách x/y:

  • w filledcurve y=100

Oblast je automaticky vyplněna celá souvisle. Další možnosti jsou 2 a 3 (mřížkovaně), 4, 5, 6 a 7 (šrafovaně), 0 bez výplně. Speciální typy výplně nelze kombinovat s průhledností a zadávají se:

  • set style fill pattern 1

Příklad:

A) set style fill pattern 1

plot "priklad1.txt" u 1:2 with filledcurve x1 lc "dark-blue", \

"" u 1:2 with lines lc "dark-blue" lw 2.0,

B) set style fill pattern 6

plot "priklad1.txt" u 1:2 with filledcurve x1 lc "dark-blue", \

"" u 1:2 with lines lc "dark-blue" lw 2.0,

4.7.1. Jiná barva nad a pod křivkou

V případě, kdy se dvě křivky v několika místech protínají, lze vybarvit oblasti pod a nad jednou z nich rozdílnými barvami.

Vyplnění oblasti nad a pod křivkou jinými barvami:

  • plot“XXX.txt“ u 1:2:3 w filledcurve above, „XXX.txt“ u 1:2:3 w filledcurve below

Příklad:

set style fill transparent solid 0.5

plot "priklad2.txt" u 1:2:3 w filledcurve above ti "" lc "dark-yellow", \

"priklad2.txt" u 1:2:3 w filledcurve below ti "" lc "dark-green", \

"priklad1.txt" u 1:2 w l ti "Křivka1" lc "black" lw 2.0, \

"priklad1.txt" u 1:3 w l ti "Křivka2" lc "dark-red" lw 2.0

 

true

5.     Nastavení parametrů os grafu

Gnuplot umožňuje velké množství různých formátování os grafů, jak bude prezentováno v této kapitole. V podstatě lze prohlásit, že neexistuje parametr grafu, který by nešlo manuálně upravit ke spokojenosti uživatele v případě, že není s automatickou podobou spokojen. Od samozřejmostí jako je změna na logaritmické měřítko,rozsahu os nebo kroku mezi čísly, lze osám přiřadit dělení na libovolný počet vedlejších kroků, změnit rozložení osy na pravděpodobnostní, přizpůsobit čísla na osách datům či nastavit popisky manuálně ve zvolených hodnotách. 

5.1.    Nastavení rozsahu osy

5.1.1.     Automaticky

Nastavení automatického rozsahu obou os:

  • set autoscale

Nastavení automatického rozsahu vybrané osy:

  • set auto y

5.1.2.     Poloautomaticky

Automatické nastavení minima/maxima na zvolené ose při ručním nastavení druhé hodnoty:

  • set yrange [*:100]
  • set yrange [-10:*]

5.1.3.     Ručně

Nastavení rozsahu vybrané osy ručně. Při změně pořadí čísel na [větší:menší] bude osa zrcadlově otočena:

  • set xrange [0:30]
  • set yrange [0:100]

5.1.4.     Logaritmického měřítko

Vložení/ odebrání logaritmického měřítka na zvolenou osu:

  • set logscale y
  • unset logscale

5.2.    Čísla na osách

5.2.1.     Krok mezi čísly

Standardně je krok nastaven automaticky podle celkového rozsahu. Následujícím příkazem lze ale nastavit na libovolnou velikost:

  • set xtics 2.5

Nastavení kroku na ose x na 2,5.

5.2.2.     Vložení dílčího dělení na osách bez čísel

Vloží na osu dodatečné dělení, které neobsahuje popisky s čísly. Pomocí uvedeného čísla lze zvolit, na kolik částí je krok mezi čísly rozdělen:

  • set mxtics 2
  • set mytics 2

Příklad:

set xtics 2.5

set mxtics 5

Hlavní krok na ose x nastaven ručně na 2,5 a do něj přidáno dodatečné dělení na krok po 0,5 pomocí rozdělení na pětiny.

5.3.    Formát čísel os

U čísel na osách lze rovněž nastavit samostatně jejich font pomocí následujících několika příkazů.

  • set xtics font "Times-Roman, 20"
  • set tics font ", 30"
  • set tics textcolor "black"
  • set xtics offset 0,1,0
  • set ytics mirror / nomirror

kde xtics představuje dělení na ose x, tics obecně dělení na obou osách, offset 0,1,0 nastaví odsazení popisku od osy v souřadnicích x, y, z (pro 2D graf lze uvádět pouze s xy souřadnicemi).

Příklad:

set xtics font "Times-Roman,12" tc "red" offset 0,-0.3 rotate by -30

Otočení čísel na ose o 30°, jejich posunutí lehce dolů od osy a nastavení stylu písma na Times Roman velikosti 12 červené barvy.

5.4.    Pravděpodobnostní rozložení osy

Při vynášení grafů s pravděpodobností na ose (např. probitové funkce) lze docílit lepší přehlednosti krajních hodnot pravděpodobnosti pomocí pravděpodobnostního rozložení osy y. K tomuto účelu slouží následujících několik příkazů.

Nastavení osy y jako pravděpodobnostní:

  • set yrange [invnorm(0.0001):invnorm(0.9999)]

Ruční přejmenování popisků na ose y tak, aby odpovídaly rozložení hodnot na pravděpodobnostní ose y:

  • set ytics ("0.1" invnorm(0.001),"1" invnorm(0.01),"5" invnorm(0.05),\

                          "10" invnorm(0.1),"20" invnorm(0.2),"30" invnorm(0.3),\

                          "40" invnorm(0.4),"50" invnorm(0.5),"60" invnorm(0.6),\

                          "70" invnorm(0.7),"80" invnorm(0.8),"90" invnorm(0.9),\

                          "95" invnorm(0.95),"99" invnorm(0.99),"99.9" invnorm(0.999))

Vykreslení křivky s pravděpodobnostním rozložením na ose y:

  • plot "XXXX.csv" using 2:(invnorm($1)) w p ti "Median " lc "blue" pt 1 ps 1.0,

Příklad:

set ytics ("0.1" invnorm(0.001),"1" invnorm(0.01),"5" invnorm(0.05),\

          "10" invnorm(0.1),"20" invnorm(0.2),"30" invnorm(0.3),\

          "40" invnorm(0.4),"50" invnorm(0.5),"60" invnorm(0.6),\

          "70" invnorm(0.7),"80" invnorm(0.8),"90" invnorm(0.9),\

          "95" invnorm(0.95),"99" invnorm(0.99),"99.9" invnorm(0.999))

set yrange [invnorm(0.0001):invnorm(0.9999)]

set logscale x

set xtics 10

set xrange [1:100]

plot "XXX.csv" using 2:(invnorm($1)) w p ti "Median " lc "blue" pt 1 ps 1.0, \

"" using 3:(invnorm($1)) w p ti "Spodní mez " lc "dark-red" pt 1 ps 1.0, \

"" using 4:(invnorm($1)) w p ti "Horní mez " lc "dark-green" pt 1 ps 1.0,

 

 

Nalevo původní (klasický probitový graf). Napravo graf s rozložením osy y podle pravděpodobnosti.

Tip: Je nutné upozornit, že odečítání krajních hodnot je spojeno s vysokou chybou vzhledem k podstatě probitové funkce, která prokládá experimentální body většinou umístěných v její střední oblasti. 

5.5.    Rozložení čísel na osách podle bodů křivky

Poměrně speciální případ rozložení čísel na osách. Velikost kroku se přizpůsobí datovému souboru.

​Nastavení kroku mezi čísly podle bodů v datovém souboru. Nastavením ps 0 skryjeme body, které by se jinak ukazovaly na osách:

  • p 'XXX.txt' u 1:2 w lp lc "dark-red" lw 1.5 ps 1.0 pt 7,            

          ''u 1:(0):xticlabel(1) w p ps 0, ''u (0):2:yticlabel(2) w p ps 0

Příklad:

 

5.6.    Dvojitá osa

V mnoha grafej jsou hodnoty uváděny na vedlejší ose. Jak toho docílit v gnuplotu je popsáno v tého kapitole. Příklad je uveden pro osu y. Obdobným způsobem lze postupovat při tvorbě grafu s dvojitou osou x.

Nastavení rozsahu vedlejší osy y:

  • set y2range [XX:XX]

Zobrazení čísel na vedlejší ose y:

  • set y2tics

Pojmenování vedlejší osy y:

  • set y2label "Název osy"

Volba vedlejší osy y při tvorbě křivky:

  • plot „xxx.csv“ u 1:2 axes x1y2

Příklad:

set y2tics

set y2range [0:280]

set y2label "Vedlejší osa y s dvojnásobným rozsahem"

set ytics nomirror

plot "XXX.txt" u 1:2 w p axes x1y2 ti "Křivka1" lc "dark-blue" pt 7 ps 1.7,

Bez podrobnější specifikace rozsahu na vedlejší ose y nebudou hodnoty velmi pravděpodobně pasovat do mřížky grafu. Pro vyladění grafu k dokonalosti je nutné y2 osu upravit manuálně do podoby pro konkrétní graf dopsáním požadovaného kroku k příkazu set y2tics.

Příklad:

set y2tics 40

set y2range [0:280]

set y2label "Vedlejší osa y s rozsahem nastaveným manuálně"

plot "priklad1.txt" w l ti "Křivka 1 " lc "dark-blue" lw 2.0, \

"" u 1:2 w p axes x1y2 ti "Křivka 2 " lc "dark-blue" pt 7 ps 1.7,

 

true

6.     Formátování popisků os, vkládání vlastního textu, legendy, psaní symbolů

Gnuplot jako software čistě pro tvorbu grafů umožňuje obrovské možnosti formátování veštěrých textů a pochopitelně i jejich vkládání v libovolném fontu a umístění. V této kapitole bude na příkladech ukázáno, jakým způsobem lze formátovat popisky os, vkládat legendu, vkládání vlastních popisků, šipek symbolů a indexů a veškeré úpravy a triky s tím spojené.

6.1.    Vložení popisků

Vložení názvu grafu:

  • set title "Název grafu"   / set ti "Název grafu"

Automaticky je umístěn nad oblastí grafu, ale pomocí připsání hesla lze s popiskem posouvat. První uvedené číslo odpovídá souřadnici x, druhé souřadnici y. Při posunu dovnitř do oblasti grafu je využíváno negativní hodnoty y souřadnice:

  • offset 0,-5

Vložení popisku osy x. Stejně jako u názvu grafu lze po připsání hesla offset 2,0 popiskem libovolně posouvat. Obdobně se vkládá popisek osy y pomocí set ylabel:

  • set xlabel "NÁZEV OSY [JEDNOTKA]"

Do grafu lze vložit i vlastní text/popisek. Pomocí hesla at 0,0 lze zvolit umístění popisku:

  • set label "VLASTNÍ POPISEK" at 0,0

Příklad:

set label 1 "VLASTNÍ POPISEK" at 5,40 rotate by 35 font "Times-Roman-bold,20" tc "red"

6.1.1. Formát popisků

 Volba písma, velikosti. Přidáním „bold“ bude písmo tučně:

  • set ylabel font "Times-Roman-bold,10"

Otočení popisku:

  • set xlabel rotate by 45

Volba barvy písma:

  • set ylabel textcolor "red"  /  set ylabel tc "red"  

6.1.2. Psaní indexů

Jednoduché příkazy na horní a dolní index. V závorce je uvedeno to, co má být obsahem indexu. Indexy lze i vzájemně kombinovat nebo psát indexy již v jiném indexu.

  • ^{-1/3}
  • _{-1/3}
  • _{H_{2}O} [g]
  • ^{10^{10^{10}}}

Pochopitelně lze napsat i dolní a horní index současně tak, aby byly zobrazeny nad sebou a nikoliv za sebou, jak se často stává v jiných grafických programech. K tomuto účelu slouží následující příkaz:

  • X@^2_y

Příklad:

A) set xlabel "NÁZEV_{OSY} [m.kg^{-1/3}]" font "Times-Roman-bold,12"

B) set xlabel "m_{H_{2}O} [g]"

C) set xlabel "X^{10^{10^{10}}}"

D) set xlabel "X@^2_{H_{2}O} [g]"

 

 

6.1.3.     Psaní řecké abecedy

Řeckou abecedu lze do skriptu zkopírovat či napsat pomocí klávesové zkratky, existuje ale rovněž příkaz, kterým lze řecké písmeno napsat. Příkaz pro řecké písmeno α:

  • set xlabel '{/Symbol a}' enhanced

Zbylá písmena řecké abecedy lze napsat pomocí následující tabulky:

Písmeno

Symbol

Písmeno

Symbol

Písmeno

Symbol

Písmeno

Symbol

A

Alpha

N

Nu

a

alpha

n

nu

B

Beta

O

Omicron

b

beta

o

omicron

C

Chi

P

Pi

c

chi

p

pi

D

Delta

Q

Theta

d

delta

q

theta

E

Epsilon

R

Rho

e

epsilon

r

rho

F

Phi

S

Sigma

f

phi

s

sigma

G

Gamma

T

Tau

g

gamma

t

tau

H

Eta

U

Upsilon

h

eta

u

upsilon

I

iota

W

Omega

i

iota

w

omega

K

Kappa

X

Xi

k

kappa

x

xi

L

Lambda

Y

Psi

l

lambda

y

psi

M

Mu

Z

Zeta

m

mu

z

zeta

6.2.    Smazání popisků

Smazání vybraného popisku (název grafu, popisek osy x, konkrétní vlastní popisek):

  • unset title

  • unset xlabel

  • unset label 1

6.3.    Vložení/ odebrání legendy

Vložení legendy:

  • set key

Umístění symbolu označující křivku v legendě. Reverse = vlevo, bez specifikace je symbol napravo od textu:

  • set key reverse

Příkaz, kterým je legenda umístěna mimo oblast grafu:

  • set key outside

Určení pozice legendy v grafu:

  • set key left bottom

Hesly left, right, top, bottomcenter, inside, outside, lmargin, rmargin, tmargin, bmargin, above, over, below a under lze určit automatická pozice v grafu.

Manuální nastavení pozice legendy pomocí x/y souřadnic:

  • set key at 20,300

Ohraničení legendy rámečkem s čarou zvoleného typu (přednastavena je plná čára):

  • set key box linestyle 1

Odebrání legendy:

  • unset key

6.3.1.     Formát legendy

Nastavení řádkování mezi textem v legendě:

  • set key spacing 1.5

Volba barvy textu legendy:

  • set key textcolor "red"

Volba fontu textu v legendě:

  • set key font "Times-Roman, 20"

Nastavení délky symbolu čáry v legendě. U bodového grafu nemá vliv:

  • set key samplen 5

Zmenší velikost mezi vzorovým symbolem v legendě a popiskem dané křivky:

  • set key width -5

Pomocí /n lze v popisku rozdělit text na více řádků:

  • ti "Text v prvním řádku \ntext v druhém řádku "

Příklad:

A) set key font "Times-Roman,12"

set key box reverse top left samplen 5.0 spacing 1

B) set key font "Times-Roman,12" tc "dark-red"

set key box linestyle 0 reverse top right outside samplen 1.0 spacing 2

 

 

Ukázka různých typů legendy. 

Tip: Pokud je potřeba do grafu zahrnout křivku, kterou nechceme v legendě, lze u ní uvést ti "", kde prázdné uvozovky zajistí skrytí v legendě. 

6.3.2.     Změna tloušťky čáry v legendě

V případě vykreslení grafu s tenkou čárou, stává se, že barvy v legendě přestanou být dobře rozlišitelné. Ačkoliv jde na první pohled o jednoduchý úkol, neexistuje v Gnuplotu funkce pro přímou změnu tloušťky čáry pouze v legendě při zachování tenké čáry v samotném grafu. Požadavku lze ovšem docílit pomocí triku, kdy vytvoříme druhou křivku ze stejných dat s požadovanou tloušťkou čáry v legendě. Pro tuto druhou fiktivní křivku je nutné nastavit načtení každého x-tého bodu tak, aby x bylo vyšší, než je počet bodů v datovém souboru. Máme-li tedy datový soubor o 1000 bodech, pak lze použít např. every 10000. Tím pádem nemůže být křivka vykreslena, aniž by gnuplot hlásit chybu jako v případě použití every 0. Název první skutečně vykreslené křivky je potřeba pomocí příkazu ti „“ schovat v legendě a naopak pojmenovat fiktivní křivku zvoleným způsobem.

Příklad:

A) plot "priklad1.txt" u 1:2 w l ti "Křivka 1 " lc "blue" lw 1.0, \

B) plot "priklad1.txt" u 1:2 w l ti "" lc "blue" lw 1.0, \

"" u 1:2 every 100 w l ti "Křivka 1 " lc "blue" lw 3.0,

 

 

Na příkladu je vidět, že při vykreslení křivy pomocí skutečně tenké čáry, v legendě by následné rozlišení křivek barevně mohlo dělat problémy, proto lze uvedeným trokem legendu upravit tak, aby byly křivy lehce odlišitelné. 

6.4.    Vložení šipky

Přestože se jedná o vložení šipky, tento příkaz se používá i pro vkládání čáry pomocí šipky bez hlavičky nebo při dokreslení ohraničení grafu u grafů s přerušenou osou i tvorbě samotného symbolu přerušení osy.

 Vložení šipky, kde XX a YY odpovídají souřadnicím začátku šipky a konce s hlavičkou:

  • set arrow 1 from XX, YY to XX, YY lw 1

Určení typu hlavičky, kde empty je hlavičky bez výplně, filled je vyplněná hlavička, nohead je jen čára bez hlavičky a heads je příkaz pro hlavičku na obou koncích. Automaticky je přednastavena klasická šipka.

  • empty, filled, nohead, heads

Nastavení parametrů hlavičky, velikost, šířka atd. Každý typ hlavičky lze upravit do všemožných úhlů, délek a tvarů.

  • size screen 0.045,15,500

Alternativní způsob, kterým lze vložit šipku s nastavením parametrů. Zadané souřadnice odpovídají konci šipky a pomocí délky a úhlu lze nasměrovat hlavička na požadované místo.

  • set arrow 5 from 64,-0.01, graph 0 length 1.0 angle 75 empty lw 2 front

Příklad:

set arrow 1 from 2, 40 to 2.5, 8 lw 1

set arrow 2 from 3, 45 to 3.5, 14 lw 1 empty

set arrow 3 from 4, 50 to 4.5, 22 lw 1 heads filled

set arrow 4 from 5, 55 to 5.5, 33 lw 1 nohead

set arrow 5 from 6, 60 to 6.5, 45 lw 2 lc "dark-red" heads size screen 0.025,30,45

set arrow 6 from 7, 70 to 7.5, 58 lw 3 empty size screen 0.025,40,20

set arrow 7 from 7.5, 95 to 8.5, 75 lw 2 lc "dark-blue" filled size screen 0.045,15,500

set arrow 8 from 8.7, 110 to 9.6, 94 lw 2 lc "dark-green" empty size screen 0.045,20,300

 

true

7.     Ohraničení grafu

V této krátké kapitile bude uvedeno, jakým způsobem lze zobrazit či skrývat ohraničení grafu. Přestože standardně bývá ponecháno ohraničení ze všech čtyřech stran, lze vytvořit graf pouze s viditelnými osami bez ohraničení. Zvlášť důležité je umět pracovat s ohraničením krafu v případě, že vytváříme složitější grafy např. graf s přerušenou osou, 3D graf a multiplot.

Nastaví rámeček okolo celé oblasti grafu (přednastaveno automaticky):

  • set border

Ruční volba ohraničení. Volba 1+2 zobrazí jen osu x a y, 1+2+4+8 zobrazí celé ohraničení (výchozí nastavení), 1+2+4+8+16+32+64+256+512 nastaví kompletní ohraničení 3D grafu:

  • set border 1+2

Volba pro graf úplně bez ohraničení. Nejsou zobrazeny ani osy, proto lze tento příkaz využít spíše jen ve speciálních případech:

  • unset border

Příklad:

A) set xtics nomirror

set ytics nomirror

set border 1+2

B) set xtics mirror

set ytics mirror

set border 1+2+4+8

 

 

 

true

8.     Nastavení pozadí v grafu

Pokud je vyžadováno pozadí jiné barvy než bílé, gnuplot takové nastavení velmi jednoduše umožňuje pomocí vložení objektu, který zakrývá celou oblast grafu. S využitím více objektů lze libovolně vybarvit jen některé části grafu (viz příklad). Objekt musí být vždy vložen v pozadí a ideální je nastavit průhlednost dle osobních preferencí. Důležitým faktem je, že gnuplot neumí vkládat objekty libovolných tvarů. Jedinné dostupnýmé příkazy jsou vložení obdelníku, kruhu a elipsy. Jiné tvary jako trojúhelník jdou rovněž vytvořit, existují na to triky, případně lze vytvořit datový soubor tak, aby při podvarvení křivek mezi sebou zvolený objekt vznikl. S tvorbou složitých tvarů či přímo obrázků z nich je ovšem raději lepší nepočítat. 

Vložení obdelníku na uvedené místo grafu. Rovněž lze vložit kruh pomocí set obj circle, nebo elipsu pomocí set obj ellipse:

  • set object rectangle at XX, YY

Vložení žlutého obdélníku přes celou oblast grafu (lze přizpůsobit souřadnicemi 0,0 a 1,1) s průhledností 50 %. Důležité je vždy uvést "behind" kterým zajistíme, aby šlo opravdu o pozadí a objekt nezakrýval dělení os či samotnou křivku. 

  • set object 1 rect from screen 0,0 to screen 1,1 fillcolor "yellow" behind fillstyle transparent solid 0.5

Příklad:

A) set object 1 rectangle from screen 0,0 to screen 0.33,1 fillcolor "yellow" behind fillstyle transparent solid 0.5

set object 2 rectangle from screen 0.66,0 to screen 1,1 fillcolor "yellow" behind fillstyle transparent solid 1

B) set xlabel font "Times-Roman,12" tc "white"

set ylabel font "Times-Roman,12" tc "white"

set grid ytics xtics ls 0 lw 1 lc "white"

set key font "Times-Roman,12" tc "white"

set key reverse bottom right samplen 0.5 spacing 1

set key box lc "white"

set object 1 rectangle from screen 0,0 to screen 1,1 fillcolor "black" behind fillstyle transparent solid 1

 

 

 

true

9.     Mřížka

Pokud graf neslouží pouze k demonstraci, ale má sloužit i k odečítání dat nebo chceme zlepšit orientaci v hodnotách, je vhodné ho doplnit o decentní mřížku. Jakým způsobem mřížku vložit, naformátovat a nebo přímo nastavit, ke kterým hodnotám mřížka povede, bude ukázáno v této kapitole.

9.1.    Základní mřížka

Nastavení čárkované mřížky o síle čáry 1. Typ čáry ls -1 odpovídá plné čáře, ls 0 čárkované.

  • Set grid ls 0 lw 1

Smazání mřížky z grafu:

  • Unset grid

Nastavení samostatné mřížky pro x/y hodnoty:

  • set grid xtics
  • set grid ytics

Zobrazení mřížky i pro vedlejší hodnoty na osách:

  • set grid mxtics
  • set grid mytics

Volba umístění mřížky v popředí/ pozadí:

  • front/back

Příklad:

A) set grid ytics xtics ls 0 lw 1 lc "black"

set grid mxtics

B) set style line 1 lc 'black' lt 0 lw 1

set style line 2 lc 'red' lt 1 lw 1

set grid xtics ytics mxtics ls 1, ls 2

 

 

Příklad obyčejné mřížky, kde je navíc přidána mřížka pro vedlejší hodnoty na ose x. Příklad B ukazuje možnost přizpůsobit vedlejší mřížku barevně i stylově nezávisle na hlavní mřížce.

9.2.    Mřížka pouze pro body křivky

Nastavení parametrů vodorovných čar:

  • p 'priklad1.txt' u 1:2:(0):1 w xerror ps 0 lt 0 lw 1 lc rgb "black", \           

Nastavení parametrů svislých čar:

  • '' u 1:2 w i lt 0 lw 1 lc rgb "black", \                              

dopsáním every x lze nastavit, že mřížka povede ke každému x. vyznačenému bodu.

Příklad:

p XXX.txt' u 1:2:(0):1 every 2 w xerror ps 0 lt 0 lw 1 lc rgb "black" ti "", \

'' u 1:2 w i lt 0 lw 1 lc rgb "black" ti "", \

'' u 1:2 w p ti "Křivka1" lc "dark-blue" ps 1 pt 7,

 

true

10.      Posun dat v souřadnicích XY

V některých případech je potřeba vykreslit křivku posunutou proti zdrojovému datovému souboru (např. pro srovnání dvou křivek z různého času jejich překrytím, srovnáním baseline do nuly atd.). Jindy obsahuje zdrojový soubor hodnoty v jednotkách, které chceme do grafu změnit (ms na µs atd.) V takových případech není potřeba měnit datový soubor, ale lze posuny a násobení/dělení dat provádět i v gnuplotu.

10.1.    Posun po ose x

Do příkazu, ve kterém určujeme, který sloupec ze zdrojového souboru má být vykreslen, přičteme/odečteme libovolnou hodnotu pomocí symbolu $ a zvolenou matematickou operací:

  • plot "XXX.csv" u ($1+0.0015):2

10.2.    Posun po ose y

Obdobným způsobem lze posouvat hodnoty na ose y:

  • plot "XXX.csv" u 1:($2+0.0015)

10.3.    Změna jednotek

Stejně jako u sčítání a odčítání hodnoty lze násobit a dělit právě za účelem změny jednotek v grafu:

  • plot "XXX.csv" u ($1*1000):2

Příklad:

p ' XXX.txt' u 1:2 w l ti "Křivka1 v cm" lc "dark-blue" lw 2.0, \

' XXX.txt' u 1:($2*10) w p axes x1y2 ti "Křivka2 v mm" lc "dark-red" pt 7 ps 1.7, \

' XX.txt' u ($1-1):2 w l ti "Křivka3 z nuly" lc "dark-green" lw 2.0,

Na grafu je z jednoho souboru dat vykreslena stejná křivka třemi způsoby. Modrá je přímo z uložených dat beze změny. Červená znázorněná body je na vedlejší ose s převedenou jednotkou a zelená je totožná s modrou, ale posunuta po ose x tak, aby začínala v nule.

true

11.     Změna oddělovače desetinných míst

Gnuplot automaticky předpokládá, že je oddělovačem desetinných míst tečka. V případě, že máme v datovém souboru jako oddělovač čárku, lze data načíst po přidání následujících příkazů do skriptu. Lepším způsobem ovšem je provést hromadné nahrazení v textovém editoru (Notepad++, VIM, atd.) nebo při zpracování dat (např. v Octave, MatLABu) a data s desetinnou čárkou uložit již do souboru.

Zobrazení aktuálního nastavení gnuplotu:

  • show decimalsign

Nastavení oddělovače desetinných míst na čárku:

  • set decimalsign ','

Nstavení oddělovače desetinných míst na přednastavený čili tečku:

  • unset decimalsign
true

12.  Ukládání grafů

Vytvořený graf lze ukládat pomocí ikony uložit na liště přímo v okně s grafem. Pokud ovšem chceme ukládat obrázky v jiném formátu jako .png nebo převádět do .pdf souboru, lze toho docílit následujícím postupem.

12.1.    Jako .pdf

Na začátku skriptu je potřeba určit terminál pro ukládání v .pdf formátu. Standardně je používán terminál wxt, který po spuštění skriptu zobrazí graf v novém okně. Po změně terminálu se již okno neobjeví, ale obrázek bude rovnou uložen do složky ve formátu .pdf. Na začátku skriptu se uvádí název, pod kterým bude graf uložen a skript je vždy potřeba uzavřít pomocí set output.

  • set term pdf
  • set output "Graf.pdf"
  • set output

12.2.    Jako .png

Stejně jako v případě ukládání do .pdf lze ukládat přímo do .png jako obrázek. Tento způsob ukládání může ovlivnit rozlišení uloženého obrázku, proto je lepší jej kombinovat s nastavením velikosti okna. 

  • Set term png.
  • Set output „Graf.png“
  • Set output

12.3.    Ukládání v terminálu wxt

Nejjednodušší způsob ukládání grafu pomocí ikony uložit na liště v zobrazeném okně. Zde je rozlišení uloženého obrázku přímo ovlivněno zobrazeným oknem s grafem. V případě, kdy budeme obrázek ukládat v okně zobrazeném ve full screen, bude rozlišení nejvyšší. Pokud graf uložíme z malinkého okna v části obrazovky, nemusí být po zvětšení uloženého obrázku popisky čitelné (viz příklad). Rovněž může docházet k ovlivnění velikosti popisků v případě, kdy ručně změníme velikost okna a následně ho znovu vykreslíme. Nejlepší způsob uložení tedy je měnit velikost okna až v případě, kdy máme jistotu, že nebudeme graf znovu vykreslovat. V tu chvíli se velikost popisků vždy mění úměrně se změnou velikosti okna a lze jednoduše okno zvětšit pro dosažení vyššího rozlišení bez ovlivnění popisků.

Příklad:

 

 

Příklad:

 

 

V grafu nalevo bylo okno nejprve zmenšeno a následně byl graf opětovně vykreslen, což vedlo ke změně velikosti popisků vůči zbytku grafu. V grafu napravo bylo okno naopak zvětšeno, čímž došlo k zmenšení popisků pod čitelnou mez.

true

13.  Příklady pokročilých grafů

V minulých kapitolách byly pro snadnost pochopení ukazovány příklady na velmi jednoduchém grafu exponenciální závislosti. Šikovnost gnuplotu ovšem uživatel ocení hlavně při tvorbě grafů, které by v běžných programech buď vytvořit nešly a nebo moc obtížně na to, aby se s tím kdokoliv zabýval. Tato kapitola je proto věnována ukázce pokročilejších grafů. 

13.1.    Spektrogram

V případě, že potřebujeme publikovat spektrum a můžeme ho vyexportovat do datového souboru, aby ho šlo následně překreslit v Gnuplotu, lze grafickou úpravu spekter zvýraznit a zpřehlednit část spektra pomocí poměrně jednoduchých příkazů a podmínek, které budou ukázány na několika následujících příkladech pro Ramanovo spektrum hexogenu.

 

 

Neupravené ramanovo spektrum hexogenu (skript pro tvorbu tohoto grafu je k dispozici zde) Spektrum s přerušenou osou mezi 1700 a 2700 cm-1 (skript pro tvorbu tohoto grafu je k dispozici zde)

 

 

 

Spektrum se zvýrazněným píkem některé z vibrací (skript pro tvorbu tohoto grafu je k dispozici zde) Spektrum se zvýrazněním špiček píků v konkrétním rozsahu osy x, které překročily zvolenou hodnotu intenzity (skript pro tvorbu tohoto grafu je k dispozici zde)

13.2.    Multiplot

Multiplot je název pro tvorbu obrázku, ve kterém je obsaženo více grafů současně. Obecně může mít multiplot velmi široké rozmezí podob. Od vložení dvou i tří samostatných grafů pod sebe do jednoho obrázku, nebo ho lze využít jako další způsob tvorby grafu s přerušenou osou a nespočet dalších pokročilejších možností tvorby grafů.

Princip multiplotu je v rozdělení okna do několika částí, ve kterých jsou pak nezávisle zobrazeny grafy. Ty jsou pak definovány stejnými příkazy jako při tvorbě klasického grafu. Vzhledem k množství způsobů využití multiplotu není zde jeho tvorba podrobněji popsána, ale uvedena na příkladu skriptu pro jednu z možností, kdy je graf horizontálně rozdělen do tří částí.

Příklad pro tři grafy pod sebou:

 

Časový průběh přetlaku na tlakových snímačích v různém umístění (Skript k dispozici zde)

13.3.    Vložení grafu do grafu

Příklad pro vložení detailu zvýrazněného píku do spektrogramu RDX.

 

Ramanovo spektrum RDX s vloženým detailem vybraného píku (Skript k dispozici zde)

13.4.    Podbarvení oblasti mezi křivkami, které nejsou ze stejného datového souboru

Příklad pro podbarvení oblasti pro zobrazení experimentální chyby měření.

 

Pravděpodobnost nálezu vzorku psem v průběhu času (Skript k dispozoci zde)

13.5.   3D graf 

Důvod, proč vytvářet 3D graf lze demonstrovat na následujícím srovnání chromatogramů pro stárnutí PGDN. Přestože pro odčítání hodnot z grafu je lepší 2D verze, kde byly jednotlivé křivky posunuty o 100 jednotek absorbance, v prezentacích může působit lépe srovnání ve 3D, kterým lze navíc v okně gnuplotu libovolně otáčet.

 

 

3D graf - Srovnání chromatogramů PGDN v časech 0, 19, 50  a 75 dnů. (Skript k dispozici zde)

 

true
Obrázek uživatele Ing. Jindřich Kučera,

Ing.
Jindřich
Kučera


Fakulta chemicko-technologická

jindrich.kucera@student.upce.cz
Obrázek uživatele doc. Ing. Jiří Pachman, Ph.D.

doc. Ing.
Jiří
Pachman
,
Ph.D.


Fakulta chemicko-technologická

jiri.pachman@upce.cz
466 038 099

MSc.
Aline
Cardoso Anastácio


Fakulta chemicko-technologická

aline.cardoso.anastacio@student.upce.cz