如何根据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)
我想要一个图形 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)