Matplotlib 3D 投影

Suraj Joshi 2023年1月30日 2020年12月31日
  1. 在 Matplotlib 中绘制 3D 轴
  2. 在 Matplotlib 中绘制 3D 散点图
  3. Matplotlib 中的 3D 散点图
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()

输出:

绘制 3D 轴 Matplotlib

它可以创建一个带有 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() 生成三维线图。

Author: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn