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

如何在Python中绘制以x/y/z为空间轴、颜色为第四维的4D图?

你可以用matplotlib的3D绘图模块实现需求,第四维的数值c会直接作为颜色映射的输入,完整实现步骤如下:

1. 前置依赖安装

如果还没安装对应的依赖库,先执行安装命令:

pip install numpy matplotlib
2. 完整实现代码
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import cm

# 替换为你自己的完整数组数据即可
x = np.array([
-0.256000000000000,
-0.173400000000001,
-0.108800000000002,
-0.0578000000000003,
-0.0194000000000010
# 补充剩余71个数值
])
y = np.array([
0.120020800000000,
0.117440400000000,
0.118825300000000,
0.121856900000000,
0.119601200000000
# 补充剩余71个数值
])
z = np.array([
0.256010000000000,
0.316988000000000,
0.412030000000000,
0.516346000000000,
0.626786000000000
# 补充剩余71个数值
])
c = np.array([
35.4849000000000,
35.8240000000000,
35.8697000000000,
35.3643000000000,
34.6013000000000
# 补充剩余71个数值
])

# 创建3D画布
fig = plt.figure(figsize=(10,7))
ax = fig.add_subplot(projection='3d')

# 绘制4D散点图,c参数传入第四维数组,cmap指定颜色映射规则
scatter = ax.scatter(x, y, z, c=c, cmap=cm.viridis, s=50)

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

# 添加颜色条标注第四维的数值范围
plt.colorbar(scatter, label='第四维数值')

plt.show()
3. 可调参数说明
  • 更换颜色映射:把cm.viridis替换为其他内置方案即可,常用的还有cm.plasma、cm.coolwarm、cm.jet等
  • 修改散点大小:调整s参数的数值即可
  • 你的数据只有76个离散点,用散点图展示更合适,如果需要绘制平滑曲面,需要先对x、y做网格化处理,再插值得到网格对应的z和c的数值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 23:06:03