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])
解决方案
推荐阅读
- python - 当您的训练/测试/验证数据未分类到文件夹中时如何使用 ImageDataGenerator
- ios - 在 Swift 中运行无头 WKWebView
- c# - WPF DataGrid - SelectedItem 在文本外的 FullRow 选择上没有改变
- r - dataExplorer::create_report 编译失败
- swift - 故事板中的 UIStackView 强制固有内容大小
- python - 将子列表放置到其他子列表
- javascript - 无法保存到数据库,字符串未被识别为有效的 DateTime MVC
- c# - C#如何创建一个单元测试来验证一个值是否在代码列表中?
- python - 查找和计算重复项
- sql - 如何在sql(oracle)中操作对象的属性?