如何加速Matplotlib动画?

我有大约8个月的每小时数据,我想以动画风格绘制。我目前能够做到这一点,但是随着数据量的增加,它变得非常慢。请注意,我甚至将间隔设置为仅1ms!有没有办法确保动画不会变慢?此外,如何以这种风格同时绘制多条线?


这是我到目前为止的代码:


x = benchmark_returns.index

y = benchmark_returns['Crypto 30'] 

#Would preferrably like to plot 

#benchmark_returns[['Crypto 30', 'NASDAQ', 'Dow Jones 30', 'S&P 500']] at the same time


fig, ax = plt.subplots()

line, = ax.plot(x, y, color='k')


def update(num, x, y, line):

    line.set_data(x[:num], y[:num])

    return line,



ani = animation.FuncAnimation(fig, update,  fargs=[x, y, line],

                              interval = 1, blit=True)

plt.show()

以下是我的数据帧的示例:


                     Crypto 30  Dow Jones 30  NASDAQ  S&P 500

2019-06-09 00:00:00  100.00000         100.0   100.0    100.0

2019-06-09 01:00:00   95.78653         100.0   100.0    100.0

2019-06-09 02:00:00   95.78653         100.0   100.0    100.0

2019-06-09 03:00:00   95.78653         100.0   100.0    100.0

2019-06-09 04:00:00   95.78653         100.0   100.0    100.0

2019-06-09 05:00:00   95.78653         100.0   100.0    100.0

2019-06-09 06:00:00   95.78653         100.0   100.0    100.0

2019-06-09 07:00:00   95.78653         100.0   100.0    100.0

2019-06-09 08:00:00   95.78653         100.0   100.0    100.0

2019-06-09 09:00:00   95.78653         100.0   100.0    100.0


梵蒂冈之花
浏览 117回答 1
1回答

慕尼黑8549860

显示动画受到计算机重绘绘图的速度的限制 - 因此间隔不一定决定动画更新的实际速率。通过以下方式保存动画plt.show()ani.save("animation.mp4")或类似的将允许您以指定的速度查看动画。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python