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

如何在Geopandas绘图中自定义Colorbar的数值边界?

自定义Geopandas地图色条范围的解决方案

要固定色条的数值范围为0到3e7,核心是结合vmin/vmax锁定颜色映射范围,再用legend_kwds调整色条显示细节,无需单独调用plt.colorbar()。直接修改你的代码即可:

# 假设world是已加载的GeoDataFrame
world['gdp_per_cap'] = world.gdp_md_est / world.pop_est

# 绘制带自定义色条的地图
ax = world.plot(
    column='gdp_md_est',
    legend=True,
    vmin=0,          # 颜色映射最小值
    vmax=3e7,        # 颜色映射最大值
    legend_kwds={
        'label': 'GDP (百万美元)',  # 色条的说明标签
        'shrink': 0.7,             # 缩小色条占比,避免遮挡地图
        'extend': 'max',            # 对超过3e7的数值显示延伸箭头
        'ticks': [0, 1e7, 2e7, 3e7] # 自定义色条刻度
    }
)

# 可选:添加地图标题
ax.set_title('全球GDP分布(百万美元)')
plt.show()

关键参数说明:

  • vmin/vmax:强制把颜色映射的数值范围固定在0到3e7,不管数据中的实际最大值/最小值,确保色条范围完全符合你的需求。
  • legend_kwds:所有传入这里的参数都会直接传递给自动生成的matplotlib色条,用来调整标签、刻度、大小等样式。
  • 不需要额外调用plt.colorbar(),因为Geopandas的plot函数在legend=True时已经自动创建了色条,所有配置都可以通过legend_kwds完成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 18:20:57