繪製它,我有字典的嵌套列表,這樣創建:訪問字典中的嵌套列表只有一個鍵和matplotlib
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']
沒有挑選只有像我想要的類型,任何人都知道如何解決這個問題?
第二個代碼塊是否意味着在第一個代碼塊後面運行?我得到'IndexError:列表索引超出範圍'。 –
爲避免出現IndexError:列表索引超出範圍,在設置x和y時應該使用rnd.randint(0,N-1)'。 –
@mfcovington是的,當我將它們放在一起運行時,我不會收到錯誤 – User41880