Visualisierung von 2D-Gittern und Arrays mit matplotlib in Python

Ein 2D-Gitterarray-Plot kann ein wertvolles Visualisierungswerkzeug sein, z. im Bereich der agentenbasierten Simulation. In diesem Beitrag möchte ich ein kurzes Tutorial geben, wie Sie ein 2D-Gitterarray mit matplotlib in Python visualisieren können. Das Codierungsbeispiel ist unten; relevante Dokumentation wurde in Form von Kommentaren hinzugefügt.

# Zunächst benötigen wir matplotlib.pyplot
from matplotlib import pyplot
# Als nächstes werde ich eine 8 x 8 2d Matrix mit zufälligen Bits als Elementen (0 oder 1) erstellen. 
# für die Randomisierung von ganzen Zahlen (0 oder 1) Ich verwende das Zufallsmodul in Python; 
# Zum Erstellen jeder Zeile in der 2d-Matrix verwende ich das Listenverständnis in Python
import random
data = [[random.randint(a=0,b=1) for x in range(0,8)], # row 1
        [random.randint(a=0,b=1) for x in range(0,8)], # row 2
        [random.randint(a=0,b=1) for x in range(0,8)], # row 3
        [random.randint(a=0,b=1) for x in range(0,8)], # row 4
        [random.randint(a=0,b=1) for x in range(0,8)], # row 5
        [random.randint(a=0,b=1) for x in range(0,8)], # row 6
        [random.randint(a=0,b=1) for x in range(0,8)], # row 7
        [random.randint(a=0,b=1) for x in range(0,8)]] # row 8
# display the 2d data matrix
data
[[1, 1, 0, 0, 1, 1, 1, 0],
 [1, 1, 1, 0, 1, 0, 1, 1],
 [0, 1, 0, 1, 0, 0, 0, 0],
 [1, 1, 0, 0, 1, 1, 0, 1],
 [0, 1, 0, 1, 0, 0, 0, 0],
 [0, 1, 1, 1, 1, 1, 0, 0],
 [0, 0, 1, 0, 0, 0, 1, 1],
 [0, 0, 0, 1, 1, 0, 0, 1]]
# Wir werden die Bits dieser Datenmatrix mit matplot.pyplot visualisieren.
# Die .imshow-Funktion von Python kann den Job erledigen
pyplot.figure(figsize=(5,5))
pyplot.imshow(data)
pyplot.show()
# .imshow verfügt über eine Reihe von Parametern, mit denen ich die 2D-Rastervisualisierung anpassen kann
# Die Einstellung "Alpha" führt zu einer definierten Transparenz
pyplot.imshow(data,
             alpha=0.75)
pyplot.show()
# "cmap" ermöglicht das Definieren einer definierten Farbkarte;
# Dazu müssen wir Farben aus matplotlib importieren
from matplotlib import colors
# Mit der ListedColormap-Methode aus dem Farbpaket können wir eine Farbkarte definieren
colormap = colors.ListedColormap(["red","green"])
# Übergabe dieses Problems an
pyplot.imshow(data,
             cmap=colormap)
pyplot.show()
# Wie in meiner Dokumentation zu Matplotlib in Python gezeigt, können wir auch z. Achsen-Ticks anpassen oder Beschriftungen hinzufügen;
# Anpassen der Figurengröße
pyplot.figure(figsize=(10,10))
# Hinzufügen von Beschriftungen zur x- und y-Achse
pyplot.xlabel("x axis with ticks",
             size = 14)
pyplot.ylabel("y axis with ticks",
             size= 14)
# titel hinzufügen
pyplot.title("this is the title of the plot",
             size=28)
# Ticks entlang x- und y-Achse anpassen
pyplot.xticks(size=14,
             color = "red")
pyplot.yticks(size=14, 
              color = "red")
# Farbenkarte definieren
colormap = colors.ListedColormap(["darkblue","lightblue"])
# Farbenkarte bei Aufruf der imshow-Methode anwenden
pyplot.imshow(data,
             cmap=colormap)
<matplotlib.image.AxesImage at 0x16408e89488>

Ich werde diesen Ansatz zur Visualisierung von Iterationen in einigen agentenbasierten Simulationsstudien weiter verwenden. Die dadurch enstehenden Beispiele werde ich auf diesem Blog teilen.

Leave a Reply

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

Close

Meta