This documents the development version of NetworkX. Documentation for the current release can be found here.


dispersion(G, u=None, v=None, normalized=True, alpha=1.0, b=0.0, c=0.0)[source]

Calculate dispersion between u and v in G.

A link between two actors (u and v) has a high dispersion when their mutual ties (s and t) are not well connected with each other.

  • G (graph) – A NetworkX graph.

  • u (node, optional) – The source for the dispersion score (e.g. ego node of the network).

  • v (node, optional) – The target of the dispersion score if specified.

  • normalized (bool) – If True (default) normalize by the embededness of the nodes (u and v).


nodes – If u (v) is specified, returns a dictionary of nodes with dispersion score for all “target” (“source”) nodes. If neither u nor v is specified, returns a dictionary of dictionaries for all nodes ‘u’ in the graph with a dispersion score for each node ‘v’.

Return type



This implementation follows Lars Backstrom and Jon Kleinberg 1. Typical usage would be to run dispersion on the ego network \(G_u\) if \(u\) were specified. Running dispersion() with neither \(u\) nor \(v\) specified can take some time to complete.



Romantic Partnerships and the Dispersion of Social Ties: A Network Analysis of Relationship Status on Facebook. Lars Backstrom, Jon Kleinberg.