使用Matplotlib在Python中绘制3D表面图2025年1月5日 | 阅读6分钟 3D 曲面图是在笛卡尔坐标系中表示三维曲面的图形表示。它是可视化三维空间中的数学函数或一组数据点的一种方式。在这样的图中,x 轴和 y 轴表示自变量,z 轴表示因变量。 ![]() MatplotlibMatplotlib 是一个流行的绘图库,在 Python 编程中得到了广泛的应用。它提供了各种工具来创建各种图表、图示和可视化。使用 Matplotlib,您可以生成 3D 图并添加曲面图、颜色映射、标签、颜色条和其他图元素。此外,Matplotlib 提供了 plot_surface 函数用于 3D 曲面绘图以及其他函数来修改图的外观。 在本文中,让我们探索绘制 3D 曲面的不同方法。 马鞍面示例下面是一个名为“马鞍面”的 3D 曲面图的示例程序。 程序 输出 ![]() 说明 该程序首先导入必要的库,例如 numpy、matplotlib.pyplot 和 mpl_toolkits.mplot3d,分别用于数值运算、绘图和 3D 绘图功能。 该程序使用 numpy.linspace() 在 x 和 y 轴上生成等间隔值,然后使用 numpy.meshgrid() 创建坐标的二维网格。接下来,根据数学函数计算 z 值。在这种情况下,z = x**2 - y**2 对应于马鞍形曲面。该程序使用 plot_surface 函数生成 3D 曲面图,其中 cmap='viridis' 参数指定用于为曲面着色的颜色映射。该程序为 X、Y 和 Z 轴设置标签,并为图形添加标题以方便理解。此外,还为图形添加了颜色条。最后,程序显示图形。 正弦波曲面示例下面是一个正弦波支撑曲面 3D 图的示例程序。 程序 输出 ![]() 说明 在此程序中,我们创建了一个马鞍面。我们导入了必要的库,例如 matplotlib、numpy 和 mpl_toolkits。在创建图形之前,我们使用 linspace() 和 meshgrid() 方法创建了一个二维网格曲面。这些方法创建了一个类似网格的曲面。z 值根据到原点的距离的正弦波函数进行计算。函数 z = sin(sqrt(x**2 + y**2)) 生成了一个呈正弦波形状振荡的曲面。为了生成 3D 曲面图,我们使用了 plot_surface 函数。cmap='coolwarm' 参数确定了用于为曲面着色的颜色图。我们为 X、Y 和 Z 轴设置了标签,并为图形添加了标题以方便理解。设置好所有内容后,我们显示了图形。 高斯曲面示例这是一个生成高斯曲面图的示例程序 程序 输出 ![]() 说明 此代码通过利用 matplotlib 库生成高斯分布的 3D 曲面图。numpy 模块创建 x 和 y 值的网格,然后根据高斯函数计算 z 值:z = exp(-(x**2 + y**2) / 10)。这会生成一个类似于以原点为中心的钟形高斯分布的曲面图。为了创建 3D 子图,使用了 matplotlib.pyplot 和 mpl_toolkits.mplot3d 模块,其中还包括高斯曲面图、带有“plasma”颜色图的颜色条以及 X、Y 和 Z 轴的标签。生成的图形清晰且美观地表示了高斯分布。 环面曲面图示例这是一个创建环面曲面图的示例程序。 程序 输出 ![]() 说明 此程序使用 matplotlib 库创建了一个表示环面的 3D 曲面图。numpy 库创建了 theta 和 phi 值的网格,然后使用这些值计算三维空间中的环面坐标。环面由 x、y 和 z 的参数方程定义,其中参数 R 和 r 分别确定了长半径和短半径。生成的曲面图展示了环面特征性的甜甜圈形状,其中外圆代表长半径 R,较小的圆形横截面对应于短半径 r。为了创建 3D 子图,使用了 matplotlib.pyplot 和 mpl_toolkits.mplot3d 模块,并添加了环面曲面图。包含了一个带有“magma”颜色图的颜色条,并设置了 X、Y 和 Z 轴的标签。该图形在三维空间中提供了环面的视觉吸引力表示。 3D 曲面图示例让我们看一个创建 3D 曲面图的示例程序。 程序 输出 ![]() 说明 以下 Python 脚本已修改为使用 matplotlib 库生成 3D 曲面图。此图展示了一个由变量 X 和 Y 定义的数学函数。脚本通过更正 Z 值表达式,将 X**2 和 Y**2 项括在括号中,确保正确计算。 该代码使用 NumPy 库在指定范围内生成 X 和 Y 的网格。更正后的函数 Z = X * np.exp(-X**2 - Y**2) 定义了每个坐标处曲面的高度。使用 plot_surface 函数渲染生成的曲面图,并添加了颜色图('viridis')以增强可视化效果以及边缘着色以区分曲面边界。 子图使用了适当的轴标签和标题进行格式化,以便更轻松地解释图形。该图形在三维空间中以图形方式表示了修改后的数学函数,颜色图有助于感知函数值中的变化。 结论总之,在 Python 中创建 3D 曲面图是表示三维数据的一种视觉上引人入胜且富有洞察力的方式。借助 Matplotlib 和 mpl_toolkits.mplot3d 等强大库,开发人员可以轻松创建交互式且可自定义的可视化。通过使用 NumPy 进行数据处理和 Matplotlib 的复杂绘图功能,用户可以将原始数值数据转换为动态且美观的曲面,从而揭示数据中的模式、趋势和关系。无论是可视化数学函数、科学模拟还是真实世界数据集,在 Python 中绘制 3D 曲面图都为研究人员、工程师和数据科学家提供了强大的工具,让他们能够更深入地了解数据多维的本质。旋转、缩放和探索这些曲面的能力增强了复杂信息的解释性,使 Python 成为创建身临其境且信息丰富的 3D 可视化的宝贵平台。 |
引言:理解 Python 中的内存利用率主要取决于了解字典的大小,尤其是在处理大型数据集、API 或 JSON 对象时。可以使用 Python 函数(如 sys.getsizeof() 和 __sizeof__())以字节为单位确定字典的内存大小,这有助于...
阅读 3 分钟
引言 Python 常用于构建数学计算,在某个时候,三角学成为识别角度和几何变换的最重要方法之一。反余弦,简单地称为反余弦,是最广泛使用的三角函数之一。本文介绍...
阅读 6 分钟
数据可视化是数据分析的关键方面,帮助我们理解复杂数据集并有效传达发现。在各种可视化分类技术中,条形图广泛用于显示和比较数据。在 Python 中,流行的库如 Matplotlib 和 Seaborn...
阅读 4 分钟
Python 是全球最受欢迎的编程语言。它易于学习、用途广泛,并且有许多应用。它是一种面向对象、解释型、通用型编程语言,可用于许多领域:Web 开发、系统自动化、机器学习、深度学习、数据分析……
7 分钟阅读
Python 是一种高级、解释型编程语言,因其可读性和易用性而受到赞赏。 Python 由 Guido van Rossum 开发,并于 1991 年首次发布,它通过广泛使用空格和简洁的语法来强调代码的可读性,这使得开发人员能够以更少的...访问特定原则。
阅读 3 分钟
在广阔的人工智能领域,计算机视觉是一个重要的子学科,它正在不断发展并带来新的技术和术语。这个领域有趣地审查、处理和转换来自图像、物体、表情和视频的见解。它精确地导航不同的机器学习算法,并...
5 分钟阅读
理解 Python String Template 类 在 Python 中,String Template 类提供了一种简单而有效的方法,用于将字符串中的空字符替换为值。它提供了一种通用的模板方法,没有功能齐全的模板引擎的复杂性。通过定义包含由 ... 表示的占位符的模板
阅读 6 分钟
Python 中模式匹配和 re 模块简介 虽然它们都用于模式匹配,但 Python re 模块中的 re.search() 和 re.match() 是不同的。为了返回匹配对象,re.match() 必须首先确定模式是否存在于字符串的开头...
阅读 4 分钟
Python 是一种高级、解释型和动态类型的语言,以其简单性和可读性而闻名。它使用缩进来定义代码块,增强了清晰度。Python 支持多种编程范式,包括过程式、面向对象和函数式编程。其广泛的标准库和活跃的社区使其...
阅读 4 分钟
假设我们有一个字典。另外,我们还有两个词;让这些词是 A 和 B。在这个问题中,我们必须找到从 A 到 B 的最短链(如果存在),并返回这个最短链的长度。...
阅读9分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India