我想用 matplotlib 绘制和动画一些粒子。每个点都有一个位置和速度。我可以使用 matplotlib 绘制单帧quiver
。
但是如何更新每一帧的颤动数据呢?(我正在使用 matplotlib 动画类。)我读到了 (undocumented?) quiver.set_UVC()
,但这似乎只更新了方向,而不是位置。有没有其他方法可以做到这一点?
我想用 matplotlib 绘制和动画一些粒子。每个点都有一个位置和速度。我可以使用 matplotlib 绘制单帧quiver
。
但是如何更新每一帧的颤动数据呢?(我正在使用 matplotlib 动画类。)我读到了 (undocumented?) quiver.set_UVC()
,但这似乎只更新了方向,而不是位置。有没有其他方法可以做到这一点?
您可以通过Collections
level 方法set_offsets
(doc)执行此操作。
X, Y = np.meshgrid(linspace(0, 100), linspace(0, 100))
q = plt.quiver(X, Y , rand(100, 100), rand(100, 100))
plt.draw()
plt.pause(2)
q.set_offsets(q.get_offsets() * np.array([1, .5]))
plt.draw()