【发布时间】:2015-08-11 16:24:02
【问题描述】:
我有许多多边形,其顶点在模拟的每个时间步都会移动,并且在计算出所有新的多边形形式之后,它们必须绘制到 matplotlib 图中。
当代码是静态的时,我使用路径和补丁来绘制多边形,比如
for polygon in P:
path = Path(polygon)
patch = patches.PathPatch(path, facecolor='none', lw=1)
ax.add_patch(patch)
当然,在更新多边形时这样做会导致绘制最后一个多边形,这不是一个干净的更新。多边形的格式是一个带有numpy数组的列表,每一个都是多边形的一个顶点,如[[0.1223, 0.234], [0.123,0.4323], [0.2133, 0.5433]]
我确实可以将没有线条的顶点绘制为points = ax.plot(vertices[:,0], vertices[:,1], '.')[0],并使用points.set_data(...) 更新它们,然后绘制画布。我没有使用 FuncAnimation,因为我看到的示例由于 FuncAnimation 本身而更新了数据;在我的例子中,数据是通过迭代生成的,在每次迭代结束时,必须绘制多边形的变化。
【问题讨论】:
标签: python matplotlib plot