How to force all nodes in the same column in graphviz?

前端 未结 1 1475
情书的邮戳
情书的邮戳 2020-12-28 16:48

I\'m trying to model a certain flow using graphviz, and I can\'t figure out how to model the following graph to share the same horizontal center

digraph exmp         


        
相关标签:
1条回答
  • 2020-12-28 17:35

    At least as of May 2007, you can't force "columns" per se, but you can apply weight to edges which should help force alignment. But actually, in this case, if you just add an invisible edge from D to E, you've got vertical alignment.

    digraph exmp {
        A -> B -> C -> D
        C -> E [constraint=false]
        A -> C [style="dotted", constraint=false]
        A -> D [style="dotted",  constraint=false]
        B -> D [constraint=false]
        D -> A [style="dashed", constraint=false]
        C -> A [style="dashed", constraint=false]
        D -> E [style="invis"] // <---- important new line
    
    
        subgraph cluster_hackToSinkIt { E -> F }
        { rank="sink" E F }
    }
    

    fixed dot image

    I'm not aware of any way to force edges to one side or another.

    0 讨论(0)
提交回复
热议问题