聚类图可视化技术

时间:2010-03-01 15:42:34

标签: graph visualization cluster-analysis edge

我需要可视化具有以下属性的相对较大的图形(6K节点,8K边缘):

  • 不同的集群。每个群集大约50-100个节点和群集级别的中等互连性
  • 群集之间的最小(每个群集5-10个群集间边缘)互连

让全局边缘重叠=由于直接可视化集群的图形而导致的边缘重叠= {A,B,C,D,E},这些集群的边缘= {Pentagram,这是非平面的如果直接绘制出来,肯定会产生边缘重叠}

让局部边缘重叠=以上但{A,B,C,D,E}只是节点。

我需要以满足以下要求的方式使用以上方式可视化图形

  • 没有全局边缘重叠(即由群集间属性引起的边缘重叠不正常)
  • 群集中的本地边缘重叠很好

任何人都有关于如何最好地使用上述要求可视化图表的想法?

我提出的处理全局边缘重叠的一个解决方案是确保群集A在可视化期间最多只能有1个直接边缘到另一个群集(B)。群集A之间的任何其他群集间边缘 - > C,A - > D,...断开并且附加节点/边缘A - >; A_C,C - > C_A,A - > A_D,D - > D_A ......已创建。

有人有任何想法吗?

6 个答案:

答案 0 :(得分:1)

Prefuse内置了一些很好的图形绘制link text算法,它似乎能够相对较好地处理相当大的图形。您可以尝试在Prefuse之上构建的Flow Map Layout

答案 1 :(得分:1)

鉴于你的目标,我认为Fruchterman-Reingold algorithm在防止边缘重叠方面做得相当不错。例如,参见由使用Fruchterman-Reingold算法绘制的多个组件组成的网络screenshotIGraph内置了对此算法的支持(我相信Networkx也是如此)并且非常快。

答案 2 :(得分:1)

在Prefuse之上建立了一个名为SocialAction的程序。您必须从作者那里请求代码,但它会为您进行大量的统计分析,例如识别子图。我已经在一个超过18,000个节点的图表上使用它,虽然它在那个规模上非常慢但它仍然有效。

答案 3 :(得分:1)

虽然在这一点上提问可能很愚蠢,但你试过http://www.graphviz.org/吗?

答案 4 :(得分:0)

我没有看到太多图形可视化工具支持在视觉上分离图形中的聚类。一种选择可能是查看WilmaScope。它看起来对基于群集的布局有一些支持。

答案 5 :(得分:0)

有机布局在yFiles框架中管理相当好的聚类图。首先在yEd中尝试查看是否符合要求。为每个群集使用嵌套图别名组可能是合理的。有机布局具有称为组布局策略的功能,如果需要使用针对群集间和群集内边缘的不同原则进行布局,则可以使用该布局,并使用增量布局。通过一些努力,可以将图形转换为GraphML以避免手动工作。