| 1234567891011121314151617181920212223242526272829303132333435 |
- """
- =========
- Ego Graph
- =========
- Example using the NetworkX ego_graph() function to return the main egonet of
- the largest hub in a Barabási-Albert network.
- """
- from operator import itemgetter
- import matplotlib.pyplot as plt
- import networkx as nx
- # Create a BA model graph - use seed for reproducibility
- n = 1000
- m = 2
- seed = 20532
- G = nx.barabasi_albert_graph(n, m, seed=seed)
- # find node with largest degree
- node_and_degree = G.degree()
- (largest_hub, degree) = sorted(node_and_degree, key=itemgetter(1))[-1]
- # Create ego graph of main hub
- hub_ego = nx.ego_graph(G, largest_hub)
- # Draw graph
- pos = nx.spring_layout(hub_ego, seed=seed) # Seed layout for reproducibility
- nx.draw(hub_ego, pos, node_color="b", node_size=50, with_labels=False)
- # Draw ego as large and red
- options = {"node_size": 300, "node_color": "r"}
- nx.draw_networkx_nodes(hub_ego, pos, nodelist=[largest_hub], **options)
- plt.show()
|