使用当前节点位置并在graphviz中添加新节点

时间:2014-04-10 08:47:38

标签: graphviz

我(和许多其他人一样,例如Force graphviz to preserve node positions)需要向图表添加新节点,使节点保持不变。

你知道这是否有用吗?

1)我让graphviz绘制图的第一个实例

2)我要求graphviz报告它放置每个节点的位置

3)我使用步骤2)获得的坐标作为pos选项添加一些额外的节点,只留下没有pos属性的新节点,可以放置在graphviz所需的位置。< / p>

是否可能,或者graphviz需要每个位置设置?

2 个答案:

答案 0 :(得分:3)

mmmm,第二个想法我这样试过:

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,我看到第二个布局完全不变,除了新节点 - 这就是我想要的!

(编辑) 好吧,或多或少:如果我从这开始: step1

并添加一个节点,相当不错: step2

...但是添加一个小的新节点集群,它们最终会分散: step3

答案 1 :(得分:0)

here使用posneato时,fdp属性仅限于使用:

  

在neato和fdp中,pos可用于设置节点的初始位置。

对于neato,通常需要-n选项才能使用来自this pagepos值:

  

如果设置,则neato假定节点已经定位,所有节点都有pos属性给出位置。

因此,这是不可能的。如果您可以从完整图表开始并隐藏节点而不是添加新节点,linked answer可能会有用。