Matplotlib.pyplot.subplots() v Pythonu
Matplotlib je knjižnica v Pythonu in je numerično-matematična razširitev za NumPy knjižnica. Pyplot je vmesnik, ki temelji na stanju, za modul Matplotlib, ki zagotavlja vmesnik, podoben MATLAB-u. subplots()> funkcija v Pythonu poenostavi ustvarjanje več podploskov Matplotlib znotraj ene same figure, kar omogoča organizirano in sočasno vizualizacijo različnih nizov podatkov ali grafov.
primer:
Tukaj je preprost primer Python kodo za risanje grafa z uporabo Knjižnica Matplotlib .
Python3
# sample code> import> matplotlib.pyplot as plt> > plt.plot([> 1> ,> 2> ,> 3> ,> 4> ], [> 16> ,> 4> ,> 1> ,> 8> ])> plt.show()> |
Izhod:
Narišite z uporabo Python matplotlib
Matplotlib subplots() Sintaksa
The funkcijo subplots(). v Modul Pyplot knjižnice Matplotlib se uporablja za ustvarjanje figure in niza podrisov.
Sintaksa: matplotlib.pyplot.subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, subplot_kw=Brez, gridspec_kw=Brez, **fig_kw)
Parametri: Ta metoda sprejema naslednje parametre, ki so opisani spodaj:
- nrows, ncols : Ta parameter je število vrstic/stolpcev mreže podplot.
- sharex, sharey : Ta parameter nadzira skupno rabo lastnosti med osemi x (sharex) ali y (sharey).
- stisniti: Ta parameter je izbirni parameter in vsebuje logično vrednost s privzeto vrednostjo True.
- na enem: Ta parameter je ključna beseda pyplot.figure, ki nastavi številko ali oznako slike.
- subplot_kwd: Ta parameter je dikt s ključnimi besedami, posredovan klicu add_subplot, ki se uporablja za ustvarjanje vsakega podplota.
- gridspec_kw: Ta parameter je dikt s ključnimi besedami, posredovan konstruktorju GridSpec, ki se uporablja za ustvarjanje mreže, na katero so postavljeni podrisi.
Vrne: Ta metoda vrne naslednje vrednosti.
- fig: Ta metoda vrne postavitev figure.
- sekira: Ta metoda vrne objekt axes.Axes ali niz objektov Axes.
Primer Python Subplots Matplotlib
V tem primeru bomo ustvarili preprost izris s funkcijo subplots() v matplotlib.pyplot.
Python3
# 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()> |
Izhod:
primer funkcije matplotlib.pyplot.subplots().
Prikaz več ploskev z uporabo subplots()
Funkcija Matplotlib subplots() nam omogoča izris več ploskev z uporabo istih podatkov ali osi. Oglejmo si nekaj primerov za boljše razumevanje:
Zlaganje podzapletov v eno smer
V tem primeru bomo narisali dve ploskvi, ki si delita os y. Parametra nrows in ncols sta nastavljena na 1 oziroma 2, kar pomeni, da bo graf imel 1 vrstico in 2 stolpca ali 2 podploskvi. Do teh podploskov lahko dostopamo z uporabo indeksa [0] in [1].
Python3
# 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()> |
Izhod:
Zlaganje podploskov v eno smer
Zlaganje podploskov v dveh smereh
Ta primer je podoben prejšnjemu. Edina razlika je v tem, da smo vrednosti nrows in ncols podali na 2. To pomeni, da je graf razdeljen na 2 vrstici in 2 stolpca, kar nam daje skupno 4 podploskve matplotlib. Do teh ploskev lahko dostopamo z indeksom.
Python3
# 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()> |
Izhod:
Zlaganje podploskov v dveh smereh
Skupna raba osi
V tem primeru bomo narisali grafe, ki imajo isto os. Ustvarili bomo ploskve, ki bodo imele skupno os y in oznako, vendar bodo imele lastno os x in oznako. To lahko storite s posredovanjem vrednosti parametru 'num' funkcije subplot(). Parameter 'sharex' je nastavljen na True, kar pomeni, da si bodo ustvarjeni izrisi med seboj delili X-os.
Python3
# 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()> |
Izhod:
Podploskve s skupno osjo
Polarna os
V tem primeru bomo izrisali grafe s pomočjo polarnih koordinat. Parametru subplot_kw funkcije subplot() je dodeljena slovarska vrednost projekcije, nastavljena na »polarno«, ki funkciji subplot() pove, naj ustvari polarni graf.
Python3
# 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()> |
Izhod:
primer funkcije matplotlib.pyplot.subplots().