Ú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 spektrometru Bruker Tensor 27.
Instalace GNUPlotu na Windows je jen klasická klikačka, na Linuxu je to ještě jednodušší, použijte váš oblíbený 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, řádky začínající znakem # jsou poznámky:
#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:
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ů:
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.
One Reply to “Využití GNUPlotu pro zpracování dat/spekter”