Wie verschiebe ich das Label eines Ticks in Matplotlib?

Ich würde gerne verschieben Sie einige Zecken " Etiketten horizontal entlang der x-Achse, ohne die entsprechenden Zecken.

Genauer gesagt, beim drehen Etiketten mit plt.setpden Zentren des labels' text ausgerichtet bleiben mit den Zecken. Ich möchte zu verschieben, diese Etiketten auf der rechten Seite, so dass die in der Nähe enden der Etiketten erhalten ausgerichtet statt wie vorgeschlagen auf dem Bild unten.

Wie verschiebe ich das Label eines Ticks in Matplotlib?

Ich bin mir bewusst, dieser Beitrag und diese eineaber die Antworten sind
interessant kludges eher als strenge Antworten auf die Frage.

mein code:

import matplotlib.pyplot as plt
import numpy as np
import datetime

# my fake data
dates = np.array([datetime.datetime(2000,1,1) + datetime.timedelta(days=i) for i in range(365*5)])
data = np.sin(np.arange(365*5)/365.0*2*np.pi - 0.25*np.pi) + np.random.rand(365*5) /3

# creates fig with 2 subplots
fig = plt.figure(figsize=(10.0, 6.0))
ax = plt.subplot2grid((2,1), (0, 0))
ax2 = plt.subplot2grid((2,1), (1, 0))
## plot dates
ax2.plot_date( dates, data )

# rotates labels 
plt.setp( ax2.xaxis.get_majorticklabels(), rotation=-45 ) 

# try to shift labels to the right
ax2.xaxis.get_majorticklabels()[2].set_y(-.1)
ax2.xaxis.get_majorticklabels()[2].set_x(10**99)

plt.show()

Komischerweise set_y verhält sich wie erwartet, aber auch wenn ich x zu einem fantasillion, die labels würden sich nicht bewegen, durch einen Funken.
(Die Verwendung von plot_date einführen können zusätzliche Verwirrung, aber das gleiche passiert eigentlich mit plot.)

InformationsquelleAutor der Frage snake_charmer | 2015-02-19

Schreibe einen Kommentar