networkx subgraph
时间: 2023-07-27 14:19:36 浏览: 213
networkx画图(1)
在 NetworkX 中,可以使用 `subgraph` 方法从一个图中提取一个子图。该方法接受一个节点集合作为参数,并返回包含这些节点和它们之间的边的子图。例如,以下代码中的 `G` 是一个包含 5 个节点和 6 条边的简单图:
```python
import networkx as nx
# 创建一个简单图
G = nx.Graph()
G.add_edges_from([(1,2), (2,3), (3,4), (4,1), (1,3), (2,4)])
# 提取子图
nodes = [1, 2, 3]
H = G.subgraph(nodes)
# 输出结果
print(f"Nodes of G: {list(G.nodes)}")
print(f"Edges of G: {list(G.edges)}")
print(f"Nodes of H: {list(H.nodes)}")
print(f"Edges of H: {list(H.edges)}")
```
输出结果为:
```
Nodes of G: [1, 2, 3, 4, 5]
Edges of G: [(1, 2), (1, 3), (2, 3), (2, 4), (3, 4), (4, 5)]
Nodes of H: [1, 2, 3]
Edges of H: [(1, 2), (1, 3), (2, 3)]
```
在这个例子中,我们从 `G` 中提取了包含节点 1、2 和 3 的子图 `H`,并输出了 `G` 和 `H` 的节点集合和边集合。
阅读全文