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

如何让3D散点图根据Values数组值调整点的颜色

给3D散点图按Values绝对值配置颜色的实现方法

核心实现思路

利用matplotlib的scatter()函数的c参数,将点的颜色与Values数组的绝对值绑定,再通过指定反转的红-蓝渐变配色方案,实现“绝对值越高颜色越红,越低越蓝”的效果。

完整代码示例

import numpy as np
from matplotlib import pyplot as plt

# 示例numpy数组数据
X = np.array([20,30,50,60])
Y = np.array([25,35,55,65])
Z = np.array([5,6,7,8])
Values = np.array([-8,5,0.8,-1.2])

# 计算Values的绝对值,作为颜色映射的依据
abs_values = np.abs(Values)

fig = plt.figure(figsize=(30, 30))
ax = fig.add_subplot(projection='3d')
# 绑定颜色数据与配色方案,s参数可选,用于调整点的大小
scatter = ax.scatter(X, Y, Z, c=abs_values, cmap='RdBu_r', s=100)

# 添加颜色条,标注颜色对应的数值含义
plt.colorbar(scatter, ax=ax, label='Values的绝对值')

plt.show()

关键参数说明

  • c=abs_values:将每个点的颜色与Values的绝对值关联,数值越大,颜色越偏向配色方案的红色端。
  • cmap='RdBu_r':选择反转的红-蓝渐变配色(默认RdBu是蓝→红渐变,加_r后缀反转后变为红→蓝),完美匹配需求。如果偏好其他渐变风格,可替换为'coolwarm_r'等类似配色。
  • plt.colorbar():添加颜色条,让观看者能直观对应颜色与数值的关系,提升图表可读性。

内容的提问来源于stack exchange,提问作者A.k.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 20:33:19