it-swarm.com.de

matplotlib y-Achsenbeschriftung auf der rechten Seite

Gibt es eine einfache Möglichkeit, die Beschriftung der y-Achse auf der rechten Seite des Diagramms zu platzieren? Ich weiß, dass dies mit ax.yaxis.tick_right() für die Teilstrichbeschriftungen möglich ist, aber ich möchte wissen, ob dies auch für die Achsenbeschriftung möglich ist.

Eine Idee, die mir einfiel, war zu verwenden

ax.yaxis.tick_right()
ax2 = ax.twinx()
ax2.set_ylabel('foo')

Dies hat jedoch nicht den gewünschten Effekt, dass alle Beschriftungen (Teilstrich- und Achsenbeschriftungen) auf der rechten Seite platziert werden, während die Ausdehnung der y-Achse beibehalten wird. Kurz gesagt, ich möchte eine Möglichkeit, alle Beschriftungen der y-Achse von links nach rechts zu verschieben.

59
Thucydides411

Es sieht so aus, als ob Sie es schaffen könnten mit:

ax.yaxis.set_label_position("right")
ax.yaxis.tick_right()

Siehe hier für ein Beispiel.

90
Gerrat

Wenn Sie dem Beispiel in matplotlib folgen und eine Abbildung mit Beschriftungen auf beiden Seiten der Achsen erstellen möchten, ohne die Funktion subplots() verwenden zu müssen, ist dies meine Lösung:

from matplotlib import pyplot as plt
import numpy as np

ax1 = plt.plot()
t = np.arange(0.01, 10.0, 0.01)
s1 = np.exp(t)
plt.plot(t,s1,'b-')
plt.xlabel('t (s)')
plt.ylabel('exp',color='b')

ax2 = ax1.twinx()
s2 = np.sin(2*np.pi*t)
ax2.plot(t, s2, 'r.')
plt.ylabel('sin', color='r')
plt.show()

9