Matplotlib 3D 投影
Suraj Joshi
2024年2月15日
本教程解释了我们如何使用 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()
输出:
它可以创建一个带有 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 线图,我们首先要创建轴,然后使用 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 散点图,我们首先要创建轴,然后使用 scatter3D()
方法创建 3D 散点图。我们将要绘制的点的 X
、Y
和 Z
坐标作为参数传递给 scatter3D()
方法。
需要注意的是,我们在二维绘图函数名称的末尾加上 3D,以生成相应的三维图,例如:plot()
函数生成二维线图,而 plot3D()
生成三维线图。
作者: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn