Come regolare la spaziatura tra le sottotrame matplotlib


Spesso puoi utilizzare le sottotrame per visualizzare più grafici uno accanto all’altro in Matplotlib. Sfortunatamente, queste sottotrame tendono a sovrapporsi per impostazione predefinita.

Il modo più semplice per risolvere questo problema è utilizzare la funzione Matplotlib Tight_layout() . Questo tutorial spiega come utilizzare questa funzione nella pratica.

Crea sottotrame

Considera la seguente disposizione di 4 sottotrame in 2 colonne e 2 righe:

 import matplotlib.pyplot as plt

#define subplots
fig, ax = plt. subplots (2, 2)

#display subplots
plt. show ()

Nota come le sottotrame si sovrappongono un po’.

Regola la spaziatura della sottotrama usando Tight_layout()

Il modo più semplice per risolvere questo problema di sovrapposizione è utilizzare la funzione Matplotlib Tight_layout() :

 import matplotlib.pyplot as plt

#define subplots
fig, ax = plt. subplots (2, 2)
fig. tight_layout ()

#display subplots
plt. show ()

Regola la spaziatura della sottotrama Matplotlib

Regola la spaziatura dei titoli della sottotrama

In alcuni casi, puoi anche avere titoli per ciascuna delle tue sottotrame. Sfortunatamente, anche la funzione Tight_layout() tende a causare la sovrapposizione dei titoli delle sottotrame:

 import matplotlib.pyplot as plt

#define subplots
fig, ax = plt. subplots (2, 2)
fig. tight_layout ()

#define subplot titles
ax[0, 0]. set_title ('First Subplot')
ax[0, 1]. set_title ('Second Subplot')
ax[1, 0]. set_title ('Third Subplot')
ax[1, 1]. set_title ('Fourth Subplot')

#display subplots
plt. show () 

Sottotrame con titoli in Matplotlib

Il modo per risolvere questo problema è aumentare l’imbottitura in altezza tra le sottotrame utilizzando l’argomento h_pad :

 import matplotlib.pyplot as plt

#define subplots
fig, ax = plt. subplots (2, 2)
fig. tight_layout (h_pad= 2 )

#define subplot titles
ax[0, 0]. set_title ('First Subplot')
ax[0, 1]. set_title ('Second Subplot')
ax[1, 0]. set_title ('Third Subplot')
ax[1, 1]. set_title ('Fourth Subplot')

#display subplots
plt. show () 

Spaziatura delle intestazioni della sottotrama Matplotlib

Regola la spaziatura complessiva del titolo

Se hai un titolo generale, puoi utilizzare la funzione subplots_adjust() per assicurarti che non si sovrapponga ai titoli della sottotrama:

 import matplotlib.pyplot as plt

#define subplots
fig, ax = plt. subplots (2, 2)
fig. tight_layout (h_pad= 2 )

#define subplot titles
ax[0, 0]. set_title ('First Subplot')
ax[0, 1]. set_title ('Second Subplot')
ax[1, 0]. set_title ('Third Subplot')
ax[1, 1]. set_title ('Fourth Subplot')

#add overall title and adjust it so that it doesn't overlap with subplot titles
fig.suptitle(' Overall Title ')
plt.subplots_adjust(top= 0.85 )

#display subplots
plt. show () 

Spaziatura delle intestazioni in Matplotlib

Puoi trovare altri tutorial su Matplotlib qui .

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *