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.

Wirtschaftsingenieur mit Interesse an Optimierung, Simulation und mathematischer Modellierung in R, SQL, VBA und Python

Leave a Reply