igraph 绘图图:杀死 9

igraph plot graph: Killed 9

我是 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。图 0.7.1.

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