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

171 阅读9分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第29天,学习的是关于数据可视化的内容。

数据可视化的基本概念

什么是数据可视化

生活中数字可视化无处不在

image.png

数据可视化是以图表和图形的形式呈现数据,多个可视化和信息位的组合仍然被称为信息图表。例如柱状图,饼状图,折线图等。

数据可视化分类

  1. 科学可视化
  2. 信息可视化
  3. 可视分析

image.png

为什么要数据可视化

  • 记录信息
  • 分析推理
  • 证实假设
  • 交流思想

例子:安斯库姆四重奏

可视化设计的基本原则和方法

  • 糟糕的可视化呈现

  • 错误的可视化呈现

    • 透视失真

      • 如果数字是由视觉元素表示的,那么它们应该与视觉元素的感知程度成正比。
      • 使用清晰、详细和彻底的标签,以避免图形失真和含糊不清。
    • 数据上下文

    • 图形设计&数据尺度

      • 图形的每一部分都会产生对其的视觉预期(visual expectation)
        • 这些预期往往决定了眼睛实际看到的东西;
        • 错误的数据洞察,产生于在图形的某个地方发生的不正确的视觉预期推断。
      • 一个典型的例子:轴刻度,我们期望它从始至终能够保持连且一致。

image.png

可视化设计原则

能够正确地表达数据中的信息而不产生偏差和歧义

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

Data-ink

image.png

Data-ink Ratio案例

  • 绝大多数墨水都是数据墨水
    • 用于绘制散点和对应标签
  • 10%-20%的墨水是非数据墨水
    • 用于绘制坐标轴和刻度线
    • 并非所有的非数据墨水都没有用(例如坐标轴信息)。

image.png

提高Data-ink Ratio

  • 两个擦除原则

    • 擦除非数据墨水
    • 擦除冗余的数据墨水
  • 非数据墨水是指不能描绘有价值信息的墨水

    • 有时,非数据墨水会使数据变得混乱不堪
    • 并非所有的非数据墨水都没有用(例如坐标轴信息)
  • 冗余的数据墨水描述了信息,但它重复显示了信息

image.png

可视化设计方法

  • 最重要的是展现数据 Above all show the data

  • 合理范围内,最大化数据墨水占比 Maximize the data-ink ratio, within reason.

    • 擦除非数据墨水 Erase non-data-ink, within reason.

    • 擦除冗余的数据墨水 Erase redundant data-ink.

视觉感知

可视化致力于外部认知,也就是说,怎样利用大脑以外的资源来增强大脑本身的认知能力。

什么是视觉感知

感知

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

感觉器官

眼、耳、鼻、神经末梢

视觉感知

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

认知过程

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

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

结论

  • 人类视觉系统观察的是变化,而不是绝对值,并且容易被边界吸引。
  • 在可视化设计中,设计者需要充分考虑到人类感知系统的这些现象,以使得设计的可视化结果不会存在阻碍或误导用户的可视化元素。

格式塔学派

image.png

  • 格式塔学派的理论核心是整体决定部分的性质,部分依从于整体。结构比元素重要,视觉形象首先作为统一的整体被认知。感知的事物大于眼睛见到的事物。
  • 格式塔理论(Gestalt Laws) 较为系统的对人类如何发现图形元素之间的相关性进行了全面总结,被广泛的应用在了视觉设计当中。

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

视觉编码 ( Visual Coding )

image.png

可视化符号(Mark)

  • 用于在可视化当中表现数据元素或元素之间的关联。
  1. 当表示元素时Mark包括:点、线、面

image.png

  1. 当表示关系时Mark包括:闭包、连线

image.png

视觉通道(Channel) :

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

  • 视觉通道有两种类型

  1. 数量通道(Magnitude Channel)

用于显示数据的数值属性(定量/定序) 包括:位置、长度、角度、面积、深度、色温、饱和度、曲率、体积。

  1. 标识通道(ldentity Channel)

用于显示数据的分类属性(是什么/在哪里)包括:空间区域、色向、动向、形状

image.png

视觉编码的优先级

不同的视觉编码在表达信息的作用和能力上有不同的特性

  • 当利用数量通道编码表示数值属性时: 位置通道是最为精确的,其次是长度、角度、面积、深度、色温、饱和度、曲率、最后是体积。
  • 当利用标识通道表示分类属性时: 划分空间区域最为有效,其后依次是色向、动向、形状。

视觉编码表达案例

比较两个圆的面积

image.png

比较两个条形图的面积

image.png

结论: 对于条形图的比较更加容易,因为视觉上我们更容易将条形图面积转换成长度

image.png

基础统计图表

基础图表-柱状图(Bar)

  • 将柱子的高度(或宽度)映射到数值大小
  • 最基础的柱形图,需要一个分类变量和一个数值变量。
  • 柱状图必须以0作为基准线,可以表示正值或负值
  • 在柱状图中,柱子可以分组展示
  • 柱状图是比较分类的数据的最佳选择

image.png

基础图表-饼图(Pie)

  • 每个扇形白的弧长(以及圆心角和面积)大小,表示该种类占总体的比例
  • 饼图最显著的功能在于表现 “占比”
  • 饼图一般需要一个分类数据字段、一个连续数据字段
  • 分类字段的数据,在图表使用的语境下,应当构成一个整体(例如一班、二班、三班,构成了整个高一年级),而不能是独立、无关的。
  • 由于饼图用面积取代了长度,从而加大了对各个数据进行比较的难度,当需要对数据进行比较,分清孰大孰小,尤其是当数据接近时,柱状图更加合适。

image.png

image.png

基础图表-散点图(Scatter)

  • —般通过点在空间上的位置信息来编码数据。
  • 点可以根据需要绘制成不同的颜色。
  • 点既可以是一个圆形,也可以用其他不同形状来替代。形状也是一个重要的视觉通道,用于编码不同数据信息。
  • 可以通过更复杂的组合图形(glyphs)来编码多维度数据。
  • 散点图适用于分析变量之间是否存在某种关系或相关性。
  • 散点图适用于分析变量之间相关性的强弱,我们可以通过查看图上数据点的密度来确定相关性的强弱。

image.png

image.png

面向前端的可视化工具

D3(难度较高)

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

Vega(更推荐)

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

image.png

G2

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

image.png

ECharts

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

image.png

使用图表表达

Step1.

A、B、C三个班级期末考试,

A班高数平均分80,B班90,C班75。

image.png

Step2.

A班高数平均分80,B班90,C班75;

A班大物平均分90,B班70,C班75

image.png

Step3.

A、B、C三个班级期末考试,

A班高数平均分80,B班90,C班75

A班大物平均分90,B班70,C班75

A班40人,B班35人,C班45人