2017-08-24 13 views
0

我想要的圖包含頂行;最右邊的節點(T3)指向A.A至E在垂直列中,C和F垂直對齊,並且H,I和J垂直對齊。此外,C,F和H水平對齊,E,G和J水平對齊。將子圖放入集羣時更改了對齊方式

當我在已經存在的子圖前面添加子圖cluster_0時,即子圖cluster_0 {rank = same; A→B→C→D→E; },子圖變爲水平對齊...

如何在不發生這種情況下引入羣集?另外,從T3到A的邊緣幾乎是直的。我會是很好,如果它直接落下去了,直角向左再向右傾斜下來A.

這裏是什麼在起作用:

digraph G { rankdir = LR ranksep = 1.2 nodesep = 0.5 
    T1 -> T2 -> T3; 
    { rank=same; A -> B -> C -> D -> E; } 
    C -> F 
    { rank=same F -> G[style=invis] } 
    E->G 
    { rankdir=LR rank=same H -> I -> J} 
    F -> H [style=dotted] 
    G -> J [style=invis] 
    edge [constraint=false] 
    T3->A 
} 

而且這裏是行不通

digraph G { rankdir = LR ranksep = 1.2 nodesep = 0.5 
    T1 -> T2 -> T3; 
    subgraph cluster_0 { rank=same; A -> B -> C -> D -> E; } 
    C -> F 
    subgraph cluster_1 { rank=same F -> G[style=invis] } 
    E->G 
    subgraph cluster_2 { rankdir=LR rank=same H -> I -> J} 
    F -> H [style=dotted] 
    G -> J [style=invis] 
    edge [constraint=false] 
    T3->A 
} 

回答

0

這與我所能得到的差不多,但是這些集羣肯定會引入一些差異。另外我用splines=ortho更正了「幾乎直線」的幾行。我將ABCDE子圖以無形的邊緣移到了T1。

digraph G { rankdir=TB ranksep = 0.5 nodesep = 0.5 splines=ortho 
    {rank=same T1 -> T2 -> T3;} 

T1->A [style=invis] 

    subgraph cluster_0 {rank=min A -> B -> C -> D -> E; } 
    C -> F 
    subgraph cluster_1 { rank=same F -> G[style=invis] } 
    E->G 
    subgraph cluster_2 { rankdir=LR rank=same H -> I -> J} 
    F -> H [style=dotted] 
    G -> J [style=invis] 
    edge [constraint=false] 
    T3->A 
} 
相關問題