在Graphviz中将边放置从节点下方更改为节点上方

在Graphviz中将边放置从节点下方更改为节点上方,graphviz,dot,Graphviz,Dot,我花了一些时间才把下面的图表做成现在的样子,我几乎满意了。有一件事仍然困扰着我,那就是为了美观起见,D和B之间的连接应该高于所有节点 有趣的是,为边缘提供端口并不会给点留下深刻印象,这只会使边缘穿过连接的节点 你有没有办法避免这种情况 digraph { graph [splines=ortho, nodesep=0.2, fontname="DejaVu Sans", rankdir=LR] node [shape=box, fontsize=8] edge [arro

我花了一些时间才把下面的图表做成现在的样子,我几乎满意了。有一件事仍然困扰着我,那就是为了美观起见,D和B之间的连接应该高于所有节点

有趣的是,为边缘提供端口并不会给点留下深刻印象,这只会使边缘穿过连接的节点

你有没有办法避免这种情况

digraph {
    graph [splines=ortho, nodesep=0.2, fontname="DejaVu Sans", rankdir=LR]
    node [shape=box, fontsize=8]
    edge [arrowsize=0.5]

    subgraph cluster {
        style=invis;
        A -> B -> C;
        A -> B -> C;
        A -> B -> C -> D;
        D -> E;
        D:nw -> B:ne;
    }
    {
        D -> F -> { C; E };
    }
}


PS:您需要最新的Graphviz版本,以便使用。

它可能是您使用的发动机版本的函数。我不确定GraphViz工作区使用的是什么版本的dot,但它确实在顶部运行问题连接器


+1:正交边对我来说是新事物。看起来不错,除了你发现的问题。我注意到,您参考的文档中指出,
当前,路由不处理端口或点中的边缘标签,这可能是问题的原因。我认为在D和B之间插入一个不可见的节点可能有助于解决问题,但我尝试了各种方法,但没有一种能改善问题。我会进一步考虑这个问题。