Question

J'utilise matplotlib pour générer un diagramme à barres (vertical). Le problème est que mes étiquettes sont plutôt longues. Est-il possible de les afficher verticalement, dans la barre, au-dessus ou au-dessous?

Était-ce utile?

La solution

Voulez-vous dire quelque chose comme ceci:

>>> from matplotlib import *
>>> plot(xrange(10))
>>> yticks(xrange(10), rotation='vertical')

?

En général, pour afficher un texte dans matplotlib avec une orientation verticale, vous pouvez ajouter le mot clé rotation = 'vertical' .

Pour plus d'options, vous pouvez consulter l'aide (matplotlib.pyplot.text)

La fonction yticks trace les graduations sur l’axe des y; Je ne suis pas sûr si vous vouliez au départ dire ceci ou la fonction ylabel, mais la procédure est toujours la même, vous devez ajouter rotation = 'vertical'

Peut-être pouvez-vous également trouver utile les options "alignement vertical" et "alignement horizontal", qui vous permettent de définir l'alignement du texte par rapport aux graduations ou aux autres éléments.

Autres conseils

Dans Jupyter Notebook, vous pouvez utiliser quelque chose comme ceci

%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érerais de consulter la la galerie matplotlib . Au moins deux des exemples semblent pertinents:

  • text_rotation.py pour comprendre le fonctionnement de la mise en forme du texte
  • barchart_demo2.py , un exemple de graphique à barres plus compliqué mise en page que l'exemple le plus élémentaire.

Veuillez vérifier 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)

Le résultat sera comme ça entrer la description de l'image ici

Espérons que cela aide.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top