Python networkx,如何为每个节点添加 x 条边?
Python networkx, how do I add x amount of edges per node?
我在 python 中有一个使用 networkx 的基本网络图,我想做的是为每个节点添加特定数量的边,而不是自己直接确定边。
import networkx as nx
import matplotlib.pyplot as plt
hosts = 100
nodes = list(range(1,(hosts+1)))
H=nx.Graph()
H.add_nodes_from(nodes)
nx.draw_random(H)
因此,对于此图,我想做的是指定“每个节点两条边”,然后让 python 计算结果。这可能吗?
非常感谢。
你的问题听起来像是图中配置模型的概念,它将return具有给定度数序列的随机图。
请参阅 networkx.generators.degree_seq.configuration_model 文档
例如度数为 [0, 1, 2, 3, 4] 的图:
import networkx as nx
import matplotlib.pyplot as plt
H = nx.configuration_model([i for i in range(5)])
nx.draw_random(H)
注意度数之和必须是偶数。
我在 python 中有一个使用 networkx 的基本网络图,我想做的是为每个节点添加特定数量的边,而不是自己直接确定边。
import networkx as nx
import matplotlib.pyplot as plt
hosts = 100
nodes = list(range(1,(hosts+1)))
H=nx.Graph()
H.add_nodes_from(nodes)
nx.draw_random(H)
因此,对于此图,我想做的是指定“每个节点两条边”,然后让 python 计算结果。这可能吗?
非常感谢。
你的问题听起来像是图中配置模型的概念,它将return具有给定度数序列的随机图。
请参阅 networkx.generators.degree_seq.configuration_model 文档
例如度数为 [0, 1, 2, 3, 4] 的图:
import networkx as nx
import matplotlib.pyplot as plt
H = nx.configuration_model([i for i in range(5)])
nx.draw_random(H)
注意度数之和必须是偶数。