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

如何用Geopandas按数值为折线着色并添加色标图例?

Geopandas按数值为折线着色并添加色标图例的实现方法

你原来的循环逐个绘制折线的方式没必要,直接借助GeoDataFrame自带的plot方法就能高效实现按数值着色+色标图例的需求,无需手动循环。

核心实现思路

  1. 确保你的shp文件对应的GeoDataFrame中,存在用来定义颜色的数值型列(比如假设列名为score,你需要替换成自己实际的列名)
  2. 利用plot方法的column参数绑定数值列,通过legend=True开启色标图例,同时可自定义颜色映射方案

完整代码示例

import geopandas as gpd
import matplotlib.pyplot as plt

# 读取 shp 文件
line = gpd.read_file("shapefile.shp")

# 创建绘图画布与轴对象(原代码的ax赋值有误,需修正为fig, ax)
fig, ax = plt.subplots(figsize=(10, 6))

# 按数值列着色绘制折线并添加色标图例
line.plot(
    ax=ax,
    column="score",          # 替换为你实际的数值列名
    cmap="viridis",          # 颜色映射方案,可选coolwarm/RdYlBu等
    legend=True,
    legend_kwds={
        'label': "折线对应数值",  # 色标图例的标题
        'orientation': "vertical" # 图例方向:垂直(默认)/水平(horizontal)
    },
    linewidth=2              # 可选:设置折线粗细
)

# 自定义图表标题
ax.set_title("按数值着色的折线分布图")
plt.show()

关键参数说明

  • column:指定驱动颜色映射的数值列,Geopandas会自动根据该列的数值区间分配对应颜色
  • cmap:选择matplotlib内置的颜色映射方案,不同方案适合不同场景(比如冷暖色调、渐变色调)
  • legend_kwds:用来精细化调整图例样式,包括标签文字、显示方向、位置等

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 22:32:01