我正在 Jupyter 笔记本中制作一个简单的动画散点图,我希望它重复,但在循环之前有延迟。这应该是用repeat_delay
参数设置的,但是当我在 Jupyter notebook 中使用它HTML(ani.to_html5_video())
来显示动画时它没有效果。
这是一个每 200 毫秒重新定位 20 个点的简单示例,但尝试在重复动画之前添加 2 秒延迟:
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.animation as animation
from IPython.display import HTML
frame_interval = 200
vid_repeat = True
repeat_delay = 2000 # set long so it would be obvious
def update_xy(i, scat):
scat.set_offsets(np.random.random((20,2)))
return scat,
fig = plt.figure()
init_data = np.random.random((20,3))
scat = plt.scatter(init_data[:,0], init_data[:,1], c=init_data[:,2], s=50, cmap = "hot")
ani = animation.FuncAnimation(fig,
update_xy,
frames=numframes,
interval = frame_interval,
repeat = vid_repeat,
repeat_delay = repeat_delay,
fargs=(scat,))
plt.close(ani._fig)
HTML(ani.to_html5_video())
frame_interval
最后,无论我设置什么值,它都会循环播放repeat_delay
。保存动画ani.save('foo.mp4')
或尝试使用 HTML(ani.to_jshtml())
.