3、可视化基础:视觉编码原理、感知与认知、图表类型选择

各位好,我是老张。这一章咱们聊聊可视化的地基——视觉编码。说实话,我见过太多人一上来就选图表,结果做出来的东西要么看不懂,要么误导人。这就像盖楼不打地基,早晚要塌。

我个人习惯是,拿到数据先别急着画图。先想清楚:我要传递什么信息?观众是谁?然后才是怎么画。今天咱们就把这套逻辑捋清楚。

3.1 视觉编码原理:把数据变成眼睛能看懂的东西

视觉编码,说白了就是把数据映射到视觉元素上。比如数字大小映射成柱子的高度,类别映射成颜色。这个映射做得好,一眼就能看懂;做得不好,看图比看表格还累。

视觉编码有两个核心要素:标记视觉通道

  • 标记:就是图上那些看得见的东西。点、线、面、体。比如散点图用点,折线图用线,热力图用面。
  • 视觉通道:控制标记怎么显示。位置、大小、颜色、形状、方向、纹理等等。

举个例子。你有一组销售数据,每个城市一个销售额。你可以用柱子的高度(大小通道)表示销售额,也可以用颜色深浅(颜色通道)表示。哪个更好?嗯,这里要注意:人对位置的感知最敏感,其次是长度,最后才是颜色。所以柱状图通常比色块图更直观。

核心原则:数据越重要,越要用高精度的视觉通道。位置 > 长度 > 角度 > 面积 > 体积 > 颜色饱和度 > 颜色色相。

我在项目中遇到过一件事。有个同事用气泡图展示数据,气泡大小表示销售额。结果几个大泡泡把小的全挡住了,根本看不清。这就是典型的「面积感知不靠谱」——人眼对面积的判断误差很大,两个面积差一倍的东西,你看着可能只差30%。

3.2 感知与认知:你的眼睛会骗你

为什么会这样?因为人的视觉系统不是照相机。它有自己的「偏见」和「捷径」。心理学上叫感知偏差。做可视化,必须了解这些坑。

我挑几个最常见的说说。

3.2.1 格式塔原则

这是视觉感知的底层规律。简单说,人眼会自动把零散的元素组织成整体。

  • 接近性:靠得近的东西,会被认为是一组。所以图表里的图例要靠近对应的图形,别放太远。
  • 相似性:长得像的东西,会被认为是一类。所以同一类数据用同一种颜色,别乱换。
  • 连续性:眼睛会顺着线条走。所以折线图比散点图更容易看出趋势。
  • 闭合性:即使图形不完整,大脑也会自动补全。所以有些图表可以适当留白。
我的小技巧:做图表时,把图例直接放在图形旁边,而不是堆在右上角。这样观众不用来回扫视,一眼就能对应上。这叫「接近性」的应用。

3.2.2 颜色感知的坑

颜色这块水很深。我简单说几个关键点。

第一,色盲问题。大约8%的男性有某种形式的色盲。红绿色盲最常见。所以别只用红绿来区分重要信息。我习惯加一个形状或者纹理作为辅助通道。

第二,颜色数量。人眼能同时分辨的颜色有限。一般建议不超过7种。超过这个数,观众就开始犯晕了。我曾经见过一个图用了12种颜色,看完只想问:这到底是彩虹还是数据?

第三,颜色顺序。连续数据用渐变色,分类数据用离散色。别搞混了。比如温度从低到高,用蓝到红渐变,这是对的。但如果你把城市名用渐变色表示,那就莫名其妙了。

避坑指南:我曾经用过一个彩虹色阶表示海拔高度,结果低海拔区域和高海拔区域颜色太接近,根本分不清。后来换成蓝-绿-棕-白的经典色阶,问题就解决了。记住:彩虹色阶虽然好看,但感知上并不均匀,容易误导。

3.3 图表类型选择:选对了,事半功倍

好,现在咱们聊聊实战。拿到数据,到底选什么图?

我一般把图表分成几大类,每类解决一类问题。

数据类型 要回答的问题 推荐图表 不推荐
数值比较 A比B大多少? 柱状图、条形图 饼图(除非只有2-3项)
趋势变化 随时间怎么变? 折线图、面积图 柱状图(数据点太多时)
分布情况 数据集中在哪? 直方图、箱线图、密度图 饼图
相关性 两个变量有关系吗? 散点图、气泡图 折线图(非时间序列)
组成结构 各部分占比多少? 堆叠柱状图、饼图(慎用) 3D饼图(永远别用)
地理分布 数据在哪? 地图、热力图 普通散点图(位置不准)

你想想看,这个表格其实就覆盖了90%的日常需求。每次做图前,先问自己:我要回答哪个问题?然后从表里选一个。

但这里有个坑:很多人喜欢用饼图。说实话,饼图除了展示「部分占整体」且类别很少(3-5个)的情况,其他时候都不太合适。人眼对角度和面积的判断误差很大。两个饼图切片,一个30%一个35%,你肉眼根本分不清。换成柱状图,高下立判。

3.4 知识体系总览

说了这么多,咱们用一张图把本章的核心逻辑串起来。我手绘了一个结构图,你看看。

可视化基础:从数据到视觉 视觉编码原理 感知与认知 图表类型选择 标记(点、线、面) 视觉通道(位置、大小、颜色) 精度排序:位置 > 长度 > 颜色 格式塔原则 颜色感知与色盲 感知偏差与避坑 比较类:柱状图 趋势类:折线图 分布/相关:散点图、箱线图 核心逻辑:数据 → 问题 → 视觉编码 → 图表选择 先想清楚要回答什么问题,再选视觉通道和图表类型 记住:好的可视化不是画得漂亮,而是让观众一眼看懂数据想说什么

这张图把咱们这章的核心逻辑串起来了。从左到右,从原理到实践。你每次做图前,可以拿这个图过一遍:编码对不对?感知有没有坑?图表选没选对?

3.5 实战建议:从理论到代码

最后,我分享一个我自己的实战流程。假设你拿到一份数据,要做一个可视化报告。

  1. 明确问题:我要回答什么?是「哪个产品卖得好」还是「销量随时间怎么变」?
  2. 选图表类型:根据上面的表格,选一个最合适的。
  3. 定视觉编码:最重要的数据用位置或长度表示,次要的用颜色或形状。
  4. 检查感知偏差:颜色有没有歧义?图例位置对不对?有没有误导的可能?
  5. 迭代优化:画出来给同事看一眼,问他们第一眼看到了什么。如果和你想的不一样,改。

嗯,这套流程我用了好多年,基本没翻过车。你试试看。

一个小工具推荐:如果你不确定某个图表类型是否合适,可以用 Vega-Lite 或者 Observable Plot 快速画个草图。它们语法简洁,几分钟就能出图。我经常用它们做原型验证。

好了,这一章就到这里。记住:可视化不是艺术创作,是信息传递。你的每一个视觉选择,都在影响观众的理解。选对了,数据会说话;选错了,数据会骗人。


公众号:蓝海数据掘金营,微信deep3321