Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Networkx中的图并集_Python 3.x_Union_Networkx - Fatal编程技术网

Python 3.x Networkx中的图并集

Python 3.x Networkx中的图并集,python-3.x,union,networkx,Python 3.x,Union,Networkx,我有两个图表: G.nodes() = [0,3] H.nodes() = [1,2,3,4] 我尝试将这些图合并在一起,同时只重新标记H的节点,并为G保留相同的标签,以便生成的图将具有以下节点: U.nodes() = [0,3,1,2,5,4] 如果前两个元素来自G,而其他所有元素都来自H,那么假设节点3上存在名称冲突,则会将其重命名为下一个可用整数 由于G.nodes()被重新标记为[0,1],因此与networkx不相交的联合不起作用 感谢您的帮助 如@Joel所述: import

我有两个图表:

G.nodes() = [0,3]
H.nodes() = [1,2,3,4]
我尝试将这些图合并在一起,同时只重新标记H的节点,并为G保留相同的标签,以便生成的图将具有以下节点:

U.nodes() = [0,3,1,2,5,4]
如果前两个元素来自G,而其他所有元素都来自H,那么假设节点3上存在名称冲突,则会将其重命名为下一个可用整数

由于G.nodes()被重新标记为[0,1],因此与networkx不相交的联合不起作用

感谢您的帮助

如@Joel所述:

import networkx as nx
import matplotlib.pyplot as plt

_,ax = plt.subplots(1,3, figsize=(10,8))
G = nx.Graph()
G.add_nodes_from([0,3])
nx.draw_networkx(G, ax=ax[0], title='G')

H = nx.Graph()
H.add_nodes_from([1,2,3,4])
nx.draw_networkx(H, ax=ax[1])

U = nx.union(G, H, rename=('G-','H-'))
nx.draw_networkx(U, ax=ax[2])
print(U.nodes())
输出:

NodeView(('G-0', 'G-3', 'H-1', 'H-2', 'H-3', 'H-4'))

使用
rename
可选参数查看
nx.union
,然后
将节点标签转换为整数。(任何感兴趣的人-请随意在此基础上给出完整答案)