gpt4 book ai didi

python - 如何创建实时动态更新的无限乐趣动画帧?

转载 作者:太空宇宙 更新时间:2023-11-03 11:16:10 26 4
gpt4 key购买 nike

我正在尝试重新创建 a population variance graph在 python 中

在那个例子中,我们一启动,函数就立即运行到我猜网站设置的环境限制。

我已经成功地创建了类似的图表,但对于动画我被卡住了。下面是我的代码。

import matplotlib.animation as animation

fig, ax = plt.subplots(1,1,figsize=(5,4))
plt.close()

frameRate = 30

global_counter = 0

def animate(i):

ax.clear()

global global_counter

ax.text(0.5,0.5, 'test:{}'.format(global_counter))
global_counter += 1


ani = animation.FuncAnimation(fig, animate, np.arange(1,1000), interval=frameRate)

plt.tight_layout()
from IPython.display import HTML
HTML(ani.to_html5_video())

输出:

enter image description here

问题是,执行时间与次数成正比,然后生成图。因此,如果如上所述为 1000 或更多,则在生成图形之前需要相当长的时间。看起来它在输出图形之前生成了所有 1000 帧。这样我至少需要 20000 帧。相反,只要网站打开或达到上限设置而不会在编译时妥协,它就应该是实时的和更新的。

下一个问题是,在 1000 之后,计数器重新开始。 global counter不应该继续增加吗?

我要

  1. 程序立即启动,然后像我引用的示例一样动态更新。
  2. 在帧计数结束后继续增加计数器或不重置变量的程序。如果不是 matplotlib,seaborn 或 plotly 或任何其他库都可以提供帮助吗?

我在 ipython notebook(anaconda 环境)中使用 Python 3.x。

最佳答案

ani.to_html5_video() 创建一个文件。要创建此文件,需要提前知道所有帧。因此动画完整运行一次,然后将这些帧保存并转换为 html5 视频。

如果您想实时观看动画,可以使用 %matplotlib notebook 后端而不保存动画。

至于 1000 帧,您自己在 FuncAnimation 的第三个参数中设置该数字,np.arange(1,1000)。要么删除该参数,要么在此处选择不同的数字,例如帧 =20000

关于python - 如何创建实时动态更新的无限乐趣动画帧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51466462/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com