2024-04-23 17:31:29 发布
网友
我想使用一些内置的图形生成器,但是使用自定义的python类作为节点而不是整数。最好的方法是什么?是否应该将自定义类添加为属性?在
例如,这里我生成了一个完整的图,其中包含整数作为节点:
import networkx as nx K_5 = nx.complete_graph(5)
在这里,我创建了一个代理,我想将其用作节点而不是整数:
我想知道答案是否包括创建一个网络,然后用nx.relabel_nodes()重新标记节点。在
nx.relabel_nodes()
Networkx似乎真的希望使用id,而不是具体的对象。但是您的想法是正确的,我们可以使用relabel_nodes()将数字转换为对象实例。在
relabel_nodes()
演示:
import networkx as nx class Agent(object): def __init__(self, id): self.id = id def __repr__(self): return '<Agent #{}>'.format(self.id) g = nx.complete_graph(5) print g.nodes() nx.relabel_nodes(g, mapping=Agent, copy=False) print g.nodes()
Networkx似乎真的希望使用id,而不是具体的对象。但是您的想法是正确的,我们可以使用
relabel_nodes()
将数字转换为对象实例。在演示:
来源
输出
^{pr2}$相关问题 更多 >
编程相关推荐