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 散点图