Muokataan sivua Gnuplot
Siirry navigaatioon
Siirry hakuun
Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.
Nykyinen versio | Oma tekstisi | ||
Rivi 1: | Rivi 1: | ||
[[Kuva:gnuplot_esim.png|200px|right|thumb|Lämpötilan kuvaaja]] | [[Kuva:gnuplot_esim.png|200px|right|thumb|Lämpötilan kuvaaja]] | ||
Gnuplot on ammattitasoinen [[Portaali:Komentorivi | komentorivipohjainen]] ohjelma funktioiden kuvaajien ja numeerisen datan piirtämiseen 2D- tai 3D-esityksiksi. Sitä käytetään yleisesti esimerkiksi tuottamaan kuvaajia tieteellisiin artikkeleihin. | |||
== Peruskäyttö == | == Peruskäyttö == | ||
[[Kuva:gnuplot_sinx_x.png|200px|right|thumb|Funktion sin(x)/x kuvaaja]] | [[Kuva:gnuplot_sinx_x.png|200px|right|thumb|Funktion sin(x)/x kuvaaja]] | ||
Gnuplotin voi käynnistää komentoriviltä, jonka jälkeen <tt>gnuplot></tt>-kehotteen perään syötetään tulostuskäskyt yksi kerrallaan. Monimutkaisemmat tulosteet kannattaa kuitenkin tehdä erillisiksi ajettaviksi tiedostoiksi. | |||
Gnuplot käynnistetään komennolla | |||
gnuplot | gnuplot | ||
jonka jälkeen aukeaa ohjelman päänäyttö, ja yleensä kerrotaan, että käytetään "x11":a eli graafista käyttöliittymää kuvaajien piirtämiseen (Gnuplot osaa piirtää tarvittaessa myös tekstimuotoisia kuvaajia): | jonka jälkeen aukeaa ohjelman päänäyttö, ja yleensä kerrotaan, että käytetään "x11":a eli graafista käyttöliittymää kuvaajien piirtämiseen (Gnuplot osaa piirtää tarvittaessa myös tekstimuotoisia kuvaajia): | ||
Rivi 14: | Rivi 13: | ||
Terminal type set to 'x11' | Terminal type set to 'x11' | ||
gnuplot> | gnuplot> | ||
Seuraavaksi voidaan kirjoittaa Gnuplotin komentoja ohjelman omaan käyttöliittymään. Tavallinen kuvaaja xy-koordinaatistoon piirretään komennolla <tt>plot funktio</tt>, esimerkiksi: | |||
Seuraavaksi voidaan kirjoittaa | |||
gnuplot> plot sin(x)/x | gnuplot> plot sin(x)/x | ||
Jos halutaan piirtää useampia funktioita, erotellaan ne pilkulla: | Jos halutaan piirtää useampia funktioita, erotellaan ne pilkulla: | ||
Rivi 37: | Rivi 33: | ||
=== Piirtäminen parametriesityksestä === | === Piirtäminen parametriesityksestä === | ||
Gnuplot mahdollistaa myös funktioiden esittämisen parametrimuodossa. Aluksi on asetettava Gnuplot parametritilaan komennolla | |||
set parametric | set parametric | ||
Nyt voidaan piirtää kuvaaja syntaksilla | Nyt voidaan piirtää kuvaaja syntaksilla | ||
Rivi 47: | Rivi 43: | ||
Kolmiulotteisia kuvaajia on mahdollista piirtää komennolla <tt>splot</tt>. Komennolle annetaan parametrina piirrettävän pinnan lauseke muodossa <tt>f(x,y)</tt>, jolloin funktion arvo on pinnan z-koordinaatti kyseisessä pisteessä. Esimerkiksi piirretään [[wikipedia:fi:paraboloidi|paraboloidi]]: | Kolmiulotteisia kuvaajia on mahdollista piirtää komennolla <tt>splot</tt>. Komennolle annetaan parametrina piirrettävän pinnan lauseke muodossa <tt>f(x,y)</tt>, jolloin funktion arvo on pinnan z-koordinaatti kyseisessä pisteessä. Esimerkiksi piirretään [[wikipedia:fi:paraboloidi|paraboloidi]]: | ||
splot -x**2-y**2 | splot -x**2-y**2 | ||
Huomaa, että | Huomaa, että Gnuplotin piirtämää kuvaa voi käännellä painamalla [[hiiri|hiiren]] ykköspainikkeen pohjaan ja liikuttamalla hiirtä. | ||
Pintoja voi piirtää myös parametrimuodossa, jolloin syntaksi on sama kuin kaksiulotteisessa tapauksessa mutta parametreja on kaksi: <tt>u</tt> ja <tt>v</tt>. Esimerkiksi piirretään [[wikipedia:fi:torus| | Pintoja voi piirtää myös parametrimuodossa, jolloin syntaksi on sama kuin kaksiulotteisessa tapauksessa mutta parametreja on kaksi: <tt>u</tt> ja <tt>v</tt>. Esimerkiksi piirretään [[wikipedia:fi:torus|Torus]]: | ||
splot [0:pi*2] (2+cos(v))*cos(u),(2+cos(v))*sin(u),sin(v) | splot [0:pi*2] (2+cos(v))*cos(u),(2+cos(v))*sin(u),sin(v) | ||
Rivi 55: | Rivi 51: | ||
Tasa-arvokäyrien piirtäminen tapahtuu kytkemällä niiden piirtäminen päälle komennolla | Tasa-arvokäyrien piirtäminen tapahtuu kytkemällä niiden piirtäminen päälle komennolla | ||
set contour | set contour | ||
Tämän jälkeen piirrettäessä pintaa | Tämän jälkeen piirrettäessä pintaa Gnuplot piirtää myös tasa-arvokäyriä. Pinta voidaan jättää piirtämättä antamalla komento | ||
unset surface | unset surface | ||
Tasa-arvokäyrien määrään voi vaikuttaa komennolla | Tasa-arvokäyrien määrään voi vaikuttaa komennolla | ||
Rivi 107: | Rivi 103: | ||
|Tauko | |Tauko | ||
|} | |} | ||
== Ääkköset == | == Ääkköset == | ||
Gnuplot ei tue [[UTF-8]]-merkistöä, joten skandien ja muiden erikoismerkkien käyttö on hieman hankalaa. Skandeja ei voi syöttää suoraan tekstiin vaan ne tulee antaa numerokoodeina. Esimerkiksi 'ä':n numerokoodi on 344 joten x-akselille asetettaisiin otsikko "Jännite" komennolla | |||
set xlabel "J\344nnite" | set xlabel "J\344nnite" | ||
Huomaa, että kaikki | Huomaa, että kaikki Gnuplot päätteet (joista lisää seuraavassa kappaleessa) eivät välttämättä osaa ainakaan oletusasetuksilla näyttää ääkkösiä. | ||
Skandien koodit ovat seuraavat: | Skandien koodit ovat seuraavat: | ||
Rivi 129: | Rivi 119: | ||
== Tulostus tiedostoon == | == Tulostus tiedostoon == | ||
Gnuplot osaa piirtää kuvaajat myös tiedostoon. Se onnistuu valitsemalla päätteen (engl. ''terminal'') tyypiksi esimerkiksi <tt>png</tt> komennolla | |||
set term png | set term png | ||
Muita mahdollisia arvoja ovat esimerkiksi <tt>jpeg</tt>, <tt>postscript</tt> ja <tt>[[latex]]</tt>. Täydellisen listan saat näkyviin komennolla <tt>help set term</tt>. | Muita mahdollisia arvoja ovat esimerkiksi <tt>jpeg</tt>, <tt>postscript</tt> ja <tt>[[latex]]</tt>. Täydellisen listan saat näkyviin komennolla <tt>help set term</tt>. | ||
Rivi 135: | Rivi 125: | ||
Tämän jälkeen asetetaan tulostettavan tiedoston nimi komennolla | Tämän jälkeen asetetaan tulostettavan tiedoston nimi komennolla | ||
set output "tiedosto.png" | set output "tiedosto.png" | ||
Lopulta kuvaajan tulostaminen tähän tiedostoon tapahtuu normaalisti komennolla <tt>plot</tt> | Lopulta kuvaajan tulostaminen tähän tiedostoon tapahtuu normaalisti komennolla <tt>plot</tt>. | ||
=== Postscript-päätteestä === | === Postscript-päätteestä === | ||
Rivi 141: | Rivi 131: | ||
Postscript-päätettä käytettäessä kannattaa antaa sille asetus <tt>enhanced</tt> komennolla | Postscript-päätettä käytettäessä kannattaa antaa sille asetus <tt>enhanced</tt> komennolla | ||
set term postscript enhanced | set term postscript enhanced | ||
jolloin käyttöön tulee ominaisuuksiltaan laajennettu Postscript-pääte. Laajennettu versio tukee mm. joitain erikoismerkkejä (kts. kappale ''Ääkköset'') ja LaTeX-muotoiluja (esimerkiksi potenssit voidaan merkitä muodossa a^b, jolloin b päätyy yläindeksiin) | jolloin käyttöön tulee ominaisuuksiltaan laajennettu Postscript-pääte. Laajennettu versio tukee mm. joitain erikoismerkkejä (kts. kappale ''Ääkköset'') ja LaTeX-muotoiluja (esimerkiksi potenssit voidaan merkitä muodossa a^b, jolloin b päätyy yläindeksiin). | ||
== Numeerisen datan piirtäminen ja käyrän sovitus pistejoukkoon == | == Numeerisen datan piirtäminen ja käyrän sovitus pistejoukkoon == | ||
Gnuplot osaa sovittaa mielivaltaisia käyriä pistejoukkoon ja se osaa huomioida myös pisteiden virherajat. Pisteet annetaan omassa tiedostossa, jossa jokaisella rivillä on joko välilyönnillä tai sarkaimella (tabulaattorilla) erotettuna pisteen koordinaatit ja mahdollisesti myös virherajat. | |||
Esimerkiksi sovitetaan suora seuraavaan, suunnilleen lineaariseen pistejoukkoon. Tehdään tiedosto mittaus.dat seuraavalla tavalla: | Esimerkiksi sovitetaan suora seuraavaan, suunnilleen lineaariseen pistejoukkoon. Tehdään tiedosto mittaus.dat seuraavalla tavalla: | ||
Rivi 159: | Rivi 149: | ||
Nyt tämä pistejoukko voitaisiin yksinkertaisesti piirtää <tt>plot</tt>-komennolla seuraavasti | Nyt tämä pistejoukko voitaisiin yksinkertaisesti piirtää <tt>plot</tt>-komennolla seuraavasti | ||
plot "mittaus.dat" | plot "mittaus.dat" | ||
Jolloin | Jolloin Gnuplot piirtää pisteet ja valitsee alueen rajat siten, että kaikki pisteet mahtuvat alueelle. | ||
Kuvaan saadaan näkymään virheet lisäämällä komennon perään tekstin <tt>with xyerrorbars</tt>. <tt>with</tt>-komennolla on mahdollista lisätä kuvaajaan muitakin elementtejä. Esimerkiksi seuraavat elementit ovat mahdollisia: | Kuvaan saadaan näkymään virheet lisäämällä komennon perään tekstin <tt>with xyerrorbars</tt>. <tt>with</tt>-komennolla on mahdollista lisätä kuvaajaan muitakin elementtejä. Esimerkiksi seuraavat elementit ovat mahdollisia: | ||
Rivi 170: | Rivi 160: | ||
|- | |- | ||
|<tt>xerrorbars</tt>, <tt>yerrorbars</tt> | |<tt>xerrorbars</tt>, <tt>yerrorbars</tt> | ||
|Vain x- tai y-suuntaiset | |Vain x- tai y-suuntaiset virerajat | ||
|- | |- | ||
|<tt>lines</tt> | |<tt>lines</tt> | ||
Rivi 193: | Rivi 183: | ||
Varsinainen sovitus tehdään komennolla | Varsinainen sovitus tehdään komennolla | ||
fit f(x) "mittaus.dat" via A,B | fit f(x) "mittaus.dat" via A,B | ||
Eli <tt>fit</tt>-komennolle annetaan funktio, joka sovitetaan pistejoukkoon ja <tt>via</tt>-komennolla kerrotaan vakiot, jotka | Eli <tt>fit</tt>-komennolle annetaan funktio, joka sovitetaan pistejoukkoon ja <tt>via</tt>-komennolla kerrotaan vakiot, jotka Gnuplotin tulee selvittää. | ||
Tämä komento tulostaa paljon tekstiä kertoen etenemisestään ja kertoo lopulta, millaiseen käyrään se päätyi: | Tämä komento tulostaa paljon tekstiä kertoen etenemisestään ja kertoo lopulta, millaiseen käyrään se päätyi: | ||
Rivi 220: | Rivi 210: | ||
=== Virherajojen huomioiminen sovituksessa === | === Virherajojen huomioiminen sovituksessa === | ||
Oletuksena | Oletuksena Gnuplot ei huomioi pisteille asetettuja virhetermejä käyrää sovittaessaan. Sovitukseen voidaan kuitenkin asettaa jokaista pisteparia vastaamaan tietty painokerroin joka kuvaa pisteen virherajoja. Kuten monet muutkin sovitusohjelmat, Gnuplot osaa huomioida vain yhden virhetermin (eli painokertoimen). Jos sekä x:n että y:n virhe pitää huomioida sovituksessa, on käyttäjän yhdistettävä ne ensin käsin sopimaksi katsomallaan tavalla. Gnuplot asettaa pisteparin painokertoimeksi sovituksessa <tt>1/s^2</tt>, missä s on annettu virhe. | ||
Käytännössä tämä tapahtuu siten, että sovituskomennossa kerrotaan | Käytännössä tämä tapahtuu siten, että sovituskomennossa kerrotaan Gnuplotille, missä tiedoston sarakkeessa virhetermi on. Jos edellä olevassa esimerkissä päättäisimme, että voimme jättää x-koordinaatin virheen huomioon ottamatta, kertoisimme virheen olevan tiedoston 4. sarakkeessa jolloin sovitus tapahtuisi komennolla | ||
fit f(x) "mittaus.dat" using 1:2:4 via A,B | fit f(x) "mittaus.dat" using 1:2:4 via A,B | ||
Tässä siis parametri <tt>using 1:2:4</tt> kuvaa tiedoston rakenteen: ensimmäisessä sarakkeessa on x-koordinaatti, toisessa y-koordinaatti ja neljännessä y-koordinaatin keskihajonta. | Tässä siis parametri <tt>using 1:2:4</tt> kuvaa tiedoston rakenteen: ensimmäisessä sarakkeessa on x-koordinaatti, toisessa y-koordinaatti ja neljännessä y-koordinaatin keskihajonta. | ||
Lisätietoja sovitustoiminnosta löytyy | Lisätietoja sovitustoiminnosta löytyy Gnuplotin ohjeista komennolla | ||
help fit | help fit | ||
== Katso myös == | == Katso myös == | ||
*[[Octave]] | *[[Octave]] | ||
==Aiheesta muualla== | ==Aiheesta muualla== | ||
Rivi 244: | Rivi 226: | ||
*[http://www.jyu.fi/science/laitokset/fysiikka/opiskelu/tyoosasto/gnuplot.pdf Jyväskylän yliopiston fysiikan laitoksen Gnuplot-opas] | *[http://www.jyu.fi/science/laitokset/fysiikka/opiskelu/tyoosasto/gnuplot.pdf Jyväskylän yliopiston fysiikan laitoksen Gnuplot-opas] | ||
[[Luokka: | [[Luokka:Tiedeohjelmat]] |