Matplotlib - 三维绘图

尽管 Matplotlib 最初设计时只考虑了二维绘图,但在后来的版本中,一些三维绘图实用程序建立在 Matplotlib 的二维显示之上,以提供一套用于三维数据可视化的工具。通过导入 Matplotlib 包中包含的 mplot3d 工具包 可以启用三维绘图。

通过将关键字 projection='3d' 传递给任何法线坐标轴创建例程,可以创建三维坐标轴。

from mpl_toolkits import mplot3d
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax = plt.axes(projection='3d')
z = np.linspace(0, 1, 100)
x = z * np.sin(20 * z)
y = z * np.cos(20 * z)
ax.plot3D(x, y, z, 'gray')
ax.set_title('3D line plot')
plt.show()

我们现在可以绘制各种三维绘图类型。 最基本的三维图是由 (x, y, z) 三元组创建的 3D 线图。 这可以使用 ax.plot3D 函数创建。

三维绘图

3D 散点图 是使用 ax.scatter3D 函数生成的。

from mpl_toolkits import mplot3d
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax = plt.axes(projection='3d')
z = np.linspace(0, 1, 100)
x = z * np.sin(20 * z)
y = z * np.cos(20 * z)
c = x + y
ax.scatter(x, y, z, c=c)
ax.set_title('3d Scatter plot')
plt.show()
3D 散点图