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

104 阅读4分钟

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

生活中的数据可视化

手机存储

image.png

地图

image.png

还有体温计......

什么是数据可视化?

任何一种将数据转换成一种可视化呈现形式的东西都是数据可视化,如图表、关系图、地图、甚至是表格

数据可视化分类

科学可视化

科学实验数据的直观展示

信息可视化

对抽象数据的直观展示

可视分析

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

为什么要数据可视化?

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

可视化设计原则

  • 能够正确的表达数据中的信息而不产生偏差与歧义
  1. 准确地展示数据
  2. 节省笔墨
  3. 节省空间
  4. 消除不必要的“无价值”图形
  5. 在最短时间内传达最多的信息

常见的错误可视化

  1. 透视失真
  2. 图形设计$数据尺度
  3. 数据上下文

透视失真(常发生在3D可视化中)

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

图形设计$数据尺度

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

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

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

image.png

数据上下文

  1. without context

image.png 2. with context

image.png

视觉感知

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

格式塔理论

就近原则

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

相似原则

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

连续性原则

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

闭合原则

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

共势原则

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

对称性原则

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

图形与背景关系原则

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

视觉编码

image.png

可视化符号

用于在可视化当中表现数据元素或元素之间的关联

  • 当表示元素时Mark包括:点、线、面

image.png

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

image.png

视觉通道

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

两种类型

  1. 数量通道(Magnitude Channel)
  • 用于显示数据的数值类型(定量/定序)
  • 包括:位置、长度、角度、面积、深度、色温、饱和度、曲率、体积(从前往后,精确度递减)
  1. 标识通道(Identity Channel)
  • 用于显示数据的分类属性(是什么/在哪里)
  • 包括:空间区域、色向、动向、形状(从前往后,精确度递减)

面向前端的可视化工具

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