30 lines
753 B
Python
30 lines
753 B
Python
|
"""
|
||
|
==========
|
||
|
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()
|