在networkx python中,如何将一组新的节点和边连接到图形中的每个节点?

在networkx python中,如何将一组新的节点和边连接到图形中的每个节点?,python,graph,networkx,power-law,Python,Graph,Networkx,Power Law,目前,我创建了一个图表,如下所示: import networkx as nx edges = [] for i in range (10): edges.append((i,i+1)) edges += [(10,0), (1,10), (2,8), (3,7), (4,6), (4,10), (5,10)] # create the graph G = nx.Graph() G.add_nodes_from([i for i in range (11)]) G.add_edges_f

目前,我创建了一个图表,如下所示:

import networkx as nx
edges = []
for i in range (10):
    edges.append((i,i+1))
edges += [(10,0), (1,10), (2,8), (3,7), (4,6), (4,10), (5,10)]
# create the graph
G = nx.Graph()
G.add_nodes_from([i for i in range (11)])
G.add_edges_from(edges)

现在我需要的是将随机数目的新节点连接到上述核心网络的每个节点,根据的幂律分布,问题是因为
nx。expected_degree_graph
创建了一个节点标签为0的图。。。14如果尝试加入
G
G1
,则会合并同名节点

您需要
G1
才能拥有具有唯一标签的节点。您可以使用以下功能实现此结果:

relabel_dict = {node: node+len(G.nodes) for node in G1.nodes}
G1 = nx.relabel_nodes(G1, relabel_dict)
new_G = nx.compose(G, G1)
现在,您可以使用以下功能安全地加入
G
G1

relabel_dict = {node: node+len(G.nodes) for node in G1.nodes}
G1 = nx.relabel_nodes(G1, relabel_dict)
new_G = nx.compose(G, G1)

你能提供预期的产量吗?我知道这是随机的,但请举个例子:)新节点需要新的数字/值-如果您再次添加
[I for I in range(11)]
,则会替换它们。如果您添加
[i for i in range(11,13)]
则它将添加新节点-
11,12
。可能创建具有唯一值的节点-即
(uniq\u编号,值)