Vérifiez l'axe x de la figure ci-dessous. Comment puis-je déplacer les étiquettes un peu vers la gauche pour qu'elles s'alignent avec leurs graduations respectives?
Je fais pivoter les étiquettes en utilisant:
ax.set_xticks(xlabels_positions)
ax.set_xticklabels(xlabels, rotation=45)
Mais, comme vous pouvez le voir, la rotation est centrée sur le milieu des étiquettes de texte. Ce qui donne l'impression qu'ils sont décalés vers la droite.
J'ai essayé d'utiliser ceci à la place:
ax.set_xticklabels(xlabels, rotation=45, rotation_mode="anchor")
... mais ça ne fait pas ce que je souhaitais. Et "anchor"
semble être la seule valeur autorisée pour le rotation_mode
paramètre.
la source
xlabels = ax.get_xticklabels()
si vous souhaitez simplement utiliser les étiquettes existantes.La rotation des étiquettes est certainement possible. Notez cependant que cela réduit la lisibilité du texte. Une alternative consiste à alterner les positions des étiquettes en utilisant un code comme celui-ci:
Pour plus d'informations et d'alternatives, consultez cet article sur mon blog
la source
Une alternative simple et sans boucle consiste à utiliser la
horizontalalignment
propriété Text comme argument de mot-clé pourxticks
[1]. Dans ce qui suit, à la ligne commentée, j'ai forcé l'xticks
alignement à être "droit".(
yticks
aligne déjà le bord droit avec la coche par défaut, mais pourxticks
la valeur par défaut semble être "centre".)[1] Vous trouvez cela décrit dans la documentation de xticks si vous recherchez l'expression "Propriétés du texte".
la source
Si vous ne souhaitez pas modifier les étiquettes xtick, vous pouvez simplement utiliser:
plt.xticks(rotation=45)
la source
plt.xticks(rotation=45,ha='right')