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

它是什么,与为何重要
分级设色地图(Choropleth)是用色彩明度/饱和度的梯度在面状单元(如省、市、区、县、栅格聚合区)上表达统计变量强弱的专题地图。它适合表达比率、密度、比例、指数等归一化指标(如人均收入、每十万人发病率、每平方公里密度)。
- 适合:比例/比率型数据、空间单元边界明确的对象、跨区域对比。
- 不适合:原始计数(未标准化)、连续表面(如海拔、温度——这类更适合等值线或分层设色地形图)。
- 价值:降低认知负担,快速找出空间聚集与异常,为政策沟通与决策服务。
术语提示:分层设色地形图(Hypsometric tints)用色带表达连续地形高程,与分级设色地图在数据性质与着色逻辑上不同,请勿混淆。
数据准备与归一化
地图好不好,50% 决定于数据处理。遵循“先正名后着色”的原则:
- 明确统计对象:变量名称、时间、口径、单位、空间边界版本(如行政区 2021 vs 2023)。
- 归一化:尽量转为比率/密度。示例:
- 人均值:总量 ÷ 常住人口
- 强度/密度:总量 ÷ 面积(或栅格计数 ÷ 区域面积)
- 结构比例:子项 ÷ 总项
- 稳健化处理:极端值可视情况做对数变换、Winsorize(如顶端/底端 1% 夹紧)或使用稳健统计(中位数、IQR)。
- 缺失值策略:标注为“无数据/不适用”,单独样式显示,切勿与最低档混为一谈。
- 空间连接:将统计表与面要素通过唯一键(如区划代码)连接,核对连接完整性与重复键。
- 投影与尺度:用于绘图的投影要与输出用途匹配(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+)
- 加载数据:图层 → 添加图层 → 矢量图层;加载面要素与统计表。
- 表连接:右键面图层 → 属性 → 连接 → 选择键字段(如 adcode)。核对连接率。
- 字段计算:属性表 → 字段计算器,生成比率/密度字段(保留小数位)。
- 设色:图层样式 → 符号系统 → 分级;选择数值字段、分级方法(自然间断/分位数等)、类数 5–6;色带选 Brewer 系列。
- 图例与数值格式:点击“分类”后手动微调断点;格式设置千分位与单位,缺失值单独样式(灰/斜线填充可用图案填充)。
- 标注与导出:版面管理器设置标题、数据来源、坐标与比例尺;导出为 SVG/PDF/PNG(矢量优先)。
ArcGIS Pro
- 添加数据并确保坐标系一致;使用 Join 将统计表关联到面要素。
- 字段计算器计算比率/密度;图层 → Symbology → Graduated Colors。
- 选择字段、Method(Natural Breaks/Quantile/Equal Interval/Std. Deviation)、Classes 5–6、Color Scheme 选 Brewer。
- 编辑断点与标签格式;Advanced Symbol Options 设置边界线与透明度。
- 布局视图添加必要元数据与来源,导出矢量图。
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;提升明度差 |
| 边界视觉过强 | 高对比线色 | 减细、降低饱和度;必要时半透明 |
与分层设色地形图的取舍
- 连续表面(高程、温度、雨量):优先栅格可视化(等值线+色带或分层设色地形图)。
- 行政统计(收入、比率、指数):优先分级设色;如内部异质性强,可辅以小尺度网格或蜂窝聚合。
从“为何”到“如何”的简明路径
- 正名:把计数变比率,把口径说清楚。
- 试分级:用 5–6 档在分位数/自然间断之间切换对比。
- 配色:选择单调明度的顺序或发散色带,并通过色盲模拟检视。
- 标注:断点、单位、来源、时间,一个都不能少。
- 复核:跨方法稳定性、异常值追因、打印兼容性。
参考文献
- 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)。
相关文章
-
空间建模与应用技术就业前景解析,空间建模入门指南 2025-09-27 11:01:10
-
空间建模是什么意思?空间建模入门全解析 2025-09-27 10:36:44
-
空间建模入门指南:从空间建模基础到实用解析 2025-09-27 10:18:02
-
mac qgis黑屏问题解析,mac qgis入门及常见疑难解答 2025-09-27 10:13:16
-
QGIS入门指南:qgis是做什么的、qgis下载安装及qgis怎么设置中文 2025-09-27 09:41:22
-
gis录入入门指南:GIS录入是什么及GIS文件录入规范解析 2025-09-27 08:48:41
-
mac qgis指南:qgis mac malware等常见问题全解答 2025-09-27 08:36:27
-
空间建模与应用技术全解,空间建模入门必看 2025-09-27 08:34:46
-
空间建模软件解析,空间建模入门全攻略 2025-09-27 08:30:03
-
mac qgis入门指南:mac qgis黑屏等常见问题解析 2025-09-27 08:25:45
-
mac qgis指南(含:qgis for mac m1下载地址) 2025-09-27 07:47:30
-
gis空间建模案例详解,全面掌握gis空间建模精髓 2025-09-27 07:35:01
-
mac qgis入门指南:mac gis与qgis download for mac解析 2025-09-27 07:12:39
-
空间建模软件哪个好用?空间建模入门全解析 2025-09-27 06:45:53
-
空间建模感悟解析,空间建模入门必读指南 2025-09-27 06:11:56
-
mac qgis指南:qgis mac malware、qgis mac not opening等全解 2025-09-27 06:05:06
-
gis空间建模入门指南,从gis做空间分析讲解 2025-09-18 08:22:30
-
空间建模与应用技术专业详解,空间建模入门必读 2025-09-18 07:48:01
-
gis空间建模工具全面解析,轻松掌握gis空间建模入门 2025-09-18 04:46:43
-
gis空间建模入门指南,从gis 建模基础讲解到实操 2025-09-18 04:41:56
热门标签
最新资讯
2025-09-28 10:30:49
2025-09-27 11:01:10
2025-09-27 10:36:44
2025-09-27 10:18:02
2025-09-27 10:13:16
2025-09-27 09:41:22
2025-09-27 08:48:41
2025-09-27 08:36:27
2025-09-27 08:34:46
2025-09-27 08:30:03