Gnuplot 5 - Možnosti exportu

V poslední lekci se zaměřím na přesměrování standardního výstupu.

8.11.2004 10:00 | Vladimír Jarý | přečteno 20928×

Na úvod

Pokud spouštíte Gnuplot z nějaké konzole ve Vašem oblíbeném pracovním prostředí, mělo by se (mimo jiné) zobrazit hlášení, že typ terminálu byl nastaven na X11 (terminal type set to 'x11'). To znamená, že grafy budou kresleny do x-ového okna. Ve většině případů nebudete potřebovat toto nastavení měnit. Změnou výstupu však můžete docílit export grafu do mnoha různých formátů (zmíním alespoň gif, png, emf, latex, emtex, PostScript...). Druhým důvodem pro změnu výstupního média je práce na počítači bez grafického serveru.

Ladění X okna

Typ terminálu se nastavuje příkazem set terminal, jehož jediným povinným parametrem je výstupní terminál. Příkaz může obsahovat další parametry závislé na zvoleném terminálu. Úplnou nabídku přístupných typů získáte zadáním set terminal bez parametrů. Nyní se podíváme na vyladění vzhledu x-ového okna:

set terminal x11 title "Sinusoida" # změna titulku okna
plot sin(x)

Příkaz změní výstupní terminál na x11 a nastaví titulek x-ového okna na Sinusoida. Pravděpodobně nejdůležitějším parametrem u terminálu x11 je identifikační číslo okna, pomocí něhož je možné vykreslovat grafy do více oken:

set terminal x11 1 # kresli do okna 1
plot sin(x)
set terminal x11 2 # kresli do okna 2
plot cos(x)
set terminal x11 1 # a opět do okna 1
replot asin(x)

Tloušťku a styl čáry lze upravit pomocí příkazů set style, barvu lze nastavit přímo při kreslení:

plot x 5 # akvamarinová

Zde je tabulka kódů barev:

  1. červená
  2. zelená
  3. modrá
  4. fialová
  5. akvamarín
  6. hnědá
  7. okrová
  8. oranžová

Pro lepší orientaci se podívejte na přiložený obrázek. Velikost okna se dá upravit tažením myší, pro zavření stiskněte klávesu q.

Výchozí barvy KSnapshot Vyexportovaný gif soubor

Výstup do grafického souboru

Nejprve změníme typ terminálu například na gif:

set terminal gif

Pokud nyní necháme vykreslit nějaký graf (plot x), zobrazí se na konzoli hromada "smetí" Tím smetím je ve skutečnost vlastní obrázek. Bude tedy ještě potřeba přesměrovat výstup z konzole (STDOUT) do souboru:

set output "graf.gif"
plot sin(x)
unset output # návrat na STDOUT
show output # zobraz cíl výstupu

Nyní by se měl v pracovním adresáři vytvořit soubor pojmenovaný graf.gif. Příkazem show output můžete kdykoliv zobrazit jméno výstupního souboru. Pokud není výstupní soubor specifikován, zobrazí se STDOUT. Pro vytvoření souboru musíte mít samozřejmě oprávnění zapisovat do pracovního adresáře. Ještě zopakuji, že také v prostředí Gnuplotu lze používat příkazy pwd (výpis aktuálního adresáře) a cd "adresář" (pro změnu pracovního adresáře). Pomocí přídavných parametrů lze upravovat výsledný vzhled gif obrázku (velikost, barvy nebo fonty, průhlednost). Barvy se zadávají ve tvaru xRRGGBB, kde RR je hexadecimální vyjádření červené, GG zelené a BB modré složky barvy:

set terminal gif large size 400,300
set output "vystup.gif"
plot sin(x)
set terminal gif large transparent size 640,480\
   xffffff \
   x000000 x202020 x404040 x606060 \
   x808080 xA0A0A0 xC0C0C0 xE0E0E0
plot sin(x),cos(x),asin(x),acos(x),asinh(x),acosh(x)

Parametrem large nastavíme velikost písma (ostatní možnosti jsou tiny, small, medium, large, giant), parametrem transparent zvolíme průhledné pozadí, size upraví velikost obrázku (v pixelech). Pro podrobnější nastavení zadejte help gif

Zcela analogicky by se provedl výstup do jiných souborů, i zde je možné použít nápovědu (help png, help latex).

Pokud máte k dispozici grafický server, nemusíte se exportem do grafických formátů zabývat. Stačí použít nějaký program sloužící ke snímání obrazovky. Součástí pracovního prostředí KDE je velice šikovná utilitka KSnapshot, také Gnome má podobný nástroj (tuším, že se jmenuje Snímač oken Gnome). Funkce snímání okna je dostupná také v GIMPu nebo ImageMagicu.

Tisk souboru

I zde platí, že lze graf vytisknout například pomocí GIMPu. Pokud ovšem nemáte x server, změňte výstup na postscript:

set terminal postscript
set output "tisk.ps"

Nyní vykreslete požadovaný graf a ukončete Gnuplot. Na konzoli zadejte:

hendrek@nebuchadnezzar:~/gnuplot$ lp tisk.ps

Tímto odešlete dokument na výchozí tiskárnu. Můžete vyzkoušet také příkaz ps2pdf, který překonvertuje postscriptový soubor na pdf (Portable Document Format):

hendrek@nebuchadnezzar:~/gnuplot$ ps2pdf tisk.ps vystup.pdf

Při opakovaném volání příkazu plot nebo splot nedochází k přepsání souboru ps, ale k přidání stránky:

set terminal postscript
set output "multi.ps"
plot sin(x)
plot cos(x)
splot sin(x)*cos(y)

Získání nápovědy

Program Gnuplot obsahuje rozsáhlou a dobře srozumitelnou nápovědu doplněnou o celou řadu praktických příkladů. Na nápovědu jsem se odvolával v průběhu celého seriálu, takže teď jen shrnu základní informace. Po napsání příkazu help se zobrazí základní informace a seznam kapitol. Pro vyhledání nějakého konkrétního příkazu, stačí zadat help jméno_příkazu. Zejména u příkazu set často využijte možnost zobrazit si seznam přípustných parametrů:

set # vypíše parametry příkazu set
set style # vypíše styly kreslení
set terminal # vypíše přístupné terminály

Velice užitečné jsou také ukázkové dávkové soubory umístěné typicky v adresáři /usr/doc/gnuplot-4.0.0/demo Jejich prostudováním se naučíte řadu užitečných triků. Další ukázky jsou k dispozici na http://www.gnuplot.info/demo/ a na adrese http://www.gnuplot.info/help.html naleznete řadu odkazů na stránky věnované tomuto programu včetně odkazů na diskuzní skupiny a Wiki.

Licence

Program Gnuplot není šířen pod licencí GNU/GPL. Licenci si můžete přečíst zadáním příkazu help copyright. Pokud ovšem nechcete šířit modifikované zdrojové kódy, neklade na Vás licence žádná omezení.

Gnuplot pro Windows

FTP serveru je možné stáhnout si verzi pro 32 bitová Windows (soubor gp400win32.zip). Tato verze obsahuje jednoduché grafické rozhraní. Instalace je jednoduchá, stačí rozbalit archiv a spustit binárku. Po rozbalení zabere na disku necelých 6Mb. Gnuplot se tak může stát vítaným pomocníkem při výuce matematiky a fyziky na školách. Jedinou překážkou je tak informovanost a ochota pedagogů.

A to je ode mne vše. Doufám, že Vám Gnuplot pomůže při studiu matematiky a/nebo fyziky.

Gnuplot we Windows 2000 Pracovní prostředí Okno s grafem
Online verze článku: http://www.linuxsoft.cz/article.php?id_article=474