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

时间:2015-03-06 02:27:20

标签: python igraph

我试图收集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 个答案:

答案 0 :(得分: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 :(得分:1)

没关系。您可以在不使用措辞的情况下输入字典

vertex.attr.comb