我有一个嵌套的字典列表,创建方式如下:
N = 30
grid = []
for row in range(N):
rows = []
for column in range(N):
each_cell = {"check": 0, "type": -1}
rows.append(each_cell)
grid.append(rows)
类型是我要绘制的类型,值-1表示单元格中没有任何内容,0,1,2,3是不同的类型(不是渐变),我希望用不同的颜色来表示。你知道吗
我将随机数目的类型放入网格,如下所示:
import numpy.random as rnd
import matplotlib.pyplot as plt
for i in range (rnd.randint(0, N*N)):
x = rnd.randint(0, N)
y = rnd.randint(0, N)
grid[x][y]['check'] = 1
if grid[x][y]['check'] == 1:
grid[x][y]['type'] = rnd.randint(0,4)
我试图用这个来描绘它:
plt.imshow(grid['type'], interpolation = 'nearest', cmap = 'gist_ncar_r')
plt.show()
但显然grid['type']
并不是像我希望的那样只挑选类型,有人知道如何解决这个问题吗?你知道吗
由于
imshow
需要一个“类似数组的”,您可以更改数据的结构,使其更易于使用。与其使用dict数组,不如使用dict数组。你知道吗您可以使用列表理解将所需的数据获取到数组中:
要使用
array
,您需要执行numpy
导入。你知道吗然后你就可以把它描绘成:
相关问题 更多 >
编程相关推荐