在Matplotlib中设置3D绘图的纵横比
要在Matplotlib中设置3D图的宽高比,我们可以按以下步骤进行操作:
- 使用 figure() 方法创建一个新图或激活现有图。
- 使用 projection=’3d’ 获取当前轴,如果需要可以创建一个。
- 使用numpy创建数据点R、Y和z。
- 使用R、Y和z创建一个表面图。
- 使用 set_aspect(‘auto’) 设置宽高比。
- 使用savefig()方法保存图像。
示例
from matplotlib import pyplot as plt
from matplotlib import cm
import numpy as np
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
fig = plt.figure()
ax = fig.gca(projection='3d')
R, Y = np.meshgrid(np.arange(0, 100, 1), np.arange(0, 60, 1))
z = 0.1 * np.abs(np.sin(R / 40) * np.sin(Y / 6))
ax.plot_surface(R, Y, z, cmap=cm.rainbow, linewidth=0)
ax.set_aspect('auto')
ax.azim = -160
ax.elev = 30
fig.savefig('data.png')
plt.show()