二维网格阵列图可以是一个有价值的可视化工具,例如在基于代理的仿真领域。在这篇文章中,我想给大家一个简短的教程,告诉大家如何使用Python中的matplotlib来可视化一个二维网格阵列。编码示例如下,相关文档已以注释的形式添加。
#首先,我们将需要matplotlib.pyplot。 from matplotlib import pyplot #接下来,我将建立一个8×8的二维矩阵,用随机位作为元素(0或1)。 #对于整数的随机化(0或1),我使用Python中的随机模块。 #我使用Python中的列表 理解力来建立二维矩阵中的每一行。 import random data = [[random.randint(a=0,b=1) for x in range(0,8)], # 行 1 [random.randint(a=0,b=1) for x in range(0,8)], # 行 2 [random.randint(a=0,b=1) for x in range(0,8)], # 行 3 [random.randint(a=0,b=1) for x in range(0,8)], # 行 4 [random.randint(a=0,b=1) for x in range(0,8)], # 行 5 [random.randint(a=0,b=1) for x in range(0,8)], # 行 6 [random.randint(a=0,b=1) for x in range(0,8)], # 行 7 [random.randint(a=0,b=1) for x in range(0,8)]] # 行 8 # 显示二维数据矩阵 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]]
# 我们将用matplot.pyplot来可视化这个数据矩阵的位。 # 来自Python的.imshow函数可以完成这项工作。 pyplot.figure(figsize=(5,5)) pyplot.imshow(data) pyplot.show()
# .imshow有一系列的参数,我可以用来调整二维网格的可视化。 # 设置 "alpha "的结果是定义透明度 pyplot.imshow(data, alpha=0.75) pyplot.show()
# "cmap "允许定义一个定义的着色图。 # 为此,我们需要从matplotlib导入颜色。 from matplotlib import colors # 使用颜色包中的ListedColormap方法,我们可以做到 定色图 colormap = colors.ListedColormap(["red","green"]) # 把这个问题交给imshow()方法处理 pyplot.imshow(data, cmap=colormap) pyplot.show()
# 正如我在python的matplotlib文档中所展示的那样,我们也可以调整轴的ticks或者添加标签。 # 调整体型 pyplot.figure(figsize=(10,10)) # 为x轴和y轴添加标签 pyplot.xlabel("x axis with ticks", size = 14) pyplot.ylabel("y axis with ticks", size= 14) # 加标题 pyplot.title("this is the title of the plot", size=28) # 调整x轴和y轴的刻度 pyplot.xticks(size=14, color = "red") pyplot.yticks(size=14, color = "red") # 界定 colormap = colors.ListedColormap(["darkblue","lightblue"]) # 在使用".imshow "方法时指定颜色图。 pyplot.imshow(data, cmap=colormap)
<matplotlib.image.AxesImage at 0x16408e89488>
我将在一些基于代理的模拟研究中使用这种方法来可视化迭代,并在我的博客上发表。
专业领域为优化和仿真的工业工程师(R,Python,SQL,VBA)
Leave a Reply