首页 GIS基础理论 分级设色地图怎么做?怎么画?(附:设色原则与判读原则)

分级设色地图怎么做?怎么画?(附:设色原则与判读原则)

作者: GIS研习社 更新时间:2025-09-01 10:56:31 分类:GIS基础理论

作为长期从事空间分析与制图的导师,我常被问到:统计数据繁杂、区域划分众多,如何把数值转换成人人一眼能读懂的地图?我将以 Dr.gis 的实践视角,系统讲清楚原理、设计要点与可操作流程,帮助你稳定产出高质量专题地图。

分级设色地图怎么做?怎么画?(附:设色原则与判读原则)

它是什么,与为何重要

分级设色地图(Choropleth)是用色彩明度/饱和度的梯度在面状单元(如省、市、区、县、栅格聚合区)上表达统计变量强弱的专题地图。它适合表达比率、密度、比例、指数等归一化指标(如人均收入、每十万人发病率、每平方公里密度)。

  • 适合:比例/比率型数据、空间单元边界明确的对象、跨区域对比。
  • 不适合:原始计数(未标准化)、连续表面(如海拔、温度——这类更适合等值线或分层设色地形图)。
  • 价值:降低认知负担,快速找出空间聚集与异常,为政策沟通与决策服务。
术语提示:分层设色地形图(Hypsometric tints)用色带表达连续地形高程,与分级设色地图在数据性质与着色逻辑上不同,请勿混淆。

数据准备与归一化

地图好不好,50% 决定于数据处理。遵循“先正名后着色”的原则:

  1. 明确统计对象:变量名称、时间、口径、单位、空间边界版本(如行政区 2021 vs 2023)。
  2. 归一化:尽量转为比率/密度。示例:
    • 人均值:总量 ÷ 常住人口
    • 强度/密度:总量 ÷ 面积(或栅格计数 ÷ 区域面积)
    • 结构比例:子项 ÷ 总项
  3. 稳健化处理:极端值可视情况做对数变换、Winsorize(如顶端/底端 1% 夹紧)或使用稳健统计(中位数、IQR)。
  4. 缺失值策略:标注为“无数据/不适用”,单独样式显示,切勿与最低档混为一谈。
  5. 空间连接:将统计表与面要素通过唯一键(如区划代码)连接,核对连接完整性与重复键。
  6. 投影与尺度:用于绘图的投影要与输出用途匹配(Web 推荐 Web Mercator;面积分析推荐等积投影)。
# Python/GeoPandas 示例(归一化 + 连接 + 分级)
import geopandas as gpd
import pandas as pd
import mapclassify as mc

g = gpd.read_file("china_county.shp").to_crs(3857)
t = pd.read_csv("county_stats.csv")  # 包含 county_code, cases, pop_2023

g = g.merge(t, left_on="adcode", right_on="county_code", how="left")
g["rate_per_100k"] = (g["cases"] / g["pop_2023"]) * 1e5

# 建议:对偏态数据可做对数变换用于分级,但图例需标注“对数刻度”
# g["rate_log"] = np.log1p(g["rate_per_100k"])

nb = mc.NaturalBreaks(g["rate_per_100k"].fillna(0), k=5)
g["class"] = nb.yb  # 0..k-1
print(nb.bins)  # 断点

分类方法与选择

颜色分级决定读图暗示与结论倾向。常见方法与适用性如下:

方法适用场景优点风险与注意
等距(Equal Interval)范围均匀、业务阈值等距简单直观,便于比较数据偏态时大量集中在某一档,视觉失真
分位数(Quantile)希望每档对象数量接近保持每档数量均衡,视觉分布均匀断点受排序影响,相近值可能被硬切分
自然间断(Jenks)存在明显簇与间隙类内差异小、类间差异大对极值敏感,类数变化会改变断点,需复核
标准差(Std. Dev.)相对均值的偏离;近似正态适合双向偏离,便于用发散色带偏态/长尾数据不适用,需检测分布
自定义/业务阈值政策标准、行业门槛利于沟通与落地阈值需注明来源与年份,保持一致性
  • 类数建议:5±2 档最易读;网络端 5–6 档、印刷端 6–7 档。
  • 稳健性复核:切换 2–3 种方法,观察热点是否稳定;报告断点数值与方法,支持可复现。
  • 评估指标:自然间断可参考 GVF(方差拟合优度);分位数关注每档样本量是否过少。

配色与感知原则

  • 单调明度优先:确保从低到高明度单调变化,避免彩虹色带造成顺序误读。
  • 匹配变量类型:
    • 单向递增(如密度、风险等级)→ 顺序色带(如 YlOrRd、PuBu)
    • 相对均值的双向偏离(如增长率±)→ 发散色带(如 RdBu、BrBG),零/均值居中
  • 色觉友好:优先 ColorBrewer 的色带;如需更稳健,选 Cividis 或 Okabe–Ito 调色。
  • 背景与边界:底图低对比(浅灰),行政边界用细实线、低饱和度;避免干扰信息层。
  • 语义一致:高值常用更深/更暖;全片系保持一致语义,跨图一致。
顺序示意(明度从浅到深):
░  ▒  ▓  █  ▉
用字符明度示意色带递进:由浅至深代表数值从低到高

判读原则与常见偏误

  • 先读图例再读图面:确认变量、单位、分级方法与断点;最高档是否被过度强调。
  • 关注异常与孤岛:异常区域需回查数据来源、时间或口径变化。
  • 避免生态谬误:面单位的平均并不代表个体;必要时辅以散点或小提琴图(报告中呈现)。
  • MAUP 问题:不同聚合尺度会改变空间模式;跨尺度比较需谨慎。
  • 计数 vs 比率:尽量避免直接映射计数;如必须,考虑同时展示人口底盘信息或改用点密度。

在主流软件中的实操流程

QGIS(推荐版本 3.22+)

  1. 加载数据:图层 → 添加图层 → 矢量图层;加载面要素与统计表。
  2. 表连接:右键面图层 → 属性 → 连接 → 选择键字段(如 adcode)。核对连接率。
  3. 字段计算:属性表 → 字段计算器,生成比率/密度字段(保留小数位)。
  4. 设色:图层样式 → 符号系统 → 分级;选择数值字段、分级方法(自然间断/分位数等)、类数 5–6;色带选 Brewer 系列。
  5. 图例与数值格式:点击“分类”后手动微调断点;格式设置千分位与单位,缺失值单独样式(灰/斜线填充可用图案填充)。
  6. 标注与导出:版面管理器设置标题、数据来源、坐标与比例尺;导出为 SVG/PDF/PNG(矢量优先)。

ArcGIS Pro

  1. 添加数据并确保坐标系一致;使用 Join 将统计表关联到面要素。
  2. 字段计算器计算比率/密度;图层 → Symbology → Graduated Colors。
  3. 选择字段、Method(Natural Breaks/Quantile/Equal Interval/Std. Deviation)、Classes 5–6、Color Scheme 选 Brewer。
  4. 编辑断点与标签格式;Advanced Symbol Options 设置边界线与透明度。
  5. 布局视图添加必要元数据与来源,导出矢量图。

Python/GeoPandas(自动化与可复现)

import geopandas as gpd
import mapclassify as mc
import matplotlib.pyplot as plt

g = gpd.read_file("china_county.shp").to_crs(3857)
# 已包含 rate_per_100k 字段
ax = g.plot(
    column="rate_per_100k",
    scheme="NaturalBreaks",
    k=5,
    cmap="YlOrRd",
    linewidth=0.2,
    edgecolor="#f0f0f0",
    legend=True,
    legend_kwds={"loc": "lower left", "title": "每10万人"}
)
plt.title("某指标空间分布(自然间断,5档)")
plt.tight_layout()
plt.savefig("map.svg")  # 矢量优先

质量检查清单

  • 变量是否为比率/密度?单位是否明确?时间是否一致?
  • 分级方法与类数是否合适?断点是否可解释、是否标注清楚?
  • 色带是否单调明度、色觉友好?背景与边界是否不干扰主体?
  • 缺失值、为零与极端值是否被清楚区分?
  • 图例标题、来源、注记(如“断点基于自然间断”)是否完整?
  • 跨版本/不同屏幕是否稳定显示?打印测试是否通过?

典型难题与对策

问题成因对策
多数区域颜色近似长尾分布 + 等距分级改用自然间断/分位数;或对数变换后分级
“热点”随类数变化而漂移方法敏感交叉验证多方法;固定关键业务阈值做混合分级
读者误将计数当强度未归一化转为比率/密度;或改用比例符号地图
色带在色盲用户不可读依赖红绿对比改用蓝–橙、紫–绿或 Cividis;提升明度差
边界视觉过强高对比线色减细、降低饱和度;必要时半透明

与分层设色地形图的取舍

  • 连续表面(高程、温度、雨量):优先栅格可视化(等值线+色带或分层设色地形图)。
  • 行政统计(收入、比率、指数):优先分级设色;如内部异质性强,可辅以小尺度网格或蜂窝聚合。

从“为何”到“如何”的简明路径

  1. 正名:把计数变比率,把口径说清楚。
  2. 试分级:用 5–6 档在分位数/自然间断之间切换对比。
  3. 配色:选择单调明度的顺序或发散色带,并通过色盲模拟检视。
  4. 标注:断点、单位、来源、时间,一个都不能少。
  5. 复核:跨方法稳定性、异常值追因、打印兼容性。

参考文献

  • Brewer, C. A. ColorBrewer 2.0
  • ArcGIS Pro Help: Graduated Colors
  • QGIS 用户手册:分级符号
  • mapclassify 文档
  • Jenks, G.F. (1967). The Data Model Concept in Statistical Mapping
  • Esri: Colorblind-friendly Mapping
  • Spatial Analysis Online(MAUP 与空间统计)

结语

要点回顾:用对数据类型(比率/密度优先)、选对分级方法(5–6 档,交叉验证)、配对色带(单调明度、色觉友好)、图例清晰可复现。按本指南的流程,你可以把复杂数字稳健地转译为可读、可信、可复核的空间叙事。

如果你在具体业务中遇到数据偏态、阈值设置或审稿要求等难题,欢迎留言讨论:你最常用的分级策略是什么?在何种场景下会选择自定义断点?更多系统化课程与范例,可关注 GIS研习社(gisyxs.com)。

相关文章