在图形中收缩顶点时如何保留/分配节点名称?
问题描述
我正在尝试收缩iggraph中的一些顶点(使用pythonAPI),同时保留顶点的名称。我不清楚如何保留该图的名称属性。图表的节点是人,我正在尝试折叠名称已损坏的人。
我看了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'])
解决方案
在Python中,您需要的关键字参数称为combine_attrs
而不是vertex.attr.comb
。导入iggraph后,请参见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")
相关文章