这是我参与「第四届青训营 」笔记创作活动的第15天。
什么是数据可视化
什么是数据可视化
数据可视化,是关于数据视觉表现形式的科学技术研究。其中,这种数据的视觉表现形式被定义为,一种以某种概要形式抽提出来的信息,包括相应信息单位的各种属性和变量
它是一个处于不断演变之中的概念,其边界在不断地扩大。主要指的是技术上较为高级的技术方法,而这些技术方法允许利用图形、[图像处理]、计算机视觉以及用户界面,通过表达、建模以及对立体、表面、属性以及动画的显示,对数据加以可视化解释。与立体建模之类的特殊技术方法相比,数据可视化所涵盖的技术方法要广泛得多。
数据可视化分类
- 科学可视化
- 信息可视化
- 可视分析
为什么要做数据可视化
- 记录信息
- 分析推理
- 证实假设
- 交流思想
可视化设计原则和方法
糟糕的可视化呈现
糟糕的可视化呈现让人看得头都大,很难得到较为有用的数据。
常见错误可视化
- 透视失真
- 如果数字式由视觉元素表示的,那么他们因该与视觉元素的感知程度成正比
- 使用清晰,详细和彻底的标签,以避免图形失真和含糊不清。
- 图形设计&数据尺度
图形的每一部分往往决定了眼睛对其的视觉预期:
- 这些预期往往决定了眼睛实际看到的东西
- 错误的数据洞察,产生于在图形的某个地方发生的不正确的视觉预期推断
- 例子:轴刻度,我们期望它始终能够保持练过且一致
- 数据上下文
- 数据可视化注意要把上下文给补全,不然不知道图表在描述什么信息
- 谎言因子
- 谎言因子衡量可视化中所表达的数据月数据之间的夸张程度的度量方式
可视化设计原则
能够正确的表达数据中的信息而不产生偏差与歧义
- 准确地展示数据 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)
-
可视化图形由圈水和空白区域构成
-
数据墨水:可视化图形当中不可擦除的核心部分被称之为“数据墨水”
-
擦除数据墨水将减少图形所传达的信息量
-
数据墨水占比:可视化图形中用于展示核心数据的“要水”在整体可视化所使用的墨水中的比例
-
视觉感知
可视化致力于外部认知,也就是说,怎样用大脑以外的资源来增强大脑本身的认知能力
什么是视觉感知
- 感知:指的是客观事物通过人的感觉器官在人脑中形成直接反应
- 感觉器官:眼,耳,鼻
- 视觉感知:就是客观事物通过人的视觉在人脑中形成的直接反映
认知过程
认知心理学将认知过程看成由信息的获取、分析、归纳、解码、储存,概念形成,提取和使用等一系列阶段组成的按一定程序进行的信息加工系统 科学领域中,认知是包含注意力,记忆,产生和理解语言,解决问题,以及进行决策的心理过程的组合。
格式塔理论
1. 就近原则
- 当视觉元素在空间距离上相距较近时,人们通常倾向于将他们归为一组
- 将数据袁术放在靠近的位置,可以突出他们之间的关联性。
2. 相似原则
- 形状,大小,颜色,强度等属性方面比较相似时,这些物体被容易看作一个整体
3. 连续性原则
- 人们在观察事物的时候会很自然地沿着物体地边界,将不连续地物体视为连续的整体
4. 闭合原则
- 有些图形可能本身是不完整或不闭合的,但主体有一种使其闭合的倾向,人们就会很容易的感知整个物体而忽略未闭合的特征。
5. 共势原则
- 如果一个对象的一部分都向共同的方向去运动,拿这些共同移动的部分就容易被感知为一个整体。
6. 对称性原则
- 对策的元素就被视为同一组的一部分
7. 图形于背景关系原则
- 大脑通常认为构图中最小的物体是图形,而更大的物体时背景
- 跟凹面元素相比,凸面元素于图形相关联更多些
视觉编码
视觉编码是一种:将数据信息映射为可视化元素的技术
数据信息:属性+值
可视化元素:可视化符号+视觉通道
可视化符号
用于在可视化当中表现数据元素和元素之间的关联
- 当表示元素是
Mark(可视化符号)包括:点,线,面- Points
- Lines
- Areas
- 当表示关系时Mark(可视化符号)包括:闭包,连线
- Containment
- Connection
视觉通道
基于数据属性,控制可视化的符号展示样式
例如,点根据其代表的数据属性的不同可有不同的形状与颜色
视觉通道有两种类型
-
数量通道
用于显示数据的数值属性
-
标识通道
用于显示数据的分类属性
面向前端的可视化工具介绍
D3
D3.js是用于数据可视化的开源的JavaScript函数库,被认为是最好的JavaScript可视化框架之一。
Vega
Vega是一种可视化语法。通过其声明式语言,可以用JSON格式描述可视化的视觉外观和交互行为,并使用Canvas或SVG生成视图。
G2
一套面向常规的统计图表,以数据驱动的高交互可视化图形语法,具有高度的以用性和扩展性。使用G2,你无需关注图表各种繁琐的实现细节,一条语句即可使用Canvas或SVG构建出各种各样的可交互的统计图表。
ECharts
ECharts,一个使用JavaScript实现的可开源可视化库,可以流畅的运行在PC和移动端设备上,兼容当前绝大部分浏览器,底层依赖矢量图形库ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。