Matplotlib.pyplot.subplots() Pythonissa
Matplotlib on Pythonin kirjasto ja se on numeeris-matemaattinen laajennus NumPy kirjasto. Pyplot on tilapohjainen liitäntä Matplotlib-moduuliin, joka tarjoaa MATLAB-tyyppisen rajapinnan. subplots()> Pythonin toiminto yksinkertaistaa useiden Matplotlib-alikaavioiden luomista yhdessä kuviossa, mikä mahdollistaa erilaisten tietojoukkojen tai kaavioiden organisoidun ja samanaikaisen visualisoinnin.
Esimerkki:
Tässä on esimerkki yksinkertaisesta Python koodi piirtääksesi kaavion käyttämällä Matplotlib-kirjasto .
Python 3
# sample code> import> matplotlib.pyplot as plt> > plt.plot([> 1> ,> 2> ,> 3> ,> 4> ], [> 16> ,> 4> ,> 1> ,> 8> ])> plt.show()> |
Lähtö:
Piirrä Python matplotlib -sovelluksella
Matplotlib subplots() Syntaksi
The subplots()-funktio in Pyplot-moduuli Matplotlib-kirjaston avulla luodaan kuva ja joukko alikaavioita.
Syntaksi: matplotlib.pyplot.subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, subplot_kw=Ei mitään, gridspec_kw=Ei mitään, **fig_kw)
Parametrit: Tämä menetelmä hyväksyy seuraavat parametrit, jotka on kuvattu alla:
- nrows, ncols: Nämä parametrit ovat alikaavioruudukon rivien/sarakkeiden lukumäärä.
- sharex, sharey: Tämä parametri ohjaa ominaisuuksien jakamista x (sharex) tai y (sharey) akselien välillä.
- puristaa: Tämä parametri on valinnainen parametri ja se sisältää loogisen arvon, jonka oletusarvo on True.
- yhdellä: Tämä parametri on pyplot.figure-avainsana, joka määrittää kuvion numeron tai otsikon.
- subplot_kwd: Tämä parametri on avainsanojen sanelu, joka välitetään add_subplot-kutsulle, jota käytetään kunkin alikuvan luomiseen.
- gridspec_kw: Tämä parametri on avainsana, joka välitetään GridSpec-konstruktorille, jota käytetään luomaan ruudukko, johon alikuvat sijoitetaan.
Palautukset: Tämä menetelmä palauttaa seuraavat arvot.
- kuva: Tämä menetelmä palauttaa kuvion asettelun.
- kirves: Tämä menetelmä palauttaa axes.Axes-objektin tai Axes-objektien joukon.
Python Subplots Matplotlib Esimerkki
Tässä esimerkissä luomme yksinkertaisen kaavion käyttämällä matplotlib.pyplot-tiedoston subplots()-funktiota.
Python 3
# Implementation of matplotlib function> import> numpy as np> import> matplotlib.pyplot as plt> # First create some toy data:> x> => np.linspace(> 0> ,> 2> *> np.pi,> 400> )> y> => np.sin(x> *> *> 2> )> fig, ax> => plt.subplots()> ax.plot(x, y)> ax.set_title(> 'Simple plot'> )> fig.suptitle(> 'matplotlib.pyplot.subplots() Example'> )> plt.show()> |
Lähtö:
matplotlib.pyplot.subplots()-funktioesimerkki
Useiden kaavioiden näyttäminen alikaavioilla ()
Matplotlib subplots() -funktion avulla voimme piirtää useita kaavioita käyttäen samaa dataa tai akselia. Katsotaanpa muutama esimerkki paremman ymmärtämisen vuoksi:
Alapalojen pinoaminen yhteen suuntaan
Tässä esimerkissä piirrämme kaksi kuvaajaa, jotka jakavat y-akselin. nrows- ja ncols-parametrit on asetettu arvoon 1 ja 2, mikä tarkoittaa, että kaaviossa on 1 rivi ja 2 saraketta tai 2 alikuvaajaa. Voimme käyttää näitä alikaavioita indeksien [0] ja [1] avulla.
Python 3
# Implementation of matplotlib function> import> numpy as np> import> matplotlib.pyplot as plt> # First create some toy data:> x> => np.linspace(> 0> ,> 2> *> np.pi,> 400> )> y1> => np.sin(x)> y2> => np.sin(x> *> *> 2> )> # create 2 subplots> fig, ax> => plt.subplots(nrows> => 1> , ncols> => 2> )> ax[> 0> ].plot(x, y1)> ax[> 1> ].plot(x, y2)> # plot 2 subplots> ax[> 0> ].set_title(> 'Simple plot with sin(x)'> )> ax[> 1> ].set_title(> 'Simple plot with sin(x**2)'> )> fig.suptitle(> 'Stacked subplots in one direction'> )> plt.show()> |
Lähtö:
Alapalojen pinoaminen yhteen suuntaan
Alapalojen pinoaminen kahteen suuntaan
Tämä esimerkki on samanlainen kuin edellinen. Ainoa ero on, että annoimme nrows- ja ncols-arvot 2:een. Tämä tarkoittaa, että kaavio on jaettu 2 riviin ja 2 sarakkeeseen, mikä antaa meille yhteensä 4 alikuvaa matplotlib. Näihin kaavioihin pääsemme indeksin avulla.
Python 3
# Implementation of matplotlib function> import> numpy as np> import> matplotlib.pyplot as plt> # First create some toy data:> x> => np.linspace(> 0> ,> 2> *> np.pi,> 400> )> y1> => np.sin(x)> y2> => np.sin(x> *> *> 2> )> y3> => y1> *> *> 2> y4> => y2> *> *> 2> fig, ax> => plt.subplots(nrows> => 2> , ncols> => 2> )> ax[> 0> ,> 0> ].plot(x, y1, c> => 'red'> )> ax[> 0> ,> 1> ].plot(x, y2, c> => 'red'> )> ax[> 1> ,> 0> ].plot(x, y3, c> => 'blue'> )> ax[> 1> ,> 1> ].plot(x, y3, c> => 'blue'> )> ax[> 0> ,> 0> ].set_title(> 'Simple plot with sin(x)'> )> ax[> 0> ,> 1> ].set_title(> 'Simple plot with sin(x**2)'> )> ax[> 1> ,> 0> ].set_title(> 'Simple plot with sin(x)**2'> )> ax[> 1> ,> 1> ].set_title(> 'Simple plot with sin(x**2)**2'> )> fig.suptitle(> 'Stacked subplots in two direction'> )> plt.show()> |
Lähtö:
Alapalojen pinoaminen kahteen suuntaan
Jakoakseli
Tässä esimerkissä piirretään kaaviot, joilla on sama akseli. Luomme kaavioita, jotka jakavat y-akselin ja etiketin, mutta joilla on oma x-akseli ja etiketti. Tämä voidaan tehdä välittämällä arvo subplot()-funktion 'num'-parametrille. 'Sharex'-parametrin arvoksi on asetettu True, mikä tarkoittaa, että luodut kuvaajat jakavat X-akselin keskenään.
Python 3
# Implementation of matplotlib function> import> numpy as np> import> matplotlib.pyplot as plt> # First create some toy data:> x> => np.linspace(> 0> ,> 2> *> np.pi,> 400> )> y1> => np.sin(x)> y2> => np.sin(x> *> *> 2> )> fig, (ax1, ax2)> => plt.subplots(> 2> , sharex> => True> )> ax1.plot(x, y1, c> => 'red'> )> ax2.plot(x, y2, c> => 'red'> )> ax1.set_ylabel(> 'Simple plot with sin(x)'> )> ax2.set_ylabel(> 'Simple plot with sin(x**2)'> )> fig.suptitle(> 'Subplots with shared axis'> )> plt.show()> |
Lähtö:
Osakuvat jaetulla akselilla
Napa-akseli
Tässä esimerkissä piirrämme kaaviot napakoordinaateilla. Subplot()-funktion parametrille subplot_kw annetaan projektion sanakirjaarvo, joka on asetettu arvoon 'polar', mikä käskee subplot()-funktiota luomaan napakuvaajan.
Python 3
# Implementation of matplotlib function> import> numpy as np> import> matplotlib.pyplot as plt> # First create some toy data:> x> => np.linspace(> 0> ,> 1.5> *> np.pi,> 100> )> y> => np.sin(x> *> *> 2> )> +> np.cos(x> *> *> 2> )> fig, axs> => plt.subplots(nrows> => 2> , ncols> => 2> ,> > subplot_kw> => dict> (polar> => True> ))> axs[> 0> ,> 0> ].plot(x, y)> axs[> 1> ,> 1> ].scatter(x, y)> fig.suptitle(> 'matplotlib.pyplot.subplots() Example'> )> plt.show()> |
Lähtö:
matplotlib.pyplot.subplots()-funktioesimerkki