Matplotlib 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()

输出:

Matplotlib 3D 投影

它可以创建一个带有 XYZ 轴的三维图。要创建一个 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 线图。我们将要绘制的点的 XYZ 坐标作为参数传递给 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 散点图。我们将要绘制的点的 XYZ 坐标作为参数传递给 scatter3D() 方法。

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