NetworkX provides data structures and methods for storing graphs.
All NetworkX graph classes allow (hashable) Python objects as nodes. and any Python object can be assigned as an edge attribute.
The choice of graph class depends on the structure of the graph you want to represent.
Which graph class should I use?¶
|Graph Type||NetworkX Class|
|With Self-loops||Graph, DiGraph|
|With Parallel edges||MultiGraph, MultiDiGraph|
Basic graph types¶
- Graph – Undirected graphs with self loops
- DiGraph - Directed graphs with self loops
- MultiGraph - Undirected graphs with self loops and parallel edges
- MultiDiGraph - Directed graphs with self loops and parallel edges