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

107 阅读6分钟

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

本堂课重点内容

  • 数据可视化的基本概念
  • 可视化设计的基本原则
  • 面向前端的可视化工具

详细知识点介绍

数据可视化
  • 概念

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

  • 分类
  1. 科学可视化:科学实验数据的直观展示

  2. 信息可视化:对抽象数据的直观展示

  • 意义

01.记录信息 02.分析推理 03.证实假设 04.交流思想

可视化设计原则和方法

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

  • 常见错误可视化

    透视失真

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

    图形设计&数据尺度

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

    • 这些预期往往决定了眼睛实际看到的东西;
    • 错误的数据洞察,产生于在图形的某个地方发生的不正确的视觉预期推断。一个典型的例子:轴刻度,我们期望它从始至终能够保持连贯且一致。
  • 可视化设计原则

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

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

image.png

提高Data-ink ratio

  • 两个擦除原则:
    • 擦除非数据墨水
    • 擦除冗余的数据墨水
  • 非数据墨水是指不能描绘有价值信息的墨水:
    • 有时,非数据墨水会使数据变得混乱不堪
    • 并非所有的非数据墨水都没有用(例如坐标轴信息)。
  • 冗余的数据墨水描述了信息,但它重复显示了信息。

可视化设计方法

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

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

    • 擦除非数据墨水 Erase non-data-ink, within reason
    • 擦除冗余的数据墨水 Erase redundant data-ink.
视觉感知
  • 人类视觉系统观察的是变化,而不是绝对值,并且容易被边界吸引。
  • 在可视化设计中,设计者需要充分考虑到人类感知系统的这些现象,以使得设计的可视化结果不会存在阻碍或误导用户的可视化元素。

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

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

格式塔理论

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

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

  1. 相似原则(Similarity)

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

  1. 连续性原则(Continuation)

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

  1. 闭合原则(Closure)

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

  1. 共势原则(Common movement)

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

  1. 对称性原则(Symmetry)

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

视觉编码( Visual Encoding)

视觉编码是一种: 将数据信息映射成可视化元素的技术。

image.png

image.png

面向前端的可视化工具介绍
  • D3

D3.js是用于数据可视化的开源的JavaScript函数库,被认为是最好的JavaScript可视化框架之一。 简单柱状图示例: observablehq.com/@d3/bar-cha…

  • Vega

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

  • G2

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

  • ECharts

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

课后个人总结

数据可视化研究的是,如何将数据转化成为交互的图形或图像等,以视觉可以感受的方式表达,增强人的认知能力,达到发现、解释、分析、探索、决策和学习的目的。 目前部分主流的开源框架有:

jointjs 聚焦于图编辑,包含了常见的流程图和 BPMN 图的功能,上手容易,开箱即用但是二次开发非常困难。

d3.js 非常底层的可视化库,有大量图分析场景的案例,上手成本高,demo 同业务的距离比较大。

目前 AntV 在图可视化方向开源了图基础框架 G6:

github.com/antvis/g6

主要完成以下功能:

节点和边的渲染,包括自定义节点和边 事件交互机制,内嵌了大量常见的交互 常见的布局,包括树布局和力导布局