union_all#

union_all(graphs, rename=())[source]#

返回所有图的并集。

这些图必须是互不相交的,否则会引发异常。

Parameters:
graphsiterable

包含NetworkX图的可迭代对象

renameiterable, 可选

可以通过指定元组(例如,rename=(‘G-‘,’H-‘))来更改图的节点名称。图G中的节点”u”将被重命名为”G-u”,图H中的节点”v”将被重命名为”H-v”。也支持无限生成器(如itertools.count)。

Returns:
U与列表中第一个图类型相同的图
Raises:
ValueError

如果 graphs 是一个空列表。

NetworkXError

如果存在混合类型的图,如多重图和简单图,或是有向图和无向图。

See also

union
disjoint_union_all

Notes

对于操作混合类型的图,应将它们转换为相同类型。 >>> G = nx.Graph() >>> H = nx.DiGraph() >>> GH = union_all([nx.DiGraph(G), H])

要强制进行节点重命名的不相交并集,请使用 disjoint_union_all(G,H) 或 convert_node_labels_to_integers()。

图、边和节点属性会被传播到并集图中。 如果某个图属性在多个图中存在,则使用列表中最后一个具有该属性的图的值。

Examples

>>> G1 = nx.Graph([(1, 2), (2, 3)])
>>> G2 = nx.Graph([(4, 5), (5, 6)])
>>> result_graph = nx.union_all([G1, G2])
>>> result_graph.nodes()
NodeView((1, 2, 3, 4, 5, 6))
>>> result_graph.edges()
EdgeView([(1, 2), (2, 3), (4, 5), (5, 6)])