| """ | |
| ========== | |
| Self-loops | |
| ========== | |
| A self-loop is an edge that originates from and terminates the same node. | |
| This example shows how to draw self-loops with `nx_pylab`. | |
| """ | |
| import networkx as nx | |
| import matplotlib.pyplot as plt | |
| # Create a graph and add a self-loop to node 0 | |
| G = nx.complete_graph(3, create_using=nx.DiGraph) | |
| G.add_edge(0, 0) | |
| pos = nx.circular_layout(G) | |
| # As of version 2.6, self-loops are drawn by default with the same styling as | |
| # other edges | |
| nx.draw(G, pos, with_labels=True) | |
| # Add self-loops to the remaining nodes | |
| edgelist = [(1, 1), (2, 2)] | |
| G.add_edges_from(edgelist) | |
| # Draw the newly added self-loops with different formatting | |
| nx.draw_networkx_edges(G, pos, edgelist=edgelist, arrowstyle="<|-", style="dashed") | |
| plt.show() | |