107 votes

Augmenter la distance entre le titre et le graphique dans matplotlib?

J'ai un graphique simple dans matplotlib et je voudrais augmenter la distance entre le titre et le graphique (sans utiliser suptitle car cela ne fonctionne pas sur la version que j'utilise sur un serveur). Comment faire ?

160voto

Thucydides411 Points 248

Avec matplotlib 2.2+, vous pouvez utiliser l'argument de mot-clé pad :

ax.set_title('Titre', pad=20)

Ajustez pad jusqu'à ce que vous soyez satisfait de la position du titre de l'axe. L'avantage de cette méthode par rapport à l'utilisation de rcParams est qu'elle ne modifie que ce titre d'axe spécifique.

58voto

tcaswell Points 21489

Il ne semble pas y avoir de moyen propre de le définir directement (mais il pourrait être intéressant de demander une fonctionnalité pour ajouter cela), cependant le titre est simplement un artiste de texte, donc vous pouvez y accéder et le modifier.

#ax = plt.gca()
ttl = ax.title
ttl.set_position([.5, 1.05])
#plt.draw()

devrait faire l'affaire. Ajustez le 1.05 à votre goût.

47voto

CanCeylan Points 752

Vous pouvez simplement passer le paramètre y dans la méthode plt.suptitle :

plt.suptitle('Statistiques incroyables', size=16, y=1.12);

27voto

bmorgan Points 445

En utilisant rcParams :

from matplotlib import rcParams
rcParams['axes.titlepad'] = 20 

20 est la marge entre le graphique et le titre.

De https://matplotlib.org/users/customizing.html

13voto

loved.by.Jesus Points 1345

Une autre possibilité est de réduire la taille relative du tracé par rapport à l'ensemble de la fenêtre de la figure. De cette façon, la distance entre le titre et le tracé augmente.

Avant d'afficher le tracé, c'est-à-dire avant plt.show(), écrivez la commande suivante :

#La valeur standard de 'top' est 0.9,
#ajustez une valeur plus basse, par exemple 0.8
plt.subplots_adjust(top=0.8) 

Cette méthode a l'avantage par rapport à la méthode de @CanCeylan que le titre ne dépasse jamais de la fenêtre de la figure ; car si le titre est suffisamment grand, alors le déplacer vers le haut à travers le paramètre y dans suptitle pourrait faire sortir le titre de la figure. (comme cela m'est arrivé ;))

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X