简介
本实验演示了如何使用 Matplotlib 创建 3D 曲面图,并将等高线“轮廓”投影到图形的壁上。
虚拟机使用提示
虚拟机启动完成后,点击左上角切换到“笔记本”标签,以访问 Jupyter Notebook 进行练习。
有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。
如果你在学习过程中遇到问题,随时向 Labby 提问。课程结束后提供反馈,我们将立即为你解决问题。
导入必要的库
在这一步中,我们将导入创建 3D 曲面图和投影等高线轮廓所需的库。
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import axes3d
创建 3D 图形和数据
在这一步中,我们将创建一个 3D 图形并获取用于曲面图的测试数据。
## 创建一个 3D 图形
fig = plt.figure()
ax = fig.add_subplot(projection='3d')
## 获取用于曲面图的测试数据
X, Y, Z = axes3d.get_test_data(0.05)
绘制 3D 曲面
在这一步中,我们将使用测试数据绘制 3D 曲面,并自定义图形的外观。
## 绘制 3D 曲面
ax.plot_surface(X, Y, Z, edgecolor='royalblue', lw=0.5, rstride=8, cstride=8, alpha=0.3)
## 自定义图形的外观
ax.set(xlim=(-40, 40), ylim=(-40, 40), zlim=(-100, 100), xlabel='X', ylabel='Y', zlabel='Z')
将等高线轮廓投影到图形壁上
在这一步中,我们将通过为每个维度绘制具有适当偏移量的等高线,把等高线轮廓投影到图形壁上。
## 绘制每个维度的等高线投影
ax.contour(X, Y, Z, zdir='z', offset=-100, cmap='coolwarm')
ax.contour(X, Y, Z, zdir='x', offset=-40, cmap='coolwarm')
ax.contour(X, Y, Z, zdir='y', offset=40, cmap='coolwarm')
显示图形
在这一步中,我们将显示带有投影等高线轮廓的 3D 曲面图。
plt.show()
总结
本实验展示了如何使用 Matplotlib 创建 3D 曲面图并将等高线轮廓投影到图形壁上。步骤包括导入必要的库、创建 3D 图形和数据、绘制 3D 曲面、投影等高线轮廓以及显示图形。