用于可视化图形中随时间变化的技术

时间:2010-07-22 11:53:13

标签: time visualization graph-layout

我希望显示一个图表(网络图,而不是图表)并显示其随时间的变化。是否有标准或最佳方法来执行此操作,或任何类型的“网络差异”工具?

我正在寻找所涉及的一般布局决策的概述,即要制定的选项和权衡清单,以及存在这些决策的最佳实践指南。

3 个答案:

答案 0 :(得分:2)

哇。不是一个简单的问题!我很好奇是否有人能为你提供一些权威资源。

从设计的角度来看,我没有找到任何标准或最佳实践记录,也不知道任何专门用于确定和显示更改的工具,但我有一些想法。

首先,一些技术说明。有GraphML,您可以使用(和扩展)以标准格式表示图形,并且有一些可用的解析器,它可以与Prefuse以及可能的其他显示库一起使用。它只是XML,没什么特别的。通过比较两个GraphML文件来创建“diff”应该非常简单。

真正有趣的部分是如何将差异传达给用户。

在所有情况下,您应该为添加或删除的节点和边缘设置可视指示器。您可以使用颜色,将现有节点显示为中性,将灰色,新节点显示为绿色,将节点显示为红色。有很多选择。

您可能会发现this slideshow很有趣。

这可能是显而易见的,但是,随着时间的推移,节点的移动速度不应超过图形的新状态 - 布局应该进化,而不是从头开始为每个状态。这对比较各州至关重要。

  1. 在比较之前/之后并排 。同时显示相同图形的快照之前和之后。如果您的图形非常大且复杂,则并排布局可能不切实际。您可以尝试将一个图形覆盖在另一个图形上,尽管这可能会让人迷失方向。

  2. 并排系列比较。 AKA small multiples。与上述相同,但显示尽可能多的时间点。在需要多少空间和难度方面,比之前更具限制性。

  3. 为单个图表设置动画。我认为最直观的方法是平滑地动画图形更改,但如果幻灯片之间的更改不是太激烈,则可以使用不稳定的幻灯片。

  4. 显示详细信息。如果有用,您可以通过几种不同的方式拼写更改事件详细信息。

    1. 在图表节点上显示标签(如果一次显示太多则可以是互动的)

    2. 在侧边栏/图例中显示列表。如果阅读变化的进展很有用,但很难连接到视觉效果。

    3. 显示时间轴而不是列表。这比简单的列表更好地显示了事件的“真实”进展,这给人的印象是所有事件都是随着时间的推移而均匀分布的。

    4. 您实际选择做的事情在很大程度上取决于数据集的性质和目标。一个简单的几十个节点和一些变化的图表是一个与庞大网络不同的挑战,比如说every constellation in the night sky

答案 1 :(得分:1)

这是一项有趣的研究:http://publik.tuwien.ac.at/files/PubDat_198995.pdf

本文介绍了一个原型,用户测试将很快发布在:

P上。 Federico,W。Aigner,S。Miksch,F。Windhager,M。Smuc: “Vertigo zoom:结合关系和时间视角 动态网络“; 被接受为:第十一届国际工作会议 高级视觉界面(AVI2012),卡普里岛; 2012-05-21 - 2012-05-25; in:“第十一届国际工作会议论文集” 高级视觉界面会议(AVI2012)“,ACM,(2012), ISBN:978-1-4503-1287-5。

http://ieg.ifs.tuwien.ac.at/~federico/pub.php

答案 2 :(得分:0)

您的问题有点笼统,我不清楚您的目标是什么类型的分析。有几个网络分析包具有一些动态能力。 Gephi就是一个。 networkDynamicndtv R包提供了用于表示和可视化动画作为动画和静态布局的工具(免责声明:我是维护者)