edge_subgraph#
- edge_subgraph(G, edges)[source]#
返回由指定边诱导的子图视图。
诱导子图包含
edges
中的每条边以及与这些边中的任何一条关联的每个节点。- 参数:
- GNetworkX 图
- edges可迭代对象
一个包含边的可迭代对象。不在
G
中的边将被忽略。
- 返回值:
- subgraph子图视图
G
的只读边诱导子图。对G
的更改会反映在此视图中。
注意
要创建一个可变的子图,包含其自己的节点、边和属性的副本,请使用
subgraph.copy()
或Graph(subgraph)
如果递归地创建一个子图的子图,可能会形成一个子图链,大约 15 层嵌套子图视图就会变得非常慢。幸运的是,edge_subgraph 过滤器可以很好地嵌套,因此你可以在此函数中使用原始图作为 G 来避免链。我们没有通过编程方式排除链,这样就可以创建一些特殊情况,例如
restricted_view
的edge_subgraph
。示例
>>> G = nx.path_graph(5) >>> H = G.edge_subgraph([(0, 1), (3, 4)]) >>> list(H.nodes) [0, 1, 3, 4] >>> list(H.edges) [(0, 1), (3, 4)]