我想使用matplotlib为某些子图制作动画,但是在使用FuncAnimation使其工作时遇到了问题。这是我的动画功能
def animate(i):
global infection_data
for p in people:
p.step()
p.infect(people)
position_data = np.array([p.pos for p in people])
scatter.set_offsets(position_data)
scatter.set_edgecolors(["k" if p.state == 0 else "r" for p in people])
new_infection_data = np.array([i + 2, sum([1 if p.state == 1 else 0 for p in people])])
infection_data = np.vstack((infection_data, new_infection_data))
plot.set_data(infection_data[:,0], infection_data[:,1])
return scatter, plot
散点图和情节位于两个不同的子图上。散点图按预期工作,但是其他子图上的线没有更新。如何获得动画效果?
在这里我如何定义散点图和绘图
fig, ax = plt.subplots(nrows=2)
scatter = ax[0].scatter((), ())
plot, = ax[1].plot(infection_data[:,0], infection_data[:,1])