想用matplotllib 3D 画球,然而发现侧视图和俯视图长的谜之不一样
perfect down view!
what rubbish is this??
侧视图为什么是个椭圆啊喂!
寻思着matlab里画很完美啊,对照了下示例代码,发现少了个 axis equal.
Matplotlib 3D 不直接支持 axis equal.
stackflow 大法好,解决方案如下, 重点倒数第二行
fig = plt.figure(figsize=(3,3), dpi=120)
ax=fig.add_subplot(111,projection='3d')
ax.view_init(elev=0,azim=90)
ax.scatter(shape1.T[0], shape1.T[1], shape1.T[2],c='k',marker='.',s=10,linewidth=0,alpha=1,cmap='spectral')
plt.subplots_adjust(top=1,bottom=0,left=0,right=1,hspace=0,wspace=0)
plt.xlim([-1, 1])
plt.ylim([-1, 1])
ax.set_zlim([-1, 1])
ax.set_box_aspect((np.ptp(shape1.T[0]), np.ptp(shape1.T[1]), np.ptp(shape1.T[2])))
plt.axis('off')
完美小球球 get! (๑•̀ㅂ•́)و✧
image.png
然而一个小时过去了。。。我是个废物。。٩ (๑> 灬 <)۶