奇怪的graphviz边缘重叠

时间:2014-07-14 20:28:57

标签: graphviz

我得到一个边缘重叠的奇怪的graphviz布局。

节点“5”似乎放在错误的位置:

Default messy version

如果我用节点“5”和节点“h”之间的边缘强制正确的位置,一切都很好:

Fixed version

为什么默认布局如此混乱?

这是我的点源(只需取消注释该行以获得固定版本):

digraph dummy {

    subgraph line1 { rank = same
        "1", "a", "b", "c", "d", "e", "f", "17"
    }

    subgraph line2 { rank = same
        "9", "g", "11"
    }

    subgraph line3 { rank = same
        "3", "h", "i", "14"
    }

    "c" -> "d"
    "a" -> "b"
    "b" -> "c"
    "e" -> "f"
    "i" -> "14"
    "14" -> "f"
    "a" -> "3"
    "3" -> "h"
    "d" -> "9"
    "9" -> "g"
    "h" -> "i"
    "g" -> "i"
    "d" -> "e"
    "g" -> "11"
    "11" -> "e"
    "b" -> "5"
    #"5" -> "h" # Uncomment to "fix"
    "c" -> "7"
    "f" -> "17"
    "1" -> "a"
    "h" -> "13"
    "i" -> "15"
    "i" -> "15bis"
    "i" -> "16"
}

在@Sisyphus的帮助下,我可以得到更好的结果(但节点“11”ang“g”无理由切换):

enter image description here

1 个答案:

答案 0 :(得分:1)

变化

subgraph line2 { rank = same
    "9", "g", "11"
}

{ rank = same
    rankdir=LR
    5->7->9->g->11[color=white]
}

这使节点“5”正确,但“9”和“g”错误。