我(和许多其他人一样,例如Force graphviz to preserve node positions)需要向图表添加新节点,使节点保持不变。
你知道这是否有用吗?
1)我让graphviz绘制图的第一个实例
2)我要求graphviz报告它放置每个节点的位置
3)我使用步骤2)获得的坐标作为pos
选项添加一些额外的节点,只留下没有pos
属性的新节点,可以放置在graphviz所需的位置。< / p>
是否可能,或者graphviz需要每个位置设置?
答案 0 :(得分:3)
fdp -Tdot dir.dot -o dir.gv
现在dir.gv包含所有节点的pos
信息;然后我用dir.gv制作了第一张图:
fdp -Tpng dir.gv -o dir1.png
然后我编辑了dir.gv,添加了一个节点(没有pos
属性),然后:
fdp -Tpng dir.gv -o dir2.png
通过比较dir1.png和dir2.png,我看到第二个布局完全不变,除了新节点 - 这就是我想要的!
(编辑) 好吧,或多或少:如果我从这开始:
并添加一个节点,相当不错:
...但是添加一个小的新节点集群,它们最终会分散:
答案 1 :(得分:0)
从here使用pos
或neato
时,fdp
属性仅限于使用:
在neato和fdp中,pos可用于设置节点的初始位置。
对于neato,通常需要-n
选项才能使用来自this page的pos
值:
如果设置,则neato假定节点已经定位,所有节点都有pos属性给出位置。
因此,这是不可能的。如果您可以从完整图表开始并隐藏节点而不是添加新节点,linked answer可能会有用。