Graphviz家族树与固定节点

时间:2014-07-05 10:43:21

标签: graphviz

我只是想将一个家谱覆盖在一个桌面计划上,以便我的活动的客人可以看到其他家庭成员所在的位置。我把表计划作为pdf文件。是否有可能修复节点的位置,使它们与人员座位重合,并让graphviz优化边缘的路由?

1 个答案:

答案 0 :(得分:1)

您当然可以修复节点位置(使用pos属性!或节点属性pin=true - 请参阅graphviz - fixed node positions的答案,这似乎是一个GraphViz团队成员,但边缘路由可能需要一些美学帮助。

例如,给定familytree.dot

digraph G {
    node [ shape="plaintext" ]
    graph [ splines="ortho" ]
    dad -> parents 
    mom -> parents
    parents -> son1
    parents -> son2
    parents -> daughter1
    parents -> daughter2
    granddad -> dad
    granddad [pos = "0,2!"]
    dad [pos = "0,4!"]
    mom [pos = "0,6!"]
    son1 [pos = "2,2!"]
    son2 [pos = "2,4!"]
    daughter1 [pos = "2,6!"]
    daughter2 [pos = "2,8!"]
}

...正在运行neato -Tpng -ofamilytree.png familytree.dot会产生以下结果:

enter image description here