Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Alikuvioiden Luominen | Kaavioiden Mukauttaminen
Ultimate Visualization with Python

bookAlikuvioiden Luominen

subplots()-kirjaston pyplot-funktiolla luodaan useita kuvaajia yhteen kuvaan. Olet jo nähnyt sen käytön piirtoalustan luonnissa; nyt tarkastelemme sitä tarkemmin.

Rivimäärä ja sarakemäärä

Keskeiset parametrit ovat nrows ja ncolumns, jotka määrittävät alikuvaajien ruudukon. Oletuksena molemmat ovat 1, jolloin syntyy yksi Axes. subplots() palauttaa Figure-olion sekä yhden Axes-olion tai taulukon niistä asettelusta riippuen.

12345
import matplotlib.pyplot as plt fig, axs = plt.subplots(2, 2) plt.show()
copy

2 x 2 alikuvioiden ruudukko luotiin.

Note
Huomio

Koska alikuvioita on useita, subplots palauttaa taulukon Axes-olioita, joka yleensä tallennetaan muuttujaan nimeltä axs (yksikkömuoto ax on yhdelle kuviolle).

Tässä tapauksessa axs on kaksiulotteinen taulukko, joten tiettyyn alikuvioon pääsee sekä rivin että sarakkeen indeksillä.

1234567891011121314
import matplotlib.pyplot as plt import numpy as np data_linear = np.arange(1, 11) data_squared = data_linear**2 fig, axs = plt.subplots(2, 2) axs[0, 0].plot(data_linear) axs[0, 1].plot(data_squared) axs[1, 0].scatter(data_linear, data_linear) axs[1, 1].scatter(data_linear, data_squared) plt.show()
copy

Ensimmäisellä rivillä on kaksi viivakuvaajaa; toisella rivillä on kaksi hajontakuvaajaa. Jokainen kuvaaja tulee piirtää vastaavan Axes-olion metodilla, ei käyttämällä plt.plot() tai plt.scatter().

Muuntaminen 1D-taulukoksi

Voit litistää kaksiulotteisen Axes-taulukon käyttämällä .ravel()-metodia, mikä yksinkertaistaa indeksointia:

123456789
fig, axs = plt.subplots(2, 2) axs = axs.ravel() axs[0].plot(data_linear) axs[1].plot(data_squared) axs[2].scatter(data_linear, data_linear) axs[3].scatter(data_linear, data_squared) plt.show()
copy

2x2-taulukossa axs.ravel() muuntaa sen yksiulotteiseksi taulukoksi, jossa on neljä alkiota.

Akselin jakaminen

subplots()-funktiolla on myös sharex- ja sharey-parametrit. Ne määrittävät, jaetaanko x- tai y-akseli aliplottien kesken. Molemmat ovat oletuksena False.

123456789
fig, axs = plt.subplots(2, 2, sharex=True) axs = axs.ravel() axs[0].plot(data_linear) axs[1].plot(data_squared) axs[2].scatter(data_linear, data_linear) axs[3].scatter(data_linear, data_squared) plt.show()
copy

Asetus sharex=True jakaa x-akselin kaikille aliplotseille. Voit myös antaa arvon 'row' tai 'col' jakaaksesi akselit vain riveittäin tai sarakkeittain.

Note
Lisätietoa

Kuten tavallista, voit tutustua lisää aiheeseen subplots() dokumentaatiossa halutessasi.

Tehtävä

Swipe to start coding

  1. Käytä oikeaa funktiota alikuvioiden ruudukon luomiseen.
  2. Ruudukossa tulee olla 3 riviä ja 1 sarake (määritä kaksi ensimmäistä parametria).
  3. Määritä oikeanpuoleisin avainsana-argumentti niin, että x-akseli jaetaan kaikissa alikuvioissa.
  4. Tallenna alikuvioiden luontifunktion tulos fig- ja axs-muuttujiin (vasemmalta oikealle).
  5. Sijoita ensimmäinen viivakaavio data_linear ruudukon ensimmäiselle riville (rivi 0).
  6. Sijoita toinen viivakaavio data_squared ruudukon toiselle riville (rivi 1).
  7. Sijoita kolmas viivakaavio data_exp ruudukon kolmannelle riville (rivi 2).

Ratkaisu

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 6
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

close

bookAlikuvioiden Luominen

Pyyhkäise näyttääksesi valikon

subplots()-kirjaston pyplot-funktiolla luodaan useita kuvaajia yhteen kuvaan. Olet jo nähnyt sen käytön piirtoalustan luonnissa; nyt tarkastelemme sitä tarkemmin.

Rivimäärä ja sarakemäärä

Keskeiset parametrit ovat nrows ja ncolumns, jotka määrittävät alikuvaajien ruudukon. Oletuksena molemmat ovat 1, jolloin syntyy yksi Axes. subplots() palauttaa Figure-olion sekä yhden Axes-olion tai taulukon niistä asettelusta riippuen.

12345
import matplotlib.pyplot as plt fig, axs = plt.subplots(2, 2) plt.show()
copy

2 x 2 alikuvioiden ruudukko luotiin.

Note
Huomio

Koska alikuvioita on useita, subplots palauttaa taulukon Axes-olioita, joka yleensä tallennetaan muuttujaan nimeltä axs (yksikkömuoto ax on yhdelle kuviolle).

Tässä tapauksessa axs on kaksiulotteinen taulukko, joten tiettyyn alikuvioon pääsee sekä rivin että sarakkeen indeksillä.

1234567891011121314
import matplotlib.pyplot as plt import numpy as np data_linear = np.arange(1, 11) data_squared = data_linear**2 fig, axs = plt.subplots(2, 2) axs[0, 0].plot(data_linear) axs[0, 1].plot(data_squared) axs[1, 0].scatter(data_linear, data_linear) axs[1, 1].scatter(data_linear, data_squared) plt.show()
copy

Ensimmäisellä rivillä on kaksi viivakuvaajaa; toisella rivillä on kaksi hajontakuvaajaa. Jokainen kuvaaja tulee piirtää vastaavan Axes-olion metodilla, ei käyttämällä plt.plot() tai plt.scatter().

Muuntaminen 1D-taulukoksi

Voit litistää kaksiulotteisen Axes-taulukon käyttämällä .ravel()-metodia, mikä yksinkertaistaa indeksointia:

123456789
fig, axs = plt.subplots(2, 2) axs = axs.ravel() axs[0].plot(data_linear) axs[1].plot(data_squared) axs[2].scatter(data_linear, data_linear) axs[3].scatter(data_linear, data_squared) plt.show()
copy

2x2-taulukossa axs.ravel() muuntaa sen yksiulotteiseksi taulukoksi, jossa on neljä alkiota.

Akselin jakaminen

subplots()-funktiolla on myös sharex- ja sharey-parametrit. Ne määrittävät, jaetaanko x- tai y-akseli aliplottien kesken. Molemmat ovat oletuksena False.

123456789
fig, axs = plt.subplots(2, 2, sharex=True) axs = axs.ravel() axs[0].plot(data_linear) axs[1].plot(data_squared) axs[2].scatter(data_linear, data_linear) axs[3].scatter(data_linear, data_squared) plt.show()
copy

Asetus sharex=True jakaa x-akselin kaikille aliplotseille. Voit myös antaa arvon 'row' tai 'col' jakaaksesi akselit vain riveittäin tai sarakkeittain.

Note
Lisätietoa

Kuten tavallista, voit tutustua lisää aiheeseen subplots() dokumentaatiossa halutessasi.

Tehtävä

Swipe to start coding

  1. Käytä oikeaa funktiota alikuvioiden ruudukon luomiseen.
  2. Ruudukossa tulee olla 3 riviä ja 1 sarake (määritä kaksi ensimmäistä parametria).
  3. Määritä oikeanpuoleisin avainsana-argumentti niin, että x-akseli jaetaan kaikissa alikuvioissa.
  4. Tallenna alikuvioiden luontifunktion tulos fig- ja axs-muuttujiin (vasemmalta oikealle).
  5. Sijoita ensimmäinen viivakaavio data_linear ruudukon ensimmäiselle riville (rivi 0).
  6. Sijoita toinen viivakaavio data_squared ruudukon toiselle riville (rivi 1).
  7. Sijoita kolmas viivakaavio data_exp ruudukon kolmannelle riville (rivi 2).

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 6
single

single

some-alt