3

我想用 matplotlib 绘制和动画一些粒子。每个点都有一个位置和速度。我可以使用 matplotlib 绘制单帧quiver

但是如何更新每一帧的颤动数据呢?(我正在使用 matplotlib 动画类。)我读到了 (undocumented?) quiver.set_UVC(),但这似乎只更新了方向,而不是位置。有没有其他方法可以做到这一点?

4

1 回答 1

6

您可以通过Collectionslevel 方法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()
于 2013-07-22T00:01:08.873 回答