这是我参与「第四届青训营 」笔记创作活动的第14天
1.什么是数据可视化?
简单来说就是将数据转换成我们能看到的一种形式。
生活中的数据可视化:
作用:
让观察者能够从看到物体到获取到知识,包括在可视化当中记录一些信息、能够进行分析和推理、证实和假设和思想的交流
通过数据可视化进行数据分析和推理
例:安斯库姆四重奏 Anscombe'sQuartet
以下表格中有四组二维数据的点集,他们的统计学指标都是相同的,你能找出他们的不同吗?
可以看到通过传统的统计方法难以进行直接区分,但如果把实际的数据分布用二维的可视化进行一个呈现结果就很明显了——他们的分布规律各不相同
这个例子说明在数据分析之前,进行数据图表分析是有一定的必要的。
2.可视化设计原则和方法
常见的错误可视化
错误的可视化在生活当中非常常见,VisLies 2021这个网站收集了一些错误的可视化案例
透视失真
由于透视空间中近大远小的原则,绿色占比看起来比紫色部分稍大一些,以此来达到宣传目的
图形设计&数据尺度
这张图的刻度区间在60之前每个大格间隔为20,之后每个大格间隔变为40,如果把60刻度后的数据全部抹掉,我们可能会联想下一大格的数据是80,这就导致了错误的推断。
数据上下文
没有上下文的数据可能会产生误导性
x轴代表年份,y轴是交通事故中丧生的人数
左图可以看到交通丧生的人数有明显下降的趋势,但如果把数据上下文补全,就会发现下降后的人数依然处于高位
可视化设计原则
最大化数据墨水占比(Data-lnk Ratio)
- 可视化图形由墨水和空白区域构成
- 数据墨水:可视化图形当中不可擦除的核心部分被称为“数据墨水”
- 擦除数据墨水将减少图形所传达的信息量
- 数据墨水占比:可视化图形中用于展示核心数据的“墨水”在整体可视化所使用的墨水中的比列
例:
两个擦除原则:
- 擦除非数据墨水
- 擦除冗余的数据墨水
非数据墨水是指不能描绘有价值信息的墨水:
- 有时,非数据墨水会使数据变得混乱不堪
- 并非所有的非数据墨水都没有用(例如坐标轴信息)。
冗余的数据墨水描述了信息,但它重复显示了信息。
可视化设计方法
最重要的是展现数据
合理范围内,最大化数据墨水占比
- 擦除非数据墨水
- 擦除冗余的数据墨水
3.视觉感知
什么是视觉感知?
感知:指客观事物通过人的感觉器官在人脑中形成的直接反映
感觉器官:眼睛、耳朵、鼻子、神经末梢
视觉感知:客观事物通过人的视觉在人脑中形成的直接反映
认知过程
通过视觉方式加快认知过程
例:
相对判断和视觉假象
结论
- 人类视觉系统观察的是变化,而不是绝对值,并且容易被边界吸引。
- 在可视化设计中,设计者需要充分考虑到人类感知系统的这些现象,以使得设计的可视化结果不会存在阻碍或误导用户的可视化元素。
格式塔理论
格式塔学派
代表人物:
格式塔理论
就近原则(Proximity)
- 当视觉元素在空间距离上相距较近时,人们通常倾向于将他们归为一组。
- 将数据元素放在靠近的位置可以突出它们之间的关联性。
相似原则(Similarity)
形状、大小、颜色、强度等属性方面比较相似时,这些物体就容易被看作一个整体。
连续性原则(Continuation)
人们在观察事物的时候会很自然地沿着物体的边界,将不连续的物体视为连续的整体。
闭合原则(Closure)
有些图形可能本身是不完整或者不闭合的,但主体有一种使其闭合的倾向,人们就会很容易地感知整个物体而忽略未闭合的特征。
共势原则(Common movement)
如果一个对象中的一部分都向共同的方向去运动,那这些共同移动的部分就易被感知为一个整体。
对称性原则(Symmetry)
对称的元素被视为同一组的一部分。
图形与背景关系原则(Figure-ground)
- 大脑通常认为构图中最小的物体是图形,而更大的物体则是背景。
- 跟凹面元素相比,凸面元素与图形相关联更多些。
4.前端可视化工具库
D3:d3js.org/
- D3.js是用于数据可视化的开源的JavaScript函数库,被认为是最好的JavaScript可视化框架之一。
Vega:vega.github.io/vega/
- Vega是一种可视化语法。通过其声明式语言,可以用JSON格式描述可视化的视觉外观和交互行为,并使用Canvas或SVG生成视图。
- 一套面向常规统计图表,以数据驱动的高交互可视化图形语法,具有高度的易用性和扩展性。使用G2,你可以无需关注图表各种繁琐的实现细节,一条语句即可使用Canvas或SVG构建出各种各样的可交互的统计图表。
ECharts:echarts.apache.org/zh/index.ht…
- ECharts,一个使用JavaScript 实现的开源可视化库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器(IE9/10/11,Chrome,Firefox,Safari等),底层依赖矢量图形库ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表