26.3. 信息可视化的类型#
26.3.1. 多维数据可视化#
在现实世界中,数据往往包含多个维度(如金融指标、用户行为特征等),而人类的视觉系统通常只能有效地理解三维空间以下的数据,因此,如何直观呈现这些复杂的高维信息是可视化领域的核心挑战之一。 在处理高维数据时,有几个难点需要克服:
数据稀疏性:高维空间中的数据点通常是稀疏的,这意味着数据点之间的距离很大,很难在可视化中显示出来。这会导致可视化失真,因为只有一小部分数据点会被显示,而其他数据点被忽略了。
数据维度灾难:随着维度的增加,数据点之间的距离变得更加模糊,这使得难以找到有效的可视化方式来表示数据的结构和关系。高维数据的复杂性增加了可视化的挑战。
可视化的可解释性:高维数据可视化通常会导致信息的丢失和可视化的复杂性,这可能会降低可视化结果的可解释性。解释可视化结果对于理解数据和从中提取见解至关重要。
可视化的互动性:为了更好地理解高维数据,通常需要与可视化进行互动,探索不同的视图和维度组合。设计交互性可视化界面是一个挑战,需要考虑如何有效地将高维信息传达给用户。
高维数据不仅难以直接绘制,还有可能掩盖关键模式或关系。为此,研究者提出了多种创新方法,通过降维、投影等技术,将高维数据映射到人类可感知的低维空间,揭示其中隐藏的结构、聚类或异常。 选择适当的高维数据可视化方法是一个重要的决策,因为不同的方法可能会呈现不同的数据结构和关系。
本节将介绍两种主要的多维数据可视化技术:多维尺度法和平行坐标法。
26.3.1.1. 多维尺度法(Multidimensional Scaling,MDS)#
为了显示包含在距离矩阵中的信息,我们采用一种称为多维尺度法的降维形式,通过线性或非线性的映射,将高维数据映射到低维空间,从而展现数据之间的相似性。多维尺度法又称相似度结构分析(similarity structure analysis),其核心思想是如果高维空间中的距离能够反映数据的相似性或差异性,那么在低维空间中保持这些距离关系,就能有效揭示数据的结构。 具体而言,多维尺度法根据数据点之间的距离或相似度矩阵(如欧式距离或余弦相似度等度量),在尽可能地保留数据间原有的距离结构的基础上,将高维数据映射到一个较低的维度(通常是二维或三维空间)中,并将映射后的低维数据绘制在二维或三维图像中,如图 26.28所示。

图 26.28 利用多维尺度法进行降维并绘制二维图像。图中线段长度大致表现了两点对应的城市间的距离。(https://www.displayr.com/what-is-multidimensional-scaling-mds/)#
多维尺度法是社会学、心理学、市场营销学等领域中常用的数据分析方法,它能够帮助揭示数据中的潜在结构和关系。这种方法直观且易于解释,且不依赖数据的分布假设,适合探索性数据分析。例如,在心理学研究中,MDS可以用来分析人们对不同物体或概念的相似性;在市场分析中,它可以帮助展示不同产品或品牌之间的相对关系。

图 26.29 多维尺度法可能会产生冲突:图中三个点,两两之间的相似度关系难以合理地反映在一张二维图像上。#
但在降维过程中,由于原高维空间的复杂性,数据的距离关系无法完全被保留或准确反映,甚至可能会出现冲突(conflict),如图 26.29所示。
26.3.1.2. 平行坐标法(Parallel Coordinates)#
经典可视化中假设不同维度的坐标轴相互正交,因此人们能够直观理解并可视化的正交坐标系最多不超过三维。 于是当数据维度超过了三维后,这种基于正交坐标系的可视化技术就失败了,于是人们考虑放弃“正交”约束,改将各维度坐标轴画成平面内的一系列平行线,每个数据点的各维度分量对应有各坐标轴的取值,相连起来可形成一条折线。这种方法被称为平行坐标法,如图 26.30所示,每个数据点具有唯一的一种折线表示,且坐标轴的数量(即数据维度)是没有限制的(实际中需要考虑屏幕的大小和分辨率)。

图 26.30 echarts.js 中的平行坐标样例,通过空气中各气体含量的指标展示不同城市的空气污染情况。#
平行坐标空间和数据所处的原笛卡尔空间有着有趣的对应关系。一个基本的射影几何对偶性:笛卡尔坐标系中的点在平行坐标系对应一条折线,而笛卡尔坐标系中的一条直线则对应着平行坐标系中的一个点,如图 26.31所示,对于分布在同一条直线上的一组数据,当数据的两个维度呈现负相关时(左一图),这组数据对应的平行坐标线段将相交于同一点;当数据的两个维度呈现正相关时(左二图),这组数据对应了一组平行的线段(可以看成相交于无穷远点)。另外,两个空间中的趋势、操作等也存在一定的几何对应关系,例如:
笛卡尔空间中的圆和椭圆映射成平行坐标空间中的双曲线;
笛卡尔空间中的旋转映射到平行坐标空间中的平移,反之亦然;
笛卡尔空间中的拐点映射为平行坐标空间中的顶点。

图 26.31 平行坐标空间和笛卡尔坐标空间的几何对偶性示例。#
平行坐标可以同时展示数据所有维度的信息,很合适用来为用户给出对多维数据的概览可视化。但密集的数据被集中展示时,也有可能给用户带来困扰,如图 26.32所示。

图 26.32 离群线段和部分相关性可以得到体现,但密集的平行坐标使图像杂乱而难以阅读。#
一种方法是通过高亮来突出单个数据,用户可以通过选择特定点/数据折线来高亮整条折线,来获得更好的针对特定数据的可视化效果。这种方法不仅限于高亮单个数据,也可以被拓展到高亮一个数据子集上,并且可以与多维尺度法联合使用,如图 26.33所示,多维尺度法提供映射到低维的数据散点分布,用户可以通过点选散点图中的特定点(比如离群值),查看在平行坐标中被高亮出的折线,从而观察出它们的独有特征。

图 26.33 平行坐标和多维尺度方法的综合应用,通过高亮展示离群值相对于整体数据的独有特征。#
平行坐标法的一个常见问题是邻接性问题:相邻的坐标轴之间更容易进行比较和分析,而不相邻的坐标轴之间则困难得多。因此,如果想要研究所有维度两两之间的关系,则需要采用一系列的轴排列方式,绘制一组不同的平行坐标图,从而无冗余且无遗漏地用相邻坐标轴展示所有维度之间的所有两两组合[HSW12]。另外,平行坐标法难以扩展到大规模的数据上,如图 26.34所示,过多的数据折线将完全掩盖掉可用信息,一种解决办法是使用一定聚类技术和透明渲染,从而重复出现的数据将占据更大的比重,数据之间的脉络关系也将获得更清晰的显示。也有研究[ZYQ+08]尝试将连接平行坐标的折线改为弯曲边,通过最小化弯曲边的曲率和最大化相邻边的平行度,来优化边缘边的形状,提高了整体视觉上的聚类效果。

图 26.34 3848个数据绘制成的平行坐标图像。#
26.3.2. 文本数据可视化#
文本可视化(Text Visualization)是一种将文本数据以可视化方式呈现的技术,旨在帮助用户更好地理解文本信息、发现模式、关系和见解,以及支持文本数据的分析和决策。文本可视化通常涉及将文本数据映射到图形、图表或其他视觉元素上,以便直观地呈现文本的特征和结构。不同的文本可视化技术可以根据数据和分析任务的需求选择和定制。本小节将介绍文本可视化的一些常见技术和应用。
26.3.2.1. 词云(Word Clouds)#
词云(Word Cloud)是一种常见的文本可视化技术,用于将文本中的关键词汇以可视化方式呈现。如图 26.35所示,它通过将文本中的词汇按照其出现频率绘制成图像,以便用户可以直观地看到哪些词汇在文本中出现得更频繁,从而突出显示文本的关键特征,帮助用户更容易地理解文本的内容和重点。如图 26.36所示,词云通常以一种艺术性的方式排列词汇,使其形成一个视觉上吸引人的图形。在词云中,词汇的字体大小通常与其在文本中的频率成正比,出现频率更高的词汇通常会显示为更大的字体,而出现频率较低的词汇则以较小的字体呈现。有时,词云还可以使用不同的颜色来表示词汇的重要性或情感极性。词云中的词汇通常以不同的角度和位置排列,以使整个图像看起来更加吸引人。这种可视化排列并不依赖于词汇的实际顺序,而是根据可视化设计来确定的。

图 26.35 词云。#

图 26.36 组成不同视觉图形的词云。#
词云可用于多种应用,包括:
文本摘要:通过生成文本的词云,用户可以快速了解文本的主题和关键词汇,从而进行文本摘要。
社交媒体分析:在社交媒体数据中生成词云可以帮助用户了解用户在社交媒体上的热门话题和讨论内容。
新闻报道分析:通过生成新闻文章的词云,可以迅速了解新闻报道的关键主题和重要词汇。
情感分析:在情感分析中,词云可以用来可视化情感相关的关键词汇,帮助用户理解文本的情感极性。

图 26.37 EdWordle框架,允许更紧凑的词云排布和用户交互。#
研究也关注如何使词云应用支持更丰富的用户交互和定制。 如图 26.35所示,EdWordle [WCB+18] 将每个词汇看成一个二维平面内的矩形刚体,在刚体上施加相互之间的吸引力、向画布中心的吸引力、阻尼力,并利用基于冲量的方法解除碰撞,而后通过刚体仿真器对词云刚体系统进行仿真,从而获得更紧密的词云排布。另外,它支持用户的拖拽、放缩、旋转、增删等多样的操作,在尽可能保证邻居关系的基础上,通过绕中心的旋转查找,找到被修改词条的目标位置,并形成符合用户需求的紧密排布。
总之,词云是一种简单而有用的文本可视化工具,可用于快速了解文本数据的主要特征和重点。但需要注意,词云通常只提供了文本数据的高层次摘要,对于深入的文本分析可能需要更多复杂的技术和工具。
26.3.2.2. 文本网络(Text Networks)#
文本网络(Text Network)是一种文本可视化技术,用于可视化和分析文本数据中的关系、链接和连接。文本网络通过将文本中的关键词汇、实体或主题之间的关系表示为网络中的节点和边,以揭示文本数据中的模式、结构和关联。文本网络可以帮助用户更好地理解文本数据,并用于多种应用,如主题建模、信息检索、知识图谱构建和文本摘要。文本网络的构建和分析通常涉及自然语言处理(NLP)技术,如文本分析、关系抽取和主题建模。在文本网络中,文本数据中的关键词汇、实体或主题通常表示为节点,节点之间的关系表示为边。节点和边的属性可以用来表示节点的重要性、连接强度或其他相关信息。文本网络可以实现以下功能:
主题建模:文本网络可以用于主题建模,其中节点代表文本中的主题,边代表主题之间的相关性。这有助于识别文本中的主题和子主题,以及它们之间的关联。
关键词汇提取:文本网络可以用于提取文本数据中的关键词汇。通过分析节点的连接强度,可以确定哪些词汇在文本中具有重要性。
信息检索:文本网络可以用于改进信息检索系统,通过使用节点之间的关联来提高搜索结果的相关性。
知识图谱构建:文本网络可以用于构建知识图谱,其中实体、事件和关系都可以表示为节点和边。这有助于组织和查询大量的结构化信息。
文本摘要:通过分析文本网络中的节点和边,可以生成文本摘要,其中包含文本中的关键信息和关系。

图 26.38 原始文本。#

图 26.39 文本网络。#
26.3.2.3. 文本时间轴可视化(Text Timeline Visualization)#
文本时间轴可视化(Text Timeline Visualization)是一种用于可视化和分析文本数据随时间变化的技术。它将文本数据按照时间顺序呈现在一个时间轴上,以便用户可以追踪文本数据的演变、事件发展和趋势变化。文本时间轴可视化通常用于分析新闻文章、社交媒体帖子、历史文本和其他与时间相关的文本数据。
文本数据按照时间顺序排列在一个时间轴上,通常是从左到右或从下到上。每个时间点对应一个文本文档或事件,如图 26.40。通过观察文本时间轴上的趋势、峰值和突发事件,用户可以识别文本数据中的重要事件和趋势变化。这有助于了解文本数据的发展动态。用户可以在文本时间轴上选择特定时间范围内的文本数据,以进行文本检索和过滤。这有助于查找与特定事件或时间段相关的文本。文本时间轴可视化还可以与情感分析结合使用,以显示文本数据中情感的变化趋势。这有助于理解文本数据中的情感极性。用户可以观察文本时间轴上的主题和关键词汇随时间的变化,以了解文本数据中的主题演变。文本时间轴可视化通常具有交互性,用户可以通过缩放、拖动和选择时间范围等方式与数据进行互动,以更深入地探索文本数据。
文本时间轴可视化在多个领域中都有应用,包括新闻分析、历史研究、社交媒体分析、品牌监测和事件追踪。它可以帮助用户更全面地理解文本数据的演变和变化,以便支持决策制定、趋势分析和见解发现。文本时间轴可视化通常需要使用时间序列数据的处理和可视化技术,以有效地呈现和分析时间相关的文本数据。

图 26.40 文本时间轴https://asana.com/#
26.3.2.4. 主题建模和热度图(Topic Modeling and Heatmaps)#
主题建模可将文本数据分解为不同主题,并将每个主题的关键词汇可视化呈现。热度图则可以显示文本中主题、词汇或实体的相对热度,帮助用户理解哪些主题或内容受到关注。
26.3.2.5. 文本聚类(Text Clustering)#
文本聚类是一种文本分析技术,旨在将相似的文本文档或数据点分组到同一簇中,以便发现文本数据中的潜在模式、关系和结构。聚类是无监督学习的一种方法,它不需要事先标记的类别信息,而是通过文本数据本身的特征来自动分组文本。聚类可以用于生成文本数据的摘要或代表性文档,每个簇可以用其代表性文档来表示簇内的所有文本。
文本聚类通常使用相似性度量方法来计算文本文档之间的相似性或距离。常用的相似性度量包括余弦相似度、欧氏距离、Jaccard相似性等。文本聚类可以使用各种聚类算法来执行,包括K均值聚类、层次聚类、DBSCAN、谱聚类等。不同的算法适用于不同的数据和分析需求。
文本聚类在信息检索、文档分类、推荐系统、社交媒体分析、舆情监测等领域都有广泛的应用。它可以帮助研究人员和分析师更好地理解大规模文本数据集,发现数据中的有趣模式和见解。然而,文本聚类也面临一些挑战,如处理高维度数据、选择适当的特征表示和聚类算法等。因此,在实际应用中,需要仔细考虑数据的特性和任务的需求来选择合适的文本聚类方法。
26.3.2.6. TIARA(Text Insight via Automated Responsive Analytics)#
如图 26.41所示,TIARA [WLS+10] 采用流的形式来可视化文本:给定一组文档,TIARA首先使用主题分析技术将文档汇总为一组主题,每个主题由一组关键字表示(一层流)。除了提取主题外,TIARA还派生出随时间变化的关键字序列来描述每个主题随时间的内容演变(流中随横轴变化的关键字排布),关键字的纵轴宽度(每处流的纵轴宽度)表示了它出现的频率。

图 26.41 TIARA。#
26.3.2.7. 情感分析可视化#
情感分析可视化是一种将情感分析结果以可视化方式呈现的技术,是文本数据可视化的重要子类,旨在帮助用户更好地理解文本数据中的情感极性、情感趋势和情感分布。情感分析(又称情感情感极性分析或情感情感分类)是一种自然语言处理技术,用于确定文本数据中包含的情感,通常分为正面、负面和中性。
以下是情感分析可视化的一些关键技术:
情感分布图:情感分析可视化通常使用情感分布图来表示文本数据中情感的分布。这些图表通常包括正面、负面和中性情感的百分比或计数,以及可能的情感极性变化趋势。
情感词云:情感分析可视化中,可以使用词云来可视化文本数据中与不同情感相关的关键词汇。每个情感类别的关键词通常以不同的颜色或字体大小呈现。
情感趋势图:对于时间序列数据,情感分析可视化可以绘制情感趋势图,显示情感随时间的变化。这对于分析文本数据中情感的演变非常有用,如社交媒体上的情感变化或品牌声誉的波动。
情感热力图:情感分析可视化可以使用情感热力图来表示情感之间的关系。这些图表显示了不同情感之间的相互作用,例如哪些情感常常同时出现在同一段文本中。
互动性是情感分析可视化的重点之一,用户可以通过鼠标悬停、点击或缩放等方式与可视化图表进行互动,以更深入地探索情感分析结果。
情感分析可视化在多个领域中都有应用,包括社交媒体分析、舆情监测、品牌管理、产品反馈分析和情感研究。它有助于企业和研究人员了解文本数据中的情感信息,识别用户情感倾向,监测情感变化,并根据情感分析结果制定决策和战略。这些可视化工具可以提供更深入的洞察力,帮助用户更好地理解情感数据中的模式和趋势。
26.3.3. 图可视化#
图可视化(Graph Visualization)是将图结构数据(如社交网络、交通网络、推荐系统等)可视化的技术。图数据由节点(代表实体)和边(表示实体之间的关系)构成。很多信息数据具有图结构,如图 26.42所示,包括并不限于组织架构、文件目录、社交网络等。图数据可视化的目的是帮助分析人员理解网络中的结构特征、节点之间的关系以及信息传播的路径。

图 26.42 不同类型的图数据。#
力导向布局(Force-Directed Layout) 是一种常用于图数据可视化的布局算法,通过模拟物理力学中的相互作用力来优化节点位置。该方法基于以下原理[FR91a]:
节点之间的排斥力(Repulsive Force):节点之间会相互排斥,类似于同电荷的粒子之间的排斥作用,这有助于避免节点之间的重叠,并使得节点分布更加均匀。
边的吸引力(Spring-like Hooke Attraction):图中的边像弹簧一样起到吸引作用,边的长度与节点之间的距离成比例。边的吸引力确保节点之间保持合理的距离,并有助于图的结构稳定。
减少节点重叠:力导向布局通过综合作用力(排斥力和吸引力),在优化图结构的同时,最大限度地减少节点的重叠,使得图的可视化更加清晰易读。 如图 26.43所示,这种布局方式能够直观地展示图中的结构关系,常用于社交网络、推荐系统等图数据的可视化,帮助用户识别核心节点和群体结构。另外,这一可视化方法具有良好的交互性能,可以为用户提供直观的从混乱的布局到整理完毕的规整布局的演变过程,且允许用户的随意拖拽,支持实时动态的图可视化与交互。

图 26.43 力导向布局图。#
力导向布局的主要缺点在于:
计算复杂度高:力导向布局需要计算每对节点之间的排斥力和吸引力,这对于大规模图来说计算开销非常大,其计算复杂度是 \(O(n^3)\) 的。但通过设计空间加速结构(如四叉树)可以加速力导向布局图的计算,如基于 Barnes - Hut 算法[HK02]可以达到 \(O(n\log(n))\) 的计算效率。
局部最优解:力导向布局通常使用迭代算法进行优化来达到一个能量极小的布局,这可能导致算法陷入局部最优解而非全局最优解,最终结果很大程度上受到初始布局的影响。Kamada - Kawai 算法[KK89]和 Fruchterman - Reingold 算法[FR91b]可以被用来优化初始布局和节点排布。
社交网络是一种特殊的图,社区网络中的节点倾向于形成紧密连接的子群(社区),社区内部连接密集,而社区之间连接稀疏。 社区发现是面向社交网络数据的重要应用,通过分析这些连接模式,社区发现技术能够揭示网络中的潜在群体(如兴趣小组、社交圈子),帮助理解用户行为、信息传播以及网络演化规律,为社交分析、推荐系统等应用提供重要支持。
Vizster[HB05]是早期社交网络可视化的代表性工具,如图 26.44所示,它在力导向图中配置了多种交互策略:可以通过点击来高亮单个用户信息,展示与其直接相关的社交关系;或通过选点多个用户来查看他们的社交网络,发现他们共有的社交关系。 另外,Vizster在力导向布局中利用了聚类布局的思想来发现社区,自动检测社交网络中的社区结构,并用颜色编码区分不同社区。

图 26.44 Vizster。#
聚类布局(Cluster Layout) 利用聚类算法将图中的节点按照相似性划分为多个子群体或社区,从而揭示数据的内在结构。以 Newman 的社区识别算法[New03]为例,该算法通过以下步骤执行聚类:
初始状态:每个节点最初都被认为是一个独立的类,即图中的每个节点都代表一个单独的社区。
合并步骤:在每一步中,算法计算每对社区之间的“能量”,“能量”越小意味着节点或社区之前的相关性或亲密度越高,选择合并能量最小的两个社区。
结束条件:算法持续进行合并,直到所有节点合并成一个单一的社区(整个图作为一个类)。
输出结果:最终,算法输出一个划分树,通常为完全二叉树,每一层表示一次聚类操作,每层的划分反映了图结构的不同层次。这使得用户可以从整体到局部观察图中的聚类关系。 通过这种聚类算法,Vizster 得以自动检测社区结构,并允许用户通过拖动滑块来调节划分出“社区”的个数,社区个数越少、单个社区越大,社区内部人员的关系越紧密。
包含聚类布局的力导向图可以与邻接矩阵分析结合,提供更直观的 子图表达(Subgraph Represention)和社区模式,如图 26.45所示,在邻接矩阵中,根据发现的社群对节点顺序进行重新排序后,非零值(有邻接边)集中在对角线附近,于是子对角块将对应各社区结构,社区信息被集中展示在子对角块中。

图 26.45 包含聚类布局的力导向图(左)与根据社区进行重新排列的邻接矩阵(右),#
环状图(Circular graph) 用嵌套的圆形排布节点,适用于树状结构或层次结构的可视化,如师生关系网络、组织架构等。在环状图中,如图 26.46所示,根节点通常位于中心,子节点按层次向外辐射,层次关系一目了然。嵌套圆周排列充分利用屏幕空间,对称美观,支持通过缩放、高亮等交互操作聚焦特定分支或节点,适合用于展示中等规模的层次数据。但环状图泛化性有限,只适用于最基础的具有树状结构的图,若节点具有非单一父节点或图中存在回路,则环状图会被一定程度上破坏且显得混乱。

图 26.46 环状图。#
环形布局(Circular Layout) 将图中的所有节点排布在一个圆周上,边以弧线或直线的形式连接节点,被放置在圆周内部,如图 26.47所示。 为了更清晰地组织节点间的连接关系、体现图中包含的组织结构,环形布局也适合与着色和聚类方法相结合,如图 26.48所示,从而减少杂乱的连线交叉,优化曲线曲率和形状,提高环形布局图的可读性。

图 26.47 支持高亮的环形布局。#

图 26.48 与聚类方法相结合的环形布局。#
总体来说,图可视化是介绍层次数据与网络数据中的结构特征和关系模式的重要手段,需要在空间布局(如力导向布局、环形布局等)、节点与链接的视觉编码(如尺寸、颜色等)等方面进行周密设计,从而提高图可视化的信息表达效率。