Alikuvioiden 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.
12345import matplotlib.pyplot as plt fig, axs = plt.subplots(2, 2) plt.show()
2 x 2 alikuvioiden ruudukko luotiin.
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ä.
1234567891011121314import 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()
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:
123456789fig, 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()
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.
123456789fig, 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()
Asetus sharex=True jakaa x-akselin kaikille aliplotseille.
Voit myös antaa arvon 'row' tai 'col' jakaaksesi akselit vain riveittäin tai sarakkeittain.
Kuten tavallista, voit tutustua lisää aiheeseen
subplots() dokumentaatiossa halutessasi.
Swipe to start coding
- Käytä oikeaa funktiota alikuvioiden ruudukon luomiseen.
- Ruudukossa tulee olla 3 riviä ja 1 sarake (määritä kaksi ensimmäistä parametria).
- Määritä oikeanpuoleisin avainsana-argumentti niin, että x-akseli jaetaan kaikissa alikuvioissa.
- Tallenna alikuvioiden luontifunktion tulos
fig- jaaxs-muuttujiin (vasemmalta oikealle). - Sijoita ensimmäinen viivakaavio
data_linearruudukon ensimmäiselle riville (rivi0). - Sijoita toinen viivakaavio
data_squaredruudukon toiselle riville (rivi1). - Sijoita kolmas viivakaavio
data_expruudukon kolmannelle riville (rivi2).
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Mahtavaa!
Completion arvosana parantunut arvoon 3.85
Alikuvioiden 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.
12345import matplotlib.pyplot as plt fig, axs = plt.subplots(2, 2) plt.show()
2 x 2 alikuvioiden ruudukko luotiin.
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ä.
1234567891011121314import 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()
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:
123456789fig, 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()
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.
123456789fig, 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()
Asetus sharex=True jakaa x-akselin kaikille aliplotseille.
Voit myös antaa arvon 'row' tai 'col' jakaaksesi akselit vain riveittäin tai sarakkeittain.
Kuten tavallista, voit tutustua lisää aiheeseen
subplots() dokumentaatiossa halutessasi.
Swipe to start coding
- Käytä oikeaa funktiota alikuvioiden ruudukon luomiseen.
- Ruudukossa tulee olla 3 riviä ja 1 sarake (määritä kaksi ensimmäistä parametria).
- Määritä oikeanpuoleisin avainsana-argumentti niin, että x-akseli jaetaan kaikissa alikuvioissa.
- Tallenna alikuvioiden luontifunktion tulos
fig- jaaxs-muuttujiin (vasemmalta oikealle). - Sijoita ensimmäinen viivakaavio
data_linearruudukon ensimmäiselle riville (rivi0). - Sijoita toinen viivakaavio
data_squaredruudukon toiselle riville (rivi1). - Sijoita kolmas viivakaavio
data_expruudukon kolmannelle riville (rivi2).
Ratkaisu
Kiitos palautteestasi!
single