使用 Matplotlib 在 Python 中进行 3D 散点图绘制

2025年3月17日 | 阅读 3 分钟

什么是 Matplotlib?

Matplotlib 是 Python 中的一个库,用于通过其内置函数创建静态和动态动画以及图。它拥有大量内置功能和内置分析工具,可用于分析任何图形或图表。

如果我们要绘制任何三维图形,就可以使用 Matplotlib 库。当我们拥有大量三维变量的数据集并绘制其图形时,它看起来会非常分散,这就称为 3D 散点图。我们将使用 Matplotlib 的 matplot3d 工具包来绘制三维图形。

有一个 `ax.scatterd3D()` 函数,它接受坐标 X、Y 和 Z 的数据集。

它接受更多基于我们想赋予三维图的属性的参数。

Matplotlib 最初创建时,只考虑了二维绘图。在 1.0 版本发布前后,通过在 Matplotlib 的二维显示之上添加一些三维绘图实用程序,创建了一套实用的(尽管相当受限)三维数据可视化工具。通过导入 mplot3d 工具包,这是基本 Matplotlib 安装的一部分,就可以实现三维图。

最简单的三维图是由线或 (x, y, z) 三元组簇组成的散点图。这些图可以使用 `ax.plot3D` 和 `ax.scatter3D` 函数生成,与之前介绍的更常见的二维图非常相似。它们的调用签名与其二维对应项非常相似。

为了在页面上产生深度感,散点图点的透明度已得到调整。

示例 1

输出

3D Scatter Plotting in Python using Matplotlib

说明

在上面的示例中,我们使用 `ax.scatter()` 函数创建了三维图。我们最初导入了所有需要的库,如 numpy、matplotlib 和 mpl_toolkits。然后,我们使用 `randInt()` 函数创建了随机数 x、y 和 z 坐标的数据集。之后,我们使用了 `ax.scatter3D()` 函数并传入了 x、y 和 z 坐标,并将点的颜色设置为红色。最后,我们使用 `show()` 函数显示图。

示例 2

输出

3D Scatter Plotting in Python using Matplotlib

说明

在上面的代码中,我们使用 `ax.scatter3D()` 函数绘制了三维图。我们生成了 x、y 和 z 坐标的随机数据集,并使用 '^' 标记绘制它们。我们使用 `set_label` 函数为相应的轴提供标签。

示例 3

输出

3D Scatter Plotting in Python using Matplotlib

说明

在上面的示例中,我们在同一代码中同时绘制了两个三维数据集。对于第一个三维图,我们选择了蓝色作为点的颜色,并将 '^' 作为图中点的标记。

同样,对于第二个图,我们选择了红色作为点的颜色,并将 'o' 作为图中点的标记。