X-Achse drehen Beschriftungstext in der Matplotlib ankreuzen

  1. plt.xticks(rotation= ) zum Drehen von Xticks Beschriftungstext
  2. fig.autofmt_xdate(rotation= ) zum Drehen von Xticks Beschriftungstext
  3. ax.set_xticklabels(xlabels, rotation= ) zum Drehen von Xticks Etikettentext
  4. plt.setp(ax.get_xticklabels(), rotation=) zum Drehen von Xticks Etikettentext
  5. ax.tick_params(axis='x', labelrotation= ) zum Drehen von Xticks Etikettentext
  6. Rotierte xticklabels ausrichten

In diesem Tutorial-Artikel werden wir verschiedene Methoden vorstellen, um X-Achsen-Tick-Labeltext in Python-Label zu drehen. Es beinhaltet,

  • plt.xticks(rotation= )
  • fig.autofmt_xdate(rotation= )
  • ax.set_xticklabels(xlabels, rotation= )
  • plt.setp(ax.get_xticklabels(), rotation=)
  • ax.tick_params(axis='x', labelrotation= )

Die Standardausrichtung des Textes von Tickbeschriftungen in der x-Achse ist horizontal oder 0 Grad. Es bringt Unannehmlichkeiten, wenn der Text der Ticketetiketten zu lang ist, wie z.B. Überlappungen zwischen benachbarten Etikettentexten.

Matplotlib rotieren x-Achse tick label_no rotation

Die Codes zur Erstellung der obigen Abbildung ist,

from matplotlib import pyplot as plt
from datetime import datetime, timedelta

values = range(10)
dates = [datetime.now()-timedelta(days=_) for _ in range(10)]

fig,ax = plt.subplots()
plt.plot(dates, values)
plt.grid(True)

plt.show()

plt.xticks(rotation= ) zum Drehen von Xticks Beschriftungstext

from matplotlib import pyplot as plt
from datetime import datetime, timedelta

values = range(10)
dates = [datetime.now()-timedelta(days=_) for _ in range(10)]

fig,ax = plt.subplots()
plt.plot(dates, values)
plt.xticks(rotation=45)
plt.grid(True)

plt.show()
plt.xticks(rotation=45)

plt.xticks holt oder setzt die Eigenschaften von Tickpositionen und Beschriftungen der x-Achse.

rotation ist der Drehwinkel der Beschriftung der x-Achse gegen den Uhrzeigersinn.

Matplotlib rotieren x-Achse tick label_xticks Rotation

fig.autofmt_xdate(rotation= ) zum Drehen von Xticks Beschriftungstext

from matplotlib import pyplot as plt
from datetime import datetime, timedelta

values = range(10)
dates = [datetime.now()-timedelta(days=_) for _ in range(10)]

fig,ax = plt.subplots()
plt.plot(dates, values)
fig.autofmt_xdate(rotation=45)
plt.grid(True)

plt.show()

autofmt_xdate dreht die Tickbeschriftungen und richtet sie automatisch rechtsbündig aus, wenn die Beschriftung ein date Objekt ist.

Aber es funktioniert eigentlich nicht nur mit dem date Objekt, sondern auch mit dem normalen Labeltext.

from matplotlib import pyplot as plt
from datetime import datetime, timedelta

values = range(10)
dates = [datetime.now()-timedelta(days=_) for _ in range(10)]
xlabels = ["Zero", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"]

fig,ax = plt.subplots()
plt.plot(dates, values)
ax.set_xticklabels(xlabels)
fig.autofmt_xdate(rotation=45)
plt.grid(True)

plt.show()

Matplotlib x-Achse rotieren tick label_autofmt_xdate

ax.set_xticklabels(xlabels, rotation= ) zum Drehen von Xticks Etikettentext

set_xticklabels setzt die x-tick labels mit einer Liste von String labels.

Diese Liste von Zeichenketten-Labels könnte eine neu spezifizierte Liste sein oder die bestehende Label-Liste des aktuellen Plots, die von get_xticklabels() gelesen wird.

from matplotlib import pyplot as plt
from datetime import datetime, timedelta

values = range(10)
dates = [datetime.now()-timedelta(days=_) for _ in range(10)]
xlabels = [datetime.strftime(datetime.now()-timedelta(days=_), "%m/%d/%Y") for _ in range(10)]

fig,ax = plt.subplots()
plt.plot(dates, values)
ax.set_xticklabels(xlabels, rotation=45, ha='right')
plt.grid(True)

plt.show()

Matplotlib rotieren x-Achse tick label_set_xticklabels

plt.setp(ax.get_xticklabels(), rotation=) zum Drehen von Xticks Etikettentext

matplotlib.pyplot.setp setzt eine Eigenschaft auf ein Künstlerobjekt.

plt.setp(ax.get_xticklabels(), rotation=) setzt die rotation Eigenschaft des xtick labels Objektes.

from matplotlib import pyplot as plt
from datetime import datetime, timedelta

values = range(10)
dates = [datetime.now()-timedelta(days=_) for _ in range(10)]
xlabels = [datetime.strftime(datetime.now()-timedelta(days=_), "%m/%d/%Y") for _ in range(10)]

fig,ax = plt.subplots()
plt.plot(dates, values)
plt.setp(ax.get_xticklabels(), rotation=45, ha='right')
plt.grid(True)

plt.tight_layout()

plt.show()

ax.tick_params(axis='x', labelrotation= ) zum Drehen von Xticks Etikettentext

tick_params setzt die Parameter von Ticks, Tickbeschriftungen und Gitterlinien.

ax.tick_params(axis='x', labelrotation= ) setzt die Eigenschaft labelrotation der Tickbeschriftung in der x Achse, oder anders gesagt, der X-Achse.

from matplotlib import pyplot as plt
from datetime import datetime, timedelta

values = range(10)
dates = [datetime.now()-timedelta(days=_) for _ in range(10)]
xlabels = [datetime.strftime(datetime.now()-timedelta(days=_), "%m/%d/%Y") for _ in range(10)]

fig,ax = plt.subplots()
plt.plot(dates, values)

ax.tick_params(axis='x', labelrotation=45)
plt.grid(True)

plt.show()

Rotierte xticklabels ausrichten

verwenden wir das Argument ha='right' in den obigen Beispielcodes, was bedeutet, dass horizontale ausrichtung right ist.

ha='right' richtet das rechte Ende des Labeltextes an den Ticks aus.

ha='left' richtet das linke Ende des Labeltextes an den Ticks aus.

ha='center' richtet die Mitte des Labeltextes an den Ticks aus.

from matplotlib import pyplot as plt
from datetime import datetime, timedelta

xvalues = range(5)
yvalues = xvalues
xlabels = [datetime.strftime(datetime.now()-timedelta(days=_), "%m/%d/%Y") for _ in xvalues]

alignment = ["right", "left", "center"]
fig,axes = plt.subplots(1, 3)


for n, ax in enumerate(axes):
    ax.plot(xvalues, yvalues)
    ax.set_title(alignment[n] + "alignment")
    ax.set_xticks(xvalues)
    ax.set_xticklabels(xlabels, rotation=45, ha=alignment[n])
    ax.grid(True)

plt.show()

Matplotlib rotieren x-Achse Tick label_ha Ausrichtung

Verwandter Artikel - Matplotlib Axis

  • Ausblenden von Achsentext-Ticks und/oder Tick-Etiketten in Matplotlib
  • Wie man die Schriftgröße von Tick Labels in Matplotlib einstellt
  • Verwandter Artikel - Matplotlib Xticks