Comment ajuster l’espacement entre les sous-parcelles Matplotlib
Vous pouvez souvent utiliser des sous-tracés pour afficher plusieurs tracés les uns à côté des autres dans Matplotlib. Malheureusement, ces sous-intrigues ont tendance à se chevaucher par défaut.
Le moyen le plus simple de résoudre ce problème consiste à utiliser la fonction Matplotlib Tight_layout() . Ce tutoriel explique comment utiliser cette fonction en pratique.
Créer des sous-parcelles
Considérons la disposition suivante de 4 sous-parcelles en 2 colonnes et 2 lignes :
import matplotlib.pyplot as plt #define subplots fig, ax = plt.subplots(2, 2) #display subplots plt.show()
Remarquez comment les sous-intrigues se chevauchent un peu.
Ajuster l’espacement des sous-parcelles à l’aide de Tight_layout()
Le moyen le plus simple de résoudre ce problème de chevauchement consiste à utiliser la fonction Matplotlib Tight_layout() :
import matplotlib.pyplot as plt #define subplots fig, ax = plt.subplots(2, 2) fig.tight_layout() #display subplots plt.show()
Ajuster l’espacement des titres de sous-intrigues
Dans certains cas, vous pouvez également avoir des titres pour chacune de vos sous-intrigues. Malheureusement, même la fonction Tight_layout() a tendance à provoquer un chevauchement des titres des sous-intrigues :
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()
La façon de résoudre ce problème consiste à augmenter le remplissage en hauteur entre les sous-parcelles à l’aide de l’argument 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()
Ajuster l’espacement du titre global
Si vous avez un titre global, vous pouvez utiliser la fonction subplots_adjust() pour vous assurer qu’il ne chevauche pas les titres des sous-intrigues :
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()
Vous pouvez trouver plus de didacticiels Matplotlib ici .