受这条线索的启发,我试图从元组列表中绘制一个3d图形,元组是点的3d坐标。列表本身包含三个元组,因此包含三个点,定义了空间中的三角形。
以下是一个示例:
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d.art3d import Poly3DCollection
vertices = np.array([
[ 2.5800e+06, 1.1090e+06, 1.6817e+03],
[ 2.5300e+06, 1.1370e+06, 1.0996e+04],
[ 2.5300e+06, 1.1350e+06, 2.2508e+04]])
fig = plt.figure(figsize=(4,4))
ax = fig.add_subplot(111, projection='3d')
ax.set_xlim(2530000.0, 2550000.0)
ax.set_ylim(1100000.0, 1140000.0)
ax.set_zlim(1000., 2500.)
for i in range(4):
ax.add_collection3d(Poly3DCollection([vertices]))
plt.show()
我遇到的问题是,即使在为绘图的三个轴设置一些界限值时,它们似乎没有正确缩放,因此,我的三角形的比例错误:
如何使用matplotlib在三维打印的三个轴上保持相同的比例?
我试着设置 plt.axis('equal')
但这表明了这一错误: NotImplementedError: Axes3D currently only supports the aspect argument 'auto'. You passed in 'equal'.
暂无答案!
目前还没有任何答案,快来回答吧!