Et 2D-gitterarrayplot kan være et værdifuldt visualiseringsværktøj, f.eks. inden for agentbaseret simulation. I dette indlæg vil jeg give en kort vejledning i, hvordan du kan visualisere et 2D-gitterarray ved hjælp af matplotlib i Python. Kodningseksemplet er nedenfor; relevant dokumentation er tilføjet i form af kommentarer.
# til at begynde med har vi brug for matplotlib.pyplot from matplotlib import pyplot # jeg vil oprette en 8 x 8 2d matrix med tilfældige bits som elementer (0 eller 1); # til randomisering af heltal (0 eller 1) Jeg bruger det tilfældige modul i Python; # til at opbygge hver række i 2. matrix bruger jeg listeforståelse i 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 # vis 2d datamatrixen 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]]
# vi visualiserer bitene i denne datamatrix med matplot.pyplot; # the .imshow function from Python can do the job pyplot.figure(figsize=(5,5)) pyplot.imshow(data) pyplot.show()
# .imshow har en række parametre, som jeg kan bruge til at justere 2D-gittervisualiseringen # indstilling af "alfa" resulterer i defineret gennemsigtighed pyplot.imshow(data, alpha=0.75) pyplot.show()
# "cmap" giver mulighed for at definere et defineret farvekort; # til dette skal vi importere farver fra matplotlib from matplotlib import colors # ved hjælp af ListedColormap-metoden fra farvepakken kan vi definere et farvekort colormap = colors.ListedColormap(["red","green"]) # afleverer dette problem til pyplot.imshow(data,cmap=colormap) pyplot.show()
# som vist i min dokumentation om matplotlib i python, kan vi også f.eks. justere akse-flåter eller tilføje etiketter; # justering af figurstørrelse pyplot.figure(figsize=(10,10)) # tilføjer etiketter til x- og y-aksen pyplot.xlabel("x axis with ticks", size = 14) pyplot.ylabel("y axis with ticks", size= 14) # tilføjer plottitel pyplot.title("this is the title of the plot", size=28) # justering af kryds på både x- og y-aksen pyplot.xticks(size=14, color = "red") pyplot.yticks(size=14, color = "red") # definerer farvekort colormap = colors.ListedColormap(["darkblue","lightblue"]) # tildeler farvekort, når ".imshow" -metoden kollideres pyplot.imshow(data, cmap=colormap)
<matplotlib.image.AxesImage at 0x16408e89488>
Jeg vil bruge denne tilgang til at visualisere iterationer i nogle agentbaserede simuleringsundersøgelser. Du kan læse mere herom i andre indlæg her på bloggen.
Industriingeniør som gerne beskæftiger sig med optimering, simulation og matematisk modellering i R, SQL, VBA og Python
Leave a Reply