mpl_toolkits.mplot3d.Axes3D
是 Matplotlib 的 mpl_toolkits.mplot3d
工具包中的一个类,用于创建三维坐标轴(3D Axes)。这个类继承自 matplotlib.axes.Axes
,提供了在三维空间中绘制图形的能力,非常适合于科学计算和工程领域中的三维数据可视化。
mpl_toolkits.mplot3d.Axes3D
类的基本使用方式如下:
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
fig
:一个 matplotlib.figure.Figure
实例。add_subplot
:用于在图形上添加子图的方法。projection
:指定子图的类型,对于三维坐标轴,应设置为 '3d'
。import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# 创建一个新的图形
fig = plt.figure()
# 添加一个三维坐标轴
ax = fig.add_subplot(111, projection='3d')
# 绘制三维线
ax.plot([1, 2, 3], [4, 5, 6], [7, 8, 9])
# 显示图形
plt.show()
输出:一个包含从点 (1,4,7) 到 (3,6,9) 的三维线条的窗口。
# 使用相同的步骤创建三维坐标轴
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# 绘制三维散点图
ax.scatter([1, 2, 3], [4, 5, 6], [7, 8, 9])
# 显示图形
plt.show()
输出:一个包含三个散点的窗口,散点位置分别为 (1,4,7),(2,5,8) 和 (3,6,9)。
import numpy as np
# 创建 x, y 网格
x = y = np.linspace(-5, 5, 100)
x, y = np.meshgrid(x, y)
# 计算 z 值
z = np.sin(np.sqrt(x**2 + y**2))
# 创建一个新的图形和三维坐标轴
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# 绘制三维曲面图
surf = ax.plot_surface(x, y, z, cmap='viridis')
# 添加颜色条
fig.colorbar(surf)
# 显示图形
plt.show()
输出:一个包含 sin(sqrt(x^2 + y^2))
形状的三维曲面图的窗口,以及一个颜色条。
Axes3D
类之前,需要导入 matplotlib.pyplot
和 mpl_toolkits.mplot3d
。projection='3d'
参数是必需的,以确保创建的是三维坐标轴。ax.set_zlim([zmin, zmax])
方法来设置 z 轴的范围,以及 ax.set_zlabel('label')
方法来设置 z 轴的标签。