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