igraph情节图:杀死9

时间:2015-06-28 07:10:19

标签: python igraph

我是igraph的新手,试图绘制包含~450k个顶点的图表。

我开始做一些实验:

import igraph
g = igraph.Graph([(0,1), (0,2), (2,3), (3,4), (4,2), (2,5), (5,0), (6,3), (5,6)])
igraph.plot( g, "result.pdf", layout = g.layout("kk") )
# works perfect.

然后,我加载了我的~450k - 顶点图并且绘制了图表时出错。我认为这是因为图表太大了。所以,我尝试使用如下的小图进行绘图:

g = igraph.Graph( [(1, 63741), (2, 81483), (3, 91394), (4, 60469), (5, 60278), (6, 64544), (6, 73526), (8, 86588), (9, 61415)] )
igraph.plot( g, "result.pdf", layout = g.layout("kk") )
# does not work. produces:
# "Killed: 9" 

但是,我对此图表存在同样的问题。

由于我能够绘制一个小图并且无法绘制一个大图,我不确定它是否是语法问题或igraph不能处理大图?

我使用的是Mac OS X.Python 2.7.6。 igraph 0.7.1。

1 个答案:

答案 0 :(得分:2)

你的"较小的"图实际上包含91395个顶点。 igraph中的顶点ID是从零到| V | -1的整数,因此只要您创建一个带有端点91394的边,您也可以创建91395个顶点(如果之前它们不存在)。此外,我非常确定绘制如此大的图形不会开箱即用,或者即使它起作用,你最终也会得到一个巨大的毛球,因为大多数布局算法都不是为了处理图形而设计的这个大小。在igraph中包含的那些中,只有DrL算法可以适当地扩展到非常大的图形(或者可能是基于网格的Fruchterman-Reingold布局),但即便如此,您还需要对顶点和字体大小进行大量调整才能获得甚至是远程有用的东西。