这是我参与「第四届青训营 」笔记创作活动的的第18天,今天的课程是「数据可视化基础」,老师主要讲解了 什么是数据可视化 、 可视化设计原则和方法 、 视觉感知 、 视觉编码 、 面向前端的可视化工具介绍 等内容。
什么是数据可视化
任何一种将数据转换成可视化呈现形式的事物。
为什么要可视化
1、记录信息
2、分析推理
3、证实假设
4、交流思想
可视化设计原则和方法
可视化设计原则
能够正确地表达数据中的信息而不产生偏差与歧义。
常见的错误可视化
1、透视失真
2、图形设计&数据尺度
3、数据上下文
透视失真
- 如果数字是由视觉元素表示的,那么它们应该与视觉元素的感知程度成正比。
- 使用清晰、详细和彻底的标签,以避免图形失真和含糊不清。
图形设计&数据尺度
图形的每一部分都会产生对其的视觉预期(visual expectation):
- 这些预期往往决定了眼睛实际看到的东西。
- 错误的数据洞察,产生于在图形的某个地方发生的不正确的视觉预期判断。
可视化设计原则
- 准确地展示数据
- 节省笔墨
- 节省空间
- 消除不必要的“无价值”图形
- 在最短时间内传达最多的信息
最大化数据墨水占比
- 可视化图形由墨水和空白区域构成
- 数据墨水:可视化图形中不可擦除的核心部分
- 擦除数据墨水将减少图形所传达的信息量
- 数据墨水占比:可视化图形中用于展示核心数据的“墨水”在整体可视化所使用的墨水中的比例
视觉感知
- 人类视觉系统观察的是变化,而不是绝对值,并且容易被边界吸引
- 在可视化设计中,设计者需要充分考虑到人类感知系统的这些现象,以使得设计的可视化结果不会存在阻碍或误导用户的可视化元素
格式塔理论
- 格式塔学派的理论核心是整体决定部分的性质,部分依从于整体。结构比元素重要,视觉形象首先作为统一的整体被认知。感知的事物大于眼睛见到的事物。
- 格式塔理论较为系统地对人类如何发现图形元素之间的相关性进行了全面的总结,被广泛地应用在了视觉设计中。
就近原则
- 当视觉元素在空间距离上相距较近时,人们通常倾向于将他们归为一组
- 将数据元素放在靠近的位置,可以突出它们之间的关联性
相似原则
- 形状、大小、颜色、强度等属性方面比较相似时,这些物体就容易被看作一个整体
连续性原则
- 人们在观察事物的时候会很自然地沿着物体的边界,将不连续的物体视为连续的整体
闭合原则
- 有些图形可能本身是不完整的或者不闭合的,但主体有一种使其闭合的倾向,人们就会很容易地感知整个物体而忽略未闭合的特征
共势原则
- 如果一个对象中的一部分都向共同的方向去运动,那这些共同移动的部分就易被感知为一个整体
对称性原则
- 对称的元素被视为同一组的一部分
图形与背景关系原则
- 大脑通常认为构图中最小的物体是图形,而更大的物体是背景
- 跟凹面元素相比,凸面元素与图形相关联更多些
视觉编码
1、视觉编码是将数据信息(属性+值)映射成可视化元素(可视化符号+视觉通道)的技术。
2、可视化符号用于在可视化当中表现数据元素或元素之间的关联。
- 当表示元素时包括:点、线、面
- 当表示关系时包括:闭包、连线
3、视觉通道基于数据属性,控制可视化的符号展现样式,例如,点根据其所代表的数据属性的不同可有不同的形状和颜色。视觉通道有两种类型:
- 数量通道:用于显示数据的数值属性(定量/定序),包括:位置、长度、角度、面积、深度、色温、饱和度、曲率、面积
- 标识通道:用于显示数据的分类属性(是什么/在哪里),包括:空间区域、色向、动向、形状
4、不同的视觉编码在表达信息的作用和能力上有不同的特性:
- 当利用数量通道编码表示数值属性时:位置通道是最为精确的,其次是长度、角度、面积、深度、色温、饱和度、曲率,最后是体积
- 当利用标识通道表示分类属性时:划分空间区域最为有效,其后依次是色向、动向、形状
基础统计图表
柱状图
- 将柱子的高度(或宽度)映射到数值大小
- 最基础的柱形图,需要一个分类变量和一个数值变量
- 柱状图必须以0作为基准线,可表示正值或负值
- 在柱状图中,柱子可以分组展示
- 柱状图是比较分类的数据的最佳选择
饼图
- 每个扇形的弧长(以及圆心角和面积)大小,表示该种类占总体的比例
- 饼图最显著的功能在于表现占比
- 饼图一般需要一个分类数据字段、一个连续数据字段
- 分类字段的数据,在图表使用的语境下,应当构成一个整体,而不能是独立的、无关的
- 由于饼图用面积取代了长度,从而加大了对各个数据进行比较的难度,当需要对数据进行比较,分清孰大孰小,尤其是当数据接近时,柱状图更加合适
散点图
- 一般通过点在空间上的位置信息来编码数据
- 点可以根据需要绘制成不同的颜色
- 点既可以是一个圆形,也可以用其他不同形状代替。形状也是一个重要的视觉通道,用于编码不同数据信息
- 可以通过更复杂的组合图形来编码多维度数据
- 散点图适合用于分析变量之间相关性的强弱,我们可以通过查看图上数据点的密度来确定相关性的强弱
折线图
大多数情况下折线图适用于x轴为连续数据的场景,但:
- 也可以在x轴为离散数据时使用
- 甚至可以用于分类数据时使用,如果分类数据的顺序是有意义的
- 以上两种情况在插值计算时要格外注意
面向前端的可视化工具介绍
D3
D3.js是用于数据可视化的开源的JavaScript函数库,被认为是最好的JavaScript可视化框架之一
Vega
Vega是一种可视化语法。通过其声明式语言,可以用JSON格式描述可视化的视觉外观和交互行为,并使用Canvas或SVG生成视图
G2
一套面向常规统计图表,以数据驱动的高交互可视化图形语法,具有高度的易用性和扩展性。使用G2,你可以无需关注图表的各种繁琐的实现细节,一条语句即可使用Canvas或SVG构建出各种各样的可交互的统计图表
ECharts
一个使用JavaScript实现的开源可视化库,可以流畅地运行在PC和移动设备上,兼容当前绝大部分浏览器,底层依赖矢量图形库ZRender,提供直观、交互丰富、可高度个性化定制的数据可视化图表