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

在matplotlib中如何基于给定数值列表和对应十六进制颜色值生成色阶条

自定义数值-颜色映射色阶条生成方案

以下是基于Python Matplotlib库的实现方案,可直接用你提供的数值和颜色生成精准对应的色阶条:


可直接运行的实现代码

import matplotlib.pyplot as plt
import matplotlib.colors as mcolors
import numpy as np

# 你提供的数值与对应十六进制颜色列表
vals = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 49, 50, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63, 65, 66, 67, 69, 78, 81, 84, 91, 139, 187, 203, 296]
cols = ['#b3b3b3', '#fefe6d', '#fefb6a', '#fefb6a', '#fefb6a', '#fef968', '#fef968', '#fef968', '#fef665', '#fef665', '#fef665', '#fef462', '#fef462', '#fef462', '#fef25f', '#fef25f', '#fef25f', '#fef05c', '#fef05c', '#fef05c', '#feed5a', '#feed5a', '#feed5a', '#feeb57', '#feeb57', '#feeb57', '#fee954', '#fee954', '#fee954', '#fee751', '#fee751', '#fee751', '#fee54f', '#fee54f', '#fee54f', '#fee34c', '#fee34c', '#fee34c', '#fee149', '#fee149', '#fee047', '#fee047', '#fede44', '#fede44', '#fede44', '#fedc42', '#fedc42', '#feda3f', '#feda3f', '#fed83d', '#fed83d', '#fed83d', '#fed63b', '#fed63b', '#fed438', '#fed438', '#fed438', '#fed236', '#fed236', '#fed236', '#fed034', '#fed034', '#fece31', '#fece31', '#fec82b', '#fec529', '#fec327', '#febd22', '#fc940d', '#ec6504', '#de5502', '#652200']

# 构建自定义离散颜色映射
cmap = mcolors.ListedColormap(cols)
# 生成数值边界,保证每个数值区间对应唯一颜色,避免插值偏差
bounds = np.append(vals, vals[-1] + 1)
norm = mcolors.BoundaryNorm(bounds, cmap.N)

# 绘制色阶条
fig, ax = plt.subplots(figsize=(12, 1))
fig.subplots_adjust(bottom=0.5)
# 隐藏无关坐标轴
ax.set_axis_off()
# 生成色阶条,可自行调整ticks参数控制刻度显示密度
cb = fig.colorbar(plt.cm.ScalarMappable(norm=norm, cmap=cmap),
                 cax=ax,
                 orientation='horizontal',
                 ticks=vals[::10],
                 label='对应数值')
plt.show()

关键参数说明

  • ListedColormap会直接按你给出的颜色列表生成专属色板,不会修改原始颜色值
  • BoundaryNorm实现离散数值到对应颜色的精准绑定,不会出现自动插值导致的颜色偏移
  • 你可以自行修改ticks参数,传入自定义刻度列表调整色阶条上显示的刻度数量,避免刻度拥挤

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 07:15:00