2017-02-12 3 views
1

pygraphviz가 내 노드의 고정 위치를 유지하려면 어떻게해야합니까? 가정 당신은 내가 소정의 위치 (0.1)에 표시하는 노드를 강제 할 방법Pygraphviz 및 고정 노드 위치

from __future__ import absolute_import 
from __future__ import unicode_literals 
from __future__ import print_function 
from __future__ import division 

import pygraphviz as pgv 
from _operator import pos 

A=pgv.AGraph() 

A.add_node(1,color='red',pos="0,1") 
A.add_node(2,color='blue',pos="1,10") 
A.add_node(3,color='yellow'pos="2,2") 


A.add_edge(1,2,color='green') 
A.add_edge(2,3) 
A.add_edge(2,2,"1") 
A.add_edge(1,3) 

A.graph_attr['epsilon']='0.001' 
print(A.string()) # print dot file to standard output 
A.layout('dot') # layout with dot 
A.draw('foo.pdf') # write to file 

은, (1, 10 및 각각이 (2,2)

답변

0

http://pygraphviz.github.io/documentation/pygraphviz-1.4rc1/reference/agraph.html과를 보면 다음과 같은 코드를 가지고 draw 메소드의 시그니쳐가 아닌 경우는, pos가 존재하지 않는 경우에만 레이아웃이 필요한 것처럼 보입니다.

" prog가 지정되어 있지 않고 그래프에 위치 (layout()를 참조)가있는 경우, 추가의 그래프 위치 지정은 실행되지 않습니다 . "

당신의 경우에는 A.layout()을 사용하지 않고 시도 할 수 있습니다. 그냥 A.draw ('foo.pdf')