首页 > 解决方案 > 如何使用 mplot3d.Axis3D 对象调整 pyny3D 多面体图中的 z 轴?

问题描述

我正在玩,pyny3D package并找到了如何绘制多面体的教程。我为另一个对象绘制了类似的图,但 z 轴的限制太宽了,使整个对象在图上看起来很薄,就像煎饼一样。

该包使用内部绘图命令,可能matplotlib在后台使用。文档说可以使用ax参数调整轴:

参数 ax:如果给定 matplotlib 轴,此方法将表示此轴顶部的绘图。这用于表示来自多个几何图形的多个图,递归地重叠它们。:type ax: mplot3d.Axes3D,无

我尝试将 z 限制从 0:3 减少到 0:2,但输出仍然与教程中的示例代码相同。

import numpy as np
import pyny3d.geoms as pyny
from mpl_toolkits import mplot3d

poly1 = pyny.Polygon(np.array([[0, 0, 0], [1, 0, 0], [1, 1, 0], [0, 1, 0]]))
poly2 = pyny.Polygon(np.array([[0, 0, 3], [0.5, 0, 3], [0.5, 0.5, 3], [0, 0.5, 3]]))
polyhedron = pyny.Polyhedron.by_two_polygons(poly1, poly2)
axis =  mplot3d.axes3d.Axes3D(fig = plt.figure(),zlim3d = (0,2))
polyhedron.plot('b', ax = axis)

在此处输入图像描述

我知道还有其他类似的问题,但我努力使他们的答案与pyny3D包的内部绘图命令兼容。

如何正确定义 Axes3D?

标签: pythonmatplotlibz-axis

解决方案


推荐阅读