使用matplotlib对多个子图进行动画处理

时间:2020-03-30 12:07:47

标签: python matplotlib

我想使用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])

0 个答案:

没有答案