Wie kann ich programmatisch wählen Sie bestimmte Nebenhandlung in Matplotlib?
So, in einer figure
wo drei vertikale Nebenhandlungen Hinzugefügt wurden, mit add_subplot
wie kann ich wählen, lassen Sie ' s sagen, der in der Mitte?
Recht jetzt mache ich diese Liste Verständnis:
[r[0] for r in sorted([[ax, ax.get_geometry()[2]] for ax in self.figure.get_axes()], key=itemgetter(1))]
wo kann ich einfach wählen Sie den index, den ich will, mit der entsprechenden axes
. Ist es ein einfacher Weg, dies zu tun?
InformationsquelleAutor der Frage c00kiemonster | 2011-08-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aus der matplotlib-Dokumentation:
Hier ein Beispiel:
Dem mittleren plot ist erneut aufgerufen, so dass es kann mit Anmerkungen versehen werden.
Was ist, wenn ich den hintergrund mit meinem ursprünglichen Aufruf, muss ich es wieder wenn ich die Nebenhandlung zweiten mal?
Ja. Die Argumente und Stichworte für die ursprüngliche Anruf wird verwendet, um einen eindeutigen Bezeichner. Also für die Figur zu erzeugen, diese eindeutige id wieder zu bekommen, muss man die gleichen Argumente (grid-definition, position) und keywords wieder. Zum Beispiel:
Was, wenn ich
ax_again.change_geometry()
?Würden Sie denken, change_geometry, z.B. von a 312, a 422, würde sich ändern, wie Sie verwenden add_subplot, aber es funktioniert nicht. Es scheint sich um einen bug oder ein nicht definiertes Verhalten, wenn Sie anrufen change_geometry. Der eindeutige Schlüssel, war original, die mit Hilfe der Argumente und Begriffe, die ersten add_subplot nennen, wird nicht aktualisiert. Deshalb, wenn Sie wollen zu bekommen eine Achse hinten mit einem add_subplot nennen, die Sie anrufen add_subplot mit der ursprünglichen Argumente und Schlüsselwörter. Für weitere Informationen, Folgen Sie diesem Thema Bericht:
https://github.com/matplotlib/matplotlib/issues/429
Meine Vermutung jetzt ist, dass wenn Sie ändern die Eigenschaft der Nebenhandlung nach der Generierung mit add_subplot nennen, die eindeutig nicht angepasst werden. Nutzen Sie also einfach die ursprünglichen Argumente und Schlüsselwörter, und das wird hoffentlich klappen.
InformationsquelleAutor der Antwort Yann