single
Aliplotit Luominen
Pyyhkäise näyttääksesi valikon
subplots()-kirjaston pyplot-funktiolla luodaan useita kuvioita yhteen kuvaajaan. Olet jo nähnyt sen käytön kanvaasin luonnissa; nyt tarkastelemme sitä yksityiskohtaisemmin.
Rivien ja sarakkeiden määritys
Tärkeimmät argumentit ovat nrows ja ncolumns, jotka määrittävät alikuvioiden ruudukon. Oletuksena molemmat ovat 1, jolloin syntyy yksi Axes.
subplots() palauttaa Figure-olion sekä joko yhden Axes-olion tai taulukon niistä asettelusta riippuen.
12345import matplotlib.pyplot as plt fig, axs = plt.subplots(2, 2) plt.show()
2 x 2 aliplottiristikko luotiin.
Koska aliplotteja on useita, subplots palauttaa taulukon Axes-olioita, joka tallennetaan yleensä muuttujaan nimeltä axs (yksikkömuoto ax on yhdelle kuvalle).
Tässä tapauksessa axs on kaksiulotteinen taulukko, joten tarvitset sekä rivi- että sarakeindeksin tietyn aliplotin valitsemiseksi.
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 alikuvioiden 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 alikuvioille.
Voit myös antaa arvon 'row' tai 'col' jakaaksesi akselit vain riveittäin tai sarakkeittain.
Kuten tavallista, voit tutustua lisää
subplots() dokumentaatioon 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