实时对阵列热图进行动画处理

时间:2019-05-08 16:41:17

标签: python-3.x matplotlib animation heatmap

使用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上做过类似的动画,这比较容易,所以我问自己做错了什么。

0 个答案:

没有答案