结合三维矩阵体的动态网络数据可视化

结合三维矩阵体的动态网络数据可视化


动态网络(Dynamic networks)数据与动态图(Dynamic Graph)数据一直以为都比较复杂,随着数据量的不断增大,为动态网络的分析与可视化带来了极大的挑战。另一方面,动态网络数据常常带有时间信息,而现有的时空高维数据可视化方法都有各种缺点,尤其是当图中节点密集时,现有的方法几乎都会遇到遮挡问题。

二维模型探索动态图数据已有很多种方法,如点边图 (Node-Link Diagram),邻接矩阵 (Adjacency Matrices) 等,这些方法可以很好地展现图中的节点自身的随时间变化的信息,但是节点以及节点之间关系的演化,在这些方法中比较难展现,尤其是节点个数多时,以及限制于一个视图中。用三维模型将时空高维数据可视化,增加一个维度可以展现更丰富的信息,但是也会带来更加严重的问题,例如相互遮挡,目标物体选择困难,交互不方便等问题。

本文[1]提出了一个新的交互探索模型,Matrix Cubes,该模型使用3D cube作为视图中枢协调者 (pivot visualization),管理多个不同角度的切片视图,这些切片视图全是从3D cube中导出的。系统还提供了一系列的交互,例如,刷选 (brushing),链接 (linking),和过滤 (filtering),为深入探索动态图数据提供了有效的方法。

具体而言,本文提出的3D cube是由二维的时序邻接矩阵从时间轴的角度串联起来形成的 (如图1b所示的matrix cube是由图1a中的邻接矩阵合并形成的),而每个邻接矩阵可以很好的展现每个时间步的点边图信息。得到3D cube之后,我们还可以沿着另外两个节点轴中任意一个轴对3D cube进行切割,得到一系列的节点切片 (vertex slices),如图1c所示。值得注意的是,本文主要针对的动态图都是无向图,因此,不管是沿着哪个节点轴进行切割,得到的结果都是一样的,因为邻接矩阵是对称的。从功能上来说,3D cube只是显示动态图的整体信息 (overview),而实际的探索与交互几乎都是在多个2D视图上进行的。在中间的3D cube上,用户可以刷选所有标签来过滤数据项或时间步,从而只显示用户感兴趣的信息。

结合三维矩阵体的动态网络数据可视化

图1. 3D cube与两个不同角度的切片序列

图2所示的是本系统的UI界面,左下角标识为a处有一个小cubelet,在这个cubelet上用户可以进行一些基本的交互。如果用户点击cubelet的右面 (红色线段围成的表面),3D cube将变成时间切片序列,时间切片序列对应于图1中的a图;如果用户点击cubelet的左侧,3D cube将变成节点切片序列,对应于图1中的c图。右边的面板为参数调节区域,用户可以选择不同的encoding方法,例如可以将基元元素的颜色 (cell color)表示权重信息,时间序列信息或其他信息,例如后面例子中的论文合作的频度信息。用户还可以选择将基元元素的大小 (cell size) 映射成权重或频度信息等。为了更好地发现节点之间的模式,用户可以使用不同的节点排序方法进行reranking。此外,还可以对数据进行过滤,例如,时间片上的过滤,权重上的过滤,以及可以允许用户调节视图切换时的过渡动画的速度。

结合三维矩阵体的动态网络数据可视化

图2. 系统的UI界面

为了减少用户的交互时间开销,该系统设计了四种预定制的视图,3D视图 (3D cube view),投影视图 (projection view),小卡片视图 (small multiples view)和切片旋转视图 (slice rotation view)。

首先在3D视图中,用户仅仅可以看到一些overview的信息,例如一些趋势或总体的分布等等。大部分的细节信息以及数据的模式都需要在后面三个2D视图中进行探索,在第二种视图,投影视图中,分为时间切片投影视图与节点切片视图。时间切片视图即切片排列成图1a中的形式,节点切片视图即图1b的形式。第三种视图即小卡片视图,所有的切片可以展开到一个2D平面上,方便用户进行对比并发现一些数据的规律。最后一个视图是切片旋转视图,用户可以选择3D cube中的任意一张切片,点击,旋转即可以看到切片的详细信息。总之,第一个3D视图与后面三个2D视图形成Overview和detail的关系,overview只能提供一些大致的context信息,而详细的信息还需要在后面三个2D视图进行探索。不管是3D视图还是2D视图,用户都可以将基元元素的颜色与大小映射成不同的信息。

结合三维矩阵体的动态网络数据可视化

图3. 四种预定制的视图

最后,本文还使用了两个具体的数据进行测试,第一个是称为ALMA的天线通信数据,该数据由一系列的观测太空的天线收集而成,每两个天线之间都会进行通信,因此这些通信就会有延迟信息,通信振幅信息,以及振幅均方值,和信息的信噪比,用本文的方法对这个AMLA数据进行测试,在小卡片视图中,发现很多异常的信息以及一些行为类似的信息。另一个数据是神经学研究中用到大脑刺激数据,神经学家对人体大脑的不同区域使用不同的刺激,收集这些不同的区域之间信号的传输情况。如图4所示,在这个数据中,用户通过小卡片视图与时间切片视图发现了有些区域明显比其他区域更活跃 (发送与接收信号都非常频繁),在时间切片视图中还发现了一些周期性的信息,最后,在节点切片视图中,用户可以很明显发现一些区域发送信号比接收信号明显更多 (红色表示发送信号的区域,蓝色表示接收信号的区域)。


本文作者:佚名

来源:51CTO

上一篇:Redis 是并发安全的吗?你确定?


下一篇:Redis并发性能测试