数据可视化(2) | 青训营笔记

167 阅读5分钟

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

接上篇数据可视化(1) | 青训营笔记

视觉感知

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

视觉感知

感知

感知就是指客观事物经过人的感觉器官在人脑中形成的直接反映

感觉器官

眼、耳、鼻、神经末梢
那么,视觉感知就是客观事物通过人的视觉在人脑中形成的直接反映

认知过程

认知心理学将认知过程看成由信息的获取、分析、归纳、解码、储存、概念形成、提取和使用等一系列阶段组成的按一定程序进行的信息加工系统

科学领域中,认知是包含注意力、记忆、产生和理解语言、解决问题,以及进行决策的心理过程的组合

image.png

相对判断和视觉假象

结论:

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

格式塔理论:

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

image.png

就近原则

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

image.png

相似原则

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

image.png

连续性原则

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

image.png

闭合原则

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

image.png

共势原则

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

image.png

对称性原则

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

image.png

图形与背景关系的原则

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

image.png

视觉编码

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

image.png

可视化符号

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

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

image.png

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

    image.png

视觉通道

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

视觉通道有两种

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

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

视觉编码的优先级

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

  • 当利用数量通道编码表示数值属性时:
    位置通道是最为精确的,其次是长度、角度、面积、深度、色温、饱和度、曲率、最后是体积
  • 当利用标识通道表示分类属性时:
    划分空间区域最为有效,其后依次是色向、动向、形状

视觉编码表达案例

比较两个圆的面积,大圆面积是小圆的几倍?

image.png

七倍

image.png

比较两个条形的面积

image.png

七倍,too

image.png

人们对长度的认知较面积更为精确

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

D3

D3.js是用于数据可视化的开源的JavaScript函数库,被认为是最好的JavaScript可视化框架之一
简单柱状图示例

image.png

Vega-A Visualization Grammer

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

image.png

G2可视化引擎

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

image.png

Apache Echarts

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

image.png

使用图表表达

step1. A、B、C三个班期末考试
A班高数平均分80,B班90,C班75

image.png

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

image.png

step3. A、B、C三个班期末考试
A班高数平均分80,B班90,C班75
B班大物平均分90,B班70,C班75
A班40人,B班35人,C班45人
如何用图表表达?
可以考虑用三维图表,用高度表述分数,厚度表示人数
或者在Setp2.图表的基础上添加一个折线,表示各班人数