networkx.MultiGraph.subgraph¶
-
MultiGraph.
subgraph
(nodes)[source]¶ Return a SubGraph view of the subgraph induced on nodes in
nodes
.The induced subgraph of the graph contains the nodes in
nodes
and the edges between those nodes.Parameters: nodes (list, iterable) – A container of nodes which will be iterated through once. Returns: G – A subgraph view of the graph. The graph structure cannot be changed but node/edge attributes can and are shared with the original graph. Return type: SubGraph View Notes
The graph, edge and node attributes are shared with the original graph. Changes to the graph structure is ruled out by the view, but changes to attributes are reflected in the original graph.
To create a subgraph with its own copy of the edge/node attributes use: G.subgraph(nodes).copy()
For an inplace reduction of a graph to a subgraph you can remove nodes: G.remove_nodes_from([n for n in G if n not in set(nodes)])
Examples
>>> G = nx.Graph() # or DiGraph, MultiGraph, MultiDiGraph, etc >>> nx.add_path(G, [0, 1, 2, 3]) >>> H = G.subgraph([0, 1, 2]) >>> list(H.edges) [(0, 1), (1, 2)]