2017-09-28 1 views
0

나는 그래프 g을 가지며 각 노드와 관련된 'name'속성을 가지고있다. 두 개의 노드를 이름 속성으로 호출하고 노드 사이에 가장자리를 작성하고 싶습니다. 그러나노드 사이의 형태 가장자리는 속성에 의해 파이썬에서 igraph를 찾는다.

from igraph import * 
g = Graph(4) 

print g 
IGRAPH UN-- 4 0 -- 
+ attr: name (v) 

g.vs["name"] 
[10, 39, 76, 6] 

, 내가

g.add_edge(g.vs[76], g.vs[39]) 

같은 것을 시도 나는 범위에서 정점 인덱스를 얻을. 내 그래프가 꽤 커질 수 있고 그것이 얼마나 느리게 될지 모르기 때문에 인덱스 위치에 이름을 인덱스 위치와 일치시킬 수 있다면 인덱스로 노드를 호출하는 솔루션에 만족할 것입니다.

이상적으로, 나는 단지 'name'속성으로 노드를 검색하고 그 사이에 가장자리를 형성합니다.

답변

1

아마도 추측 하듯이 이름 벡터의 위치에 따라 색인을 생성하고 있습니다. 이름 벡터의 이름과 일치시킬 수 있습니다.

v1_position = g.vs['name'].index(76) 
v2_position = g.vs['name'].index(39) 

g.add_edge(v1_position, v2_position) 
관련 문제