使用 Matplotlib 绘制三维参数曲线

Beginner

This tutorial is from open-source community. Access the source code

简介

本实验将演示如何使用 Matplotlib 在三维空间中绘制参数曲线。该曲线将由以下三个方程定义:

x = r * sin(theta)

y = r * cos(theta)

z = z

其中,r 和 z 的定义如下:

r = z^2 + 1

z 的取值范围是 -2 到 2,theta 的取值范围是 -4π到 4π。

虚拟机使用提示

虚拟机启动完成后,点击左上角切换到笔记本标签页,以访问 Jupyter Notebook 进行练习。

有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。

如果你在学习过程中遇到问题,随时向 Labby 提问。课程结束后提供反馈,我们将立即为你解决问题。

导入必要的库

我们将首先导入必要的库:Matplotlib 和 NumPy。Matplotlib 将用于创建三维绘图,NumPy 将用于生成 x、y 和 z 的值。

import matplotlib.pyplot as plt
import numpy as np

创建三维绘图

接下来,我们将使用 Matplotlib 创建一个三维绘图。我们还将创建一个轴对象,以便为绘图添加标签和图例。

ax = plt.figure().add_subplot(projection='3d')

定义 x、y 和 z 的值

我们将使用 NumPy 生成 x、y 和 z 的值。我们首先定义 theta 和 z 的值的范围。然后,我们将使用这些值来生成 r、x 和 y 的值。

theta = np.linspace(-4 * np.pi, 4 * np.pi, 100)
z = np.linspace(-2, 2, 100)
r = z**2 + 1
x = r * np.sin(theta)
y = r * np.cos(theta)

绘制参数曲线

既然我们已经生成了 x、y 和 z 的值,那么我们就可以使用 Matplotlib 中的 plot() 方法来绘制参数曲线了。

ax.plot(x, y, z, label='parametric curve')

为绘图添加标签和图例

最后,我们将使用 legend() 方法为绘图添加标签和图例。

ax.legend()

总结

在本实验中,我们学习了如何使用 Matplotlib 在三维空间中绘制参数曲线。我们通过三个方程定义了曲线,并使用 NumPy 生成了 x、y 和 z 的值。然后我们绘制了曲线,并为绘图添加了标签和图例。