Bilder mit Matplotlib's ImageGrid ausrichten

Beginner

This tutorial is from open-source community. Access the source code

Einführung

In diesem Tutorial lernen wir, wie wir ImageGrid aus mpl_toolkits.axes_grid1 in Matplotlib verwenden, um mehrere Bilder unterschiedlicher Größen auszurichten.

Tipps für die VM

Nachdem der VM-Start abgeschlossen ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu öffnen.

Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund der Einschränkungen in Jupyter Notebook nicht automatisiert werden.

Wenn Sie bei der Lernphase Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback ab, und wir werden das Problem für Sie prompt beheben.

Importieren der erforderlichen Bibliotheken

Zunächst müssen wir die erforderlichen Bibliotheken importieren, einschließlich Matplotlib, cbook und ImageGrid.

import matplotlib.pyplot as plt
from matplotlib import cbook
from mpl_toolkits.axes_grid1 import ImageGrid

Erstellen einer Figur und eines ImageGrid

Als nächstes erstellen wir eine Figur und ein ImageGrid mit dem Parameter nrows_ncols, um die Anzahl der Zeilen und Spalten des Gitters zu definieren.

fig = plt.figure(figsize=(5.5, 3.5))
grid = ImageGrid(fig, 111,  ## ähnlich wie subplot(111)
                 nrows_ncols=(1, 3),
                 axes_pad=0.1,
                 label_mode="L")

Laden der Bilddaten

Wir verwenden ein Beispiel für Bilddaten namens bivariate_normal.npy aus cbook, um das ImageGrid zu demonstrieren. Wir laden die Bilddaten mit der Funktion get_sample_data aus cbook.

Z = cbook.get_sample_data("axes_grid/bivariate_normal.npy")
im1 = Z
im2 = Z[:, :10]
im3 = Z[:, 10:]
vmin, vmax = Z.min(), Z.max()

Anzeigen von Bildern im ImageGrid

Schließlich zeigen wir die Bilder im ImageGrid mit der Funktion imshow und der Funktion zip, um durch die Achsen im Gitter zu iterieren.

for ax, im in zip(grid, [im1, im2, im3]):
    ax.imshow(im, origin="lower", vmin=vmin, vmax=vmax)

plt.show()

Zusammenfassung

In diesem Tutorial haben wir gelernt, wie man ImageGrid in Matplotlib verwendet, um mehrere Bilder unterschiedlicher Größen auszurichten. Zunächst importieren wir die erforderlichen Bibliotheken, erstellen dann eine Figur und ein ImageGrid, laden die Bilddaten und zeigen schließlich die Bilder im ImageGrid an.