我正在使用contract_vertices
合并图表中的节点,然后在图表上调用simplify
,但这样做会出现分段错误。我不确定我做错了什么。以下是重现错误的代码:
from igraph import summary, read, Graph
g = Graph()
g.add_vertices(5)
g.vs["name"] = ["1","2","3","4","5"]
g.add_edge("1","2")
merge_vertex_list = [1,1,3,3,3]
g.contract_vertices(merge_vertex_list,"first")
g.simplify()
我得到的错误:
Segmentation fault: 11
注意:当我在没有第二个参数即contract_vertices
参数的情况下调用combine_attrs
时,它正常工作。
答案 0 :(得分:0)
我想出了它的原因。我传递的用于合并数组的列表应该包含连续的整数,这将形成顶点的新索引。在上面的例子中,我传递[1,1,3,3,3]
,当更改为[0,0,1,1,1]
时工作正常。我仍然认为它应该显示一个有意义的错误信息。