JanKoWeb: Open source - GNUPlot: základní příklady a zdroje informací
jankoweb.wz.cz
Mezinárodní den pro bezpečnost a zdraví při práci.


GNUPlot: základní příklady a zdroje informací

GNUPlot je volně dostupný nástroj na vykreslování grafů na mnohem vyšší úrovni než třeba v programech jako Excel nebo Calc. Já osobně jej například používám při tvorbě protokolů z měření i namísto Matlabu, který ke své funkci potřebuje internet (studentská licence). Pojďme se ve stručnosti podívat na jeho základní použítí...

Filosofie GNUPlotu

GNUPlot je původně Unixový projekt, uživatelé Windows z něj mohou být zpočátku trochu zmateni. Osobně jsem si při vykreslování grafů dlouho vystačil s programy Excel nebo Calc (Open Office). GNUPlot (podobně jako Matlab, o kterém tu mám také pár článků) ale nabízí mnohem pokročilejší funkce.

Pro méně pokročilé uživatele ale musím upozornit, že se jedná o aplikaci, ovládanou z příkazového řádku (popř. skriptu).

Vykreslení grafu z dat exportovaných z Excelu

GNUPlot samozřejmě umí vykreslovat funkce zadané funkčním předpisem, my se teď ale podíváme na jeho použití jako alternativy ke grafům z Excelu.

Jako vstupní data GNUPlotu stačí obyčejný textový soubor s čísly (místo desetinné čárky je nutné používat tečku), oddělenými bílými znaky (mezera, tabulátor...). Řádkový komentář uvozujeme znakem křížku (#). Tedy např.:

# napeti [V]  proud [mA]
  2.3         100
  2.5         134
  2.7         163  

Tato data uložíme například jako data.dat.

Samotné vykreslení se pak v GNUPlotu provede příkazem:

plot "data.txt" using 1:2

V našem příkladu to znamená závislost proudu na napětí.

V příkazu plot se pak k jednotlivým sloupcům můžeme přistupovat jako$x (znak dolaru a číslo sloupce, číslované od jedné) a upravovat jejich hodnotu (například násobit pro změnu jednotky apod. . Příklad (předchozí, ale s jednotkou proudu v ampérech) by vypadal takto:

plot "data.txt" using 1:($2/1000)

Datové typy a dělení

Při výpočtech dávejte pozor na datové typy. Je rozdíl:

A = 3
B = 2
X = A/B #vrati 1, jedna se o celociselne deleni
a
A = 3.0
B = 2.0
X = A/B #vrati 1.5, normalni deleni

Příkazy nastavení

Nastavení se obecně provádí příkazem set VLASTNOST HODNOTA, deaktivace příkazem unset VLASTNOST. Zobrazení HODNOTY se pak provede příkazem show VLASTNOST.

Jeden příkaz v GNUPlotu se musí psát na jeden řádek. Pokud chceme mít kód přehlednější, můžeme použít zpětné lomítko (\\), za kterým můžeme odentrovat, přičemž ale program vyhodnotí vzniklé dva řádky jako jeden.

Konkrétní nastavení zde nebudu opisovat, podívejte se na odkazy na konci článku.

Soubory ps a eps

Výstup do souboru ps nebo eps (s nastavením set terminal postscript enhanced) umožňuje používat v popiscích dat a grafů speciální znaky a horní (pomocí zobáčku - ^{horni index}) a dolní (pomocí podtržítka - _{dolni index}) indexy.

Pokud nemáte na počítači software k zobrazení formátu *.ps nebo *.eps, doporučuji Irfan View a přiinstalování podpory GhostScriptu.

Kurzy a články o GNUPlotu

Gnuplot (na cvut.cz) - přehled základních funkcí.

manuál k GNUPLOTu (SK), 54 stránek včetně obrázků ilustrujících jednotlivé funkce. Věnuje se i složitějším 3D grafům nebo animacím.

Grafické zpracování dat a měření (PDF) - asi 5 stránkový přehled použití GNUPlotu ke grafickému zpracování dat.

Seriál Gnuplot na root.cz - nepříliš obsáhlý.

Oficiální dokumentace (PDF, EN), Český překlad starší dokumentace.

Rubrika Open source | Tagy GNUPlot, Grafy | Ne 25.07.2010 | 5446x

Náhodné články

Tento web jsem zakládal na střední, v roce 2008. Je zde hlavně archiv mé tvorby.

Aktuální věci publikuji kvůli úspoře času na Twitter.

Honza

"Raději bych pohořel na něčem, co dělám s chutí, než se úspěšně zhostil něčeho, co nesnáším."

G. Burns