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

85 阅读13分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 15 天

一、什么是数据可视化

1. 生活中的数据可视化


image.jpeg image - 2023-02-24T142526.788.png image - 2023-02-24T142530.382.png image - 2023-02-24T142658.123.png image - 2023-02-24T142701.823.png image - 2023-02-24T142705.032.png

2. 什么是数据可视化

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

(公元前6200年的人类地图:)

image (1).jpeg

image - 2023-02-24T142828.677.png

3. 数据可视化分类

  • 科学可视化

    • 科学实验数据的直观展示

      image - 2023-02-24T143023.352.png

  • 信息可视化

    • 对抽象数据的直观展示

      image - 2023-02-24T143026.593.png

  • 可视分析

    • 对分析结果的直观展现,及交互式反馈,是一个跨领域的方向

      image - 2023-02-24T143031.762.png

4. 为什么要数据可视化

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

5. 安斯库姆四重奏 Anscombe's Quartet

image - 2023-02-24T143405.063.png

image - 2023-02-24T143636.884.png

image - 2023-02-24T143605.109.png

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

1. 糟糕的可视化呈现

image - 2023-02-24T143749.367.png

image - 2023-02-24T143752.510.png

image - 2023-02-24T143755.840.png

image - 2023-02-24T143759.027.png

image - 2023-02-24T143803.035.png

image - 2023-02-24T143806.881.png

2. 错误的可视化呈现

image - 2023-02-24T143920.763.png

image - 2023-02-24T143924.032.png

image - 2023-02-24T143934.240.png

3. 可视化设计原则

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

image - 2023-02-24T144045.057.png

image - 2023-02-24T144049.665.png

image - 2023-02-24T144054.069.png

VisLies 2021

4. 常见的错误可视化

  • 透视失真

    image - 2023-02-24T144455.335.png

  • 图形设计 & 数据尺度

    image - 2023-02-24T144458.861.png

  • 数据上下文

    image - 2023-02-24T144509.106.png

5. 透视失真

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

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

    image - 2023-02-24T144612.872.png

6. 图形设计 & 数据尺度

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

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

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

image - 2023-02-24T145014.739.png

7. 数据上下文

image - 2023-02-24T145019.829.png

8. 谎言因子

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

    image - 2023-02-24T145241.743.png

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

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

9. 可视化设计原则

image - 2023-02-24T145733.084.png An excellent visualization design gives to the viewer the greatest number of ideas in the shortest time with the least ink in the smallest space. 一个出色的可视化设计可在最短的时间内,使用最少的空间、用最少的笔墨为观众提供最多的信息内涵。 —— Edward R. Tufte

  • 准确地展示数据

    • 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

10. Data-ink Ratio

  • 最大化数据墨水占比(Data-Ink Ratio)

  • 可视化图形由墨水和空白区域构成

  • 数据墨水:可视化图形当中不可擦除的核心部分被称之为“数据墨水”

  • 擦除数据墨水将减少图形所传达的信息量

  • 数据墨水占比:可视化图形中用于展示核心数据的“墨水”在整体可视化所使用的墨水中的比例

    image - 2023-02-24T150053.605.png

11. Data-ink

  • 低数据墨水占比

    image - 2023-02-24T150227.790.png

  • 高数据墨水占比

    image - 2023-02-24T150230.565.png

12. Data-ink ratio案例

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

    • 用于绘制散点和对应标签
  • 10%-20%的墨水是非数据墨水

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

image - 2023-02-24T150542.633.png

13. 提高Data-ink ratio

  • 两个擦除原则:

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

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

image - 2023-02-24T150802.556.png

(Kuznicki et al.Journal of Experimental Psychology: General, 108 (1979), 76.)

14. 可视化设计方法

  • 重要的是展现数据

    Above all show the data

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

    Maximize the data-ink ratio, within reason.

    • 擦除非数据墨水

      Erase non-data-ink, within reason

    • 擦除冗余的数据墨水

      Erase redundant data-ink

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

三、视觉感知

1. 视觉感知

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

2. 什么是神觉感知

  • 感知

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

    • 眼、耳、鼻、神经末梢
  • 那么,视觉感知

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

3. 认知过程

  • 认知心理学将认知过程看成由信息的获取、分析、归纳、解码、储存、概念形成、提取和使用等一系列阶段组成的按一定程序进行的信息加工系统。
  • 科学领域中,认知是包含注意力、记忆、产生和理解语言、解决问题,以及进行决策的心理过程的组合。

image - 2023-02-24T151602.487.png

4. 相对判断和视觉假象

image-20230224151711948.png

image-20230224151733030.png

image - 2023-02-24T151820.273.png

5. 结论

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

6. 视觉突出

  • 研表究明,汉字的序顺并不定一能影阅响读。
  • Aoccdrnig to rscheearch at Cmabrigde Uinervtisy, it deosn't mttaer in wahtorder the ltteers in a wrod are, the olny iprmoetnt tihng is that the frist and IsatIltteer be at the rghit pclae.The rset can be a toatl mses and you can sitll raedit wouthit a porbelm. Tihs is bcuseae the human mnid deos not raed erveylteter by istlef, but the wrod as a wlohe.

7. 视觉感知

  • 引导注意力,高效传达信息

    • 研究表明,人类对于颜色、形状、运动,这些视觉属性,是在不同通道上并行处理的,并且人类能在200ms以内快速辨别,这些属性被称作具有“预感知”特性。(Perception in Visualization (ncsu.edu)
    • 在一个通道中表达的信息,不会干扰(很多)在另一个通道上表达的信息,应当使用不同的视觉通道来描画数据不同方面的特征。(例如一个标记的颜色,并不会影响)
    • 格式塔理论(Gestalt Laws)较为系统的对人类如何发现图形元素之间的相关性进行了全面总结,被广泛的应用在了视觉设计当中。

8. 格式塔学派

image-20230224152527764.png

  • 为什么我们在观看事物的时候会把一部分当做前景,其余部分当做背景?
  • 为什么我们能区分形状?
  • 什么形状是好的?

9. 格式塔理论

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

image - 2023-02-24T152838.553.png

image - 2023-02-24T153021.351.png

  • 就近原则(Proximity)

    • 当视觉元素在空间距离上相距较近时,人们通常倾向于将他们归为一组。
    • 将数据元素放在靠近的位置可以突出它们之间的关联性。

image - 2023-02-24T153040.966.png

image - 2023-02-24T153044.802.png

  • 相似原则(Similarity)

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

image - 2023-02-24T153153.260.png

image - 2023-02-24T153156.261.png

  • 连续性原则(Continuation)

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

image - 2023-02-24T153229.970.png

image - 2023-02-24T153233.264.png

  • 闭合原则(Closure)

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

image - 2023-02-24T153306.738.png

image - 2023-02-24T153309.700.png

  • 共势原则(Common movement)

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

image - 2023-02-24T153419.752.png

  • 对称性原则(Symmetry)

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

image - 2023-02-24T153551.615.png

image - 2023-02-24T153554.343.png

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

    • 大脑通常认为构图中最小的物体是图形,而更大的物体则是背景。
    • 跟凹面元素相比,凸面元素与图形相关联更多些。

image - 2023-02-24T153641.665.png

image - 2023-02-24T153644.489.png

四、视觉编码

1. Jacques Bertin

法国制图学家 [1918-2010] "Semiology of Graphics" [1967] 提出视觉编码的理论原则

image - 2023-02-24T154040.466.png

2. 视觉编码(Visual Encoding)

  • 视觉编码是一种:

    • 将数据信息映射成可视化元素的技术。

      • 数据信息 ---> 属性+值
      • 可视化元素 ---> 可视化符号 + 视觉通道

image - 2023-02-24T154343.734.png

3. 可视化符号

  • 可视化符号(Mark) :

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

    image - 2023-02-24T154458.413.png

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

    image - 2023-02-24T154501.773.png

4. 视觉通道

  • 视觉通道(Channel) :

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

    • 数量通道(Magnitude Channel)

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

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

image - 2023-02-24T154552.785.png

5. 视觉编码的优先级

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

  • 当利用数量通道编码表示数值属性时:位置通道是最为精确的,其次是长度、角度、面积、深度、色温、饱和度、曲率、最后是体积。

  • 当利用标识通道表示分类属性时:划分空间区域最为有效,其后依次是色向、动向、形状。

    image - 2023-02-24T155043.463.png

6. 视觉编码表达案例

  • 比较两个圆的面积

    image-20230224161830267.png

    image-20230224161846549.png

  • 比较两个条形的面积

    image-20230224161903865.png

    image-20230224162852370.png

五、基础统计图表

1. 基础图表——柱状图(Bar)

  • 将柱子的高度(或宽度)映射到数值大小

  • 最基础的柱形图,需要一个分类变量和一个数值变量。

  • 柱状图必须以0作为基准线,可以表示正值或负值

  • 在柱状图中,柱子可以分组展示柱状图是比较分类的数据的最佳选择

    image - 2023-02-24T163455.909.png

2. 基础图表——饼图(Pie)

  • 每个扇形的弧长(以及圆心角和面积)大小,表示该种类占总体的比例

  • 饼图最显著的功能在于表现“占比”

  • 饼图一般需要一个分类数据字段、一个连续数据字段

  • 分类字段的数据,在图表使用的语境下,应当构成一个整体(例如一班、二班、三班,构成了整个高一年级),而不能是独立、无关的。由于饼图用面积取代了长度,从而加大了对各个数据进行比较的难度,当需要对数据进行比较,分清孰大孰小,尤其是当数据接近时,柱状图更加合适。

    image - 2023-02-24T163512.797.png

    image - 2023-02-24T163515.981.png

3. 基础图表——散点图(Scatter)

  • 一般通过点在空间上的位置信息来编码数据点可以根据需要绘制成不同的颜色、

  • 点既可以是一个圆形,也可以用其他不同形状来替代。形状也是一个重要的视觉通道,用于编码不同数据信息。

  • 可以通过更复杂的组合图形(glyphs)来编码多维度数据。

  • 散点图适用于分析变量之间是否存在某种关系或相关性。

  • 散点图适用于分析变量之间相关性的强弱,我们可以通过查看图上数据点的密度来确定相关性的强弱

    image - 2023-02-24T165335.895.png

    image - 2023-02-24T165340.114.png

4. 折线图

  • 大多数情况下,折线图适用于x轴为连续数据的场景,但:

    • 也可以在x轴为离散数据时使用;

    • 甚至可以用于分类数据时使用,如果分类数据的顺序是有意义的。

    • 以上两种情况在插值计算时要格外注意

      image - 2023-02-24T171647.349.png

      image - 2023-02-24T171651.126.png (离散数据不应该用曲线插值)

5. 选择合适的图表

image - 2023-02-25T134126.178.png

image - 2023-02-25T134129.765.png

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

1. D3

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

  • 简单柱状图示例:

2. Vega

  • Vega - A Visualization Grammar

  • A Visualization Grammar | Vega

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

  • 简单柱状图示例:

3. G2

  • G2 (antv.vision)

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

  • 简单柱状图示例:

4. EChat

  • Apache ECharts

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

  • 简单柱状图示例:

5. 使用图表表达

  • Step1:A、B、C三个班级期末考试,A班高数平均分80,B班90,C班75。

    image - 2023-02-25T154939.196.png

  • step2:A、B、C三个班级期末考试,A班高数平均分80,B班90,C班75。A班大物平均分90,B班70,C班75。

    image - 2023-02-25T155037.275.png

  • step3:A、B、C三个班级期末考试,A班高数平均分80,B班90,C班75。A班大物平均分90,B班70,c班75。A班40人,B班35人,C班45人。

七、总结

本节课我学习到了数据可视化的相关基础知识以及面向前端的可视化工具,了解到当前数据可视化对信息领域的关键作用,学习可视化对我们信息分析、提升体验等有很大的帮助。