2012-11-13 9 views
31

Gibt es eine einfache Möglichkeit, die y-Achsen-Label auf der rechten Seite des Diagramms zu setzen? Ich weiß, dass dies für die Tick-Etiketten mit ax.yaxis.tick_right() getan werden kann, aber ich würde gerne wissen, ob es auch für die Achsenbeschriftung getan werden kann.matplotlib Y-Achsen-Label auf der rechten Seite

Eine Idee, die in den Sinn kam, war jedoch

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

zu verwenden, dies nicht die gewünschte Wirkung aller Etiketten platzieren (Zutreffendes und Achsenbeschriftungen) auf der rechten Seite, während die Erhaltung Ausmaß der y-Achse. Kurz gesagt, möchte ich einen Weg, um alle y-Achsen-Etiketten von links nach rechts zu bewegen.

Antwort

55

Es sieht aus wie Sie es mit tun können:

ax.yaxis.set_label_position("right") 

Siehe here für ein Beispiel.

+0

Das macht den Trick. – Thucydides411

5

Wenn Sie möchten, dass das Beispiel in matplotlib befolgen und eine Figur mit Etikett auf beiden Seiten der Achsen erstellen, aber ohne die subplots() Funktion zu verwenden, hier ist 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() 

+1

Das ist nicht für mich funktioniert: 'File "prueba.py", Zeile 11, in ' ' ax2 = ax1.twinx()' ' Attribute: 'Liste' Objekt hat kein Attribut‚twinx'' –

+1

probiere plt.gca(). twinx() –

Verwandte Themen