Map 无法在 Python 中使用 geopandas 正确检测颜色

问题描述 投票:0回答:1

我正在用 geopandas 创建地图,其颜色由某些条件确定。但是,我的代码在颜色方面无法正常工作:红色、黄色和绿色。这是我试过的:


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


mapa_pedidos_venta['color'] = mapa_pedidos_venta.apply(color_mapping, axis=1)
mapa_pedidos_venta.plot(column = 'color')

尽管如此,我的结果是这样的:

我不明白为什么颜色范围和我提供的不一样

python pandas geopandas
1个回答
0
投票

使用

ListedColormap
创建自定义颜色图并将其与“颜色”列一起绘制:

import geopandas as gpd
import matplotlib.pyplot as plt
from matplotlib.colors import ListedColormap



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


mapa_pedidos_venta['color'] = mapa_pedidos_venta.apply(color_mapping, axis=1)
mapa_pedidos_venta.plot(column = 'color')

# create a custom color map
cmap = ListedColormap(['red', 'yellow', 'green'])

# plot map using 'color' column and custom color map
fig, ax = plt.subplots(figsize=(10, 6))
df.plot(column='color', cmap=cmap, ax=ax)
plt.show()
© www.soinside.com 2019 - 2024. All rights reserved.