HOWTO · Matplotlib

Matplotlib 3D 投影

本教程阐述了我们如何使用 mplotlib 中的 mplot3d 包从 mpl_toolkits 库中创建 3d 图。

本页内容

本教程解释了我们如何使用 mpl_toolkits 库中的 mplot3d 包在 Matplotlib 中创建 3D 图。

在 Matplotlib 中绘制 3D 轴

from mpl_toolkits import mplot3d
import matplotlib.pyplot as plt

axes = plt.axes(projection="3d")
axes.set_title("3d axes in Matplotlib", fontsize=14, fontweight="bold")
axes.set_xlabel("X")
axes.set_ylabel("Y")
axes.set_zlabel("Z")
plt.show()

输出:

绘制 3D 轴 Matplotlib

它可以创建一个带有 X、Y 和 Z 轴的三维图。要创建一个 3D Matplotlib 图,我们从 mpl_toolkits 库中导入 mplot3d 包。当我们使用 pip 安装 Matplotlib 时,mpl_toolkits 就会被安装。

在 Matplotlib 图上绘制 3D 轴与绘制 2D 轴类似。我们只要在 matplotlib.pyplot.axes() 中设置 projection="3d",就可以在 Matplotlib 中绘制 3D 轴。

我们必须确保 Matplotlib 的版本是 1.0 或更高。

在 Matplotlib 中绘制 3D 散点图

import numpy as np
from mpl_toolkits import mplot3d
import matplotlib.pyplot as plt

x = np.random.randint(20, size=60)
y = np.random.randint(15, size=60)
z = np.random.randint(10, size=60)

fig = plt.figure(figsize=(8, 6))
axes = plt.axes(projection="3d")
axes.plot3D(x, y, z, color="red")
axes.set_title("3d Line plot in Matplotlib", fontsize=14, fontweight="bold")
axes.set_xlabel("X")
axes.set_ylabel("Y")
axes.set_zlabel("Z")
plt.tight_layout()
plt.show()

输出:

Matplotlib 中的 3D 线图

它在 Matplotlib 中创建了一个 3D 线图。要在 Matplotlib 中创建一个 3D 线图,我们首先要创建轴,然后使用 plot3D() 方法创建 3D 线图。我们将要绘制的点的 X、Y 和 Z 坐标作为参数传递给 plot3D() 方法。

Matplotlib 中的 3D 散点图

import numpy as np
from mpl_toolkits import mplot3d
import matplotlib.pyplot as plt

x = np.random.randint(20, size=60)
y = np.random.randint(15, size=60)
z = np.random.randint(10, size=60)

fig = plt.figure(figsize=(8, 6))
axes = plt.axes(projection="3d")
axes.scatter3D(x, y, z, color="red")
axes.set_title("3d Sactter plot in Matplotlib", fontsize=14, fontweight="bold")
axes.set_xlabel("X")
axes.set_ylabel("Y")
axes.set_zlabel("Z")
plt.tight_layout()
plt.show()

输出:

Matplotlib 中的 3D 散点图

它在 Matplotlib 中创建了一个 3D 散点图。要在 Matplotlib 中创建一个 3D 散点图,我们首先要创建轴,然后使用 scatter3D() 方法创建 3D 散点图。我们将要绘制的点的 X、Y 和 Z 坐标作为参数传递给 scatter3D() 方法。

需要注意的是,我们在二维绘图函数名称的末尾加上 3D,以生成相应的三维图,例如:plot() 函数生成二维线图,而 plot3D() 生成三维线图。