Networkx:获取簇中的边数

2024-09-28 17:18:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我有图表 [![网络][1]][1] 我试图得到networkx中簇中的边数,但是我没有找到一个函数来实现这一点。如何计算图中簇中的边数?在


Tags: 函数网络networkx图表边数
1条回答
网友
1楼 · 发布于 2024-09-28 17:18:50

网络中的簇是networkx中的所谓子图。为了获得图或网络中的子图,可以使用networkx.connected_componentsnetworkx.connected_component_subgraphs函数。第一个返回带节点的列表,而后一个返回子图。在

注意:这些函数返回生成器,因此您需要将它们转换为列表才能获得图形。在

示例如下:

import networkx as nx
graph = nx.Graph()
graph.add_edges_from(((1, 2), (2,3), (4, 5), (5, 6), (6, 7)))
subgraphs = list(nx.connected_component_subgraphs(graph))
for subgraph in subgraphs:
    edges = subgraph.edges()
    print(edges, "total edges: %s" % len(edges))

[[1, 2], [2, 3]] total edges: 2
[[4, 5], [5, 6], [6, 7]], total edges: 3

相关问题 更多 >