使用Python中的matplotlib实现二维网格和数组的可视化。

二维网格阵列图可以是一个有价值的可视化工具,例如在基于代理的仿真领域。在这篇文章中,我想给大家一个简短的教程,告诉大家如何使用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>

我将在一些基于代理的模拟研究中使用这种方法来可视化迭代,并在我的博客上发表。

Leave a Reply

发表评论

您的电子邮箱地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

Close

功能