Matplotlib Legenden in der Nebenhandlung
Ich würde gerne Legenden, die in jedem von Nebenhandlungen unten.
Ich habe versucht mit plt.Legende, aber es hat nicht funktioniert.
Irgendwelche Vorschläge?
Vielen Dank im Voraus 🙂
f, (ax1, ax2, ax3) = plt.subplots(3, sharex=True, sharey=True)
ax1.plot(xtr, color='r', label='Blue stars')
ax2.plot(ytr, color='g')
ax3.plot(ztr, color='b')
ax1.set_title('2012/09/15')
plt.legend([ax1, ax2, ax3],["HHZ 1", "HHN", "HHE"])
plt.show()
Mit dem Vorschlag von atomh33ls:
ax1.legend("HHZ 1",loc="upper right")
ax2.legend("HHN",loc="upper right")
ax3.legend("HHE",loc="upper right")
Die Legende position fixiert ist, jedoch scheint es ein problem mit den Saiten, weil jeder Buchstabe in einer neuen Zeile.
Wer weiß, wie um es zu beheben?
- Für die Streicher Ausgabe: versuchen Sie es mit dem label-Schlüsselwort in der
plot()
Befehl statt. - Wenn Zeichenfolgen, die sich die einzelnen Buchstaben, es ist, weil Python behandelt strings als Folgen von Buchstaben. Wenn Sie brauchen, um zu sagen, dass Python ein string ist eine Zeichenfolge, die sollte nicht gebrochen werden, Sie können es in ein element der Liste
["HHZ"]
oder Tupel("HHZ",)
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollte dies funktionieren:
Was Sie wollen, kann nicht getan werden, weil
plt.legend()
Orte eine Legende in der aktuellen Achsen, in deinem Fall die Letzte.Wenn auf der anderen Seite, können Sie zufrieden sein mit der Platzierung, eine umfassende Legende, die in den letzten Nebenhandlung, die Sie tun können, wie diese
Beachten Sie, dass Sie an
legend
nicht die Achsen, wie in deinem Beispiel-code, aber die Zeilen zurückgegeben, die von derplot
Aufruf.PS
Natürlich können Sie aufrufen
legend
nach jeder Nebenhandlung, aber in meinem Verständnis, die Sie bereits wusste, und waren auf der Suche nach einer Methode, es zu tun auf einmal.sharex = True
undsharey = True
?