第2章 数据可视化基础

2.1视觉感知

    数据可视化能有效地传达出隐藏在大量数据中的重要信息,使用户能够更清晰地认知数据,从而进行分析和决策。

    2.1.1视觉感知和视觉认知

        人类只有通过视觉感知才能达到视觉认知

        视觉感知是视觉的内在表象,其包括视觉低级和视觉高级两个不同的感知层次
            视觉低级感知层次与物体性质相关,包括深度、形状、边界、表面材质等
            视觉高级感知层次包括对物体的识别和分类,属于人类的认知能力的重要组成部分
        视觉感知是视觉认知的前提

    2.1.2视觉感知的处理过程

        (1)视觉寻找
            搜寻目标
        (2)寻找
            锁定目标
        (3)分辨
            相似对象进行深入探测
        (4)识别
            识别目标含义
        (5)确定
            确认目标
        (6)记忆搜索
            做出判断

        在大脑皮层上,视觉信息的加工过程非常复杂,像工厂的流水线。视觉信息在大脑中由多个脑功能区联合加工,分步完成。视觉信息被分成多路,由多条不同的流水线同时工作,分别加工多类不同性质的信息,然后大脑再将这些信息整合起来,完成对视觉信息的处理。

    2.1.3格式塔原则

        描述了人在视觉上如何感知对象,是数据可视化设计的基本原则。格式塔原则中最基本的法则是简单精炼法则。
        (1)接近原则
            元素之间的距离越近,被视作组合的概率越大
        (2)相似原则
            常把明显具有共同特性的元素当成一个整体或归为一类
        (3)闭合原则
            人们常会将不完全封闭的东西视作统一的整体
        (4)连续原则
            凡具有连续性或共同运动方向的元素容易被视为一个整体
        数据可视化是将数据映射为图形元素,生成包含原始信息的视觉图像的过程

    2.1.4颜色理论

        一般人眼中有三种不同的视锥细胞:第一种主要感受红色,它的最敏感点在565nm左右;第二种主要感受绿色,敏感点在535左右;第三种主要感受蓝色,敏感点420nm左右。三基色并不是光的物理性质,而是基于人眼的独特生理特征确定下来的。
        三基色原理
            红、绿、蓝三种基色是相互独立的,其中任何一种都不能由其他两种颜色合成。
            相加混色:三基色按照不同的比例相加合成的混色
                相加混色所表示的颜色模式称为RGB模式
            相减混色:吸收三基色比例不同而形成不同的颜色
                相减混色三基色原理所表示的颜色模式称为CMYK模式
        色彩的三要素
            色相:即色彩的相貌和特征,指颜色的种类和名称
            明度:又称亮度,指颜色的深浅、明暗的变化
            饱和度:又称为纯度,指色彩的鲜艳程度

    2.1.5视觉编码

        描述数据与可视化结果的映射关系

2.2数据准备

    2.2.1数据类型

        (1)类别型数据
            用于区分物体
        (2)有序型数据
            用来表示对象间的顺序关系
        (3)区间型数据
            用于得到对象间的顺序关系
        (4)比值型数据
            用于比较数值间的比例关系

    2.2.2数据预处理

        数据质量体现在以下方面
            (1)有效性
            (2)准确性
            (3)完整性
            (4)一致性
            (5)时效性
            (6)可信性
        数据预处理步骤
            (1)数据清理-修正数据中的错误、识别脏数据、更正不一致数据的过程
            (2)数据集成-把来自不同数据源的同类数据进行合并,减少数据冲突,降低数据冗余程度
            (3)数据归约-在保证数据挖掘结果准确性的前提下,最大限度的精简数据量,得到简化的数据集
            (4)数据转换-对数据进行规范化处理

    2.2.3数据组织与管理

        主要组织形式:按行组织、按列组织、按键值组织、按关系组织
        主要数据管理层次:按块级、文件级、数据库
        (1)分布式文件系统
            文件在物理上可能被分散存储在不同地点的节点上,各节点通过计算机网络进行通信和数据传输,但在逻辑上仍然是一个完整的文件
            常见分布式文件系统:HDFS、GFS、KFS
        (2)文档存储
            文档存储支持对结构化数据的访问,一般以键值对的方式进行存储,且支持嵌套结构
            主流的文档数据库有MonGoDB、CouchDB、Terrastore、RavenDB
            文档存储模型也支持数据和列值键
        (3)列式存储
            列式存储是指以流的方式在列中存储所有的数据。不太适合用于数据频繁变化的数据库,适合用于决策支持系统、数据集市、数据仓库,不适合用于OLTP
            传统的数据仓库:SybaseIQ、InfiniDB、Vertica。开源的数据库产品:Hadoop HBase、Infobright
        (4)键值存储
            NoSQL存储的一种方式。数据按照键值对的形式进行组织、索引和存储。键值存储能有效地减少读写磁盘的次数,比SQL数据库存储拥有更好地读写性能
            键值数据库产品:Redis、Apache Cassandra、Google Bigtable
        (5)图形数据库
            图形数据库是NoSQL数据库(非关系型数据库)的一种类型,它应用图形理论存储实体之间的关系信息。
            主流的图形数据库:Google Pregel、Neo4j、Infinite Graph、DEX、InfoGrid、HyperGraphDB
        (6)关系数据库
            关系模型是最传统的数据存储模型,数据按行存储在有架构界定的表中。表中的每个列都有名称和类型,表中的所有记录都要符合表的定义
        (7)内存数据库
            内存数据库(Main Memory Database,MMDB)-将数据放在内存中直接操作的数据库。即活动事务只与实时内存数据库的内存数据“打交道”
            内存数据库产品:Oracle TimesTen、eXtremeDB、Redis、Memcached
        (8)数据仓库
            数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策

    2.2.4数据分析与数据挖掘

        数据分析
            统计分析
            探索性数据分析
            验证性数据分析
            在线分析与处理
        数据挖掘分析方法
            分类与预测
            聚类分析
            关联分析
            异常分析
        数据挖掘的步骤
            确定业务对象
            数据准备
            数据挖掘
            结果分析
            知识的同化

2.3数据可视化的基本框架

    2.3.1数据可视化的流程

        数据可视化的流程
            以数据流为主线
            数据采集
            数据处理和变换
            可视化映射
            用户感知

    2.3.2数据可视化的设计标准及框架

        数据可视化的设计标准
            (1)表达力强
            (2)有效性强
            (3)能间接地传达信息
            (4)易用
            (5)美观
        数据可视化的设计框架
            第一层描述现实生活中用户遇到的实际问题
            第二层是抽象层
            第三层是编码层
            第四层则需要具体实现与前三个层次匹配的数据可视化展示和交互算法,相当于一个细节描述过程


2.4数据可视化的基本原则


    2.4.1数据筛选
    2.4.2数据到可视化的直观映射
    2.4.3视图选择与交互设计

        (1)视图的滚动与缩放
        (2)颜色映射的控制,如提供调色盘让用户控制
        (3)数据映射方式的控制,让用户可以使用不同的数据映射方式来展示同一数据
        (4)数据选择工具,用户可以选择最终可视化的数据内容
        (5)细节控制,用户可以隐藏或突出数据的细节部分

    2.4.4美学因素

        (1)简单原则
        (2)平衡原则
        (3)聚焦原则

    2.4.5可视化的隐喻

        用一种事物去理解和表达另一种事物的方法称为隐喻,隐喻作为一种认知方式参与人对外界的认知过程

    2.4.6颜色与透明度

        颜色在数据可视化领域通常被用于编码数据的分类或定序属性

2.5数据可视化的基本图表

    2.5.1原始数据绘图

        (1)数据轨迹
            数据轨迹是一种标准的单变量数据呈现方法:X轴显示自变量,Y轴显示因变量
        (2)柱形图
            柱形图采用长方形的形状和颜色编码数据的属性
        (3)条形图
            条形图是柱形图向右旋转了90°的呈现方式。
        (4)折线图
            折线图可用于二维大数据集,适用于趋势比单个数据点更重要的场合
        (5)直方图
            直方图是对数据集中某个数据属性的频率统计
        (6)饼图
            饼图采用环状方式呈现各分量在整体中的比例
        (7)等值线图
            等值线图使用相等数值的数据点连线来表示数据的连续分布和变化规律
        (8)走势图
            走势图是一种紧凑、简洁的数据趋势表达方式,它通常以折线图为基础,往往直接嵌入在文本或表格中
        (9)散点图
            散点图是表示二维数据的标准方法
        (10)气泡图
            气泡图是散点图的一种变形,通过每个点的面积大小来表示第三维
        (11)维恩图
            维恩图,或译为文氏图、Venn图、温氏图、维恩图、范式图
        (12)热力图
            热力图使用颜色来表达位置相关的二维数值数据大小
        (13)雷达图
            雷达图又称为戴布拉图、蜘蛛网图,适用于多维数据(四维以上),且每个维度必须可以排序

    2.5.2简单统计值标绘

        箱形图又称为盒须图,是用于显示一组数据分散情况的统计图,因形如箱子而得名。它显示出一组数据的最大值、最小值、中位数及上下四分位数

    2.5.3多视图协调关联

        多视图协调关联将不同类型的绘图组合起来,每个绘图单元可以展现数据某方面的属性,并且通常允许用户进行交互分析,提升用户对数据的模式识别能力


2.6数据可视化工具

    2.6.1入门级工具

        Excel

    2.6.2信息图表工具

        (1)D3
            D3.js是最流行的可视化库之一,是一种数据操作类型的JavaScript库(也可视其为插件),用于创建数据可视化图形
        (2)Flot
            Flot是一套用JavaScript编写的绘制图表用的数据库,专门用在网页上执行绘制图表功能。
        (3)Echarts
            ECharts是一个免费的、功能强大的、可视化的库。
        (4)Visual.ly
            Visual.ly是一款非常流行的信息图制作工具,非常实用。
        (5)Tableau
            Tableau是新一代商业智能工具软件,他将数据连接、运算、分析与图表结合在一起,各种数据容易操控,用户只需将大量数据拖放到数据“画布”上,就能快速地创建出各种图表

    2.6.3地图工具

        (1)PolyMaps
            PolyMaps可同时使用位图和SVG矢量地图,为地图提供了多级缩放数据集,并且支持矢量数据的多种视觉表现形式。
        (2)Modest Maps
            Modest Maps是一个可扩展的交互式免费库,它提供了一套查看卫星地图的API,是目前最小的地图库
        (3)Leaflet
            Leaflet是一个专门为移动设备开发的互动地图库,是一个开源的JavaScript库
        (4)OpenLayers
            OpenLayers是一个用于开发WebGIS(网络地理信息系统)客户端的JavaScript包

    2.6.4高级分析工具

        (1)Processing
            Processing是一门适合于设计师和数据艺术家的开源语言,它具有语法简单、操作便捷的特点
        (2)R
            R是属于GNU系统的一个免费、开源的软件,是一套完整的数据处理
        (3)Python
            Python是一种面向对象的解释型计算机程序设计语言。简单、易学、免费开源、可移植性好、可扩展性强
        (4)Gephi
            Gephi是网络分析领域的数据可视化处理软件

猜你喜欢

转载自blog.csdn.net/weixin_43717681/article/details/108877476
今日推荐