J'utilise matplotlib pour générer un graphique à barres (vertical). Le problème est que mes étiquettes sont assez longues. Existe-t-il un moyen de les afficher verticalement, soit dans la barre, soit au-dessus, soit en dessous ?
Réponses
Trop de publicités?Voulez-vous dire quelque chose comme ça ?
>>> from matplotlib import *
>>> plot(xrange(10))
>>> yticks(xrange(10), rotation='vertical')
?
En général, pour afficher n'importe quel texte dans matplotlib avec une orientation verticale, vous pouvez ajouter le mot-clé rotation='vertical'
.
Pour plus d'options, vous pouvez consulter help(matplotlib.pyplot.text)
La fonction yticks trace les ticks sur l'axe des y ; je ne sais pas si vous vouliez parler de cette fonction ou de la fonction ylabel, mais la procédure est toujours la même, vous devez ajouter rotation='vertical'.
Les options "alignement vertical" et "alignement horizontal", qui vous permettent de définir comment aligner le texte par rapport aux tiques ou à d'autres éléments, peuvent également vous être utiles.
Veuillez consulter ce lien : https://python-graph-gallery.com/7-custom-barplot-layout/
import matplotlib.pyplot as plt
heights = [10, 20, 15]
bars = ['A_long', 'B_long', 'C_long']
y_pos = range(len(bars))
plt.bar(y_pos, heights)
# Rotation of the bars names
plt.xticks(y_pos, bars, rotation=90)
J'espère que cela vous aidera.
Je suggère d'examiner la galerie matplotlib . Au moins deux des exemples semblent pertinents :
- text_rotation.py pour comprendre le fonctionnement de la mise en page d'un texte
- barchart_demo2.py L'exemple suivant est un exemple de diagramme à barres dont la présentation est un peu plus compliquée que celle de l'exemple le plus simple.