数据可视化基础 | 青训营笔记

88 阅读7分钟

这是我参与「第四届青训营 」笔记创作活动的的第20天

数据可视化基础

一、什么是数据可视化

Anything that converts data into a visual representation(like charts, graphs, maps, sometimes even just tables)

image.png

分类

image.png

为什么要可视化

  1. 记录信息
  2. 分析推理
  3. 证实假设
  4. 交流思想

Anscombe's Quartet

image.png image.png

二、可视化设计原则和方法

❌ 糟糕的可视化呈现

image.png

❌ 错误的可视化呈现

image.png

👏 可视化设计原则:能够正确地表达数据中的信息而不产生偏差与歧义

常见的错误可视化

透视失真

⭐ 如果数字是由视觉元素表示的,那么它们应该与视觉元素的感知程度成正比。

⭐ 使用清晰、详细和彻底的标签,以避免图形失真和含糊不清。

image.png

图形设计& 数据尺度

⭐ 图形的每一部分都会产生对其的视觉预期(visual expectation) :

  • 这些预期往往决定了眼睛实际看到的东西;
  • 错误的数据洞察,产生于在图形的某个地方发生的不正确的视觉预期推断。

⭐ 一个典型的例子:轴刻度,我们期望它从始至终能够保持连贯且一致。

image.png

数据上下文

image.png
谎言因子

控制图形中的谎言因子(Lie Factor, LF):

  • 谎言因子:衡量可视化中所表达的数据量与数据之间的夸张程度的度量方法。

  • 当 LF = 1 时,我们认为图表没有对数据实时进行扭曲,是一个可信的可视化设计。

  • 在实际当中,应当确保各部分图形元素的LF在[0.95,1.05]范围内,否则,所产生的图表认为已经丧失了基本可信度。

可视化设计原则

准确地展示数据 —— 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)

  • 可视化图形由墨水和空白区域构成
  • 数据墨水:可视化图形当中不可擦除的核心部分被称之为 "数据墨水"
  • 擦除数据墨水将减少图形所传达的信息量
  • 数据墨水占比:可视化图形中用于展示核心数据的“墨水”在整体可视化所使用的墨水中的比例
image.png image.png

案例

image.png

⭐ 绝大多数墨水都是数据墨水

  • 用于绘制散点和对应标签

⭐ 10% - 20% 的墨水是非数据墨水

  • 用于绘制坐标轴和刻度线
  • 并非所有的非数据墨水都没有用(例如坐标轴信息)。

提高 Data - ink ratio

⭐ 两个擦除原则:

  • 擦除非数据墨水
  • 擦除冗余的数据墨水

⭐ 非数据墨水是指不能描绘有价值信息的墨水:

  • 有时,非数据墨水会使数据变得混乱不堪
  • 并非所有的非数据墨水都没有用(例如坐标轴信息)。

⭐ 冗余的数据墨水描述了信息,但它重复显示了信息。

image.png

可视化设计方法

⭐ 最重要的是展现数据

⭐ 合理范围内,最大化数据墨水占比

  • 擦除非数据墨水
  • 擦除冗余的数据墨水

三、视觉感知

感知:是指客观事物通过人的感觉器官在人脑中形成的直接反映。

感觉器官:眼、耳、鼻、神经末梢。

视觉感知:就是客观事物通过人的视觉在人脑中形成的直接反映。

认知过程

⭐ 认知心理学将认知过程看成由信息的获取、分析、归纳、解码、储存、概念形成、提取和使用等一系列阶段组成的按一定程序进行的信息加工系统。

⭐ 科学领域中,认知是包含注意力、记忆、产生和理解语言、解决问题,以及进行决策的心理过程的组合。

image.png

⭐ 人类视觉系统观察的是变化,而不是绝对值,并且容易被边界吸引。

⭐ 在可视化设计中,设计者需要充分考虑到人类感知系统的这些现象,以使得设计的可视化结果不会存在阻碍或误导用户的可视化元素。

格式塔理论

image.png

就近原则(Proximity)

⭐ 当视觉元素在空间距离上相距较近时,人们通常倾向于将他们归为一组。

⭐ 将数据元素放在靠近的位置,可以突出它们之间的关联性。

image.png

相似原则(Similarity)

⭐ 形状、大小、颜色、强度等属性方面比较相似时,这些物体就容易被看作一个整体。

image.png

连续性原则(Continuation)

⭐ 人们在观察事物的时候会很自然地沿着物体的边界,将不连续的物体视为连续的整体。

image.png

闭合原则(Closure)

⭐ 有些图形可能本身是不完整或者不闭合的,但主体有一种是其闭合的倾向,人们就会很容易地感知整个物体而忽略未闭合的特征。

image.png

共势原则(Common movement)

⭐ 如果一个对象中的一部分都向共同的方向去运动,那这些共同移动的部分就易被感知为一个整体。

image.png

对称性原则(Symmetry)

⭐ 对称的元素被视为同一组的一部分

image.png

图形与背景关系原则(Figure-ground)

⭐ 大脑通常认为构图中最小的物体是图形,而更大的物体则是背景。

⭐ 跟凹面元素相比,凸面元素与图形相关联更多些。

image.png

四、视觉编码

视觉编码是一种:将数据信息(属性 + 值)映射成可视化元素(可视化符号 + 视觉通道)的技术。

image.png

可视化符号

可视化符号(Mark):用于在可视化当中表现数据元素或元素之间的关联。

  • 当表示元素时 Mark 包括:点、线、面
image.png
  • 当表示关系时 Mark 包括:闭包、连线 image.png

视觉通道

视觉通道(Channel):基于数据属性,控制可视化的符号展现样式,例如,点根据其所代表的数据属性的不同可有不同的形状与颜色。

  • 数量通道(Magnitude Channel):用于显示数据的数值属性(定量/定序)。包括:位置、长度、角度、面积、深度、色温、饱和度、曲率、体积。
  • 标识通道(ldentity Channel):用于显示数据的分类属性(是什么/在哪里)。包括:空间区域、色向、动向、形状。
image.png

五、面向前端的可视化工具介绍

D3

image.png

D3D3.js 是用于数据可视化的开源的 JavaScript 函数库,被认为是最好的 JavaScript 可视化框架之一。

简单柱状图示例

Vega

image.png

VegaVega 是一种可视化语法。通过其声明式语言,可以用 JSON 格式描述可视化的视觉外观和交互行为,并使用 Canvas 或 SVG 生成视图。

简单柱状图示例

G2

image.png

G2G2是一套面向常规统计图表,以数据驱动的高交互可视化图形语法,具有高度的易用性和扩展性。使用G2,你可以无需关注图表各种繁琐的实现细节,一条语句即可使用Canvas或SVG构建出各种各样的可交互的统计图表。

简单柱状图示例

Echarts

image.png

EchartsECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE9/10/11,Chrome,Firefox, Safari等),底层依赖矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。

简单柱状图示例