如何根据figsize设置3d plot的比例?

How to set the ratio of 3d plot according to the figsize?

我想要一个图形 10,5,其边界、方位角和仰角如下设置。如何设置配给?是ax.get_proj解决方案,如果是,我写不出正确的参数。

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D                         

fig = plt.figure(figsize=[10,5])
 
ax = fig.gca(projection = '3d')
azimuth=90
elevation=90
ax.azim = azimuth    
ax.elev = elevation  

ax.get_proj = lambda: np.dot(Axes3D.get_proj(ax), np.diag([1.55, 1.5, 0.8, 1]))

ax.set_xlim(-0.69, 0.69)
ax.set_ylim(-0.32, 0.32)


plt.show()

期望的结果是网格更宽。我的意思是图尽量用格子填满。

将以下内容添加到您的脚本中:

ax.set_box_aspect((10,5,1))
plt.tight_layout(pad=0)