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ä:
- Piirrä oheiset suorat samaan kuvaajaan.
- y = 5x
- y = –3x + 2
- y = 0x + 4
- y = 6x – 5
- 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.
- 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.
-
- Muokkaa esimerkin 4 koordinaatistopohjaa siten, että
- x-akseli on aika-akseli, joten sen nimeksi tulee min
- y-akseli on hinta-akseli, joten sen nimeksi tulee €
- x-akseli on välillä 0 – 11
- y-akselin mitoitat itse sopivaksi välille 0 – ? niin, että kuvaajalta voi lukea 10 minuutin puhelun hinnan
- Piirrä tilannetta kuvaava suora
- Muokkaa esimerkin 4 koordinaatistopohjaa siten, että
Ratkaisut:
1.
2.
3.