压缩 3-D MatPlotLib 图中的垂直范围

我正在使用2-D矩阵,其中条目是高程的,并且正在尝试使用MatPlotLib mplot3d绘制它们。如何调整所得图形的垂直高度?举个例子,从mplot3d教程中的代码中提取:


from mpl_toolkits.mplot3d import Axes3D

import matplotlib.pyplot as plt

import numpy as np



fig = 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()


这给出了:

http://img4.mukewang.com/62e8de58000181b905680431.jpg

我想垂直压缩图片,以便将z轴上的标记向下推到的当前位置。1.00-0.75

更改 z 限制会使数据变平,但使图形保持相同的高度。我也尝试过这样的语句,但这会改变图形大小并干扰在3D中旋转生成的绘图。ax.set_zlim(-1.01, 10.01)plt.figure(figsize=(20,5))

http://img.mukewang.com/62e8de6200019a1805140402.jpg

慕田峪9158850
浏览 129回答 1
1回答

侃侃无极

- 这个答案可以解决问题。添加:scale_x = 1scale_y = 1scale_z = 0.25ax.get_proj = lambda: np.dot(Axes3D.get_proj(ax), np.diag([scale_x, scale_y, scale_z, 1]))给出以下绘图,在修改轴编号后,它将完全按照我想要的方式进行操作。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python