使用Python3,Numpy,Matplotlib,Anaconda,Spyder:我有一个随时间变化的数组,我想为其热图设置动画。现在,我已经找到了多种方法来执行此操作,但是这些方法似乎都不起作用。
我尝试了这个家伙的三种方法中的每一种:
https://gist.github.com/take-iwiw/43b1d8bc1dcfd2f0bf19a81486985d59
这些都不是很实际的。在Spyder中根本没有任何效果,因此我尝试通过Visual Code Studio运行它,实际上只有第三个动画了,但是它在更大的(空)网格内,总体上看并不正确。
所以我搜索了更多内容并发现了这篇文章:
Python real time varying heat map plotting
这是一种新方法,非常符合我的要求。我尝试了一下,但是在Spyder上只显示了第一张图片,在Visual Studio Code上,它按照需要显示了前两张,然后动画窗口崩溃了。
这是最后一个链接中DrV的代码,尽管我感觉这可能不是问题:
import matplotlib.pyplot as plt
import numpy as np
import time
# create the figure
fig = plt.figure()
ax = fig.add_subplot(111)
im = ax.imshow(np.random.random((10,10)))
plt.show(block=False)
# draw some data in loop
for i in range(10):
# wait for a second
time.sleep(1)
# replace the image contents
im.set_array(np.random.random((10,10)))
# redraw the figure
fig.canvas.draw()
我想要这个随机数组的动画效果有点流畅。 time.sleep命令仅用于模拟程序所需的计算时间,并且我的数组不会完全随机,并且也仅填充+1或-1。我不需要轴或任何其他信息,但是如果我可以在其旁边打印一个值(用它进行动画处理)会很好。
我觉得问题在于我如何执行程序。我对编程很陌生,但是之前我在Scilab和Fortran上做过类似的动画,这比较容易,所以我问自己做错了什么。