【发布时间】:2019-04-01 14:18:40
【问题描述】:
我有两个数组 x 和 y,每个都有超过 365000 个元素。我想使用这些数组元素绘制一条动画线。我正在使用 matplotlib.animation 。问题是当我执行下面的代码时,我看不到平滑(动画)绘制的图形。相反,我看到它是最终绘制的版本。
这是我的代码:
#libs
# Movement instance creation-----------------------------
movement1=Movement(train1, track1)
# # Move the train on the track
movement1.move()
y = movement1.speed
x = movement1.pos
Writer = animation.writers['ffmpeg']
writer = Writer(fps=20, metadata=dict(artist='Me'), bitrate=1800)
fig = plt.figure()
ax = plt.axes(xlim=(0, 25), ylim=(0, 300))
line, = ax.plot([], [], lw=2)
# initialization function: plot the background of each frame
def init():
line.set_data([], [])
return line,
# animation function. This is called sequentially
def animate(i):
line.set_data(x, y)
return line,
anim = animation.FuncAnimation(fig, animate, init_func=init,
frames=200, interval=200, blit=True)
anim.save('basic_animation.mp4', writer=writer)
这是我期望的类似结果:
当然,我的图表将是另一条曲线。
【问题讨论】:
-
x和y中有什么内容? -
它们是数组,例如 x=[0.0004663, 0.0004667, ... 25] y=[0.0002235, 0.0002354, ... 300]
-
那些是你想要绘制的点?
-
是的,但以动画方式绘制它们。我的意思是使用这些数组的元素绘制一条动画曲线。我找到了薇薇安的How to Create Animated Graphs in Python。在我更改了这些代码后,我的电脑开始挂起
标签: python matplotlib animation