[英]Display numpy array in a for loop using matplotlib imshow
我有一個numpy數組,其元素在for循環中更新:
a = np.array([[1,2,3],[4,5,6],[7,8,9]])
for t in range(0,10):
imshow(a)
for i in range(0,a.shape[0]):
for j in range(0,a.shape[1]):
a[i][j] += 1
我想在每次迭代時顯示數組,但是imshow()不起作用,它只是在循環終止后顯示圖像。
PS。 我正在使用Ipython筆記本
我在網上發現了不同的東西,但沒有一個在我的電腦上工作(例如我試圖使用matplotlib的動畫模塊)
奇怪的是,如果我嘗試使用標准的python提示執行此示例( http://matplotlib.org/examples/animation/dynamic_image2.html ),一切正常,而在Ipython筆記本上它不起作用。 誰能解釋我為什么?
筆記:
也許我過分簡化了我的代碼;
我正在研究森林火災模型,數組是一個填充0 =空站點,1 =樹,2 =火的網格。
在每個時間步驟(迭代):
我想使用色圖來顯示數組,以可視化我的模型的演變
imshow(a)
將數組a的值繪制為像素值,但不會顯示圖。 要在for循環的每次迭代后查看圖像,您需要添加show()
。
這應該做你想要的:
a = np.array([[1,2,3],[4,5,6],[7,8,9]])
for t in range(0,10):
imshow(a)
show()
for i in range(0,a.shape[0]):
for j in range(0,a.shape[1]):
a[i][j] += 1
imshow
用於在圖中顯示圖像。 使用print
顯示numpy數組:
a = np.array([[1,2,3],[4,5,6],[7,8,9]])
for t in range(0,10):
print a
# ...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.