python, matplotlib, Axes3D, 旋转观察角度
时间: 2023-09-15 19:21:35 浏览: 462
在使用 `matplotlib` 中的 `Axes3D` 进行三维数据可视化时,可以通过调整观察角度来改变图像的显示效果。下面是一个简单的示例代码,展示如何通过 `view_init()` 方法来设置观察角度:
```python
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# 生成一个 3D 图像
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# 生成一些数据
X, Y = np.meshgrid(np.arange(-3, 3, 0.1), np.arange(-3, 3, 0.1))
Z = np.sin(np.sqrt(X**2 + Y**2))
# 绘制 3D 曲面图
ax.plot_surface(X, Y, Z, cmap='coolwarm')
# 设置观察角度
ax.view_init(elev=30, azim=45) # elev 为仰角,azim 为方位角
# 显示图像
plt.show()
```
在上面的示例代码中,我们首先生成了一个 3D 图像,然后生成了一些数据,并利用 `plot_surface()` 函数绘制了一个 3D 曲面图。接着,通过 `view_init()` 方法设置了观察角度,其中 `elev` 参数表示仰角,即垂直于地面的角度,`azim` 参数表示方位角,即沿着水平方向的角度。最后,通过 `show()` 方法显示了图像。
通过不同的仰角和方位角的组合,可以得到不同的观察角度,从而改变图像的显示效果。你可以尝试不同的参数组合,看看效果如何。
阅读全文