我正在尝试在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'])
解决方法:
在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")