Matplotlib 三维绘图


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

可以通过将关键字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()

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

Three-dimensional Plotting

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 Scatter Plot