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

使用Geoplot固定分箱配色 实现多幅地图相同数值对应相同颜色

多地图相同数值统一配色修复方案

问题核心:色阶映射未全局固定,单张地图生成时会自动适配当前数据的极值范围,导致相同数值落入不同分箱区间,对应颜色发生变化。按以下步骤修改即可解决:

  • 提前全局定义统一的分箱阈值、色盘参数,所有地图生成时复用同一组规则,避免参数依赖单张地图的当前数据
  • 在gplt.choropleth中添加vmin、vmax参数锁定色阶上下边界,禁止动态适配单图数据范围
  • 若存在超出设定区间的异常值,可补充设置区间外的颜色映射规则,避免异常值打乱整体配色

修改后的可运行代码示例:

# 全局统一配置,所有地图复用,需调整规则时仅修改此处即可
# 分箱数量要和色盘颜色数量一一对应
FIXED_BINS = [0, 500, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500]
FIXED_CMAP = ListedColormap(['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf'])
# 可选配置:设定超出上下限的数值对应的颜色
# FIXED_CMAP.set_over('#000000')
# FIXED_CMAP.set_under('#ffffff')

# 单张地图生成逻辑
fig, ax = plt.subplots(1, figsize=(20, 20))
ax.axis('off')
Scheme = mc.UserDefined(data[field], bins=FIXED_BINS)

gplt.choropleth(
    data, 
    hue=data[field], 
    linewidth=0.5, 
    scheme=Scheme, 
    legend=True,
    cmap=FIXED_CMAP, 
    ax=ax,
    vmin=FIXED_BINS[0],
    vmax=FIXED_BINS[-1]
)
plt.savefig(file_path+field+'.pdf')
plt.close()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 20:15:00