У меня есть огромный набор данных графа - скажем, это так, но на гораздо большем уровне:Обнаружение отдельных графиков в пределах объекта графа в NetworkX
1 -> 2
3 -> 4
1,2,3,4 являются узлами и стрелки - направленные ребра. Допустим, что все они находятся в одном объекте графа:
import networkx as nx
G = nx.DiGraph()
G.add_nodes_from([1,2,3,4])
G.add_edge(1,2)
G.add_edge(3,4)
Учитывая такой объект, как это, у которого есть две мини-графики в пределах графика, как мы можем вытащить каждый мини-граф? Я чувствую, что для этого должно быть какое-то слово? Мой конечный результат будет выглядеть следующим образом:
for mini_graph in G:
print mini_graph.nodes()
...
[1,2]
[3,4]
Я думаю, вы можете использовать [ 'weakly_connected_component_subgraphs'] (http://networkx.github.io/documentation/latest/reference/generated/networkx.algorithms.components.weakly_connected.weakly_connected_component_subgraphs.html#networkx.algorithms.components. weakly_connected.weakly_connected_component_subgraphs), и если это так, то это дубликат: http://stackoverflow.com/questions/18643789/how-to-find-subgraphs-in-a-directed-graph-without-converting-to-undirected- graph – EdChum
Связано также: http://stackoverflow.com/questions/13914920/networkx-extract-the-smallest-connected-subgraph. Это зависит от того, как вы определяете подграфы здесь – EdChum