ich einen enormen Graph-Datensatz haben - sagen wir es so ist, aber auf einem viel größeren Level:Finding getrennten Graphen innerhalb eines Diagrammobjekt in NetworkX
1 -> 2
3 -> 4
1,2,3,4 sind Knoten und Die Pfeile sind gerichtete Kanten. Lassen Sie uns sagen, dass sie alle in einem einzigen Diagramm Objekt sind:
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)
ein Objekt wie dieses gegeben, die zwei Mini-Diagramme innerhalb eines Graphen hat, wie können wir jedes Mini-Diagramm herausziehen? Ich habe das Gefühl, dass es ein Wort dafür geben muss? Mein Endergebnis aussehen würde:
for mini_graph in G:
print mini_graph.nodes()
...
[1,2]
[3,4]
Ich glaube, Sie können [ '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_connecte.weakly_connected_component_subgraphs) und wenn ja, ist dies ein Duplikat davon: http://stackoverflow.com/questions/18643789/how-to-find-subgraphs-in-a-directed-graph-without-converting-to-undirected- graph – EdChum
Auch verwandt: http://stackoverflow.com/questions/13914920/networkx-extract-the-smallest-connected-subgraph. Es hängt davon ab, wie Sie Untergraphen hier definieren – EdChum