Ich muss Unterschritte einer Figur durch Schleifen Iterationen zeichnen; Jede Iteration ruft eine Funktion auf, die in einem anderen Modul definiert ist (= eine andere Py-Datei), die ein Paar Unterplots zeichnet. Hier ist, was ich versuchte - und leider nicht funktioniert:befüllen Matplotlib Subplots durch eine Schleife und eine Funktion
1) Vor der Schleife, erstellen Sie eine Figur mit der ausreichenden Anzahl von Zeilen und 2 Spalten:
import matplotlib.pyplot as plt
fig, axarr = plt.subplots(nber_rows,2)
2) Innerhalb der Schleife bei Iterationszahl iter_nber, rufen die Funktion jedes subplot Zeichnung:
fig, axarr = module.graph_function(fig,axarr,iter_nber,some_parameters, some_data)
3) die Funktion in Frage ist im Grunde wie folgt; jeder Iteration erzeugt ein Paar Nebenhandlungen auf der gleichen Zeile:
def graph_function(fig,axarr,iter_nber,some_parameters, some_data):
axarr[iter_nber,1].plot(--some plotting 1--)
axarr[iter_nber,2].plot(--some plotting 2--)
return fig,axarr
Dies funktioniert nicht. Ich habe am Ende der Schleife eine leere Figur. Ich habe verschiedene Kombinationen der oben genannten ausprobiert, wie nur axarr im Argument der Funktion verlassen, ohne Erfolg. Offensichtlich verstehe ich die Logik dieser Figur und ihrer Subplots nicht.
Alle Vorschläge sehr geschätzt.
Könnten Sie ein funktionierendes Beispiel? – hitzg
danke hitzg. Ich hatte gehofft, dass der vereinfachte Code Ihnen helfen würde, zu sehen, was mein Problem ist. Der echte Code ist sehr, sehr lang und voller Details, die völlig unabhängig von der vorliegenden Frage sind. – Charles
Eine Sache, die seltsam aussieht, ist der Index '2' in' axarr [iter_nber, 2] '. das sollte einen Fehler werfen – hitzg