Matplotlib.pyplot.subplots() in Python
Matplotlib è una libreria in Python ed è un'estensione numerico-matematica per il NumPy biblioteca. Pyplot è un'interfaccia basata sullo stato per un modulo Matplotlib che fornisce un'interfaccia simile a MATLAB. subplots()> La funzione in Python semplifica la creazione di più sottotrame Matplotlib all'interno di una singola figura, consentendo la visualizzazione organizzata e simultanea di vari set di dati o grafici.
Esempio:
Ecco un esempio di un semplice Pitone codice per tracciare un grafico utilizzando il file Libreria Matplotlib .
Python3
# sample code> import> matplotlib.pyplot as plt> > plt.plot([> 1> ,> 2> ,> 3> ,> 4> ], [> 16> ,> 4> ,> 1> ,> 8> ])> plt.show()> |
Produzione:
Traccia utilizzando Python matplotlib
Matplotlib subplots() Sintassi
IL funzione subplots() nel Modulo Pyplot della libreria Matplotlib viene utilizzata per creare una figura e una serie di sottotrame.
Sintassi: matplotlib.pyplot.subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, subplot_kw=None, gridspec_kw=Nessuno, **fig_kw)
parametri: Questo metodo accetta i seguenti parametri descritti di seguito:
- nrows, ncols: Questi parametri sono il numero di righe/colonne della griglia della sottotrama.
- sharex, sharey: Questo parametro controlla la condivisione delle proprietà tra gli assi x (sharex) o y (sharey).
- stretta : Questo parametro è facoltativo e contiene un valore booleano con valore predefinito True.
- nessuno: Questo parametro è la parola chiave pyplot.figure che imposta il numero o l'etichetta della figura.
- sottotrama_kwd: Questo parametro è il dict con le parole chiave passate alla chiamata add_subplot utilizzata per creare ciascuna sottotrama.
- gridspec_kw: Questo parametro è il dict con le parole chiave passate al costruttore GridSpec utilizzato per creare la griglia su cui sono posizionate le sottotrame.
Ritorna: Questo metodo restituisce i seguenti valori.
- Fico : Questo metodo restituisce il layout della figura.
- ascia : Questo metodo restituisce l'oggettoaxis.Axes o un array di oggetti Axes.
Esempio di sottotrame Python Matplotlib
In questo esempio, creeremo un grafico semplice utilizzando la funzione subplots() in 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()> |
Produzione:
Esempio di funzione matplotlib.pyplot.subplots()
Visualizzazione di più grafici utilizzando sottotrame()
La funzione Matplotlib subplots() ci consente di tracciare più grafici utilizzando gli stessi dati o l'asse. Vediamo alcuni esempi per una migliore comprensione:
Impilamento di sottotrame in una direzione
In questo esempio, tracciamo due grafici che condividono l'asse y. I parametri nrows e ncols sono impostati rispettivamente su 1 e 2, il che significa che la trama avrà 1 riga e 2 colonne o 2 sottotrame. Possiamo accedere a queste sottotrame utilizzando l'indice [0] e [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()> |
Produzione:
Impilamento di sottotrame in una direzione
Impilamento di sottotrame in due direzioni
Questo esempio è simile al precedente. L'unica differenza è che abbiamo fornito i valori di nrows e ncols su 2. Ciò significa che la trama è divisa in 2 righe e 2 colonne per un totale di 4 sottotrame matplotlib. Possiamo accedere a questi grafici utilizzando l'indice.
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()> |
Produzione:
Impilamento di sottotrame in due direzioni
Asse di condivisione
In questo esempio, tracceremo i grafici che condividono lo stesso asse. Creeremo grafici che condivideranno l'asse y e l'etichetta ma avranno il proprio asse x ed etichetta. Questo può essere fatto passando un valore al parametro 'num' della funzione subplot(). Il parametro 'sharex' è impostato su True, il che significa che i grafici creati condivideranno tra loro l'asse X.
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()> |
Produzione:
Sottotrame con assi condivisi
Asse polare
In questo esempio, tracceremo i grafici utilizzando le coordinate polari. Al parametro subplot_kw della funzione subplot() viene assegnato un valore di proiezione del dizionario impostato su 'polare' che indica alla funzione subplot() di creare un grafico polare.
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()> |
Produzione:
Esempio di funzione matplotlib.pyplot.subplots()