Gnuplotin alkeet

Deltawikistä
Siirry navigaatioon Siirry hakuun

Käynnistys[muokkaa]

Yksinkertaisia kuvaajia Gnuplotilla saa aikaan varsin helposti. Ensin käynnistä ohjelma.

Tiedosto:Gnuplot1.png
Kuvaaja f(x) = 1/x Gnuplotilla piirrettynä
Linuxissa tai unix.utu.fi:llä:
$ gnuplot

Ohjelman käynnistyttyä pitäisi komentorivikehoitteen tilalla lukea

gnuplot> 

Gnuplot on nyt valmis vastaanottamaan komentoja.

Ensimmäinen kuvaaja[muokkaa]

Gnuplotille voi antaa piirrettäväksi datapisteitä erillisestä tiedostosta tai funktion ohjelman komentorivillä. Syötetään funktio f(x) = 1/x ja piirretään se:

gnuplot> f(x) = 1/x
gnuplot> plot f(x)

Ruudulle pitäisi ilmestyä ikkuna, jossa näkyy piirretyn funktion kuvaaja.

Tiedosto:Gnuplot2.png
Datatiedostosta piirretty kuvaaja

Tiedostoon talletetuista datapisteistä kuvaajan saa seuraavasti. Meillä on tiedosto data.txt, jonka sisältönä on

0.0 5.0
0.1 2.5
0.2 1.5
0.3 0.7
0.4 0.4
0.5 0.2
0.6 0.1
0.7 0.05
0.8 0.03

Nyt voimme Gnuplotille antaa komennon

gnuplot> plot 'data.txt' using 1:2

ja näemme kuvaajan, jossa kyseiset datapisteet ovat plotattuna. Osuus using 1:2 tarkoittaa, että x-akselina käytetään ensimmäistä saraketta ja y-akselina toista. Kirjoittamalla using 2:1 saisimme tietenkin akselit toisin päin. Gnuplot olettaa datan olevan järjestyksessä x:y, joten tässä tapauksessa meidän ei sitä tarvitsisi erikseen mainita. Pelkkä plot 'data.txt' tuottaisi saman kuvaajan.

Tiedosto:Gnuplot3.png
Datatiedostosta piirretty kuvaaja w lines optiolla

Jos haluaa yhdistää datapisteet toisiinsa viivoilla, voi edellämainitun komennon perään kirjoittaa vielä w lines.

Useampi kuvaaja[muokkaa]

Varsin usein samaan kuvaan tarvitsee saada plotattua useita kuvaajia. Tämä onnistuu Gnuplotissa kätevästi erottamalla eri kuvaajat toisistaan pilkulla. Esimerkiksi komento

plot 'data.txt' using 1:2 w lines, '' using 2:1 w lines

plottaa samaan kuvaan tiedoston data.txt lukien sarakkeet ensimmäiseen järjestyksessä x:y ja toiseen järjestyksessä y:x ja tuottaa näin kaksi kuvaajaa. Merkintä "" tarkoittaa, että jälkimmäisen kuvaajan plottaamiseen käytetään samaa tiedostoa kuin ensimmäiseen. Luonnollisesti, jos kuvaajat on luettava eri tiedostoista, tiedosto on mainittava kunkin kuvaajan kohdalla erikseen:

plot "data1.txt" using 1:2 w lines, "data2.txt" using 1:2 w lines

Funktioiden käyttö[muokkaa]

Gnuplot tuntee koko joukon valmiita matemaattisia funktioita. Esimerkiksi komento

 gnuplot> plot 2*sin(x)

tuottaa sinikäyrän amplitudilla 2. Näistä lisää artikkelissa Laskeminen ja funktiot Gnuplotissa.

Saraketiedon käsittely[muokkaa]

Eräs hyödyllinen toiminto on sarakkeen skaalaus ilman että tarvitsisi muokata datatiedostoa sopivaksi. Tämä onnistuu lisäämällä sarakemääritelmään kerroin.

 gnuplot> plot 'data.txt' using ($1*1e6):2

Tämä komento kertoo ensimmäisen sarakkeen jokaisen alkion miljoonalla ennen käyrän piirtoa. Vastaavasti kertoimen voi antaa mille tahansa sarakkeelle, ja kertoimen sijaan voi myös jakaa, sekä summata tai vähentää vakion, tai suorittaa muita laskutoimituksia. Esimerkiksi 1. ja 2. sarakkeen alkioiden summan saa plotattua komennolla

 gnuplot> plot 'data.txt' using ($1+$2)

Huomaa, että tässä emme antaneet using-argumentille kuin yhden määreen; halutun summan. Plottauksessa Gnuplot olettaa tämän tulevan y-akselille ja käyttää x-akselilla rivin järjestyslukua. Sama saadaan aikaan myös eksplisiittisesti: "nollas" sarake vastaa tiedoston rivin järjestyslukua, joten

plot 'data.txt' using 0:($1+$2)

asettaa x-akselille järjestysluvun, ja y-akselille sarakkeiden 1 ja 2 summan.

Apua![muokkaa]

Komennoista, funktioista, ym. saa apua kirjoittamalla

help komento