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 ?
Réponses
Trop de publicités?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.
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.
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é ;))