Warning

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

networkx.algorithms.components.connected_component_subgraphs

connected_component_subgraphs(G, copy=True)[source]

Generate connected components as subgraphs.

Parameters:
  • G (NetworkX graph) – An undirected graph.
  • copy (bool (default=True)) – If True make a copy of the graph attributes
Returns:

comp – A generator of graphs, one for each connected component of G.

Return type:

generator

Raises:

NetworkXNotImplemented: – If G is undirected.

Examples

>>> G = nx.path_graph(4)
>>> G.add_edge(5,6)
>>> graphs = list(nx.connected_component_subgraphs(G))

If you only want the largest connected component, it’s more efficient to use max instead of sort:

>>> Gc = max(nx.connected_component_subgraphs(G), key=len)

Notes

For undirected graphs only. Graph, node, and edge attributes are copied to the subgraphs by default.