数据可视化 | 青训营笔记

73 阅读5分钟

这是我参与[第四届青训营]笔记创作活动的第八天,今天我学习并总结了一些关于数据可视化方面的知识点,主要包括数据可视化的概念和基本原则、可视化呈现、以及面向前端的数据可视化工具等内容。

1.什么是数据可视化

生活中的表格、地图、图表等等,都属于数据可视化。即任何一种将数据转换成一种可视化的方式,都是可视化的呈现。

  • 科学可视化:科学数据的直观展示。
  • 信息可视化:对抽象数据的直观展示。
  • 可视分析:对分析结果的直观展现,及交互式反馈。

2.为什么要数据可视化

让观察者能够通过视觉直观地获取到知识。

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

3.可视化设计原则和方法

  • 配色与纹理应适当,不能给观看者带来过强的压迫感。
  • 避免在图表中加入过多数据,导致获取关键信息困难。
  • 能够正确的表达数据中的信息而不产生偏差与歧义
  • 准确的展示数据
  • 节省笔墨
  • 节省空间
  • 消除不必要的“无价值”图形
  • 在最短的时间内传达最多的信息

节省笔墨:最大化数据墨水占比(Data-lnk Ratio)

  1. 可视化图形由墨水和空白区域构成。
  2. 数据墨水:可视化图形当中不可擦除的核心部分被称之为“数据墨水”,擦除数据墨水将减少图形所传达的信息量。
  3. 数据墨水占比:可视化图形中用于展示核心数据的“ 墨水”在整体可视化所使用的墨水中的比例,因此要擦除非数据墨水、擦除多余数据墨水。

常见的错误可视化

  1. 透视失真:经常发生与3D可视化当中,如果数字是由视觉元素表示的,那么它们应与视觉元素的感知程度成正比。因此应当使用清晰、详细和彻底的标签,避免图形失真和含糊不清。但是在3D可视化中,有时会因为3D的原因,在某种角度下看过去,数据与视觉元素的感知程度不成正比。如下图中,绿色部分的数据是19.5%,紫色部分的数据是21.2%,但是由于使用了3D可视化,绿色部分大小看起来比紫色部分更大。 image.png
  2. 图形设计和数据尺度:图形的每一部分都会产生视觉预期,这些预期往往决定了眼睛实际看到的东西,错误的数据洞察,产生于在图形的某个地方发生的不正确的视觉预期判断。
  3. 数据上下文:在数据可视化的过程中要注意将数据上下文展现出来

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

4.视觉感知

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

  • 感知:是指客观事物通过人的感觉器官在人脑中形成的直接反应。
  • 认知:注意力,记忆力,产生和理解语言等等的心理过程。

通过周围的影响,通过色块、大小等等对比,来突出重要数据。

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

5.视觉编码

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

  • 可视化符号:用于在可视化当中表现数据元素或元素之间的关联。
  • 视觉通道:基于数据属性,控制可视化的符号展现样式,例如,点根据其所代表的数据属性的不同可有不同的形状与颜色。

6.面向前端的可视化工具

  • D3:D3.js是用于数据可视化的开源的JavaScript函数库,被认为是最好的JavaScript可视化框架之一。
  • Vega:Vega是一种可视化语法。通过其声明式语言,可以用JSON格式描述可视化的视觉外观和交互行为,并使用Canvas或SVG生成视图。
  • G2:一套面向常规统计图表,以数据驱动的高交互可视化图形语法,具有高度的易用性和扩展性。使用G2,你可以无需关注图表各种繁琐的实现细节,一条语句即可使用Canvas或SVG构建出各种各样的可交互的统计图表。
  • ECharts:ECharts, 一个使用JavaScript实现的开源可视化库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器(IE9/10/11, Chrome, Firefox, Safari等),底层依赖矢量图形库ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表