Bildgitterausrichtung in Matplotlib

PythonPythonBeginner
Jetzt üben

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

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Tutorial lernen wir, wie wir die ImageGrid-Funktion aus dem mpl_toolkits.axes_grid1-Modul in Matplotlib verwenden. Wir werden ein 2x2-Gitter von Bildern erstellen und sie mit der ImageGrid-Funktion ausrichten.

Tipps für virtuelle Maschinen

Nachdem der virtuelle Computer gestartet ist, klicken Sie in der linken oberen 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, und wir werden das Problem für Sie prompt beheben.

Importieren von erforderlichen Bibliotheken und Erstellen von Bildarrays

Wir beginnen, indem wir die erforderlichen Bibliotheken importieren und mit den Funktionen arange und reshape aus der NumPy-Bibliothek vier 10x10-Bildarrays erstellen.

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.axes_grid1 import ImageGrid

im1 = np.arange(100).reshape((10, 10))
im2 = im1.T
im3 = np.flipud(im1)
im4 = np.fliplr(im2)

Erstellen einer Figur und eines ImageGrid-Objekts

Als nächstes erstellen wir ein figure-Objekt mit der plt.figure-Funktion und übergeben das figsize-Argument, um die Größe der Figur festzulegen. Anschließend erstellen wir ein ImageGrid-Objekt mit der ImageGrid-Funktion und übergeben das figure, 111 als Subplot-Argument, (2, 2) als nrows_ncols-Argument, um ein 2x2-Gitter von Achsen zu erstellen, und 0.1 als axes_pad-Argument, um den Abstand zwischen den Achsen festzulegen.

fig = plt.figure(figsize=(4., 4.))
grid = ImageGrid(fig, 111, nrows_ncols=(2, 2), axes_pad=0.1)

Iterieren über das Gitter und Zeichnen der Bilder

Anschließend iterieren wir über das grid-Objekt mit der zip-Funktion, um sowohl über die Achsen als auch über die Bildarrays zu iterieren. Wir zeichnen jedes Bild auf seiner entsprechenden Achse mit der imshow-Funktion.

for ax, im in zip(grid, [im1, im2, im3, im4]):
    ax.imshow(im)

Zeige das Diagramm an

Schließlich zeigen wir das Diagramm mit der plt.show-Funktion an.

plt.show()

Zusammenfassung

In diesem Tutorial haben wir gelernt, wie man die ImageGrid-Funktion aus dem mpl_toolkits.axes_grid1-Modul in Matplotlib verwendet, um mehrere Bilder in einem Gitter auszurichten. Wir haben ein 2x2-Gitter von Bildern erstellt und sie mit der imshow-Funktion geplottet.