简介
本实验演示如何使用 Python 中的 Matplotlib 创建三维表面图。表面使用纯色绘制。本实验将指导你完成该过程的每一步,包括创建数据、绘制表面以及设置纵横比。
虚拟机提示
虚拟机启动完成后,点击左上角切换到“笔记本”标签页,以访问 Jupyter Notebook 进行练习。
有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。
如果你在学习过程中遇到问题,请随时向 Labby 提问。课程结束后提供反馈,我们将立即为你解决问题。
导入所需库
第一步是导入所需的库。在本实验中,我们使用 Matplotlib 和 NumPy 库。
import matplotlib.pyplot as plt
import numpy as np
创建数据
下一步是为三维表面创建数据。我们需要定义 u、v、x、y 和 z。这些变量将表示绘制表面所需的角度和坐标。使用 NumPy 的 linspace() 函数创建角度,使用 outer() 函数创建坐标。
## 生成数据
u = np.linspace(0, 2 * np.pi, 100)
v = np.linspace(0, np.pi, 100)
x = 10 * np.outer(np.cos(u), np.sin(v))
y = 10 * np.outer(np.sin(u), np.sin(v))
z = 10 * np.outer(np.ones(np.size(u)), np.cos(v))
创建三维表面图
现在我们可以创建三维表面图了。我们首先创建一个图形,并使用 projection='3d' 参数添加一个子图。然后,我们使用 plot_surface() 函数,根据上一步创建的数据绘制表面。
## 绘制表面
fig = plt.figure()
ax = fig.add_subplot(projection='3d')
ax.plot_surface(x, y, z)
设置纵横比
为确保绘图具有相等的纵横比,我们可以使用 set_aspect() 函数。我们传入字符串值 'equal' 以将纵横比设置为 1:1。
## 设置相等的纵横比
ax.set_aspect('equal')
总结
本实验展示了如何使用 Python 中的 Matplotlib 创建三维表面图。我们创建了数据、绘制了表面并设置了纵横比。最终得到的图是一个具有纯色的基本三维表面图。