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

如何修改图例使其与已创建的250m、500m缓冲区匹配?

不同工具下的图例自定义方案

Python(Geopandas + Matplotlib 场景)

建议先对原始距离字段做重分类后再绘图,自动生成符合要求的4类图例,操作稳定性高于直接修改已生成的图例,参考代码如下:

import geopandas as gpd
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

# 替换为自己的空间数据文件路径,distance为存储距离值的字段名
gdf = gpd.read_file("your_buffer_file.shp")

# 配置重分类规则
bins = [-np.inf, 250, 500, np.inf]
labels = ["0-250m", "250-500m", "500m以上"]
gdf["buffer_class"] = pd.cut(gdf["distance"], bins=bins, labels=labels, include_lowest=True)
# 补充缺失数据分类
gdf["buffer_class"] = gdf["buffer_class"].cat.add_categories("缺失数据").fillna("缺失数据")

# 绘图时直接使用重分类后字段,图例自动匹配4类
fig, ax = plt.subplots(figsize=(10, 10))
gdf.plot(
    column="buffer_class",
    cmap="RdYlBu_r",
    legend=True,
    ax=ax
)
plt.show()

如果已经完成绘图仅需修改图例,可直接调用legend方法手动覆盖图例配置:

# 手动替换图例条目
handles, old_labels = ax.get_legend_handles_labels()
ax.legend(
    handles=handles[:4],
    labels=["0-250m", "250-500m", "500m以上", "缺失数据"],
    title="缓冲区范围"
)

ArcGIS 场景

  • 栅格数据可使用重分类(Reclassify)工具,矢量数据可使用字段计算器,按照需求的4类规则生成新的分类字段
  • 打开图层属性的「符号系统」选项卡,选择唯一值渲染模式,绑定新生成的分类字段,即可自动生成对应图例
  • 若仅需调整现有图例,可在布局视图右键点击图例,选择「转换为图形」,解散分组后手动删除多余条目、修改标签文本即可

QGIS 场景

  • 优先使用字段计算器生成分类字段,参考表达式:
    CASE
      WHEN "distance" <= 250 THEN '0-250m'
      WHEN "distance" <= 500 THEN '250-500m'
      WHEN "distance" > 500 THEN '500m以上'
      ELSE '缺失数据'
    END
    
  • 打开图层属性的「符号化」面板,渲染类型选择「分类」,绑定上述新建的分类字段,点击「分类」即可自动生成4类图例
  • 也可直接在符号化面板手动添加4个分类条目,分别配置对应阈值、符号和标签即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 11:09:03