这是我参与「第四届青训营 」笔记创作活动的的第14天
数据可视化
俗话说得好——“一图胜千言”,放到数据领域就是说,对于复杂难懂且体量庞大的数据而言,图表的信息量要大得多,这也是我们为什么要谈数据可视化。今天的青训营课程我们了解一些数据可视化的基础知识。
课程内容与目标
-
了解数据可视化的概念和基本原则
-
能够识别出不好的,甚至是有误导性的可视化呈现
-
了解一些面向前端的数据可视化工具
01.什么是数据可视化
顾名思义,数据可视化就是将数据转换成图或表等,以一种更直观的方式展现和呈现数据。通过“可视化”的方式,我们看不懂的数据通过图形化的手段进行有效地表达,准确高效、简洁全面地传递某种信息,甚至我们帮助发现某种规律和特征,挖掘数据背后的价值。
生活中的数据可视化
什么是数据可视化
Anything that converts data into a visual represetation (like charts,graphs,maps,sometimes even just tables)
任何可以将数据转换为可视化表示的东西(如图表、图形、地图,有时甚至只是表格)
公元前6200年的人类地图
词云
数据可视化分类
- 科学可视化
- 科学实验数据的直观展示
- 信息可视化
- 对抽象数据的直观展示
-
可视分析
- 对分析结果的直观展现,及交互式反馈,是一个跨领域的方向
为什么需要可视化
-
记录信息
-
分析推理
-
证实假设
-
交流思想
安斯库姆四重奏(Anscombe's quartet)
安斯库姆四重奏是四组基本的统计特性一致的数据,但由它们绘制出的图表则截然不同。每一组数据都包括了11个(x,y)点。这四组数据由统计学家弗朗西斯·安斯库姆(Francis Anscombe)于1973年构造,他的目的是用来说明在分析数据前先绘制图表的重要性,以及离群值对统计的影响之大。
02.可视化设计原则和方法
糟糕的可视化呈现
-
可视化元素冗杂
-
颜色太多,重点不突出
错误的可视化呈现 misleading 误导
可视化设计原则
能够正确地表达数据中的信息而不产生偏差与歧义
常见的错误可视化
透视失真
-
如果数字是由视觉元素表示的,那么它们应该与视觉元素的感知程度成正比。
-
使用清晰、详细和彻底的标签,以避免图形失真和含糊不清。
乔布斯在苹果发布会上利用透视失真使苹果的市场占有率看上去更高。
图形设计&数据尺度
-
图形的每一部分都会产生对其的视觉预期(visual expectation):
-
这些预期往往决定了眼睛实际看到的东西;
-
错误的数据洞察,产生于在图形的某个地方发生的不正确的视觉预期推断。
-
-
一个典型的例子:轴刻度,我们期望它从始至终能够保持连贯且一致。
数据上下文
不联系上下文看数据往往会被误导。
谎言因子
-
控制图形中的谎言因子(Lie Factor, LF):
-
谎言因子:衡量可视化中所表达的数据量与数据之间的夸张程度的度量方法。
-
当LF=1时,我们认为图表没有对数据实时进行扭曲,是一个可信的可视化设计。
-
在实际当中,应当确保各部分图形元素的LF在[0.95,1.05]范围内,否则,所产生的图表认为已经丧失了基本可信度。
-
-
可视化设计原则
An excellent visualization design gives to the viewer the greatest number ofideas in the shortest time with the least ink in the smallest space ———— Edward R.Tufte
一个出色的可视化设计可在最短的时间内,使用最少的空间、用最少的笔墨为观众提供最多的信息内涵。
-
准确地展示数据
- Show the data, and tell the truth。
-
节省笔墨
- Use the least amount of ink
-
节省空间
- Don't waste space
-
消除不必要的“无价值”图形
- Eliminate non-essentials and redundancies
-
在最短时间内传达最多的信息
- Give the viewer the greatest number of ideas in the shortest time
Data-ink Ratio
最大化数据墨水占比(Data-Ink Ratio)
-
可视化图形由墨水和空白区域构成
-
数据墨水:可视化图形当中不可擦除的核心部分被称之为“数据墨水”
-
擦除数据墨水将减少图形所传达的信息量
-
数据墨水占比:可视化图形中用于展示核心数据的“墨水”在整体可视化所使用的墨水中的比例
Data-ink Ratio案例
-
绝大多数墨水都是数据墨水
- 用于绘制散点和对应标签
-
10%-20%的墨水是非数据墨水
- 用于绘制坐标轴和刻度线
- 并非所有的非数据墨水都没有用(例如坐标轴信息)。
提高Data-ink ratio
-
两个擦除原则:
- 擦除非数据墨水
- 擦除冗余的数据墨水
-
非数据墨水是指不能描绘有价值信息的墨水:
- 有时,非数据墨水会使数据变得混乱不堪
- 并非所有的非数据墨水都没有用(例如坐标轴信息)。
-
冗余的数据墨水描述了信息,但它重复显示了信息。
可视化设计方法
-
最重要的是展现数据
- Above all, show the data
-
合理范围内,最大化数据墨水占比
-
Maximize the data-ink ratio, within reason.
-
擦除非数据墨水
- Erase non-data-ink, within reason.
-
擦除冗余的数据墨水
- Erase redundant data-ink.
-
-
03. 视觉感知
可视化致力于外部认知,也就是说,怎样利用大脑以外的资源来增强大脑本身的认知能力。
什么是视觉感知
-
感知
- 是指客观事物通过人的感觉器官在人脑中形成的直接反映。
-
感觉器官
- 眼、耳、鼻、神经末梢
-
视觉感知
- 就是客观事物通过人的视觉在人脑中形成的直接反映
认知过程
认知心理学将认知过程看成由信息的获取、分析、归纳、解码、储存、概念形成、提取和使用等一系列阶段组成的按一定程序进行的信息加工系统。
科学领域中,认知是包含注意力、记忆、产生和理解语言、解决问题,以及进行决策的心理过程的组合。
相对判断和视觉假象
通过颜色对比加强人的感知。
结论
-
人类视觉系统观察的是变化,而不是绝对值,并且容易被边界吸引。
-
在可视化设计中,设计者需要充分考虑到人类感知系统的这些现象,以使得设计的可视化结果不会存在阻碍或误导用户的可视化元素。
视觉突出
研表究明,汉字的序顺并不定一自影阅响读。
Aoccdrnig to rscheearch at Cmabrigde Uinervtisy, it deosn't mttaer in waht order the Itteers in a wrod are, the olny iprmoetnt tihng is that the frist and lsatltteer be at the rghit pclae. The rset can be a toatl mses and you can sitll raedit wouthit a porbelm.Tihs is bcuseae the human mnid deos not raed erveylteter by istlef, but the wrod as a wlohe.
视觉感知
-
引导注意力,高效传达信息
-
研究表明,人类对于颜色、形状、运动,这些视觉属性,是在不同通道上并行处理的,并且人类能在200ms以内快速辨别,这些属性被称作具有 “预感知” 特性。Perception in Visualization
-
在一个通道中表达的信息,不会干扰(很多)在另一个通道上表达的信息,应当使用不同的视觉通道来描画数据不同方面的特征。(例如一个标记的颜色,并不会影响)
-
格式塔理论(Gestalt Laws) 较为系统的对人类如何发现图形元素之间的相关性进行了全面总结,被广泛的应用在了视觉设计当中。
-
格式塔学派
-
格式塔学派的理论核心是整体决定部分的性质,部分依从于整体。结构比元素重要,视觉形象首先作为统一的整体被认知。感知的事物大于眼睛见到的事物。
-
格式塔理论(Gestalt Laws) 较为系统的对人类如何发现图形元素之间的相关性进行了全面总结,被广泛的应用在了视觉设计当中。
Gestalt即德语中的形状。
格式塔理论
就近原则(Proximity)
-
当视觉元素在空间距离上相距较近时,人们通常倾向于将他们归为一组。
-
将数据元素放在靠近的位置,可以突出它们之间的关联性。
相似原则(Similarity)
- 形状、大小、颜色、强度等属性方面比较相似时,这些物体就容易被看作一个整体。
连续性原则(Continuation)
- 人们在观察事物的时候会很自然地沿着物体的边界,将不连续的物体视为连续的整体。
闭合原则(Closure)
- 有些图形可能本身是不完整或者不闭合的,但主体有一种使其闭合的倾向,人们就会很容易地感知整个物体而忽略未闭合的特征。
共势原则(Common movement)
- 如果一个对象中的一部分都向共同的方向去运动,那这些共同移动的部分就易被感知为一个整体。
对称性原则(Symmetry)
- 对称的元素被视为同一组的一部分。
图形与背景关系原则(Figure-ground)
- 大脑通常认为构图中最小的物体是图形,而更大的物体则是背景。
- 跟凹面元素相比,凸面元素与图形相关联更多些。
04.视觉编码
法国制图学家 Jacques Bertin [1918-2010]在1967年提出视觉编码"Semiology of Graphics"的理论原则。
视觉编码 ( Visual Coding )是指在个体接收外界信息时,对外界信息的视觉刺激进行编码,如:对颜色、数字、字母、图形等视觉刺激的信息进行编码。
可视化符号
可视化符号(Mark):
用于在可视化当中表现数据元素或元素之间的关联。
- 当表示元素时Mark包括:点、线、面
- 当表示关系时Mark包括:闭包、连线
视觉通道
视觉通道(Channel):
基于数据属性,控制可视化的符号展现样式,例如,点根据其所代表的数据属性的不同可有不同的形状与颜色。
-
视觉通道有两种类型
-
数量通道(Magnitude Channel)
- 用于显示数据的数值属性(定量/定序)
- 包括:位置、长度、角度、面积、深度、色温、饱和度、曲率、体积。
-
标识通道(ldentity Channel)
- 用于显示数据的分类属性(是什么/在哪里)
- 包括:空间区域、色向、动向、形状
-
视觉编码的优先级
不同的视觉编码在表达信息的作用和能力上有不同的特性
-
当利用数量通道编码表示数值属性时:
- 位置通道是最为精确的,其次是长度、角度、面积、深度、色温、饱和度、曲率、最后是体积。
-
当利用标识通道表示分类属性时:
- 划分空间区域最为有效,其后依次是色向、动向、形状。
视觉编码表达案例
当比较面积时,长方形比圆形比较起来准确率更高,因为在比较面积时,长方形可以转化为长度的比较。
05. 基础统计图表
基础图表-柱状图(Bar)
-
将柱子的高度(或宽度)映射到数值大小
-
最基础的柱形图,需要一个分类变量和一个数值变量。
-
柱状图必须以0作为基准线,可以表示正值或负值
-
在柱状图中,柱子可以分组展示
-
柱状图是比较分类的数据的最佳选择
基础图表-饼图(Pie)
-
每个扇形白的弧长(以及圆心角和面积)大小,表示该种类占总体的比例
-
饼图最显著的功能在于表现 “占比”
-
饼图一般需要一个分类数据字段、一个连续数据字段
-
分类字段的数据,在图表使用的语境下,应当构成一个整体(例如一班、二班、三班,构成了整个高一年级),而不能是独立、无关的。
-
由于饼图用面积取代了长度,从而加大了对各个数据进行比较的难度,当需要对数据进行比较,分清孰大孰小,尤其是当数据接近时,柱状图更加合适。
基础图表-散点图(Scatter)
-
一般通过点在空间上的位置信息来编码数据。
-
点可以根据需要绘制成不同的颜色。
-
点既可以是一个圆形,也可以用其他不同形状来替代。形状也是一个重要的视觉通道,用于编码不同数据信息。
-
可以通过更复杂的组合图形(glyphs)来编码多维度数据。
-
散点图适用于分析变量之间是否存在某种关系或相关性。
-
散点图适用于分析变量之间相关性的强弱,我们可以通过查看图上数据点的密度来确定相关性的强弱。
折线图
-
大多数情况下,折线图适用于x轴为连续数据的场景,但:
-
也可以在x轴为离散数据时使用;
-
甚至可以用于分类数据时使用,如果分类数据的顺序是有意义的。
-
以上两种情况在插值计算时要格外注意
-
选择合适的图表
06. 面向前端的可视化工具介绍
D3
D3.js是用于数据可视化的开源的JavaScript函数库,被认为是最好的JavaScript可视化框架之一。
简单柱状图示例: Bar Chart Remix
Vega
Vega是一种可视化语法。通过其声明式语言,可以用JSON格式描述可视化的视觉外观和交互行为,并使用Canvas或SVG生成视图。
G2
一套面向常规统计图表,以数据驱动的高交互可视化图形语法,具有高度的易用性和扩展性。使用 G2,你可以无需关注图表各种繁琐的实现细节,一条语句即可使用 Canvas 或 SVG 构建出各种各样的可交互的统计图表。
ECharts
ECharts,一个使用JavaScript 实现的开源可视化库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器(IE9/10/11,Chrome,Firefox,Safari等),底层依赖矢量图形库ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。
使用图标表达
-
eg1:A、B、C三个班级期末考试,
- A班高数平均分80,B班90,C班75。
使用柱状图
-
eg2.A、B、C三个班级期末考试,
- A班高数平均分80,B班90,C班75。
- A班大物平均分90,B班70,C班75。
使用双柱状图
Question
-
Step3.A、B、C三个班级期末考试,
- A班高数平均分80,B班90,C班75。
- A班大物平均分90,B班70,C班75。
- A班40人,B班35人,C班45人。
如何用图表表达?
使用饼状图。