closeness_centrality#
- closeness_centrality(G, nodes, normalized=True)[source]#
Compute the closeness centrality for nodes in a bipartite network.
The closeness of a node is the distance to all other nodes in the graph or in the case that the graph is not connected to all other nodes in the connected component containing that node.
- Parameters:
- Ggraph
A bipartite network
- nodeslist or container
Container with all nodes in one bipartite node set.
- normalizedbool, optional
If True (default) normalize by connected component size.
- Returns:
- closenessdictionary
Dictionary keyed by node with bipartite closeness centrality as the value.
Notes
The nodes input parameter must contain all nodes in one bipartite node set, but the dictionary returned contains all nodes from both node sets. See
bipartite documentation
for further details on how bipartite graphs are handled in NetworkX.Closeness centrality is normalized by the minimum distance possible. In the bipartite case the minimum distance for a node in one bipartite node set is 1 from all nodes in the other node set and 2 from all other nodes in its own set [1]. Thus the closeness centrality for node
v
in the two bipartite setsU
withn
nodes andV
withm
nodes is\[ \begin{align}\begin{aligned}c_{v} = \frac{m + 2(n - 1)}{d}, \mbox{for} v \in U,\\c_{v} = \frac{n + 2(m - 1)}{d}, \mbox{for} v \in V,\end{aligned}\end{align} \]where
d
is the sum of the distances fromv
to all other nodes.Higher values of closeness indicate higher centrality.
As in the unipartite case, setting normalized=True causes the values to normalized further to n-1 / size(G)-1 where n is the number of nodes in the connected part of graph containing the node. If the graph is not completely connected, this algorithm computes the closeness centrality for each connected part separately.
References
[1]Borgatti, S.P. and Halgin, D. In press. “Analyzing Affiliation Networks”. In Carrington, P. and Scott, J. (eds) The Sage Handbook of Social Network Analysis. Sage Publications. https://dx.doi.org/10.4135/9781446294413.n28
Examples
>>> G = nx.wheel_graph(5) >>> top_nodes = {0, 1, 2} >>> nx.bipartite.closeness_centrality(G, nodes=top_nodes) {0: 1.5, 1: 1.2, 2: 1.2, 3: 1.0, 4: 1.0}