Frage

Ich bin mit matplotlib ein (vertikal) barchart zu erzeugen. Das Problem ist meine Etiketten sind ziemlich lang. Gibt es eine Möglichkeit, sie vertikal angezeigt werden, entweder in der Bar oder darüber oder darunter?

War es hilfreich?

Lösung

Wollen Sie so etwas wie folgt aus:

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

Im Allgemeinen zeigen einen beliebigen Text in matplotlib mit einer vertikalen Ausrichtung, das Schlüsselwort rotation='vertical' hinzufügen können.

Für weitere Optionen, Sie Hilfe suchen können (matplotlib.pyplot.text)

Die yticks Funktion zeichnet die Zecken auf der y-Achse; Ich bin nicht sicher, ob Sie ursprünglich das oder die ylabel Funktion gemeint, aber das Verfahren ist alwasy die gleiche, müssen Sie Rotation hinzufügen = ‚vertikale‘

Vielleicht können Sie auch nützlich, die Optionen ‚Vertical‘ und ‚Horizontal‘ finden, die Sie definieren können, wie der Text in Bezug auf die Zecken oder die anderen Elemente auszurichten.

Andere Tipps

In Jupyter Notebook können Sie so etwas wie dieses verwenden

%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np

plt.xticks(rotation='vertical')
plt.plot(np.random.randn(100).cumsum())

oder Sie verwenden können:

plt.xticks(rotation=90)

Ich würde vorschlagen, unter der matplotlib Galerie suchen. Mindestens zwei der Beispiele scheinen relevant zu sein:

  • text_rotation.py für das Verständnis, wie Text-Layout funktioniert
  • barchart_demo2.py , ein Beispiel für ein Balkendiagramm mit etwas komplizierter Layout als das grundlegendste Beispiel.

Bitte lesen Sie in diesem Link: 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)

Das Ergebnis wird so sein eingeben Bild Beschreibung hier

Wir hoffen, es hilft.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top