Gnuplot howto oldal - Formázás

Ebben a fejezetben azt írjuk le, hogy hogyan lehet ellátni az ábrát feliratozással, hogyan lehet behúzni segédvonalakat, a grafikon típusát hogyan adjatjuk meg stb...

Görbék és ponthalmazok stílusbeállításai

Alapértelmezés

Ha kirajzolunk egy görbét a plot paranccsal, akkor a skálát automatikusan kitalálja a program, kirajzolja a görbét piros színnel (a következőt zölddel, majd kékkel, stb), a tengelyeket nem látja el felirattal, és megjelenik a jobb felso sarokban egy jelmagyarázat, melynél a görbe neve az ábrázolt függvény képlete vagy a felhasznált filenév és a használt using opciót szó szerint kiírja.

Képletet alapértelmezésben vonallal, adatfile-t pöttyökkel rajzol ki.

Vonal- és pöttystílus

A plot parancsba beszúrt with opcióval állíthatjuk be a megjelenítési stílust:
gnuplot> plot "ered.meny" using 1:3 with lines
hatására a harmadik oszlopot az első függvényében ábrázolja, és az ábrazolt pontokat egyenessel összeköti. (Ha nem egyenessel akarjuk összekötni, akkor az előző fejezetben tárgyalt módon spline-t is\ illeszthetünk.) Emlékeztetünk a rövidítés lehetőségére, tehát a fenti parancs így is írható:
 p "ered.meny" u 1:3 w l
A line paraméter helyébe mást is írhatunk:
 stílus  rövidítve    hatás
=========================================
 lines       l        egyenessel összeköt
 points      p        pöttyöket rajzol
 linespoints lp       pöttyök és még össze is köti
 dots        d        lehelletfinom pontok
 impulses    i        összeköti a (x,0) (x,f(x)) pontokat függőleges vonallal
 yerrorbars  e        y hibákat jelöli a using 3. paraméterének megfelelően
 xerrorbars  xe       x hibákat jelöli a using 3. paraméterenek megfelelően 
 xyerrorbars xye      mindkét hibát jelzi (az usingnek 4 paramétere van)
 steps       st       egy felfele lépcsőt rajzol: (x[i],y[i]) -> (x[i+1],y[i])
                                        majd: (x[i+1],y[i]) -> (x[i+1],y[i+1])
 fsteps      fs       lefele lépcsőt rajzol: (x[i],y[i]) -> (x[i],y[i+1])
                                       majd: (x[i],y[i+1]) -> (x[i+1],y[i+1])
 histeps     his      olyan lépcsőt rajzol, hogy a vízszintes vonal
                      közepén van a mérési pont
 boxes       boxes    oszlopdiagramot készít, a pont az oszlop közepén ül
 boxerrorbars boxer   így lehet hibákat jelölni oszlopdiagrammon
 boxxyerrorbars boxxy x-ben és y-ban hiba oszlopdiagrammon
 vector      vec      nyíl húz usingban megadott első két oszlop
                      és a második kettő oszlop által megadot pontpár
		      között.
 financebars fin      5 oszloppal működik, rendre: x (dátum),
                      nyító, legalacsonyabb, legmagasabb, záró
		      árfolyam. Megjelenít egy függőleges vonalat az
		      extremális árfolyamok között, a nyitót bal
		      tüskével, a záró árfolyamot jobb tüskével jelzi.
		      A tüske méret a set bar paranccsal állítható.
 candlesticks can     5 oszlop szükséges: x (dátum), nyitó, min, max
                      záró árfolyamok. A nyitó és záró között set bar
                      paranccsal állítható vastagságú téglalap jelenik
		      meg, belőle középen függőleges tüske nyúlik az
                      extremális árfolyamértékekhez.
A histeps opciót tipikusan kumulatív eloszlásfüggvény ábrázolásához jó, a boxes pedig hisztogrammhoz ideális. A vector parancs még kísérleti stádiumban van.

Színek és stílusok

A with parancsban még sokmindent beállíthatunk:
gnuplot> p sin(x) with line lt 2 
Ezzel a kettes vonaltípust választottuk, ez a képernyőn zöld folytonos görbe, kinyomtatva szaggatott. Az egyeszerre megjelenített görbék szine automatikusan 1,2,3,4,5,6, hatot ismer aztán ezeket ismétli. A lt opciót el is hagyhatjuk:
gnuplot> p sin(x) w l 2
sőt, mivel képletnél vonal az alapértelmezés:
gnuplot> p sin(x) 2
Vonalvastagság:
gnuplot> p sin(x) lw 4
Egyszerre típus és vastagság:
gnuplot> p sin(x) lt 3 lw 4
A sorrend fontos! Az lt 0 fekete, a görbére merőleges vonalkákból rajzolja ki a grafikont, ilyenkor az lw a merőleges vonalkák hosszát állítja be. Az lt -1 fekete folytonos vonalat húz lw-vel megadott vastagsággal. A program nem egészen bolondbiztos, az lw szám<0, vagy lt szám <-1 paraméterekkel sajátos ábrákhoz juthatunk...

A pöttyök stílusa is átírható:

gnuplot> p sin(x) w p pt 3 ps 3
(Az pt a típust, a ps a méretet állítja.) A 0. típus a lehelletfinom pont, aztán rendre: pöttynek látszó csúcsán álló közepén ponttal, álló kereszt, normális négyzet közepén ponttal, iksz, háromszög közepén ponttal, álló kereszt és iksz egymáson. Ezután periódikusan folytatódik az 1-es típussal. A 0 méret mindig a lehelletfinom pontot adja, alapértelmezett az 1-es méret.

Egyszerre is működik a vonal- és pontbeállítás, ha a linespoints stílust használjuk.

Alapértelmezett stílus átírása

Képlet stílusának megváltoztatása pl:
gnuplot> set function style linespoints
adatfile alapstílusának megváltoztatása pl:
gnuplot> set data style lines

Saját stílus létrehozása

Ha nem egy stílust akarunk mindig használni, hanem többet is, érdemes definiálni stílusokat:
gnuplot> set linestyle 123 lt 1 lw 4 pt 4 ps 1
Az első paraméter megadja a stílus sorszámát (nevét), a többi (elhagyható) beállítás definiálja a fent ismeretett módon a stílust. A stílus alkalmazása később az ls kapcsolóval történik:
gnuplot> plot "adat" u 1:3 with line ls 123
A többi paranccsal analóg módon működik a set nolinestyle és show linestyle parancs itt is.

Az ábra feliratozása

Az ábra címe

A set title paranccsal az egész razj fölé írhatunk szöveget:
gnuplot> set title "A kedvenc szinuszgörbém"
A cím csak egy rep vagy plot parancs kiadása után tűnik elő, és minden további ploton ott lesz. Levenni a
gnuplot> set title
paranccsal lehet. A cím az ábra felett középen jelenik meg, a helyét megadni
gnuplot set title "A kedvenc ..." 1,3
módon lehet, ahol 1,3 az alapértelmezett helytől mért karakterméret egységben megadott relatív koordináta. Ha csak a cím helyét akarjuk módosítani:
gnuplot> set title 3,4
vagy ha csak az y koordinátát:
gnuplot> set title ,-1
A parancs végén idézőjelben megadhatjuk a betűtípust és méretet, de ez csak nyomtatásban látszik majd.
gnulot> set title "A kedvenc ..." 1,3 "Helvetica, 13"

Cím a jelmagyarázatban

Hogy ne az jelenjen meg a jelmagyarázatban, ami a plot parancssorban, hanem amit mi szeretnénk, írjuk:
gnuplot> p sin(5*x) title "temeto" w p pt 2 ps 5
Ha usingot is használunk, akkor azt a filenév és a title közé kell írni. Ha nem akarjuk jelmagyarázatban szerepeljen a görbénk, írjuk:
gnuplot> p sin(5*x) notitle w p pt 2 ps 5

Egyéb felirat az ábrán

A set label paraccsal az ábra tetszőleges pontján kiírhatunk egy feliratot:
gnuplot> set label "nagyon"
hatására a következő plot vagy replot az origóba teszi ki a feliratot, a pozicíonálást az at opcióval történik:
gnuplot> set label "Teged" at 0,1
A pozícionálást a grafikon koordinátarendszerében kell megadni, de ettől eltérhetünk, lásd a koordináták részt alább. De beállíthatjuk a sorrendezést, 90 fokos forgatást, betűtípust:
gnuplot> set label "szeretlek!" at -1,-1 center rotate font "Helvetica,16"
De a forgatás és a betűtípus csak a nyomtatásban jön elő. A sorrendezés opció left, right vagy center lehet. Most nézzük meg a show label paraccsal a felírt szövegeket:
gnuplot> show label

	label 1 "nagyon" at (0, 0, 0) left not rotated 
	label 2 "Teged" at (0, 1, 0) left not rotated 
	label 3 "szeretlek!" at (-1, -1, 0) centre rotated (if possible)  font "Helvetica,16"
Mint látjuk, minden ábrának van automatikusan sorszáma, ha mi 77-es sorszámot akarunk de nincs 77 feliratunk:
gnuplot> set label 77 "Ez a hetvenhetes felirat" at 1,1
A sorszám nagyon fontos lehet olyan esetekben, ha le akarunk törölni egy feliratot:
gnuplot> set nolabel 77
Vagy mozgatni vagy átparaméterezni akarjuk:
gnuplot> set label 1 center

Egyéb elhelyeznivalók

Nyíl rajzolása

Set arrow paranccsal nyilat helyezhetünk az ábránkon, mely a következő plot vagy replot paranccsal jelenik majd meg.
gnuplot> set arrow 43 from 3,3 to 1,1
A 43 ugyanolyan azonosító sorszám mint a feliratoknál, elhagyható. A from és a to után megadott koordinátákat köti össze nyíllal.
gnuplot> set arrow 43 from 3,3 to 1,1 nohead
segítségével a nyílat fej nélkül rajzolhatjuk fel. Természetesen a nyíl definiálás utáni módosításakor elég a sorszámra hivatkozni, a koordináták újboli megadása felesleges, hacsak nem akarjuk elmozdítani. A vonal típusát és vastagságát is beállíthatjuk:
gnuplot> set arrow 43 from 3,3 to 1,1 nohead lt 3 lw 3
például vastag kék nyilat rajzol. Itt is létezik a show arrow és a set noarrow parancs.

Jelmagyarázat formázása