node_degree_xy#

node_degree_xy(G, x='out', y='in', weight=None, nodes=None)[source]#

Yields 2-tuples of (degree, degree) values for edges in G.

This generator yields, for each edge in G incident to a node in nodes, a 2-tuple of form (degree, degree). The node degrees are weighted when a weight attribute is specified.

Parameters:
G: NetworkX graph
x: string (‘in’,’out’)

The degree type for source node (directed graphs only).

y: string (‘in’,’out’)

The degree type for target node (directed graphs only).

weight: string or None, optional (default=None)

The edge attribute that holds the numerical value used as a weight. If None, then each edge has weight 1. The degree is the sum of the edge weights adjacent to the node.

nodes: list or iterable (optional)

Use only edges that are adjacency to specified nodes. The default is all nodes.

Yields:
(x, y): 2-tuple

Generates 2-tuple of (degree, degree) values.

Notes

For undirected graphs, each edge is produced twice, once for each edge representation (u, v) and (v, u), with the exception of self-loop edges which only appear once.

Examples

>>> G = nx.DiGraph()
>>> G.add_edge(1, 2)
>>> list(nx.node_degree_xy(G, x="out", y="in"))
[(1, 1)]
>>> list(nx.node_degree_xy(G, x="in", y="out"))
[(0, 0)]