如何强制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
如何强制节点出现在预定位置(0.1),(1,10和各自的(2,2)
答案 0 :(得分:0)
查看http://pygraphviz.github.io/documentation/pygraphviz-1.4rc1/reference/agraph.html和draw方法的签名,看起来好像只有pos不存在才需要布局。
" 如果未指定prog并且图形具有位置(请参阅layout()),则不会执行其他图形定位。"
在您的情况下,您可以尝试不使用A.layout()。只是A.draw(' foo.pdf')