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 ou en dessous?
Voulez-vous dire quelque chose comme ça:
>>> from matplotlib import *
>>> plot(xrange(10))
>>> yticks(xrange(10), rotation='vertical')
?
En général, pour afficher tout texte dans matplotlib avec une orientation verticale, vous pouvez ajouter le mot clé rotation='vertical'
.
Pour d'autres options, vous pouvez consulter l'aide (matplotlib.pyplot.text)
La fonction yticks trace les graduations sur l'axe y; Je ne sais pas si vous vouliez dire à l'origine cela ou la fonction ylabel, mais la procédure est toujours la même, vous devez ajouter rotation = 'vertical'
Peut-être pouvez-vous également trouver utiles les options "alignement vertical" et "alignement horizontal", qui vous permettent de définir comment aligner le texte par rapport aux graduations ou aux autres éléments.
Dans Jupyter Notebook, vous pourriez utiliser quelque chose comme ça
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
plt.xticks(rotation='vertical')
plt.plot(np.random.randn(100).cumsum())
ou vous pouvez utiliser:
plt.xticks(rotation=90)
Je suggère de regarder la galerie matplotlib . Au moins deux des exemples semblent pertinents:
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)
Espérons que cela aide.