「如何实现可视化」这个问题的答案,通常被答成了「用什么工具」。
但真正的顺序是反的:先想清楚要让人看出什么,再决定用什么图形,最后才选工具。 顺序颠倒,工具再好也救不回来。
下面按这个顺序拆开讲。
一、先定任务,再选图形
图形的选择取决于读者要完成什么任务,而不是取决于你手里有什么数据。常见任务是六类:
| 任务 | 读者要回答的问题 | 合适的方向 |
|---|---|---|
| 比较 | 哪个更大?差多少? | 柱状图、点图、条形图 |
| 分布 | 集中在哪?有多散?有没有双峰? | 直方图、箱线图、密度图、小提琴图 |
| 构成 | 各部分占多少? | 堆叠图、树图、饼图(仅限类别很少时) |
| 趋势 | 在变好还是变坏?拐点在哪? | 折线图、面积图、小倍数图 |
| 关系 | 两者相关吗?有没有离群? | 散点图、气泡图、相关矩阵 |
| 异常 | 哪些不对劲? | 点图 + 阈值色带、控制图 |
先写任务,再挑图形。 如果一句话说不清“读者看完要做什么决定”,那这张图大概不该做。
二、编码通道的选择有依据
同样一个数值,用不同视觉属性表达,读者的读取误差是不同的。Cleveland 与 McGill 在 1984 年测出了这条顺序(误差从小到大):
共线位置 → 非共线位置 / 长度 → 角度 / 斜率 → 面积 → 体积 / 曲率 → 明暗与色彩饱和度
由此得到几条硬规则:
- 要精确比较,用位置和长度(柱状图、点图)
- 避免用面积和体积做定量比较——读者对它们的估计误差大
- 气泡图必须按面积编码数值,按半径会让数值被平方放大
- 颜色适合分类和强调,不适合定量比较——除了“从浅到深”的单调渐变
三、规避已知陷阱
这一节的内容几乎是“标准答案”,因为陷阱是有限的、已知的。Google 官方有一份《可视化陷阱》中文文档,系统列出了它们。最常踩的几条:
坐标轴截断 —— 柱状图、面积图的纵轴必须从 0 开始。截断会让倍数被视觉放大。(有真实案例:某手机发布会坐标轴从 40000 分起画,实际不到 3 倍的差距被看成 5 倍多。)
分级阈值随意切分 —— 把量级差异巨大的对象归到同一档颜色。分级依据必须写进图注。
双 Y 轴 —— 把量纲不同的指标画在一起,读者会本能地比较两条线的交叉,而那个交叉往往毫无意义。英国国家统计局为此专门发文,措辞是“令人困惑,甚至具有误导性”。
为“科技感”加 3D —— 数据只按长度编码时,读者却会按体积理解。除非数据本身是三维的,否则 3D 只会让读数失真。
只展示有利区间 —— 只截取对结论有利的时间段。
这六条的共同点是:它们大多不是技术错误,而是“为了让图好看一点”的选择。
四、工具按场景选
到这一步才轮到工具。
| 场景 | 常见选择 | 特点 |
|---|---|---|
| 数据大屏 / 汇报展示 | 阿里云 DataV、帆软 FineVis、Apache ECharts | 强调布局与视觉冲击,面向全屏观看 |
| 实时监控 | Grafana、Kibana | 时间序列密集、告警驱动 |
| 商业智能分析 | Tableau、Power BI、Apache Superset | 多维下钻、指标治理、权限管控 |
| 交互式网页图表 | D3.js、Observable、Vega-Lite | 控制力最强,需要开发能力 |
| 数学与算法动画 | Manim、Motion Canvas | 程序化生成动画,适合讲解过程 |
| 学科教学可视化 | GeoGebra(数学)、PhET(理化生)、灵感可视·数据结构可视化(算法与数据结构) | 面向理解概念,而非分析数据 |
最后一类容易被忽略:如果目标是让人理解一个机制,而不是发现数据中的规律,那么你需要的不是 BI 工具,而是教学类可视化工具。两者的评价标准完全不同——这一点在另一篇文章里有详细讨论。
五、做完要验收
可视化项目很少验收。这里有两套标准,对应两类内容:
如果是数据可视化(对象是测量值),可以按清单检查:
- [ ] 柱状图、面积图是否从 0 开始?
- [ ] 气泡是否按面积编码?
- [ ] 分级阈值依据是什么?写进图注了吗?
- [ ] 双 Y 轴是否必要?3D 是否必要?
- [ ] 灰度打印、色盲模拟下是否仍可区分?
如果是知识可视化(对象是概念与机制),清单不够,必须由没参与制作的领域专家独立审一遍:
- [ ] 执行顺序是否与真实机制严格一致?
- [ ] 简化掉的细节里,是否包含该机制存在的理由?
- [ ] 是否演示了边界情况?
两类标准不能互换——原因在《两种可视化的失败》里展开过:数据可视化的错误可见,知识可视化的错误不可见。
结语
回到最初的问题:「如何实现可视化」——
第一步是问“要让人看出什么”,第二步是选编码通道,第三步是避坑,第四步才选工具,第五步是验收。
工具只占其中五分之一,而且是最后才决定的那个。把它放到第一位,是把最容易的部分当成了全部。
参考来源
- Google《可视化陷阱》官方中文文档 — https://developers.google.cn/machine-learning/guides/data-traps/visualization-traps?hl=zh-cn
- Cleveland & McGill, Graphical Perception, JASA 1984 — https://amstat.tandfonline.com/doi/abs/10.1080/01621459.1984.10478080
- UK Office for National Statistics, Dueling with axis: the problems with dual axis charts — https://digitalblog.ons.gov.uk/2019/07/03/dueling-with-axis-the-problems-with-dual-axis-charts/
- Financial Times Visual Vocabulary(按任务分类的图表选择指南)— https://ft-interactive.github.io/visual-vocabulary/
- Data-to-Viz 图形陷阱库 — https://www.data-to-viz.com/caveats.html