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:
GNetworkX graph
xstring (‘in’,’out’)

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

ystring (‘in’,’out’)

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

weightstring 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.

nodeslist 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)]