Matplotlib.pyplot.subplots() v Pythonu

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:

Preprost izris z uporabo Python matplotlib

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().

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 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

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

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().

primer funkcije matplotlib.pyplot.subplots().