集群图可视化技术

11
我需要可视化一个相对较大的图表(6K个节点,8K个边),具有以下特性:
  • 不同的集群。每个集群约有50-100个节点,并且在集群层面上具有适度的互联性
  • 集群之间最少(每个集群5-10个互连边)的互连性

全局边重叠=直接可视化Clustering Graph={A,B,C,D,E},Edges =这些聚类的Pentagram,顺便说一下,如果你直接绘制它,它肯定是非平面的,会产生边缘重叠

本地边缘重叠=以上情况但{ A,B,C,D,E }只是节点。

我需要以满足以下要求的方式可视化上述图表:

  • 没有全局边缘重叠(即由于集群之间的属性造成的边缘重叠不行)
  • 集群内的本地边缘重叠可以接受

有人思考过如何最好地可视化满足上述要求的图表吗?

我想出来的解决全局边缘重叠的方法之一是确保Cluster A 只能在可视化过程中与另一个Cluster (B)有最多1个直接边缘。任何额外的集群间边缘A->C、A->D等都将被断开,并创建额外的节点/边缘 A->A_C、C->C_A、A->A_D、D->D_A…

有人有想法吗?


我有点困惑,为什么你连接第一条边之后还要将边从一个聚类中断开连接到另一个聚类。你是在说因为那组聚类已经完全连接,所以你不需要表示其余的连接吗?如果是这样,为什么不再将抽象层级向外扩展一步,形成完全连接聚类的聚类呢? - Kavet Kerek
6个回答

1

有一个建立在Prefuse之上的程序叫做SocialAction。你需要向作者请求代码,但它可以为你执行许多图形的统计分析,例如识别子图。我曾在一个拥有超过18,000个节点的图形上使用过它,虽然在这种规模下它非常慢,但仍然可以工作。


1

1

Prefuse内置了一些优秀的图形绘制链接文本算法,似乎能够相对良好地处理较大的图形。您可以尝试在Prefuse之上构建的Flow Map Layout


1

根据您的目标,我认为Fruchterman-Reingold算法在防止边缘重叠方面做得相当不错。例如,请参见使用Fruchterman-Reingold算法绘制的多个组件组成的网络的屏幕截图IGraph内置支持此算法(我认为Networkx也是如此),而且速度非常快。


我尝试了FR布局,最终决定不采用它。FR倾向于使用每个可用节点占据空间,导致混乱。我尝试过的最好的本地布局是YiFanHu的Multilevel,其次是ForceAtlas。另外,我的问题是关于全局聚类可视化技术的 :) - jameszhao00

0

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


0

我还没有看到太多支持在图形中视觉上分离集群的图形可视化工具。一个选择可能是看一下WilmaScope。它似乎对基于集群的布局有一些支持。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接