2013-05-22 41 views
4

我花了一些时间让下图看起来像现在一样,而且我几乎满意。我仍然困扰的一件事是,为了美观,D和B之间的联系应该在所有节点之上。在Graphviz中改变从下方到上方节点的边缘放置

有趣的是,为边缘提供端口并不会影响dot,它只是让边缘穿过连接的节点。

您对如何避免这种情况有想法吗?

My graph

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为了get orthogonal edges

+1

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

回答

3

它可能是您使用的引擎版本的功能。我不确定GraphViz Workspace http://graphviz-dev.appspot.com/使用的是什么版本的点,但它确实会在顶部运行问题连接器。

enter image description here