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

70 阅读6分钟

这是我参加[第五届青训营]伴学笔记创作活动的第14天

本课重要知识

  • 了解数据可视化的概念和基本原则
  • 能够识别出不好的,甚至是有误导性的可视化呈现。
  • 了解一些面向前端的数据可视化工具

数据可视化

手机使用情况统计,汇报图表,导航地图和游戏缩略地图,体温计,词云都属于数据可视化

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

数据可视化分类

  • 科学可视化-科学实验数据的直观展示
  • 信息可视化-对抽象数据观直观展示
  • 可视分析-对分析结果的直观展现及交互式反馈,是一个跨领域的方向

image.png

数据可视化的意义

  • 记录信息
  • 分析推理
  • 证实假设
  • 交流思想

例子:安斯库姆四重奏,尽管已知结果,但大量的数据通过图表呈现不同的效果,比起精准的结果更容易让人理解。

数据可视化设计原则和方法

配色奇怪和纹理不搭,视觉混乱和强烈的视觉冲击和压迫感而导致可读性差,数据过于繁多和杂乱导致难以立马提取有用的数据都是糟糕的可视化呈现的表现。

可视化设计原则

能够正确地表达数据中地信息而不产生偏差与歧义
错误可视化案例讲解

常见地错误可视化

  • 透视失真

    • 常用于3D可视化,通过视线近大远小的原理,会自己带来视觉上的胜利,比如乔布斯利用该方法在发布会上展现苹果手机的市场占有率
    • 但如果数字是由视觉元素表示的,那么它们应该与视觉元素的的感知程度成正比
    • 使用清晰、详细和彻底的标签,以避免图形失真和含糊不清。
  • 图形设计&数据尺度

    • 图形的每一部分都会产生对其的视觉预期(visualexpectation):
      • 这些预期往往决定了眼睛实际看到的东西;
      • 错误的数据洞察,产生于在图形的某个地方发生的不正确的视觉觉预期推断
    • 一个典型的例子:轴刻度,我们期望它从始至终能够保持过在贯且一致。
  • 数据上下文-补充数据上下文增强所要表达的结论

image.png

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

由此推断,优秀的可视化有以下设计原则

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

Data-ink Ratio墨水占比

image.png 案例 image.png

视觉感知

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

感知vs认知

image.png

image.png 认知案例:相对判断和视觉假象
结论:

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

案例:格式塔学派vs构造主义元素学派

image.png 依据学派理论设计的学派logo image.png

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

视觉编码

法国制图学家[1918-2010]"Semiology of Graphics[1967]提出视觉编码的理论原则 image.png

image.png

可视化符号(Mark):用于在可视化当中表现数据元素或元素之间的关联。

  • 当表示元素时Mark包括:点、线、面
  • 当表示关系时Mark包括:闭包、连线

视觉通道(Channel):基于数据属性,控制可视化的符号展现样式,点根据其所代表的数据属性的不同可有不同的 与颜色。

视觉通道有两种类型

  • 数量通道(MagnitudeChannel)用于显示数据的数值属性(定量/定序)包括:位置、长度、角度、面积、深度、色温、饱和度、曲率、体积。
  • 标识通道(ldentityChannel)用于显示数据的分类属性(是什么/在哪里)包括:空间区域、色向、动向、形状

面向前端的可视化工具

D3(上手较难)

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

Vega(推荐)

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

G2可视化引擎

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

ECharts

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