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

How to keep/assign node names when contracting vertices in igraph?(在图形中收缩顶点时如何保留/分配节点名称?)

本文介绍了在图形中收缩顶点时如何保留/分配节点名称?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试收缩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")

这篇关于在图形中收缩顶点时如何保留/分配节点名称?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:在图形中收缩顶点时如何保留/分配节点名称?

基础教程推荐