如何从Branca分段颜色映射中提取各步的十六进制颜色代码?
提取Branca分步颜色映射的十六进制颜色值
原代码与颜色映射图示
代码示例
import branca color_map = branca.colormap.linear.PuRd_09.scale(0, 250) colormap = color_map.to_step(index=[0, 10, 20, 50, 70, 90, 120, 200])
对应颜色映射图示

提取各索引对应的十六进制颜色
可以通过两种简单方式提取目标颜色:
方式1:逐个获取指定索引的颜色
利用colormap.get_hex()方法,传入每个索引值即可得到对应十六进制颜色:
# 定义索引列表 index_list = [0, 10, 20, 50, 70, 90, 120, 200] # 生成索引与颜色的对应字典 color_mapping = {idx: colormap.get_hex(idx) for idx in index_list} print(color_mapping)
方式2:直接获取所有分步颜色列表
分步色卡对象的colors属性会按索引顺序存储所有区间对应的十六进制颜色,直接调用即可:
# 获取所有颜色列表 color_list = colormap.colors print(color_list) # 若需要和索引配对,可打包成字典 color_mapping = dict(zip([0, 10, 20, 50, 70, 90, 120, 200], color_list)) print(color_mapping)
两种方式得到的结果一致,colors属性更高效,适合批量获取所有分步颜色。
内容的提问来源于stack exchange,提问作者Ailurophile
相关产品推荐
相关产品推荐

