Subgraphs

Introduction to Network Analysis in Python

Eric Ma

Data Carpentry instructor and author of nxviz package

Subgraphs

  • Visualize portions of a large graph
    • Paths
    • Communities/cliques
    • Degrees of separation from a node
Introduction to Network Analysis in Python

Subgraphs

import networkx as nx
G = nx.erdos_renyi_graph(n=20, p=0.2)

G.nodes()
NodeView([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19])
nodes = list(G.neighbors(8))
nodes
[2, 3, 4, 10]
nodes.append(8)
Introduction to Network Analysis in Python

Subgraphs

G_eight = G.subgraph(nodes)

G_eight.edges()
EdgeView([(8, 2), (8, 3), (8, 4), (8, 10), (2, 10)])
G_eight
<networkx.classes.graph.Graph at 0x10cae39e8>
G
<networkx.classes.graph.Graph at 0x10cad1f60>
Introduction to Network Analysis in Python

Subgraphs

nx.draw(G_eight, with_labels=True)

A graph with five nodes, including a clique of size three.

Introduction to Network Analysis in Python

Let's practice!

Introduction to Network Analysis in Python

Preparing Video For Download...