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

28 阅读5分钟

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

数据可视化概述

什么是数据可视化?

Anything that converts data into a visual representation

分类

  • 科学可视化:科学实验数据的直观展示
  • 信息可视化:抽象数据的直观可视化

为什么要数据可视化?

便于观察者记录信息、分析推理、证实假设、交流思想

可视化设计原则和方法

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

常见可视化错误

  • 透视失真
    • 如果数字是由视觉元素表示生成的,那么它们应该与视觉元素的感知程度成正比
    • 如在3D可视化中,近大远小造成的失真
    • 解决方法:使用清晰、详细和彻底的标签
  • 图像设计 & 数据尺度
    • 图形的每部分都会产生视觉预期(visual expectation)
    • 视觉预期往往决定了眼睛实际看到的东西
    • 如轴刻度,我们期望它从始至终都能够保持连贯一致
  • 数据上下文
    • 不应以偏概全,应补全上下文

可视化设计原则

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

一个出色的可视化设计可在最短时间内,使用最少的空间、用最少的笔墨为观众提供最多的信息内涵

  • 准确地展示数据
  • 节省笔墨
  • 节省空间
  • 消除不必要的“无价值”图形
  • 在最短时间内传达最多的信息

Data-ink Ratio

  • 最大化数据墨水占比
  • 墨水:整体可视化所用到的区域(空白之外的所有区域)
  • 数据墨水:可视化图形中不可擦除的核心部分,擦除将减少图形传达的信息量
  • 数据墨水占比:数据墨水占整体可视化墨水中的比例
  • Data-ink ratio = Data-ink / Total ink used to print the graphics

视觉感知

可视化致力于外部认识,即怎样利用大脑以外的资源来增强大脑本身的认知能力

概念

  • 感知:客观事物通过人的感觉器官在人脑中形成的直接反应
  • 感觉器官:眼、耳、鼻、神经末梢
  • 视觉感知:客观事物通过人的视觉在人脑中形成的直接反映
  • 认知过程:
    • 认知心理学:由信息的获取、分析、归纳、解码、存储、概念形成、提取和使用等一系列阶段组成的按一定程序进行的信息加工系统
    • 科学领域:认知是包含注意力、记忆产生和理解语言、解决问题以及进行决策的心理过程的组合

结论

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

格式塔理论

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

image.png

  • 就近原则(Proximity)
    • 当视觉元素在空间距离上相距较近时,人们通常倾向于将他们归为一组
    • 数据元素放在靠近的位置,可以突出它们之间的关联性
  • 相似原则(Similarity)
    • 形状、大小、颜色等属性方面比较相似时,这些物体就容易被看作一个整体
  • 连续性原则(Continuation)
    • 人们在观测事物的时候会自然地沿着物体的边界,将不连续的物体视为连续的整体
  • 闭合原则(Closure)
    • 有些图形可能本身是不完整或者不闭合的,但是主体有一种使其闭合的倾向,人们能很容易地感知 整个物体而忽略未闭合的特征
  • 共势原则(Common movement)
    • 如果一个对象中的一部分都向共同的方向去运动,那这些共同移动的部分就易被感知为一个整体
  • 对称性原则(Symmetry)
    • 对称的元素被视为同一组的一部分
  • 图形与背景关系原则(Figure-ground)
    • 大脑通常认为构图中最小的物体是图形,更大的物体则是背景
    • 跟凹面元素相比,凸面元素与图形相关联更多些

视觉编码

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

可视化符号(Mark)

用于表现数据元素或元素之间的关联

  • 表示元素:点、线、面
  • 表示关系:闭包、连线

视觉通道(Channel)

基于数据属性,控制可视化的符号展示样式

  • 数量通道(Magnitude Channel)
    • 用于显示数据的数值属性(定量/定序)
    • 如位置、长度、角度、面积、色温、曲率等
  • 标识通道(Identity Channel)
    • 用于显示数据的分类属性(是什么/在哪里)
    • 如空间区域、形状

可视化工具

  • D3.js
    • 开源JS函数库
    • 由数据驱动的,由数据到图形转换的框架
  • Vega
    • 一种可视化语法,声明式语言
    • 使用JSON格式描述可视化视觉外观和交互行为,并使用Canvas或SVG生成视图
  • G2
    • 一套面向常规统计图表,数据驱动的高交互可视化图形语法
    • 高度易用性和扩展性
  • ECharts
    • JS开源可视化库,兼容绝大部分浏览器也可在PC和移动端上运行
    • 强图表类型驱动,底层依赖ZRender