Ich habe ein einfaches Liniendiagramm und muss die Y-Achsen-Ticks von der (Standard-) linken Seite des Diagramms auf die rechte Seite verschieben. Irgendwelche Gedanken dazu?
Ich habe ein einfaches Liniendiagramm und muss die Y-Achsen-Ticks von der (Standard-) linken Seite des Diagramms auf die rechte Seite verschieben. Irgendwelche Gedanken dazu?
Antworten:
Verwenden ax.yaxis.tick_right()
beispielsweise:
from matplotlib import pyplot as plt
f = plt.figure()
ax = f.add_subplot(111)
ax.yaxis.tick_right()
plt.plot([2,3,4,5])
plt.show()
sharey=True
.
Joaquins Antwort funktioniert, hat aber den Nebeneffekt, dass Zecken von der linken Seite der Achsen entfernt werden. Um dies zu beheben, tick_right()
rufen Sie anschließend an set_ticks_position('both')
. Ein überarbeitetes Beispiel:
from matplotlib import pyplot as plt
f = plt.figure()
ax = f.add_subplot(111)
ax.yaxis.tick_right()
ax.yaxis.set_ticks_position('both')
plt.plot([2,3,4,5])
plt.show()
Das Ergebnis ist ein Diagramm mit Häkchen auf beiden Seiten, aber Häkchen auf der rechten Seite.
Nur wenn jemand fragt (wie ich), ist dies auch möglich, wenn man subplot2grid verwendet. Beispielsweise:
import matplotlib.pyplot as plt
plt.subplot2grid((3,2), (0,1), rowspan=3)
plt.plot([2,3,4,5])
plt.tick_params(axis='y', which='both', labelleft='off', labelright='on')
plt.show()
Es wird dies zeigen:
ax.tick_params(axis='y', which='both', labelleft='off', labelright='on')
. Aber es bewegt dieylabel
plt.gca()
das aktuelle Achsenobjekt abrufen. Daher würden Sie verwenden:plt.gca().yaxis.set_label_position("right")