这是我参与「第五届青训营 」伴学笔记创作活动的第 15 天
课程笔记
数据可视化简介
生活中的数据可视化
我们在生活中可以经常看到类似如下的数据可视化场景:
数据可视化个在我们的生活中无处不在,所以前端数据可视化也是未来行业发展的方向之一。
数据可视化分类
-
科学可视化
科学实验数据的直观展示。
-
信息可视化
对抽象数据的直观展示。
-
可视化分析
对分析结果的直观展示及交互式反馈,是一个跨领域的方向。
为什么要可视化
- 记录信息
- 根据信息进行分析推理
- 证实假设
- 交流思想
如下案例
这些数据多而杂,我们进行数据可视化之后便能很清晰的看到数据之间的关系:
可视化设计原则与方法
常见的可视化错误
这些都是一些不好的可视化呈现,并没有很好的突出数据的重点内容,也没有得出数据之间的关系,也不能够区分数据的类别,是进行数据可视化过程中应该避免的。
透视失真
该案例中,将一个倾斜的立体饼状图作为数据可视化的载体,将一个较小的比例在图中显得很大,具有很大的误导性。
规范做法:
- 如果数字是由视觉元素表示的,那么它们应该与视觉元素的感知程度成正比。
- 使用清晰、详细和彻底的标签,以避免图形失真和含糊不清。
图形设计 & 数据尺度
图形的每一部分都会产生对其的视觉顺期 (visual expectation) :
- 这些预期往往决定了眼睛实际看到的东西;
- 错误的数据洞察,产生于在图形的某个地方发生的不正确的视觉预期推断。
一个典型的例子:轴刻度,我们期望它从始至终能够保持连贯且一致。
上图中的油表就没有做到连贯且一致。
数据上下文
当我们给出一个数据可视化模型后,应在其附近附上相关数据的上下文以进行说明。
规范做法:
-
控制图形中的谎言因子 (Lie Factor,LF) :
谎言因子:衡量可视化中所表达的数据量与数据之间的夸张程度的度量方法 。
谎言因子 =
- 当 LF = 1 时,我们认为图表没有对数据实时进行扭曲,是一个可信的可视化设计 。
- 在实际当中,应当确保各部分图形元素的 LF 在【0.95,1.05】范围内,否则,所产生的图表认为已经丧失了基本可信度。
可视化设计原则
数据可视化设计的一个最基本的原则就是:
能够正确地表达数据中的信息而不产生偏差与歧义
An excellent visualization design gives tO the viewer the greatest number Of ideas 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
设计方法
-
最重要的是展现数据
Above show the data
-
合理范围内 , 最大化数据墨水占比
Maximize th e data-ink ratio, within reason.
-
擦除非数据墨水
Erase non-data-ink within reason.
-
擦除冗余的数据墨水
Erase redundant data-ink.
最大化数据墨水占比(Data-Ink Ratio)
- 可视化图形由墨水和空白区域构成。
- 数据墨水:可视化图形当中不可擦除的核心部分被称之为“数据墨水”。
- 擦除数据墨水将减少图形所传达的信息量。 -数据墨水占比:可视化图形中用于展示核心数据的“墨水”在整体可视化所使用的墨水中的比例。
视觉感知
可视化致力于外部认知,也就是说,怎样利用大脑以外的资源来增强大脑本身的认知能力。
感知
是指客观事物通过人的感觉器官在人脑中形成的直接反映。
感觉器官
眼、耳、鼻、神经末梢。
那么,视觉感知
就是客观事物通过人的视觉在人脑中形成的直接反映。
认知过程
认知心理学将认知过程看成由信息的获取、分析、归纳、解码、储存、概念形成、提取和使用等一系列阶段组成的按一定程序进行的信息加工系统。
科学领域中,认知是包含注意力、记忆、产生和理解语言、解决问题,以及进行决策的心理过程的组合。
相对判断和视觉假象
如上面这张图中,我们要从图中找到有几个数字3是很麻烦的事情。
但如果我们将数字3用不同的颜色标记出来,那这个事情就会变得简单许多。
- 人类视觉系统观察的是变化,而不是绝对值,并且容易被边界吸引。
- 在可视化设计中,设计者需要充分考虑到人类感知系统的这些现象,以使得设计的可视化结果不会存在阻碍或误导用户的可视化元素。
视觉突出
研表究明,文字的序顺并不定一能影阅响读。
Aoccrdrnig tO rscheearch at Cmabrigde Uinervtisy, it deosn't mttaer in waht order the ltteers in a wrod are, the 01ny iprmoetnt tihng is that the frist and lsat ltteer be at the rghit pclae. The rset can be a toatl mses and you ca n sitll raed it wouthit a porbelm.Tihs is bcuseae the human mnid deos not raed erveylteter by istlef, but the wrod as a wlohe.
引导注意力,高效传达信息
-
研究表明,人类对于颜色、形状、运动,这些视觉属性,是在不同通道上并行处理的,并且人类能在 200ms以内快速辨别,这些属性被称作具有“预感知”特性。
-
在一个通道中表达的信息,不会干扰(很多)在另一个通道上表达的信息,应当使用不同的视觉通道来描画数据不同方面的特征。(例如一个标记的颜色,并不会影响)
-
格式塔理论(Gestalt Laws)较为系统的对人类如何发现图形元素之间的相关性进行了全面总结,被广泛的应用在了视觉设计当中。
格式塔理论
-
格式塔学派的理论核心是整体决定部分的性质,部分依从于整体。结构比元素重要,视觉形象首先作为统一的整体被认知。感知的事物大于眼睛见到的事物。
-
格式塔理论(Gestalt Laws) 较为系统的对人类如何发现图形元素之间的相关性进行了全面总结,被广泛的应用在了视觉设计当中。
就近原则(Proximity)
- 当视觉元素在空间距离上相距较近时,人们通常倾向于将他们归为一组。
- 将数据元素放在靠近的位置,可以突出它们之间的关联性。
相似原则(Similarity)
形状、大小、颜色、强度等属性方面比较相似时,这些物体就容易被看作一个整体。
连续性原则(Continuation)
人们在观察事物的时候会很自然地沿着物体的边界,将不连续的物体视为连续的整体。
闭合原则(Closure)
有些图形可能本身是不完整或者不闭合的,但主体有一种使其闭合的倾向,人们就会很容易地感知整个物体而忽略未闭合的特征。
共势原则(Common movement)
如果一个对象中的一部分都向共同的方向去运动,那这些共同移动的部分就易被感知为一个整体。
对称性原则(Symmetry)
对称的元素被视为同一组的一部分。
图形与背景关系原则(Figure-ground)
- 大脑通常认为构图中最小的物体是图形,而更大的物体则是背景。
- 跟凹面元素相比,凸面元素与图形相关联更多些。
视觉编码
Visual Encoding,法国制图学家[1918-2010] “Semiology of Graphics” [1967] 提出视觉编码的理论原则。
视觉编码是一种将数据信息映射成可视化元素的技术。
- 数据信息:属性 + 值。
- 可视化元素:可视化符号 + 视觉通道。
可视化符号(Mark)
用于在可视化当中表现数据元素或元素之间的关联。
- 当表示元素时 Mark 包括:点、线、面。
- 当表示关系时 Mark 包括:闭包、连线。
视觉通道(Channel)
基于数据属性,控制可视化的符号展现样式,例如,点根据其所代表的数据属性的不同可有不同的形状与颜色。
- 视觉通道有两种类型
- 数量通道 (Magnitude Channel)
用于显示数据的数值属性(定量/定序)
包括:位置、长度、角度、面积、深度、色温、饱和度、曲率、体积。 - 标识通道 (Identity Channel)
用于显示数据的分类属性(是什么/在哪里)
包括:空间区域、色向、动向、形状。
- 数量通道 (Magnitude Channel)
用于显示数据的数值属性(定量/定序)
视觉编码的优先级
不同的视觉编码在表达信息的作用和能力上有不同的特性
- 当利用数量通道编码表示数值属性时 位置通道是最为精确的,其次是长度、角度、面积、深度、色温、饱和度、曲率、最后是体积。
- 当利用标识通道表示分类属性时 划分空间区域最为有效,其后依次是色向、动向、形状。
面向前端的可视化工具
D3
D3.js是用于数据可视化的开源的 JavaScript 函数库,被认为是最好的 JavaScript 可视化框架之一。
简单的柱状图示例:
Vega
vega 是一种可视化语法。通过其声明式语言,可以用 JSON 格式描述可视化的视觉外观和交互行为,并使用canvas 或 SVG 生成视图。
G2
一套面向常规统计图表,以数据驱动的高交互可视化图形语法,具有高度的易用性和扩展性。使用 G2,你可以无需关注图表各种繁琐的实现细节,一条语句即可使用 canvas 或 SVG 构建出各种各样的可交互的统计图表。
ECharts
ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大 部分浏览器(IE9/10/11,Chrome,Firefox,safari等),底层依赖矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。
总结
通过本次课程,大致对数据可视化有了一定的了解,从可视化基础到前端可视化工具,学习到了很多的数据可视化的知识,如今是数据驱动的时代,数据可视化是我们进行数据分析,结论推理的重要手段,数据可视化也是前端未来发展的一大趋势之一,所以掌握数据可视化的基本准则和方法对我们未来的发展是很有帮助的。