我需要绘制由以下方式组织的1876个群组成的图形:
962 clusters composed by 1 node
651 clusters composed by 2 nodes
144 clusters composed by 3 nodes
52 clusters composed by 4 nodes
24 clusters composed by 5 nodes
8 clusters composed by 6 nodes
8 clusters composed by 7 nodes
2 clusters composed by 8 nodes
4 clusters composed by 9 nodes
3 clusters composed by 10 nodes
1 cluster composed by 11 nodes
1 cluster composed by 12 nodes
4 clusters composed by 13 nodes
1 cluster composed by 16 nodes
1 cluster composed by 21 nodes
1 cluster composed by 22 nodes
1 cluster composed by 24 nodes
1 cluster composed by 25 nodes
1 cluster composed by 26 nodes
1 cluster composed by 29 nodes
2 clusters composed by 31 nodes
1 cluster composed by 43 nodes
1 cluster composed by 65 nodes
1 cluster composed by 4843953 nodes
我尝试了几个包括pajek,SocNet的软件,但它们似乎更加以节点为中心(它们允许您在节点上执行统计和一些高级操作)。相反,我不关心节点本身,我也不关心他们的连接。 我只想显示带有节点的集群。
有没有人知道任何可以帮助我的软件?
。这是livejournal的图表
答案 0 :(得分:3)
原则上,Mathematica 8应该能够使用新的Graph对象处理您的问题。我说,“原则上”,因为我无法想象当在屏幕上或纸上打印时,近500万个节点(或顶点)的集群会是什么样子。选择合适的GraphLayout至关重要,因为Hu的比较显示:
它们是同一图形(936个顶点)的3个描绘,左边是最差的渲染(当然)。本文包含一个具有225k顶点的图形的渲染,这些顶点具有一定程度的可辨别结构。
无论如何,它可以以邻接矩阵或边缘列表等形式处理输入。边缘可以指向或不指向。您可以显示和标记全部或部分顶点和边缘。您还可以删除群集(GraphComponents)并单独或组合显示它们。它还为您提供了各种GraphLayout选项:CircularEmbedding,SpiralEmbedding,HighDimensionalEmbedding,LargeNetwork等。有各种GraphStyles。
有一个名为NeighborhoodGraph的命令可能对这个庞大的集群很有用。邻域[g,v,n]在距离顶点v的n个步骤内生成所有节点的子图。您还可以通过要求具有预定的边,顶点或两者的列表的子图来简化事物。
请注意,某些Graph文档将引用Combinatorica,虽然它非常出色并且用于许多目的,但在我看来,它不会像版本8 Graph对象那样精确地渲染图形。
讨论了有关巨大图表的图表布局的一些问题here。还有SO discussion关于绘制大型图表的方法,其中比较了各种软件解决方案。
答案 1 :(得分:2)
尝试AT& T的graphviz。
答案 2 :(得分:1)
我认为你不会对你的问题得到合理的答案,但我想在这里提供2美分:
当你在上面的评论中找到答案和详细信息时,我认为会有一种方法可以相应地对它们进行可视化。
答案 3 :(得分:0)
Tulip,它与每个主要的Linux发行版(但显然也可用于Windows)一起提供,据称“能够在相对适中的硬件上管理多达500,000个节点和边缘的图形(例如,600MHz Pentium III,256MB RAM)“。
听起来就像你想要的那样。