您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在Python 3中绘制3D多边形

在Python 3中绘制3D多边形

我在压缩时遇到了类似的问题。我支持论点,这是python 2.x vs 3.x的东西。

但是,我发现了一个明显可行的地方:

from mpl_toolkits.mplot3d import Axes3D
from mpl_toolkits.mplot3d.art3d import Poly3DCollection
import matplotlib.pyplot as plt

fig = plt.figure()
ax = Axes3D(fig)
x = [0, 1, 1, 0]
y = [0, 0, 1, 1]
z = [0, 1, 0, 1]
verts = [list(zip(x, y, z))]
print(verts)
ax.add_collection3d(Poly3DCollection(verts), zs='z')
plt.show()

因此,我进行了两项更改:

我不知道您的导入语句来自何处,但它似乎对我不起作用

不知何故,后者似乎起作用。刚开始使用python时,我无法提供明确的解释。但是,这里什么也没做:Poly3DCollection类要求将“集合”作为第一个输入参数,因此需要一个列表列表。在这种情况下,仅给出列表,因此假定其错过了一个等级。通过向它添加一个级别(通过[…]),它起作用了。

我不知道这种解释是否合理,但是直觉上适合我;)

这些修改似乎可以正常工作,因为此代码创建了所需的3D多边形(我注意到,由于这是我的第一篇文章,所以我不允许发布布丁证明....)

希望这是有用的,

亲切的问候

python 2022/1/1 18:32:36 有234人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶