我正在使用2-D矩阵,其中条目是高程的,并且正在尝试使用MatPlotLib mplot3d绘制它们。如何调整所得图形的垂直高度?举个例子,从mplot3d教程中的代码中提取:from mpl_toolkits.mplot3d import Axes3Dimport matplotlib.pyplot as pltimport numpy as npfig = plt.figure()ax = fig.gca(projection='3d')# Make data.X = np.arange(-5, 5, 0.25)Y = np.arange(-5, 5, 0.25)X, Y = np.meshgrid(X, Y)R = np.sqrt(X**2 + Y**2)Z = np.sin(R)# Plot the surface.surf = ax.plot_surface(X, Y, Z, linewidth=0, antialiased=False)# Configure z-axis.ax.set_zlim(-1.01, 1.01)plt.show()这给出了:我想垂直压缩图片,以便将z轴上的标记向下推到的当前位置。1.00-0.75更改 z 限制会使数据变平,但使图形保持相同的高度。我也尝试过这样的语句,但这会改变图形大小并干扰在3D中旋转生成的绘图。ax.set_zlim(-1.01, 10.01)plt.figure(figsize=(20,5))
1 回答
侃侃无极
TA贡献2051条经验 获得超10个赞
- 这个答案可以解决问题。
添加:
scale_x = 1
scale_y = 1
scale_z = 0.25
ax.get_proj = lambda: np.dot(Axes3D.get_proj(ax), np.diag([scale_x, scale_y, scale_z, 1]))
给出以下绘图,在修改轴编号后,它将完全按照我想要的方式进行操作。
添加回答
举报
0/150
提交
取消