Gnuplot howto oldal - Első lépések

A program, mely könnyen hozzáférhető, megtalálható minden linux disztribúcióban, egyszerű megoldást kínál a leggyakrabban előforduló grafikonrajzolási feladatokra.

Indítsuk el a programot!

$ gnuplot
Ekkor bejelentkezik a program, kiírja egy bevezető szöveg után, hogy
Terminal type set to 'x11'
gnuplot>
Ez azt jeletni, (ha X-es felületen dolgozunk), hogy a kívánt grafikont egy új X-es ablak megnyitásával fogja megjeleníteni. (Ezt a DISPLAY környezeti válatozó átállításával irányíthatjuk másik gép grafikus kimenetére az alábbi módon:
gnuplotfuttatogep$ export DISPLAY=ami.elott.ulok.hu:0.0
Továbbá annak a gépnek terminaljan, ahol az ábrát akarjuk látni:
ami$ xhost gnuplotfuttatogep.cs.elte.hu
Ezeket a belállításokat az ssh-val való bejelentkezésnél általában a rendszer automatikusan elvégzi.)

A program ezek után vár egy parancsot

gnuplot> print "Hello vilag!" 
Hello vilag!
és enter után végre is hajtja. Ha nem fér ki egy sorba a beadni kívánt parancs, akkor a következő sorban találjuk, és bizonyos terminálokon néhány szerkesztési funkció nem fog működni (pl. ctrl-a (sor elejére), ctrl-e (sor végére). Ha valami miatt összetöredezik a bemeneti sor, a ctrl-r ill a ctrl-l újírja a sort.) Négyet tehetünk a töredezés megelőzésére: egérrel húzzuk nagyobbra a xterm ablakot, vagy tanulmányozzuk a replot parancsot (következő fejezet), vagy írjunk gnuplot scriptet, vagy pedig törjünk sort a backslash karakterrel:
gnuplot> print "Hello vilag", "mokus", "vackorfa", " " \
> , "sort tortem", 4+4, 2**4, sin(1)**2+cos(1)**2
Hello vilagmokusvackorfa sort tortem8 16 1.0
A fenti sorból következőket tanulhatjuk: a backslash sort tör, utána másodlagos promptot kapunk. A parancs egyenrangú argumentumait vesszővel válasszuk el, a karakterláncokat idézőjelbe kell tenni, különben azt hiszi, hogy valamilyen változóról van szó. Ha a gnuplot egyik parancsának argumentumában kiszámítható kifejezés van, akkor azt ki is számítja.

A műveleti jelek nagyjából megfelelnek a C nyelv műveleti jeleinek (a csillagos műveletek csak egészekkel végezhetők):

  Jel         Példa         Jelentés
  **          a**b          hatvány
  *           a*b           szorzás
  /           a/b           osztás
  %           a%b         * modulo
  +           a+b           összeadás
  -           a-b           kivonás
  ==          a==b          egyenlőség
  !=          a!=b          egyenlőtlenség
  &           a&b         * bitenkénti ÉS
  ^           a^b         * bitenkénti Kizáró VAGY 
  |           a|b         * bitenkénti VAGY
  &&          a&&b        * logikai ÉS (a másodikat nem értékeli ki, ha az első hamis)
  ||          a||b        * logikai VAGY (a másodikat nem értékeli ki, ha az első igaz)
  ?:          a?b:c       * feltételes művelet
  -           -a          előjel
  ~           ~a        * első komplemens (~a = -a-1)
  !           !a        * logikai negáció
  !           a!        * faktoriális
Használható függvények: Aki figyelmesen tanulmányozta az ismert függvényeket rájöhetett, hogy a gnuplot kompex számokat is ismer, {<real>,<imag>} módon kell megadni:
gnuplot> print {1,2}*{1,2}
{-3.0, 4.0}
gnuplot> print abs({3,4}) 
5.0
gnuplot> print arg({3,4}) 
0.927295218001612

Változók

Ha beírjuk:
gnuplot> alma=4
gnuplot> print alma
4
Akkor értéket adtunk a változónak, és azt kiolvastuk. Függvényt is definiálhatunk:
gnuplot> korte(x)=sin(2*x)/2
gnuplot> print korte(3)  
-0.139707749099463
Van egy előredefiniált változó is:
gnuplot> print pi
3.14159265358979
NB. a gnuplot különbséget tesz kis és nagy betűk között, PI, Pi, pI -vel hiába kísérleteznénk.

Commentelés - megjegyzések

A megjegyzéseket # jelzi mind a feldolgozandó adatokat tartalmazó fileban, mind a később tárgyalandó programfileokban, mind pedig az interaktívan beadott parancsoknál. A # után jövő karaktereket a gnuplot ignorálja a sorvégig. Például itt
gnuplot> pr 3 #,4
3
csak a hármast írja ki.

Segítségkérés, a help (h) parancs

gnuplot> help {parancsnev}
Itt, és mindenütt a gnuplot helpjében a kapcsos zárójel opcionális részt jelöl, a szögletes zárójelben függőleges vonallal elválasztott részek pedig vagylagosak.

Rövidített parancsnevek

A gnuplot parancsoknak létezik rövidítésük, ezekkel meg lehet spórolni sok leütést.

A print parancs rövidítése pl. pr

A parancsok minden szavából mindig elég csak annyit kiírni, amennyiből már egyértelmű, hogy mire gondoltunk. Tehát a

gnuplot> se fu s ye
gnuplot> set function style yerrorbars
sorok ekvivalensek.

Beállítások - set, show

Rengeteg állítható kapcsolóval rendelkezik a gnuplot, ezeket a set parancs segítésgével állíthatjuk be, ill. a show parancs segítségével olvashatjuk ki.
gnuplot>set logscale
Átállítja az alapértelmezett grafikonmegjelenítést lineárisról logaritmikus skálájúra.
gnuplot> show logscale

        logscaling x (base 10) and y (base 10) and z (base 10) and x2 (base 10) and y2 (base 10)
segítségével leolvashatjuk, hogy milyen alapú logaritmussal skálázza a görbéket az egyes tengelyek mentén. set
így magában kiírja, hogy mit fogad el, a
show all
paranccsal pedig az összes beállítást megkapjuk.
Borsányi Szabolcs

  fizikus