You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

matplotlib中Axes3D导入语句失效,如何在Python中绘制3D图形?

在Python中绘制3D图形的最新方法(替代已弃用的Axes3D)

matplotlib 3.4+版本已移除mpl_toolkits.mplot3d.Axes3D的显式导入要求,现在只需在创建子图时指定projection='3d'参数即可创建3D坐标轴,避免你遇到的AttributeError问题。

基础3D坐标轴创建示例

import matplotlib.pyplot as plt

# 创建画布和3D子图
fig = plt.figure()
ax = fig.add_subplot(projection='3d')

# 设置坐标轴标签
ax.set_xlabel('X轴')
ax.set_ylabel('Y轴')
ax.set_zlabel('Z轴')

plt.show()

常用3D绘图示例

1. 3D散点图

import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure()
ax = fig.add_subplot(projection='3d')

# 生成随机样本数据
x = np.random.rand(100)
y = np.random.rand(100)
z = np.random.rand(100)

# 绘制散点图,指定颜色和标记样式
ax.scatter(x, y, z, c='darkorange', marker='^')

ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')

plt.show()

2. 3D曲面图

import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure()
ax = fig.add_subplot(projection='3d')

# 生成网格数据
X = np.arange(-5, 5, 0.25)
Y = np.arange(-5, 5, 0.25)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)
Z = np.sin(R)

# 绘制曲面并指定配色方案
surf = ax.plot_surface(X, Y, Z, cmap='coolwarm')

# 添加颜色条映射数值
fig.colorbar(surf, shrink=0.5, aspect=5)

ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')

plt.show()

版本兼容提示

如果你的matplotlib版本低于3.4,可能仍需导入Axes3D以启用3D功能,但强烈建议升级到最新稳定版解决兼容性问题,升级命令:

pip install --upgrade matplotlib

内容的提问来源于stack exchange,提问作者QianruZhou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 18:00:01