2017-05-07 2 views
0

노드 목록을 사용하여 하위 그래프를 만드는 방법에 대한 방법이 있습니다. 그러나 서브 그래프를 생성하기 위해 모서리를 사용하는 방법이 있는지 알고 싶습니다. 이제 MultiDiGraph를 만듭니다. 사실 내가 인쇄 호출 할 때 (G.edges (데이터 = 참)) 결과가 bellowing과 같습니다가장자리의 속성을 사용하여 하위 그래프를 만드는 방법

[(1, 64, {'agent id': 1875}), (1, 64, {'agent id': 936}), (1, 75, {'agent id': 199}), (1, 75, {'agent id': 496}), (1, 4, {'agent id': 496}), (1, 81, {'agent id': 563}), (1, 459, {'agent id': 496})] 

가 지금은 각각의 "에이전트 ID가"에 대한 서브 그래프를 만들려면, 내가 어떻게 할 수 있습니까? 대단히 감사합니다!

답변

0

먼저 목록 이해를 사용하여 원하는 모든 가장자리를 수집하십시오. 그런 다음 새 그래프를 만들고 그 가장자리를 그래프에 추가하십시오.

edges = [(u,v,d) for u,v,d in G.edges(data = True) if d['agent id'] = x] 

H = nx.multiDiGraph() 
H.add_edges_from(edges) 
+0

대단히 감사합니다. 또한 나는 '에이전트 ID'가 너무 많아서 '에이전트 ID'에 대한 하위 그래프를 자동 생성하기 위해 "서클 용"을 사용해야한다고 질문합니다. 이제 '에이전트 ID'목록이 있습니다. 그러면 어떻게 할 수 있습니까? –

관련 문제