4

我正在使用循环在底图上生成矢量场,如下所示:

for i in range(365):
     barbs = m.quiver(x, y, u[i, :], v[i, :], scale = 100)
     plt.draw()
     barbs.remove()

该程序在每个循环中都会占用更多的内存。有没有办法解决这个问题?比如在每个循环结束时完全删除倒钩?

4

1 回答 1

4

如果您只需要重置 (u,v) 组件,您可以barb.set_UVC(newU,newV,newC)在循环内使用。

barbs = m.quiver(x, y, u[0, :], v[0, :], scale = 100)
for i in range(365):
     barbs.set_UVC(u[i,:],v[i,:])
     #save the figure or something

另请参阅Python:复制底图或从图中删除数据逐帧可视化 3D-numpy-array

如果您正在尝试创建动画,请查看animationmatplotlib 模块,它会为您处理很多细节。

于 2012-08-29T04:10:28.697 回答