做图表的人经常有个误区——盯着图表的”美观度”调样式,但读者关心的是能不能在 3 秒内看懂结论。这篇关注两件事:图表类型怎么选、配色怎么选。
数据意图 → 图表类型决策树
数据要表达什么?
├── 比较多个类别 ──→ 柱图(类别少 + 名短)
│ └→ 条形图(类别多 / 名长)
├── 时间趋势 ──→ 折线图(≤5 条线)
│ └→ 面积图(强调累积总量)
├── 部分占整体 ──→ 堆叠柱图(多类多时段)
│ ├→ 饼图(≤5 类 + 差距明显)
│ ├→ 环形图(同上 + 中央放总数)
│ └→ 树状图(多层级)
├── 数据分布 ──→ 直方图(连续值分箱)
│ ├→ 箱线图(多组 + 异常值)
│ └→ 小提琴图(密度形状)
└── 变量关系 ──→ 散点图(2 变量)
├→ 气泡图(3 变量,第三变量用大小)
└→ 热力图(矩阵相关性)
三大类色板用法
| 色板类型 | 适用 | 代表色板 | 反例 |
|---|---|---|---|
| 分类(Qualitative) | 互无大小的类别(地区、品牌、产品线) | Tableau 10 / Set2 / Paired | 对客户分组用 Viridis |
| 顺序(Sequential) | 有大小的连续值(销量、温度、人口密度) | Blues / Viridis / Magma | 对销量梯度用彩虹 |
| 发散(Diverging) | 有零点 / 中间值(盈亏、温差、偏差) | RdBu / PuOr | 对盈亏用 Viridis(无零点) |
配色具体推荐
分类色板(前 8 个 hex):
Tableau 10:
#4E79A7 #F28E2B #E15759 #76B7B2 #59A14F
#EDC948 #B07AA1 #FF9DA7 #9C755F #BAB0AC
顺序色板(Viridis 9 阶):
#440154 #482878 #3E4A89 #31688E #26828E
#1F9E89 #35B779 #6DCD59 #FDE725
发散色板(RdBu 9 阶):
#67001F #B2182B #D6604D #F4A582 #F7F7F7
#92C5DE #4393C3 #2166AC #053061
Y 轴起点规则
| 图类型 | 起点 |
|---|---|
| 柱图 / 条形图 | 必须从 0 |
| 折线图 | 可不从 0,但要标注 |
| 散点图 / 热力图 | 按数据范围 |
字号 / 层次
| 元素 | 字号 |
|---|---|
| 标题 | 18-24pt |
| 副标题 | 12-14pt |
| 轴标签 | 10-12pt |
| 数据标签 | 8-10pt |
移动端:×1.2-1.5 倍。
标题写法
| 差 | 好 |
|---|---|
| 2025 年各季度销量 | 2025 销量 Q3 起回暖,主推产品贡献 60% |
| 用户活跃度趋势 | 周末活跃度比工作日低 30%,需调整推送策略 |
| 各部门人均产出 | 销售部人均产出第一,是技术部的 2.4 倍 |
原则:标题给结论,副标题给上下文,轴标签给单位。
色盲友好
- 颜色 ≠ 唯一编码——配合形状 / 线型 / 纹理 / 标签
- 避免红绿主导(8% 男性红绿色盲)
- 用 Coblis 模拟测试
数据标签策略
| 场景 | 策略 |
|---|---|
| 柱图 ≤ 10 根 | 全标 |
| 柱图 > 10 根 | 只标头部 + 异常 |
| 折线图 | 标首末 + 极值 |
| 饼图 / 环形图 | 全标(百分比 + 数值) |
| 散点图 | 不标个体,标聚类中心 |
| 热力图 | 单元格内标值 |
常见反模式
- ❌ 用饼图比较 5% vs 6%——肉眼分不清
- ❌ 柱图 Y 轴不从 0——视觉欺骗
- ❌ 双轴图两轴可任意调——制造虚假相关
- ❌ 3D 饼图 / 3D 柱图——透视失真
- ❌ 彩虹色板做顺序数据——非感知线性
- ❌ 折线连接非时序类别——误导成趋势
- ❌ 颜色作唯一编码——色盲不友好
- ❌ 标题写”主题”不写”结论”——读者还要自己看图找重点
实操流程
- 先想”读者最该看出什么结论” → 写到标题里
- 按数据意图选图表类型(决策树)
- 按数据维度选色板类型(分类 / 顺序 / 发散)
- Y 轴 / 字号 / 标签按规则
- 缩到 1/4 大小看缩略图——主标题和趋势还能识别就 OK
- 用色盲模拟器看一遍
- 移动端预览——字号 / 间距是否够大
好图的标准是 3 秒看懂。每多 1 秒解读时间,读者就少 50% 留下来。