Aggiungi sottotrama a una figura in Matplotlib

Suraj Joshi 15 febbraio 2024
  1. Aggiungi sottotrama a una figura usando il metodo matplotlib.pyplot.figure.add_subplot()
  2. Crea figura con sottotrame utilizzando Matplotlib.pyplot.subplots()
Aggiungi sottotrama a una figura in Matplotlib

Questo tutorial spiega come aggiungere sottotrame a una figura Matplotlib utilizzando il metodo matplotlib.pyplot.figure.add_subplot() in Python.

Aggiungi sottotrama a una figura usando il metodo matplotlib.pyplot.figure.add_subplot()

import matplotlib.pyplot as plt

fig = plt.figure(figsize=(5, 5))

x = [1, 2, 3, 4, 5]
y = [2, 4, 5, 1, 2]

subplot = fig.add_subplot(1, 1, 1)
subplot.plot(x, y)

fig.suptitle("Figure with only one Subplot")
plt.show()

Produzione:

Aggiungi una sottotrama alla figura matplotlib

Genera una figura con una sola sottotrama. La figura può essere interpretata come un elemento di alto livello contenente tutte le sottotrame e altri elementi nella figura. Inizializziamo prima l’oggetto figura di dimensione (5,5) e poi aggiungiamo una sottotrama alla figura usando il metodo add_subplot(). Il primo argomento del metodo add_subplot() rappresenta il numero di righe di sottotrama nella figura, il secondo argomento rappresenta il numero di colonne di sottotrama e il terzo argomento rappresenta la posizione di una sottotrama nella griglia.

Qui, fig.add_subplot(1,1,1) aggiungerà una sottotrama in prima posizione alla griglia 1 X 1 nella figura. In alternativa, possiamo anche usare fig.add_subplot(1,1,1) per ottenere lo stesso risultato. Il metodo add_subplot() restituisce un oggetto assi, che può essere utilizzato per tracciare e aggiungere dettagli alla sottotrama aggiunta.

import matplotlib.pyplot as plt

fig = plt.figure(figsize=(8, 6))

ax_1 = fig.add_subplot(121)
ax_1.text(0.3, 0.5, "subplot(121)")

ax_2 = fig.add_subplot(222)
ax_2.text(0.3, 0.5, "subplot(222)")

ax_3 = fig.add_subplot(224)
ax_3.text(0.3, 0.5, "subplot(224)")

fig.suptitle("Figure with multiple Subplots")
plt.show()

Produzione:

Aggiungi più sottotrame a una figura matplotlib

Qui abbiamo una figura con tre sottotrame. La prima sottotrama è la prima figura nella griglia con una riga e due colonne. La seconda sottotrama rappresenta la seconda figura nella griglia con due righe e due colonne. Allo stesso modo, la terza riga rappresenta la sottotrama nella quarta posizione nella griglia con due righe e due colonne.

Crea figura con sottotrame utilizzando Matplotlib.pyplot.subplots()

Anche Matplotlib.pyplot.subplots() aggiunge sottotrame alla figura. Passiamo il numero di righe e colonne come argomento al metodo e il metodo restituisce un oggetto figura e un oggetto assi, che possono essere utilizzati per manipolare il grafico.

import matplotlib.pyplot as plt

fig, ax = plt.subplots(2, 1)

ax[0].text(0.3, 0.5, "1st Subplot")
ax[0].set_xticks([])
ax[0].set_yticks([])

ax[1].text(0.3, 0.5, "2nd Subplot")
ax[1].set_xticks([])
ax[1].set_yticks([])

fig.suptitle("Figure with 2 subplots", fontsize=16)
plt.show()

Produzione:

Aggiungi più sottotrame a una figura matplotlib utilizzando il metodo delle sottotrame

Genera una figura con due sottotrame in una griglia di due righe e una singola colonna utilizzando il metodo subplots(). La prima sottotrama o gli assi in alto possono essere manipolati con il primo elemento nell’lista ax, e la seconda sottotrama o gli assi in basso possono essere manipolati con il secondo elemento nell’lista ax.

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y1 = [i ** 2 for i in x]
y2 = [4 * i + 1 for i in x]

fig, ax = plt.subplots(2, 1)

ax[0].plot(x, y1)
ax[0].set_xlabel("X")
ax[0].set_ylabel("Y")

ax[1].plot(x, y2)
ax[1].set_xlabel("X")
ax[1].set_ylabel("Y")

plt.tight_layout()
plt.show()

Produzione:

Personalizza le sottotrame in una figura matplotlib utilizzando il metodo delle sottotrame

Genera una figura con due sottotrame, traccia la funzione x^2 nella sottotrama superiore e traccia la funzione 4x+1 nella sottotrama inferiore.

Autore: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Articolo correlato - Matplotlib Subplot