我正在用 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')
我不明白为什么颜色范围和我提供的不一样
使用
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()