引言
数据可视化离我们并不遥远,我们在对数据进行展示和分析的时候,常常用到一些图表,例如柱状图、折线图等,这些图表不仅可以使数据更加立体生动的展现在我们面前,而且可以帮助我们发现数据中隐藏的信息,更好的分析业务数据的规律和发展趋势。
在数据可视化的实际操作过程中,整个过程可以分成这样几个步骤:数据清洗、数据分析、角度选择、图形运用、配色等。这里只对图形运用这里做下简单的介绍。相信大家都比较熟悉Echarts和highcharts,其中给我们很多种类的图表选择,那么我们究竟该如何选择相应的展示方式呢,这篇文字希望能从理论上帮大家对数据可视化展示有一个基本的认识,能对大家有所启发,有兴趣将更多的精力投入到数据可视化当中~
概述
在计算机学科的分类中,利用人眼的感知能力对数据进行交互的可视表达以增强认知的技术,称为可视化。可视化技术是一门致力于视觉感官呈现研究的学科,主要的目的是通过图像图像等视觉展示方法来揭示数据中隐含的有效信息。
在Web可视化中,图形是最常见的一种用来展示对象之间关联关系的表示方法,一般是由节点和边构成,节点代表一个真实或者虚拟的对象,边代表节点之间存在的各种关系,通过不同的布局方式可以将设置节点在不同的位置上。图能够很方便的展示对象与对象之间的关系信息,并能够在宏观上理解一个网络系统的整体结构信息,目前在社交网络、生物网络等领域应用的非常广泛。下面首先介绍几种图形可视化的分类,我们可以结合Echarts的示例来理解(本文未涉及三维图形,三维立体可视化的展示方式多种多样,大家可以自行查找资料)。
1. 层次数据可视化
层次数据是我们最常见的一种数据关系,主要用于表达个体与个体之间的隶属关系,这些隶属关系主要存在于:
物理世界中的从属关系,如机构的组织结构,物种关系;
信息的组织形式,如文件列表;
逻辑承接关系,如决策树。
由于层次结构是复杂系统中有效的组织管理方式因此在社会系统、生物物理系统、符号系统中应用较广。层次数据可视化的相关技术主要有两种,分别是:节点链接可视化技术以及空间填充可视化技术,下面分别就这两种可视化技术展开介绍。
1.1 节点链接可视化技术
节点链接可视化技术是通过节点和边链接的方式来实现层次数据的可视化技术,目前,常用的方式主要是基于树形结构的不同布局来实现的可视化方式,主要的布局方式有如下几种:
正交布局(缩进图,聚类树,冰柱图);
辐射布局(径向布局图,双曲树);
下面简要介绍一下这几种不同的布局方式
1.1.1 正交布局
正交布局要求节点在选择位置的时候都要按照垂直或者水平的方向对齐摆放,优点是其布局方式规整,与人类视觉习惯相匹配,但缺点就是对于大型层次结构,容易造成长宽比不合理,在使用时需要充分考虑展示布局的大小和方向。
sankey-energy:
其中较为典型的就是桑基图~通过图形的大小表达其相对数量上的关系,连线表示其发展和演化方向。该布局方式比较简单容易理解,但数据量大时需要通过鼠标滚动操作来查看,因此容易失去上下文环境。
1.1.2 辐射布局
辐射式布局的主要特点是根节点位于圆心的位置,其他节点根据其所处于的层次分被放置于不同半径的同心圆上面,能够满足随着图形节点随层级增加而增加的特点,可以在有限的空间内很清楚的表达出层次关系,对于从属关系一目了然。
Tree-radial:
上图所示为径向布局树,不仅可以展示节点关系,其节点数量的分布比例也很容易发现。
1.2 空间填充可视化技术
空间填充技术实现方式是将子节点包含在父节点内来表示父子关系的方式来实现,目前使用的最多的空间填充可视化技术是树图(Treemaps)的技术。
Echarts 的树图示例:
树图是层次数据可视化技术的典型代表技术之一,它的实现方式通常是节点是由一个矩形构成,这个节点必须具有一个可以表示为“尺寸”的属性,例如大小、重量、长度、价格、时间范围等等,而这个“尺寸”在树图中由这个矩形的面积来表示,节点之间的父子关系是有矩形的包含与被包含的形式来表示。
除了上述这种利用矩形来代表节点的方式,还可以通过改变矩形的形状来生成其他树图,例如:利用多边形来代替矩形,这个时候生成的树图称之为Voronoi树图,示意图如下:
2 拓扑布局技术
目前常用的拓扑布局算法有三种:树形布局算法、网格布局算法以及力导布局算法。树形算法比较简单,但实际效果较真实情况有出入;网格布局算法均匀,整齐,适合展示层次关系,但节点数量巨大时,不能较好的展示节点间的关系;力导布局算法是目前常用的一种布局算法,布局合理美观,但算法较为复杂且运行效率较低。
2.1 力导向布局
力导向算法最早是由P. Eades首先提出,算法一经提出后便被广泛采用,是目前一般链接图中应用的最广的算法技术,力导向算法的原理是,通过引入物理学中的对象之间存在的引力和排斥力综合并到达平衡的思想来实现。优点是布局结果美观合理,果美观合理。但是,算法的执行效率问题一直是力导向算法的一个显著缺点。
Echarts 力导向布局图示例:
2.2 节点压缩技术
图可视化方法是研究对象关系的主要可视化技术,通过链接图可以很好的展示研究对象的整体特征以及对象间的关系特征。但是随着研究对象集合的越来越大,更多的节点和更复杂的关系,使得在有限的显示区域内对网络的可视化与可视分析变得非常困难。为了解决这个问题,研究人员提出了基于图的节点压缩技术。目前,常用的节点压缩技术有两种:剪枝技术和聚合技术;
2.2.1 剪枝技术
剪枝技术是一类常见的节点压缩技术,为了达到降低网络结构复杂度,通过修剪一些次要的节点和边来实现。算法初始布局采用力导向算法,并在布局结果之上合并临近节点。也可以通过去除单连接度的节点和重复的路径来达到简化可视化结果的目的。如下图所示:
化简后:
从以上两图可以看出,在不影响系统整体架构的情况化,化简后的图形对比化简前的图形更为整洁清晰。
2.2.2 聚合技术
网络拓扑聚合技术,这种技术的做法是将网络图形中出现的具有代表性的点边模式用一种有意义的简单图形来代替。有研究学者在论文中中提出了基于聚合技术的网络简化方式,文中作者通过分析给出三种常见的图形替换的示例,和检测子图结构的算法,最后给出了一个免费的、开源的代码参考实现,下图是采用这种聚合技术之后网络图形压缩的结果示意图。
上图中,左侧为原始的拓扑图,右侧是采用节点代替算法压缩之后保留了原来主要结构的简化图。
3 文本相关可视化技术
图表、图像、结构化文本在信息处理和数据分析中具有天然的优势,通过这些信息呈现方式,分析人员可以快速有效的掌握文本中包含的信息,如何有效的提取中文本中有价值的信息并利用美观合理的方式呈现,是文本数据分析中关键问题,因此,文本可视化技术研究成为了当前数据分析领域的重要研究方向,目前的文本可视化技术划分成文本内容可视化和文本关系可视化两大类,下面分别就这两大类型做简要的概述。
3.1 文本内容可视化分析技术
文本内容可视化技术分为两类,词频可视化和词汇分布可视化,文本内容可视化关注的核心是:如何迅速寻找相关内容的重点信息。
3.1.1 基于词频的文本可视化技术
基于词频的可视化技术的核心思想是,将每个文本都看作是:由若干个词汇通过语法规则组织起来的集合,每个词汇都有出现的频率,通过统计不同词汇的频率信息来了解和掌握一个文本内容的主题思想。
目前,最常用的词频可视化技术是标签云技术。标签云常见的方式是根据词频来设置词汇的颜色和大小,以此来区分不同的词汇从而达到迅速掌握文本整体信息的目的。
词云可视化示意图:
3.1.2 基于词汇分布的文本可视化技术
基于词汇分布的可视化技术又可以称为检索可视化技术,该技术主要关注于不同的查询关键词在文本中的命中位置。通过这种可视化方法可以了解查询内容和文本内容之间的相关程度。这种可视化方法通常做法是,用不同颜色和长度的矩形块来代表不同的查询关键字,不同的颜色和长度反映了查询关键字的类型和命中频率。。
3.2 文本关系可视化分析技术
文本关系可视化技术是以文本之间的关联关系为主要关注点,核心的功能是揭示不同文本对象之间存在的各种类型的关系情况。目前,网络中存在的最常见文本之间的关系主要有:不同论文之间的引用关系,不同页面之间链接关系,不同微博帐号之间的转发关系。当前,在文本关系可视化方面的研究主要有两类,分别是:基于引用关系的可视化技术和基于主题的可视化技术,下面分别就这两种类型的可视化技术进行论述。
3.2.1 基于引用的文本关系可视化
论文引用和合作关系分析是基于引用的文本关系的主要应用场景,基于知识图谱方面的可视化方面的研究,已经成为数据分析人员研究专利数据,人力资源数据,学科数据的有利工具。目前,基于文本引用关系的可视化技术研究的重点是揭示其通联关系。下图所示即为CiteSpace的效果截图。
3.2.2 基于主题的文本关系可视化
大规模文本关系可视化主要的可视化方式是借助于主题变化的方式来展示,通过对主题变化特点的研究可以快速的了解这些文本中隐藏的关键信息。目前,关于主体的可视化技术主要有两种:主题地图和主体演化。
主题地图可视化技术通过聚类算法,将在某个维度上具有相似特点的一类主题归结为一个主题集合,然后通过如下所示方式来展示,通过这种主题地图的方式可以帮助使用人员从大量的文本信息中快速掌握文本之间的相似和差异,进而可以帮助分析人员在有限的文本集合内做进一步的分析。
主题词演变:
主题演化可视化技术通过借助时间变化情况,可以帮助使用人员了解相关领域内的用户关注内容的最新进展和变化趋势。
4 高维数据可视化技术
可视化技术相关研究内容中有一个主要的研究难点:要呈现的可视化数据源具有多个维度,但是目前用于展示的媒介还是以平面技术为主,如何在以平面媒介为主体的展示平台内通过2维和3维的展示空间来呈现多维信息的效果是多维可视化技术的研究重点。目前,在多维可视化研究中,主要的研究都集中在:基于点的高维数据可视化技术(散点图)、基于线的高维数据可视化技术(平行坐标系)、基于区域的高维数据可视化技术等方向。
4.1 基于点的高维数据可视化技术
散点图是基于点的高维数据可视化方法的典型代表,其定义为:数据点在直角坐标系平面上的分布图。目前常见的二维散点图形式主要有两种,分别是:二维散点图、散点图矩阵,两种不同的散点图示意如下:
二维散点图示例,来自EChart组件:
散点图矩阵:下图是以安德森鸢尾花卉数据集,是一类多重变量分析的数据集。它最初是埃德加·安德森集,从加拿大加斯帕半岛上的鸢尾属花朵中提取的地理变异数据,后由罗纳德·费雪作为判别分析的一个例子,运用到统计学中。其数据集包含了50个样本,都属于鸢尾属下的三个亚属,分别是山鸢尾、变色鸢尾和维吉尼亚鸢尾。四个特征被用作样本的定量分析,它们分别是花萼和花瓣的长度和宽度。
4.2 基于线的高维数据可视化技术
作为多维可视化技术中最常见的一种可视化技术,平行坐标系方法常用于对高维几何数据和多元数据的可视化呈现。这种可视化效果通常用N条相互平行的坐标来映射N维数据集,一个N维的点Xi(xi1,xi2,...,xim)被映射为一条折线,这条折线上的每个拐点对应到N维数据的一个点。平行坐标图可以表示超高维数据。平行坐标的一个显著优点是其具有良好的数学基础,其射影几何解释和对偶特性使它很适合用于可视化数据分析。
平行坐标系可视化示意图:
4.3 基于区域的高维数据可视化技术
热图是一类典型的基于区域的高维数据可视化技术,是一种利用矩形区域的颜色表示不同数据的可视化方式。
目前,热图在多个领域都有相关的应用场景,例如:在互联网应用中,热图可以用来对比显示网络页面中被用户访问最频繁的区域,常用来结合其他工具来做网络分析和会话回放;在生物学方面,通常用于对比多个比例样品,这些样品来自细胞在不同状态下,从不同的患者上获取。
热图示意图:
5 交互技术
可视化是由两个组成部分构成,分别是:表征、交互,表征主要是寻找合适的表达信息的方式,而交互的主要功能是让参与计算机活动的各个对象之间能够顺利沟通交流。
5.1 交互类型
目前,交互类型分类大致如下:
选择(Select)
探索(Explore)
重新布局(Reconfigure)
编码(Encode)
抽象/具体(Abstract/Elaborate)
过滤(Filter)
链接(Connect)
在笔者的论文《基于可视化的探索式关联分析》中,系统运用了web可视化技术分析微博节点(用户)与关系(微博转发)的数据信息,其中运用了可视化交互进行数据关系探索,下面结合该系统的交互对可视化交互类型做介绍。
5.1.1 选择
当用户选中某个对象时,应提示该对象的特征,并跟踪该对象的变化。常见的选择交互方式是当用户鼠标悬停在某个对象时应给出该对象的描述,当用户鼠标选中某个对象时,应显示该对象的相关属性。例如,系统最初的微博用户展示是基于用户注册领域的分类,可以查看整体的分类及比例关系。当希望查看某个节点的详细信息时,需要使用鼠标进行点击选取。
最初的可视化展示:
鼠标点击某个节点(张小娴):
5.1.2 探索
通过允许用户查看系统的不同数据子集来实现,常见的探索有网页的链接以及系统的探索导航技术。
查看某个用户的详情:
5.1.3 重新布局
通过改变呈现布局方式,提供新的查看角度,称这种技术为再布局技术,常见的再布局的方式有重组视图和重新排序等。
5.1.4 抽象/具体
抽象/具体主要指显示更多或更少的数据细节,一般通过调整显示的级别来实现,实现抽象化和具体化最常见的方法是显示系统的概览和细节信息。
滚轮放大之后的效果:
过滤
过滤主要是显示符合条件的某些数据子集,通常是通过改变某些条件来改变要显示的数据子集。
只显示某个分类的效果:
链接
通过高亮的方式显示和某个对象有关联或有关系的其他对象,在这种方式下,用户可以很方便的查询对象的不同属性特征,刷取(brushing)技术是链接类型最常用的技术。
某个用户的关系链接:
互动关系:
结语
以上从数据可视化的定义、分类以及交互几个方面对数据可视化做了简单的介绍,当然数据可视化涉及很深很广的领域的知识还有很多很多,例如前端可视化的工具、配色等等,希望大家能多接触多学习多分享~
参考资料:
《数据可视化》 陈为 沈则潜 淘熠波
《可视化驱动的交互式数据挖掘方法综述》 马昱欣, 曹震东, 陈为
《基于微博的信息传播建模与节点影响力研究》吴凯
《基于可视化的探索式关联分析》刘鑫磊
领取专属 10元无门槛券
私享最新 技术干货