python - igraph 绘制图表 : Killed 9

标签 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。

最佳答案

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

关于python - igraph 绘制图表 : Killed 9,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31097094/

相关文章:

r - 以最小距离连接矩阵的两个坐标

r - 使用 ggraph 绘制具有空间坐标 lat long 的图形

Python:无法匹配后跟分词符的句点(在非捕获组中)

r - 用 igraph 在 R 中绘制大图

python - 在 Django 中返回与模型一对一的模型信息

python - Pandas 数据框。消除列中匹配某些条件的行

r - 使用 R 简单转换为边缘列表?

python - igraph python 导入错误

python - 如何迭代地将 np.arrays 写入 csv?

python - 如何在 Tkinter Python 中创建表达式