我一直在使用matplotlib中的funcAnimation制作围绕某个轴旋转的圆锥体的动画。但是,当动画发生时,上一个圆锥体不会从上一帧中删除,因此结果是圆锥体的连续流动。
有人知道我如何删除我绘制的圆锥体吗?我用了ax.plot((.
我分别画出圆锥体的每个点,如下所示:
for n, z in enumerate(zvec):
x = lcone * z * np.array([cos(q) for q in theta])
y = lcone * z * np.array([sin(q) for q in theta])
xr, yr, zr = dot(rot12, array([x,y,z]))
ln=ax.plot(xr, yr, zr, 'b-', lw=3, alpha=0.5)
所以我想问题是如何将这些点组合在一起?
此外,如果你对制作一个绕轴旋转的圆锥体有任何其他建议,那将非常有帮助。
根据您正在进行的操作,您需要在再次绘制之前完全清除绘图。我建议把代码写成
for n, z in enumerate(zvec):
x = lcone * z * np.array([cos(q) for q in theta])
y = lcone * z * np.array([sin(q) for q in theta])
xr, yr, zr = dot(rot12, array([x,y,z]))
plt.clf() #clears entire frame
ln=ax.plot(xr, yr, zr, 'b-', lw=3, alpha=0.5) #draw the new cone
您应该查看该方法的文档。
此外,Matplotlib还支持带有专用模块的动画,也许可以看看这里。