edge_subgraph#

edge_subgraph(G, edges)[source]#

返回由指定边诱导的子图视图。

诱导子图包含 edges 中的每条边以及与这些边中的任何一条关联的每个节点。

参数:
GNetworkX 图
edges可迭代对象

一个包含边的可迭代对象。不在 G 中的边将被忽略。

返回值:
subgraph子图视图

G 的只读边诱导子图。对 G 的更改会反映在此视图中。

注意

要创建一个可变的子图,包含其自己的节点、边和属性的副本,请使用 subgraph.copy()Graph(subgraph)

如果递归地创建一个子图的子图,可能会形成一个子图链,大约 15 层嵌套子图视图就会变得非常慢。幸运的是,edge_subgraph 过滤器可以很好地嵌套,因此你可以在此函数中使用原始图作为 G 来避免链。我们没有通过编程方式排除链,这样就可以创建一些特殊情况,例如 restricted_viewedge_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)]