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

Python中Geopandas地图自定义颜色映射未正确显示问题

Geopandas地图颜色不符合预期的解决办法

问题原因

你用plot(column='color')时,Geopandas不会直接使用color列里的颜色字符串,而是把这些字符串当作分类标签,自动从默认色盘分配颜色,这就是红黄绿配色没生效的原因。

解决方法一:直接传入颜色列表

不用把颜色存为列,生成颜色列表后直接传给color参数:

def color_mapping(row):
    if row['pedidos_venta'] > 10000:
        return 'green'
    elif row['pedidos_venta'] > 2000:
        return 'yellow'
    else:
        return 'red'

# 生成对应每个要素的颜色列表
colors = mapa_pedidos_venta.apply(color_mapping, axis=1).tolist()
# 用color参数指定颜色,而非column
mapa_pedidos_venta.plot(color=colors)

解决方法二:基于数值列自定义颜色映射

直接用pedidos_venta数值列,配合自定义色盘和分界规则:

import matplotlib.colors as mcolors

# 定义颜色和分界点
custom_cmap = mcolors.ListedColormap(['red', 'yellow', 'green'])
value_bounds = [0, 2000, 10000, float('inf')]
norm = mcolors.BoundaryNorm(value_bounds, custom_cmap.N)

# 基于数值列绘图,应用自定义映射
mapa_pedidos_venta.plot(column='pedidos_venta', cmap=custom_cmap, norm=norm)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 06:12:25