2014-09-28 4 views
2

노드 좌표를 사용하여 igraph 그래프를 작성하려고합니다.노드의 XY 좌표를 사용하여 (igraph) 그래프를 설정하십시오.

layout() 함수를 사용하여 2D 공간에 그래프를 그리는 방법이 있지만 알려진 좌표에서 그래프를 만들어야합니다. 노드의. 나는 누군가가 이것으로 제공 할 수있는 어떤 도움을 주셔서 감사하겠습니다.

왜 이런 방식으로 그래프를 설정하려고합니까? 좌표로 그래프 노드를 매개 변수화 한 후, 노드 사이의 거리를 고려한 확률 측정을 사용하여 노드를 연결하려고합니다.

감사합니다. Hitaysh

# Initial Co-ordinates of nodes 
    n = 1000 # no. of nodes 
    nodes.coord <- data.frame(x=runif(n,min=0,max=n), 
           y=runif(n,min=0,max=n)) 

    # Set up a graph with nodes on above co-ordinates... 

P.S. 이 StackOverflow 내 첫 게시물입니다. 더 나은 질문을하는 방법에 대한 건설적인 피드백도 환영합니다.

+0

나는 당신이하려는 것을 이해하지 못합니다. 그래프 구조는 플롯 된 xy 좌표와 완전히 독립적입니다. 노드가 렌더링되는 곳을 제어하려면'plot.igraph()'에서'layout ='매개 변수를 사용할 수 있습니다 ('? igraph :: layout' 참고). xy 좌표는 어떤 노드가 연결되어 있는지 알려주지 않습니다. [재생 가능한 예제를 만드는 방법] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)을 읽고 샘플 입력과 원하는 출력을 포함하십시오. (runif를 사용하려면 set.seed()도 사용하여 같은 값을 얻을 수 있습니다). – MrFlick

답변

1

질문 afew 번 이상 읽은 후, 나는이 같은 일이

n = 20 # no. of nodes 
set.seed(15) 
nodes.coord <- data.frame(
    x=runif(n,min=0,max=n), 
    y=runif(n,min=0,max=n) 
) 
gg <- graph.empty(n) 
plot(gg, layout=as.matrix(nodes.coord[,c("x","y")])) 

enter image description here

하지만 당신은 거리에 따라 노드를 연결하려는 경우, 그것은 아마 의미가 작동합니다 같은데요 이미 위치를 알고 있기 때문에 igraph 객체를 생성하기 전에 연결을 찾을 수 있습니다.

+0

감사합니다 MrFlick, 저는 그래프를 만들기 전에 연결을 계산하는 아이디어를 좋아합니다. 나는 그것이 작동하게 되 자마자 내 코드의 간단한 버전을 게시 할 것이다. – Hitaysh

관련 문제