【问题标题】:igraph plot graph: Killed 9igraph 绘图图:杀死 9
【发布时间】:2015-09-14 19:39:47
【问题描述】:

我是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-vertice 图表并在绘制图表时出错。我认为这是因为图表太大。因此,我尝试使用如下所示的较小图表进行绘图:

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.

【问题讨论】:

    标签: python igraph


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-13
      • 1970-01-01
      • 2012-08-17
      • 2013-02-10
      • 2019-09-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多