Mehrere Figuren in einem einzigen Fenster
Möchte ich eine Funktion erstellen, die Handlung auf dem Bildschirm eine Reihe von Figuren in einem einzigen Fenster. Bis jetzt habe ich folgenden code schreiben:
import pylab as pl
def plot_figures(figures):
"""Plot a dictionary of figures.
Parameters
----------
figures : <title, figure> dictionary
"""
for title in figures:
pl.figure()
pl.imshow(figures[title])
pl.gray()
pl.title(title)
pl.axis('off')
Funktioniert es perfekt, aber ich möchte die option haben, zum zeichnen aller Figuren, die sich in einzelne Fenster. Und dieser code nicht. Ich lese etwas über Nebenhandlung, aber es sieht Recht knifflig.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie eine Funktion definieren, die auf der Grundlage der Nebenhandlungen Befehl aus (beachten Sie die s am Ende anders aus als die
subplot
Befehl zeigte urinieto) vonmatplotlib.pyplot
.Unten ist ein Beispiel für eine solche Funktion, basierend auf den ihrigen, wodurch die plot-multiples-Achsen in einem Bild. Sie können die Anzahl der Zeilen und Spalten, die Sie möchten, in die Bild-layout.
Grundsätzlich die Funktion erstellt eine Anzahl von Achsen in den Figuren, entsprechend der Anzahl der Zeilen (
nrows
) und Spalten (ncols
), die Sie wollen, und dann iteriert über die Liste der Achse zu Plotten Ihre Bilder und fügt die Titel für jeden von Ihnen.Beachten Sie, dass wenn Sie nur ein Bild in Ihrem Wörterbuch, Ihre bisherige syntax
plot_figures(figures)
arbeiten seitnrows
undncols
eingestellt sind1
standardmäßig.Ein Beispiel, was Sie erhalten können:
zip(range(len(figures)), figures)
durchenumerate(figures)
Sollten Sie verwenden
subplot
.In Ihrem Fall, es wäre so etwas (wenn Sie wollen, dass Sie ein oben auf dem anderen):
Check-out die Dokumentation für andere Optionen.
Aufbauend auf die Antwort von: So zeigen Sie mehrere Bilder in einer Abbildung richtig?, hier ist eine weitere Methode:
Können Sie dies auch tun: