1

我喜欢 Matplotlib,但有时缺乏“白痴指南”的例子令人愤怒。

长话短说,我有几个来自多个实体的模拟运动投掷 3D 空间的 XYZ 位置数据的大型列表。我目前静态地这样做,即

for entity in entities:
    x=map(itemgetter(0),positionLog(entity))
    y=map(itemgetter(1),positionLog(entity))
    z=map(itemgetter(2),positionLog(entity))
    ax.plot(x,y,z,label=nameLookup(entity))
plt.show()

我想做的是让这些列表“步出”,即所有实体都在 t(0) 处,然后添加 t(1) 点,依此类推。

但是,在我找到的任何示例中都不清楚如何实现这一点。我看到的示例显示了如何进行单独的运行,即针对一个实体,但我看不到如何以锁步方式完成所有 (N)。

请问有什么建议吗?:D

4

1 回答 1

1

所以我认为你想要做的一种方法是制作 x、y 和 z 列表。将 t(0) 添加到绘图并显示绘图。接下来,将 t(1) 附加到原始 x、y、z 列表,使用新的 x、y、z 坐标更新绘图,然后刷新绘图(这是 matplotlib 中制作动画的旧方法)。

这个例子: http: //matplotlib.sourceforge.net/examples/animation/basic_example.html 使用内置的动画功能以新的方式生成动画,这正是我认为你想要的,只需添加你的第三个坐标。

于 2012-07-11T13:02:44.650 回答