This documents an unmaintained version of NetworkX. Please upgrade to a maintained version and see the current NetworkX documentation.


union(G, H, rename=(None, None), name=None)[source]

Return the union of graphs G and H.

Graphs G and H must be disjoint, otherwise an exception is raised.


G,H : graph

A NetworkX graph

create_using : NetworkX graph

Use specified graph for result. Otherwise

rename : bool , default=(None, None)

Node names of G and H can be changed by specifying the tuple rename=(‘G-‘,’H-‘) (for example). Node “u” in G is then renamed “G-u” and “v” in H is renamed “H-v”.

name : string

Specify the name for the union graph


U : A union graph with the same type as G.

See also



To force a disjoint union with node relabeling, use disjoint_union(G,H) or convert_node_labels_to integers().

Graph, edge, and node attributes are propagated from G and H to the union graph. If a graph attribute is present in both G and H the value from H is used.