Spaces:
Runtime error
Runtime error
""" | |
================== | |
Spectral Embedding | |
================== | |
The spectral layout positions the nodes of the graph based on the | |
eigenvectors of the graph Laplacian $L = D - A$, where $A$ is the | |
adjacency matrix and $D$ is the degree matrix of the graph. | |
By default, the spectral layout will embed the graph in two | |
dimensions (you can embed your graph in other dimensions using the | |
``dim`` argument to either :func:`~drawing.nx_pylab.draw_spectral` or | |
:func:`~drawing.layout.spectral_layout`). | |
When the edges of the graph represent similarity between the incident | |
nodes, the spectral embedding will place highly similar nodes closer | |
to one another than nodes which are less similar. | |
This is particularly striking when you spectrally embed a grid | |
graph. In the full grid graph, the nodes in the center of the | |
graph are pulled apart more than nodes on the periphery. | |
As you remove internal nodes, this effect increases. | |
""" | |
import matplotlib.pyplot as plt | |
import networkx as nx | |
options = {"node_color": "C0", "node_size": 100} | |
G = nx.grid_2d_graph(6, 6) | |
plt.subplot(332) | |
nx.draw_spectral(G, **options) | |
G.remove_edge((2, 2), (2, 3)) | |
plt.subplot(334) | |
nx.draw_spectral(G, **options) | |
G.remove_edge((3, 2), (3, 3)) | |
plt.subplot(335) | |
nx.draw_spectral(G, **options) | |
G.remove_edge((2, 2), (3, 2)) | |
plt.subplot(336) | |
nx.draw_spectral(G, **options) | |
G.remove_edge((2, 3), (3, 3)) | |
plt.subplot(337) | |
nx.draw_spectral(G, **options) | |
G.remove_edge((1, 2), (1, 3)) | |
plt.subplot(338) | |
nx.draw_spectral(G, **options) | |
G.remove_edge((4, 2), (4, 3)) | |
plt.subplot(339) | |
nx.draw_spectral(G, **options) | |
plt.show() | |