Animating "growing" line plot (动画化“增长”折线图)

6 浏览
0 Comments

Animating "growing" line plot (动画化“增长”折线图)

我想制作一组框架,用于动画绘制一个逐渐增长的线条。过去,我一直使用plt.draw()和set_ydata()来绘制随时间改变的y数据。这次,我希望绘制一个“增长”的线条,随着时间在图表上移动。由于这个原因,set_ydata不适用(xdata的长度在变化)。例如,

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 10, 100)
y = np.sin(x)
plt.figure()
for n in range(len(x)):
    plt.plot(x[:n], y[:n], color='k')
    plt.axis([0, 10, 0, 1])
    plt.savefig('Frame%03d.png' %n)

虽然这样做可以工作,但随着规模的扩大,速度变得非常慢。有没有更快的方法来做到这一点?

0