Close menu
Close menu

Tunnistaudu

Kirjaudu

Etkö ole vielä jäsen?

Liity jäseneksi

1.2 Suoran piirtäminen Pythonilla

Mikäli ei haluta itse laskea pisteitä, suora voidaan piirtää myös suoran yhtälön avulla. Käytettävät kirjastot ovat laskentaan tarvittava NumPy (dokumentaatio https://docs.scipy.org/doc/) ja piirtämiseen tarvittavat Matplotlib sekä monimutkaisemmissa kaavioissa Pylab (yhdistää plottaus- ja laskentamoduulit, ei omaa dokumentaatiota). Kirjastot toimivat mm. Eclipse ja Spyder-ympäristöissä. Myös repl.it tukee Maplotlib-kirjastoa, mutta kaavion saaminen näkyviin vaatii jälleen kuvan tallentamista savefig-funktiolla.

Vaikka pisteitä ei itse lasketakaan, plot-toiminto tarvitsee toimiakseen jotkin pisteet. NumPy-kirjaston linspace-toiminto luo halutun määrän x:n arvoja valitulle välille. Esimerkiksi linspace(–10, 10, 30) luo –10 ja +10 välille 30 pistettä.

Esimerkki 1. Piirrä suora y = 2x – 4. Tee kuvaaja x-arvojen  –5 ja +5 välille.

Koodi:

Kuvaaja:

Sama esimerkki repl.it:ssä:

Aikaisempaan metodiin verrattuna etuna on, että x-akselin rajat voidaan päättää itse, eikä koordinaattipisteitä tarvitse laskea erikseen.

Esimerkki 2. Matplotlib-kirjaston peruskuvaajat ovat sangen pelkistettyjä. Mikäli kuvaajaan halutaan ruudukko ja akselit, kuvaajan luominen vaatii jo pitkähkön koodin. Tarvittavat ohjelmakirjastot ovat NumPy ja Matplotlib. Nämä kirjastot toimivat ainakin Spyder- ja Eclipse-ohjelmointiympäristössä. Koordinaatiston luominen kannattaa erottaa omaksi aliohjelmakseen:

rivit 6-9: määritetään x:lle ja y:lle rajat

rivit 11–12: luodaan alikuvaaja, jotta akselien numerointia voidaan muokata

rivit 13–14: siirretään akselien numerointi oikealle kohdalle

rivi 16: pakotetaan akselit samaan mitoitukseen

rivi 17: asetetaan koordinaatisto rajojen kokoiseksi

rivi 18: lisätään pystysuuntainen viivasto

rivi 19: lisätään vaakasuuntainen viivasto

rivi 21–22: lisätään nuolet

rivit 24-25: lisätään akselien nimet

 

Jotta paranneltu koordinaatisto tulisi näkyviin, aliohjelmaa pitää kutsua komennolla koordinaatisto(). Plot-komennot tulevat vasta aliohjelman kutsun jälkeen.

Esimerkki 3. Piirrä suora y =  –2x + 4 koordinaatistoon, jossa näkyvät akselit ja ruudukko

Sama koodi tekstinä:

Repl.it:ssä viimeinen rivi on korvattava komennolla kuvatyokalut.savefig(’plot.png’).

Lopputulos näyttää tältä:

Harjoituksia suoran piirtämisestä:

  1. Piirrä oheiset suorat samaan kuvaajaan.
  1. y = 5x
  2. y =  –3x + 2
  3. y = 0x + 4
  4. y = 6x – 5

 

  1. Piirrä suorat y = –2x +1 ja y = 3x – 2 samaan kuvaajaan. Käytä esimerkin 3 koordinaatistoaliohjelmaa koordinaatiston luomiseen. Muista antaa molemmille suorille oma nimi ja plot-komento.
  2. Erään palvelunumeron hinta on 0,95 € per puhelu ja lisäksi minuuttihinta on 1,95 €. Piirrä kuvaaja, joka havainnollistaa puhelun hintaa välillä 0 – 10 min.
    1. Muokkaa esimerkin 4 koordinaatistopohjaa siten, että
      1. x-akseli on aika-akseli, joten sen nimeksi tulee min
      2. y-akseli on hinta-akseli, joten sen nimeksi tulee €
      3. x-akseli on välillä 0 – 11
      4. y-akselin mitoitat itse sopivaksi välille 0 – ? niin, että kuvaajalta voi lukea 10 minuutin puhelun hinnan
    2. Piirrä tilannetta kuvaava suora

 

Ratkaisut:

1. 

2.

3.