I programmatori usano spesso plot per disegnare punti nei diagrammi. La funzione plot () crea una linea che inizia in un punto e termina in un altro punto per impostazione predefinita. Questa funzione considera dei parametri per determinare i punti del diagramma. L’asse X contiene i punti per il parametro 1, mentre l’asse Y contiene i punti per il parametro 2.
In Matplotlib è possibile disegnare più di un grafico situato in un grafico in due modi. La funzione subplot () può aiutare a creare un grafico, mentre è possibile creare il secondo grafico sovrapponendolo al primo, il che significa che ogni grafico sarà presente in un unico grafico. Continuate a leggere per sapere come tracciare più grafici in Matplotlib.
Utilizzo della funzione Subplot () per la creazione di grafici multipli
La funzione Subplot () è essenzialmente una funzione wrapper che aiuta i programmatori a tracciare più grafici all’interno di una sola fixture. Ciò che rende questa funzione molto comoda è il fatto che i programmatori devono chiamarla una sola volta.
Sintassi
matplotlib.pyplot.subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, subplot_kw=None, gridspec_kw=None, **fig_kw)
Parametri
nrows, ncols
Con l’aiuto di questi parametri, è possibile determinare la quantità esatta di colonne e di righe rispettivamente. È bene tenere presente che l’uso di questi parametri è del tutto facoltativo. Il valore predefinito di questi parametri è 1.
sharex, sharey
sharex e sharey sono fondamentali per determinare le proprietà condivise tra l’asse y e quello a. I loro valori probabili possono essere nessuno, col, row. Altrimenti, il valore predefinito è sempre False.
spremere
A differenza di altri valori, questo è essenzialmente un valore booleano che chiede al programmatore se deve comprimere, cioè eliminare la dimensione extra presente nell’array. Il valore predefinito di Squeeze è False.
subplot_kw
Con l’aiuto di questo parametro, i programmatori possono aggiungere parole chiave in ogni sottotrama. Il valore predefinito di questo parametro è None.
gridspec_kw
L’uso di questo parametro aiuta ad aggiungere griglie a ogni sottotrama. Anche in questo caso, il valore predefinito di questo parametro è Nessuno.
fig_kw
L’uso del parametro fig_kw consente ai programmatori di aggiungere argomenti di parole chiave supplementari nella chiamata di funzione. Anche il valore predefinito di questo parametro è Nessuno.
Matplotlib ha una funzione che condivide un po’ di somiglianze con subplot. Questa funzione è denominata subplot2grid(). In fondo, questa funzione e subplot sono quasi identiche, ma subplot2grid() offre una maggiore flessibilità quando si tratta di organizzare gli oggetti del grafico in base alle esigenze del programmatore.
Ecco come viene scritta questa funzione:
Sintassi
matplotlib.pyplot.subplot2grid(shape, loc, rowspan=1, colspan=1, fig=None, **kwargs)
Parametro
forma
Il parametro shape è essenzialmente una sequenza contenente 2 valori interi che aiutano a determinare la forma della griglia. È il punto in cui devono essere collocati gli assi. Il valore iniziale è usato per la riga, mentre il secondo è usato per la colonna.
Ioc
Come il parametro shape, anche Ioc ha una sequenza di 2 valori interi. In questa sequenza, la prima voce è per la riga mentre la seconda è per la colonna per posizionare l’asse nella griglia.
apertura di riga
Il parametro rowspan utilizza il valore intero insieme al numero che indica la quantità di righe di cui l’asse avrà bisogno per aumentare o estendersi sul lato destro.
colspan
A differenza del parametro rowspan, colspan utilizza il valore intero insieme al numero che indica il totale delle colonne di cui l’asse avrà bisogno per aumentare la lunghezza in direzione del basso.
fig
Il parametro fig è del tutto opzionale e utilizza Figure per posizionare gli assi. È bene tenere presente che fig ha come valore predefinito la figura corrente.
Kwargs
Kwargs aiuta i programmatori a passare argomenti extra di parole chiave alla chiamata di funzione. Il valore predefinito di questo parametro è Nessuno.
Creare un grafico all’interno dello stesso grafico
Finora abbiamo discusso le basi di Matplotlib e l’utilizzo di subplot per creare più di un grafico attraverso le librerie subplot2grid e subplot grid. Ora discutiamo di come compilare subplot in una o più direzioni.
Compilazione di subplot in una sola direzione
I due argomenti non obbligatori di pyplot.subplots definiscono la quantità di colonne e righe presenti nella griglia subplot. Quando si pianifica la compilazione in una sola direzione, gli assi sono essenzialmente una matrice1D NumPy che contiene l’inventario degli assi.
Compilazione di sottopiani in due direzioni
L’asse restituito quando si impilano due direzioni è un array NumPy 2D. Se si prevede di creare parametri per ogni sottotrama, sarebbe meglio iterare ogni sottotrama utilizzando una griglia bidimensionale attraverso for ax in axs.flat:
Condivisione degli assi
Per impostazione predefinita, ogni asse è scalato individualmente. Pertanto, i valori di spunta delle sottoplot non si allineano correttamente se gli intervalli non sono gli stessi. Impostando sharey o sharex su True si attiva la condivisione globale nell’intera griglia, il che significa che gli assi y dei sottoplot impilati verticalmente condividono la stessa scala se utilizzano sharey=True.
Un solo set di etichette di spunta è più che sufficiente quando si tratta di sottoplot che condividono gli assi. Per quanto riguarda gli assi interni, le loro etichette di spunta vengono rimosse automaticamente da sharey e sharex. Tuttavia, rimane ancora uno spazio vuoto non utilizzato tra i sottopiani.
Se si vuole controllare il posizionamento delle sottotrame nel modo giusto, sarebbe meglio usare GridSpec con Figure.add_gridspec e poi usare la tecnica delle sottotrame. Ad esempio, è possibile ridurre al minimo l’altezza della sottotrama verticale utilizzando add_gridspec(hspace=0).label_outer. Si tratta di un metodo incredibilmente utile per rimuovere i tick e le etichette dalle sottotrame che non si trovano sul bordo della griglia.
Oltre a True e False, sharey e sharex accettano i valori ‘col’ e ‘row’ solo per colonna o riga. Nel caso in cui si intenda creare una struttura di condivisione più complessa, sarebbe meglio creare una griglia di assi senza condivisione e quindi utilizzare axes.Axes.sharex o axes.Axes.sharey.
Formare trame multiple in Matplotlib può essere complicato se non si ha una conoscenza sufficiente dei fondamenti, della sintassi e dei parametri giusti. Le informazioni discusse in questo articolo, tuttavia, vi aiuteranno a tracciare in Matplotlib nel modo giusto, assicurandovi la possibilità di creare trame multiple con relativa facilità.