我在 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 计算结果。这可能吗?
非常感谢。
答案 0 :(得分:3)
您的问题听起来像是图中配置模型的概念,它将返回具有给定度数序列的随机图。
请参阅 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)