Python统计可视化之Altair探索分析实践指南(全彩版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.1 图形语法简介

在介绍图形语法的原理之前,首先介绍一下系统的概念,以及系统在全球化进程中的演变过程。

系统可以理解为是由一群相互影响、相互关联或相互依赖的元素构成的一个综合体。另外,图形作为一种视觉语言,起到视觉沟通的效果。

Altair是一种具象化的语言,同时,也是需要经过“翻译”才能理解的语言,这个“翻译”的核心目标就是将抽象的数据转换成具体的图形。

从复杂的信息图到简洁的商务图,图形基本上都是由画布、线框、刻度、元素和装饰5部分构成的,这些部分相互影响、相互关联,同时又是图形的组成元素。因此,可以将图形理解为系统。而且,图形的综合性可以通过图形的不同组成元素在功能上的相互联系来体现。

在全球化的发展过程中,生产模式经历了从标准产品生产转换成标准部件生产的过程,标准部件可以灵活地组装成各种产品形式,满足不同市场的差异化需求。这种标准部件生产是通过将关键产品部件设计成标准部件的方式实现的,而且这些标准部件都有标准接口,系统也演变成可以为使用者提供更多组合选择的定制化组装系统。随之产生的就是模块单元,也就是说,产品的整体被分成若干基本功能部件,这些基本功能部件就会被划归成若干模块单元。这样,原来的产品系统就演变为模块系统。模块系统的应用案例有很多,例如,乐高塑料拼装玩具一直是模块单元的经典案例;组合家具以标准的长度、宽度和高度为模块进行设计,组合家具能够适应不同面积的房屋,或者按照用户的要求进行定制化组装,如图2.1所示。

图2.1

2.1.1 图形语法的原理

按照模块系统的原理,可以将图形系统定义成画布模块、线框模块、刻度模块、元素模块和装饰模块,这些模块的层次关系如图2.2所示。

在这些模块中,元素模块是视觉沟通的焦点,自然也是视觉语言的核心。元素模块的样式通过元素单元的不同组合模式展现,这些元素单元也就是视觉元素,主要包括长方形、圆形、直线、曲线、扇形和多边形。简单来讲,数据可视化的基本内容就是将数据映射成彩色图形的过程,也就是编码数据的过程。编码数据也称为视觉编码(visual encodings)。在数据可视化的过程中,元素模块的样式和位置是视觉编码的核心内容。元素模块的样式主要包括位置、形状、大小、方向、长度和颜色。元素模块的样式和位置统称为视觉暗示(visual cues)。这些视觉暗示的效果如图2.3所示。

图2.2

图2.3

因此,可以将视觉编码理解成是一个构造视觉暗示的过程。从数据到视觉暗示的映射过程可以用映射表达式表示,如下所示。

其中,xi表示第i个维度的数据,i=1,2,…,n,element表示视觉暗示。从视觉认知的角度来讲,这种视觉暗示也可以理解成是元素模块的空间状态,一种广义上的图形。因此,映射表达式是图形语法原理的核心。同时,这也是n维数据可视化的映射表达式。

2.1.2 图形的视觉对象的组合原则

在数据可视化实践的过程中,既要编码数据也要考虑视觉效果。要想实现理想的视觉效果,就要运用视觉设计原则和技巧。其中,视觉设计原则主要是指图形的视觉对象的组合原则;视觉设计技巧主要包括排列与对齐、感知分层技术(视觉分层)、视觉反差(前注意属性)、视觉焦点和重复。这种图形的视觉对象的组合原则是根据人们感知图形的基本方式建立起来的,也就是先看到图形整体,然后才看到图形的各个组成部分。视觉认知中的格式塔原则(Gestalt)是对人们感知图形的基本方式的理论解释。

Gestalt源于德语词汇,意思是“shape”或“form”。格式塔原则是在20世纪20年代由德国心理学家发展起来的,用来研究心理学中的视觉认知理论。格式塔原则认为“整体是不同于(超过)各个组成部分的总和。”格式塔原则主要包括接近原则(Proximity)、相似原则(Similarity)、包围原则(Enclosure)、闭合原则(Closure)、连续原则(Continuity)和连接原则(Connection),如图2.4所示。

图2.4

1. 接近原则(Proximity)

接近原则是指彼此靠近的物体往往会被看成一组的视觉认知效果(见图2.5)。例如,如果你看到一些彼此站得很近的人,那么可能会认为这些人来自同一个社会群体。

图2.5

我们可以使用散点图发现数据之间的相关性。如果数据之间有明显的相关性,则需要建立回归模型,以求进一步分析数据之间的规律。在这个过程中,也可以筛选出缺失值和离群值等异常数据,如图2.6所示。

图2.6

2. 相似原则(Similarity)

相似原则是指相似的物体往往会被归为一类的视觉认知效果,主要包括在颜色、大小、形状和方向等方面相似的物体(见图2.7)。例如,如果在一个环境中,一些物体彼此相似,那么你自然会将这些物体视为一类,从而将它们看成一组;一些垂直堆积在一起的圆形和正方形将会被看成一列,而不再仅仅是一些单独的几何图形。

图2.7

在使用KNN算法获得最近邻分类器之后,我们通常会评估最近邻分类器的分类效果(精确率)。在获得分类结果之后,评估分类效果的最简捷的方法就是将分类结果可视化,如图2.8所示。

图2.8

说明:KNN(K-Nearest Neighbor)算法是一种数据挖掘分类技术的经典算法。KNN算法的核心思想是:在特征空间中,如果一个样本的K个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别。而且,确定是否“最相邻”经常使用欧氏距离(Euclidean Distance)进行距离计算和距离比较。

3. 包围原则(Enclosure)

包围原则是指通过几何图形或背景颜色等视觉传达方式将若干视觉元素突出展示的视觉认知效果(见图2.9)。例如,人们往往会将物理位置上被包围在一起的物体看成一组中的组成部分,也就是在物体周围建立一个公共边界线,这个边界线既可以是规则的,也可以是不规则的,或是将物体周围的整个区域填充颜色。

图2.9

我们使用回归模型拟合样本数据时,经常需要评估回归模型的拟合度,使用误差区间(Error Interval)是简便、快捷的评估方式之一。如果大部分样本数据都分布在误差区间中,则说明回归模型的拟合程度是很理想的,如图2.10所示。

图2.10

4. 闭合原则(Closure)

闭合原则是指人们倾向于将物体想象成简单和符合头脑中已经存在的结构。正因为这个视觉认知效果,人们往往将一些元素理解成可以识别的视觉元素,而且这个视觉元素的缺失部分也会被我们的眼睛从视觉上补充完整。从而产生间断的视觉元素依然可以被完整识别出来的视觉认知效果。例如,我们依然可以很快地识别出间断的英文字母,如图2.11所示。

图2.11

5. 连续原则(Continuity)

连续原则是指人们观察物体时,我们的眼睛会寻找最平滑的路径,即使这种平滑的路径不存在,眼睛也会对所看到的物体自然地创建这种路径上的连续性。例如,我们依然可以很快地识别出间断的曲线路径,如图2.12所示。

图2.12

根据连续原则我们可以隐藏图形框。虽然我们隐藏图形框,但是视线依然可以沿着刻度线,将间断的路径看成是一条平滑连续的路径。从而去掉不必要的图形组成元素,凸显视觉元素的位置,如图2.13所示。

6. 连接原则(Connection)

连接原则是指人们会将物体在物理位置上彼此连接的部分看成一组的组成部分的视觉认知效果。这种连接原则的连接属性要超过相似原则的颜色、大小、形状和方向等方面的相似属性,但没有包围原则产生的视觉认知效果明显。例如,在视觉元素之间使用直线、箭头等物理连接方式,使得这些视觉元素之间产生存在关联的视觉效果,如图2.14所示。

图2.13

图2.14

带标记点的折线图使用连接原则将两组数据连接起来,可以直观地观察在两组数据之间的不同类别的相对增加或是降低的变化程度。即使一组数据的一些数据点在物理距离上很近,从接近原则的角度来讲,这些数据点会被归为一类,但是由于连接原则的视觉效果更加明显,所以会将由直线连接的数据点优先归为一组。因此,在区分不同类别的变化率方面,斜率图展现优秀的数据沟通效果,如图2.15所示。

图2.15

由于视觉暗示的缘故,图形可以呈现数据的多个维度。在数据可视化的实践过程中,具体选择哪种图形,以及如何设计图形,我们需要根据受众理解的内容来选择图形。图形的视觉暗示蕴含了意义,例如,一条向下倾斜的直线意味着数量的下降,一条上升的直线意味着数据的增加。但是,不是所有的视觉暗示都可以产生同样的视觉感知精确度,例如,我们不太擅长感知视觉元素的大小,这也是我们不太容易比较饼状图中扇形大小的原因。因此,我们要以视觉感知为参考进行图形的选择和图形的设计。

1984年,AT&T贝尔实验室的统计学家威廉·克利夫兰(William Cleveland)和罗伯特·麦吉尔(Robert McGill)发表了有关图形感知的研究成果,他们将研究重点放在了人们理解视觉暗示(不包括形状)的精确程度上,根据精确程度对视觉暗示的类型进行排序,如图2.16所示。

图2.16

根据视觉暗示的精确程度,我们可以知道哪些图形能够带来最准确的感知判断。根据这项研究成果,准确的感知判断意味着受众看到可视化作品之后,具有更大的可能性提取正确的视觉信息。

2.1.3 Altair图形系统的组成模块

Altair的图形系统由画布模块、线框模块、刻度模块、元素模块和装饰模块构成。下面,重点介绍Altair的线框模块、刻度模块、元素模块及装饰模块的定义和组成要素。

(1)线框模块主要由子区、图形框、图形框的填充颜色等要素构成,同时,线框的载体是画布。下面分别介绍这些要素的概念。这些要素的视觉效果如图2.17所示。

• 子区:图形区域中的若干个小的图形区域。

• 图形框:图形区域的边界框。

• 图形框的填充颜色:填充图形区域以内的全部范围的颜色。

图2.17

(2)刻度模块主要由刻度线、刻度标签、轴脊和坐标轴等要素构成。下面分别介绍这些要素的概念。这些要素的视觉效果如图2.18所示。

• 轴脊:刻度线和刻度标签的载体。

• 刻度线:轴脊上的类似标尺的标注数值位置的竖线。

• 刻度标签:描述等距竖线的距离的文本内容。

• 坐标轴:包括轴脊、刻度线和刻度标签。

• 量尺:设置坐标轴的映射关系。

• 坐标系:在直角坐标系下,通过有序实数对(x,y)描述点的位置。轴脊是与图形框互相重合的,因此,图形区域中有4条轴脊,分别是上轴脊、下轴脊、左轴脊、右轴脊。图2.18所示的轴脊表示下轴脊。

图2.18

同样的数据,由于量尺的度量单位不同,会出现不同刻度单位的刻度线的图形,如图2.19所示。

图2.19

(3)元素模块主要由图形区域中的几何形状要素构成,例如,柱形图中的长方形、折线图中的曲线及气泡图中的圆形。元素是图形区域的视觉焦点,可以通过视觉反差、视觉层次等改变视觉效果的方式实现。这些几何形状的视觉效果如图2.20所示。

图2.20

在图2.20的柱形图中,元素是长方形,通过使用不同颜色,可以凸显不同的长方形,又借助尺寸的对比,可以直观地展示不同数值对应的长方形的高度之间的差异。在图2.20的折线图中,元素是曲线,通过曲线的颜色和图形框的填充颜色的对比,形成视觉反差,凸显曲线的变化趋势。在图2.20的气泡图中,元素是圆形,越小的圆形使用越浅的颜色表示,越大的圆形使用越深的颜色表示,从而形成视觉层次,圆形的大小凸显数值大小的差异。

说明:元素模块之间可以相互组合,如同积木一样相互拼插,从而形成复合元素模块。例如,散点曲线图、箱线图、误差带图和误差棒图。

(4)装饰模块主要指图形区域中除线框、刻度和元素以外的要素,主要包括网格线、定位线、图形框标题、坐标轴标题、文本注释和图例等。这些要素的视觉效果如图2.21所示。

• 网格线:连接图形框的上下边界和左右边界的横纵交叉的直线。

• 定位线:显示特定数值的线段。

• 图形框标题:标记图形区域的文本内容。

• 坐标轴标题:标记x轴和y轴的文本内容。

• 文本注释:精确标注图形区域中的线框要素、刻度要素和元素要素的文本内容。

• 图例:概括标记不同元素的文本内容。

图2.21

说明:Altair的图形系统如同积木一样,不同组成模块的图形系统之间可以相互组合和拼接,发挥各自图形系统的功能,从而搭建复合的统计图形。