三维线框绘图

PythonPythonBeginner
立即练习

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

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

本实验旨在向你展示如何使用 Matplotlib 在 Python 中创建 3D 线框绘图。线框绘图是三维曲面的可视化表示,它使用线条来显示曲面的结构。在本实验中,我们将展示如何设置 rstridecstride 参数来控制线图中线条的密度。

虚拟机使用提示

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

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

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

导入必要的库

我们将从导入必要的库开始。在这种情况下,我们将使用 Matplotlib 和 axes3d 模块。

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import axes3d

创建一个图形和两个子图

我们将使用 subplots() 方法创建一个带有两个子图的图形。我们还将投影设置为 '3d',这样我们的子图将是三维的。

fig, (ax1, ax2) = plt.subplots(
    2, 1, figsize=(8, 12), subplot_kw={'projection': '3d'})

获取测试数据

我们将使用 axes3d 模块中的 get_test_data() 方法来获取测试数据。

X, Y, Z = axes3d.get_test_data(0.05)

创建第一个子图

我们将创建第一个子图,将 rstride 参数设置为 10cstride 参数设置为 0

ax1.plot_wireframe(X, Y, Z, rstride=10, cstride=0)
ax1.set_title("Column (x) stride set to 0")

创建第二个子图

我们将创建第二个子图,将 rstride 参数设置为 0cstride 参数设置为 10

ax2.plot_wireframe(X, Y, Z, rstride=0, cstride=10)
ax2.set_title("Row (y) stride set to 0")

显示图形

我们将使用 show() 方法来显示图形。

plt.show()

总结

在本实验中,我们学习了如何使用 Matplotlib 创建三维线框图形。我们使用 rstridecstride 参数来控制图形中线的密度。我们创建了一个包含两个子图的图形,并使用 plot_wireframe() 方法在每个子图中创建线框图形。最后,我们使用 show() 方法显示图形。