我有图表
[![网络] [1] [1]
我试着在networkx
中获得簇中的边数,但是我没有找到执行此操作的函数。我应该如何计算图中簇中的边数?
答案 0 :(得分:1)
网络中的群集是networkx
中所谓的子图。要在图表或网络中获取子图,您可以使用networkx.connected_components
或networkx.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