# Detecting Clusters in Graphs using NetworkX

Clusters of all connected nodes inside a graph is commonly known as “connected components”

Let’s recreate the above graph in NetworkX:

```
import networkx as nx
G = nx.Graph()
G.add_nodes_from(["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N"])
G.add_edges_from([("B", "A"), ("E", "F"), ("E", "D"), ("G", "H"), ("I", "H"), ("J", "I"), ("J", "K"), ("M", "L")])
```

We then call the connected_components function of NetworkX.

`list(nx.connected_components(G))`

Which will give the list of all clusters or connected components of this graph:

```
[{'A', 'B'},
{'C'},
{'D', 'E', 'F'},
{'G', 'H', 'I', 'J', 'K'},
{'L', 'M'},
{'N'}]
```