networkx.drawing.spectral_layout

networkx.drawing.spectral_layout(G, weight='weight', scale=1, center=None, dim=2)[source]

Position nodes using the eigenvectors of the graph Laplacian.

Parameters:

G : NetworkX graph or list of nodes

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

The edge attribute that holds the numerical value used for the edge weight. If None, then all edge weights are 1.

scale : float

Scale factor for positions

center : array-like or None

Coordinate pair around which to center the layout.

dim : int

Dimension of layout

Returns:

pos : dict

A dictionary of positions keyed by node

Notes

Directed graphs will be considered as undirected graphs when positioning the nodes.

For larger graphs (>500 nodes) this will use the SciPy sparse eigenvalue solver (ARPACK).

Examples

>>> G = nx.path_graph(4)
>>> pos = nx.spectral_layout(G)