使用 Matplotlib 进行三维等高线绘图

MatplotlibMatplotlibBeginner
立即练习

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

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

简介

本教程将指导你使用 Python 中的 Matplotlib 创建三维等高线图的过程。等高线图使用等高线或等值线来表示三维表面。我们将使用 contour() 函数来创建这些等值线,并使用 extend3d=True 选项将曲线垂直扩展为“带状”。

虚拟机使用提示

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

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

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) matplotlib(("Matplotlib")) -.-> matplotlib/SpecializedPlotsGroup(["Specialized Plots"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("Importing Matplotlib") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("Understanding Figures and Axes") python/BasicConceptsGroup -.-> python/booleans("Booleans") python/DataStructuresGroup -.-> python/tuples("Tuples") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/ModulesandPackagesGroup -.-> python/using_packages("Using Packages") matplotlib/SpecializedPlotsGroup -.-> matplotlib/contour_plots("Contour Plots") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("Data Visualization") subgraph Lab Skills matplotlib/importing_matplotlib -.-> lab-48623{{"使用 Matplotlib 进行三维等高线绘图"}} matplotlib/figures_axes -.-> lab-48623{{"使用 Matplotlib 进行三维等高线绘图"}} python/booleans -.-> lab-48623{{"使用 Matplotlib 进行三维等高线绘图"}} python/tuples -.-> lab-48623{{"使用 Matplotlib 进行三维等高线绘图"}} python/importing_modules -.-> lab-48623{{"使用 Matplotlib 进行三维等高线绘图"}} python/using_packages -.-> lab-48623{{"使用 Matplotlib 进行三维等高线绘图"}} matplotlib/contour_plots -.-> lab-48623{{"使用 Matplotlib 进行三维等高线绘图"}} python/data_visualization -.-> lab-48623{{"使用 Matplotlib 进行三维等高线绘图"}} end

导入库

我们需要先为本教程导入必要的库。我们将使用 matplotlib.pyplot 进行绘图,matplotlib.cm 用于颜色映射,以及 mpl_toolkits.mplot3d 进行三维绘图。

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

创建数据

接下来,我们需要创建用于生成等高线图的数据。我们将使用 mpl_toolkits.mplot3d 模块中的 get_test_data() 函数来生成示例数据。

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

创建三维坐标轴

我们将使用 add_subplot() 函数为我们的绘图创建一个三维子图。我们还将投影设置为 '3d'

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

创建等高线图

现在我们将使用 contour() 函数创建等高线图。我们将传入 XYZ 数据,并设置 extend3d=True 以便将曲线垂直扩展为“带状”。我们还将颜色映射设置为 cm.coolwarm 以获得不错的配色方案。

ax.contour(X, Y, Z, extend3d=True, cmap=cm.coolwarm)

显示绘图

最后,我们将使用 show() 函数来显示我们的绘图。

plt.show()

总结

在本教程中,我们学习了如何使用Python中的Matplotlib创建三维等高线图。我们使用 contour() 函数创建等高线,并使用 extend3d=True 选项将曲线垂直扩展为“带状”。我们还使用 get_test_data() 函数生成示例数据,并使用 cm.coolwarm 颜色映射来获得不错的配色方案。