Note

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

networkx.algorithms.assortativity.attribute_mixing_dict

attribute_mixing_dict(G, attribute, nodes=None, normalized=False)[source]

Returns dictionary representation of mixing matrix for attribute.

Parameters
Ggraph

NetworkX graph object.

attributestring

Node attribute key.

nodes: list or iterable (optional)

Unse nodes in container to build the dict. The default is all nodes.

normalizedbool (default=False)

Return counts if False or probabilities if True.

Returns
ddictionary

Counts or joint probability of occurrence of attribute pairs.

Examples

>>> G = nx.Graph()
>>> G.add_nodes_from([0, 1], color="red")
>>> G.add_nodes_from([2, 3], color="blue")
>>> G.add_edge(1, 3)
>>> d = nx.attribute_mixing_dict(G, "color")
>>> print(d["red"]["blue"])
1
>>> print(d["blue"]["red"])  # d symmetric for undirected graphs
1