Využití GNUPlotu pro zpracování dat/spekter

Úprava spekter je úkol, který jednou za čas potká každého, kdo se motá okolo spektrometrů. Nejjednodušší cestou je využití SW, který jsme získali společně se spektrometrem, ale tady nebývá výsledek vždy dobrý. Pokud potřebujeme do publikace vložit spektra z více strojů, tzn. zpracovaná více různými programy, dopadá to většinou špatně. Poměrně běžným nástrojem, který toto řeší je Origin, ale ten je hodně drahý. Existují i nástroje, které jsou zdarma a dá se s nimi docílit pěkných výsledků. Jedním z nich je GNUPlot, který existuje ve verzi pro Linux i Windows. V tomto článku si ukážeme jak zpracovat IR spektrum ze spektrometr Bruker Tensor 27.

Instalace GNUPlotu na windows je jen klasická klikačka, na Linuxu je to ještě jednodušší, použijte váš oblíený balíčkovací systém.

Získat data ve formátu data table není většinou problém, tento formát pro nás bude výchozí. Data vyexportovaná z OPUSu (data point table – .dpt) vypadají nějak takto:

3996.46631	1.00000
3994.53751	0.99981
3992.60871	0.99875
3990.67992	0.99776
3988.75112	0.99768
3986.82232	0.99834
3984.89353	0.99893
3982.96473	0.99936
3981.03594	0.99965
3979.10714	0.99911
3977.17834	0.99769
3975.24955	0.99648
3973.32075	0.99632
3971.39195	0.99741
3969.46316	0.99910
3967.53436	1.00000
3965.60556	0.99981
3963.67677	0.99835
3961.74797	0.99707
3959.81917	0.99745
3957.89038	0.99818
3955.96158	0.99727
3954.03278	0.99507
3952.10399	0.99277

Tato data můžeme už přímo načíst do Gnuplotu a vytvořit graf, ale před tím je lepší si nachystat sadu příkazů pro formátování grafu. Lze to udělat přímo v konzoli gnuplotu, ale výhodnější je nachystat si soubor *.plt, kde vložíme všechny příkazy a můžeme je pak snadno upravovat.

Naše sada příkazů bude vypadat takto:

#Titulek spektra, matematické symboly můžeme sázet podobně jako v LaTeXu
textTitle = "IR - ATR; [Fe(acac)_3]"
#Cesta k datovému souboru
textFile = 'Fe-acac.0.dpt'
#Nastavení fontu pro titulek
set title textTitle font 'sans, 20'
#Popisky os
set xlabel "Vlnočet [cm^{-1}]"
set ylabel "Transmitance"
#Rozsahy jednotlivých os
set xrange [4000 : 400.0]
set yrange [0 : 2]
#Nastavení okraje
set border 3
#Osa x bude kótována po 1000 jednotkách a nebude zrcadlena
set xtics 1000 nomirror
#Nastavení vedlejšího značení na ose x
set mxtics 5
#Osa y bude kótována po 0.2 jednotkách a nebude zrcadlena
set ytics 0.2 nomirror
#Nastavení stylu čáry (č. 1), barva modrá (0000ff)
#lt - typ čáry, 1 je plná; lw - tloušťka čáry
#pt - typ bodu, 0 - žádný
set style line 1 lc rgb '#0000ff' lt 1 lw 1.4 pt 0
#textová proměnná, do které siuložíme název souboru
name = "Fe-acac3"
#Přesměrování výstupu do PNG souboru, 1500x1000px
set term pngcairo size 1500,1000 crop
set output name.".png"
#Vytištění spektra s použitím stylu čáry č. 1 a bez popisku
plot textFile with linespoints ls 1 notitle

#Přesměrování výstupu do SVG souboru
set terminal svg
set output name.".svg"
plot textFile with linespoints ls 1 notitle

Spektrum, které získáme vypadá takto:

Ukázka spektra

 

Pro publikování je výhodný formát PNG, příp. EPS, pokud chceme dál používat LaTeX. Ale asi nejvýhodnější, zvláště pokud chceme do obrázku dále zasahovat je formát SVG, který je vektorový a umožňuje provádět modifikace, aniž by došlo ke snížení kvality.  Pokud chceme do spektra vložit tabulky s přiřazením pásů:

Ukázka spektra s tabulkou

Můžeme použít např výborný program Inkscape, který je k dispozici také zdarma. Tabulku je možné udělat v LibreOffice Calc, překopírovat ji do LibreOffice Draw a uložit jako SVG nebo EPS, který je možné vložit pomocí Inkscape do SVG obrázku.

Odkazy

  1. Gnuplot
  2. LibreOffice
  3. Inkscape

One thought on “Využití GNUPlotu pro zpracování dat/spekter

  1. Pingback: Zobrazení více spekter v jednom obrázku pomocí Gnuplotu | Blog a web o chemii, elektronice a programování

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.