Ich bin etwas verwirrt darüber, wie dieser Code funktioniert:
fig, axes = plt.subplots(nrows=2, ncols=2)
plt.show()
Wie funktionieren die Feigenachsen in diesem Fall? Was tut es?
Auch warum sollte dies nicht funktionieren, um dasselbe zu tun:
fig = plt.figure()
axes = fig.subplots(nrows=2, ncols=2)
python
matplotlib
subplot
Bugsyb
quelle
quelle
Antworten:
Es gibt verschiedene Möglichkeiten, dies zu tun. Die
subplots
Methode erstellt die Figur zusammen mit den Unterplots, die dann imax
Array gespeichert werden . Beispielsweise:So etwas funktioniert jedoch auch, es ist jedoch nicht so "sauber", da Sie eine Figur mit Nebenhandlungen erstellen und diese dann hinzufügen:
quelle
plot(x, y)
dass mein Plot von einer benutzerdefinierten Funktion stammt, die mit networkx ein Diagramm erstellt. Wie benutzt man es?axn = ax.flatten()
und dannfor axes in axn: axes.plot(x,y)
quelle
ax
ist, aber nicht was istfig
. Was sind Sie?matplotlib.figure.Figure
Klasse, durch die Sie die geplottete Figur stark manipulieren können. Sie können beispielsweise einem bestimmten Unterplot eine Farbleiste hinzufügen und die Hintergrundfarbe hinter allen Unterplots ändern. Sie können das Layout dieser Untergrundstücke ändern oder ihnen eine neue kleine Axt hinzufügen. Am besten möchten Sie einen einzigen Haupttitel für alle Nebenhandlungen, die über diefig.suptitle(title)
Methode erhalten werden können. Sobald Sie mit dem Plot zufrieden sind, können Sie ihn mithilfe derfig.savefig
Methode speichern . @ LeevoSie können auch die Achsen im Unterplotaufruf entpacken
Legen Sie fest, ob Sie die x- und y-Achse zwischen den Unterplots teilen möchten
So was:
quelle
Sie könnten daran interessiert sein, dass ab matplotlib Version 2.1 auch der zweite Code aus der Frage gut funktioniert.
Aus dem Änderungsprotokoll :
Beispiel:
quelle
Lesen Sie die Dokumentation: matplotlib.pyplot.subplots
pyplot.subplots()
Gibt ein Tupel zurück,fig, ax
das unter Verwendung der Notation in zwei Variablen entpackt wirdder Code
funktioniert nicht, da
subplots()
eine Funktionpyplot
kein Mitglied des Objekts istFigure
.quelle