在igraph中缩小顶点时如何保留/分配节点名称?

3
我正在尝试在igraph(使用python api)中缩小一些顶点,同时保留顶点的名称。我不清楚如何保留图的名称属性。图的节点是人,我正在尝试合并具有损坏名称的人。
我查看了R文档,但仍然不知道如何操作。
例如,如果我执行以下任一操作,都会出现错误。
smallgraph.contract_vertices([0,1,2,3,4,2,6],vertex.attr.comb=[name='first'])

smallgraph.contract_vertices([0,1,2,3,4,2,6],vertex.attr.comb=['first'])
2个回答

2
在Python中,你需要的关键字参数是combine_attrs而不是vertex.attr.comb。在导入igraph后,在Python命令行中查看help(Graph.contract_vertices)。此外,关键字参数接受单个指定符(例如first)或字典。你的第一个示例无效,因为它不是有效的Python语法。第二个示例无法工作,因为你传递了一个带有单个项的列表,而不是只有单个项。

因此,正确的变体应该是:

smallgraph.contract_vertices([0,1,2,3,4,2,6], combine_attrs=dict(name="first"))
smallgraph.contract_vertices([0,1,2,3,4,2,6], combine_attrs="first")

1
不用在意。您可以直接输入字典而无需使用措辞。
vertex.attr.comb   

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接