Я хочу анимировать некоторые вспомогательные сюжеты с помощью 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])