union_all#
- union_all(graphs, rename=())[source]#
返回所有图的并集。
图必须是不相交的,否则会引发异常。
- 参数:
- graphs可迭代对象
NetworkX 图的可迭代对象
- rename可迭代对象, 可选
可以通过指定元组 `rename=('G-','H-')`(例如)来更改图的节点名称。图 G 中的节点“u”将被重命名为“G-u”,图 H 中的节点“v”将被重命名为“H-v”。也支持无限生成器(如 itertools.count)。
- 返回:
- U与列表中第一个图类型相同的图
- 引发:
- ValueError
如果
graphs
是空列表。- NetworkXError
如果图的类型混合,例如 MultiGraph 和 Graph,或有向图和无向图。
另请参阅
union
disjoint_union_all
注意
对于混合类型的图,应将它们转换为相同类型。>>> G = nx.Graph() >>> H = nx.DiGraph() >>> GH = union_all([nx.DiGraph(G), H])
要强制进行节点重新标记的不相交并集,请使用 disjoint_union_all(G,H) 或 convert_node_labels_to integers().
图、边和节点属性会传播到并集图。如果图属性存在于多个图中,则使用列表中最后一个具有该属性的图的值。
示例
>>> 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)])