2017-04-11 87 views
-1

我寫了這個代碼:如何修改此圖表?

digraph G { 

    A254 -> A10[style=invis]; 
    A10 -> A9[style=invis]; 
    A9 -> A8[style=invis]; 
    A8 -> A7[style=invis]; 
    A7 -> A6[style=invis]; 
    A6 -> A5[style=invis]; 
    A5 -> A4[style=invis]; 
    A4 -> A3[style=invis]; 
    A3 -> A2[style=invis]; 
    A2 -> A1[style=invis]; 

    A254 -> A8 [label="t"]; 

    A8 -> A10 [label="t", style=dotted]; 
    A8 -> A9 [label="t", style=dotted]; 
    A8 -> A7 [label="t", style=dotted]; 
    A8 -> A6 [label="t", style=dotted]; 


    A8 -> A3 [constraint = false, label="t"]; 

    A3 -> A5 [label="t", style=dotted]; 
    A3 -> A4 [label="t", style=dotted]; 
    A3 -> A2 [label="t", style=dotted]; 
    A3 -> A1 [label="t", style=dotted]; 


    A254[style=filled] 
    A3[style=filled] 
    A8[style=filled] 
    {rank=same; A254,A10,A9,A8,A7,A6,A5,A4,A3,A2,A1} 
} 

它產生如下圖: enter image description here

其實我有三個問題:

我1.How可以使邊緣A8 - > A3整潔?它看起來非常糟糕。

2.如何使邊A254-> A8 + A8-> A3爲矩形?

3.如何使此圖形垂直?

編輯:

至關重要的是,在節點一字排開,並在上文所述曲線圖中所示的順序相同。

回答

0

我已經找到了解決辦法的最好的事情發生,這裏是

  1. 通過對節點之間的距離和節點的大小進行適當調整,可以使邊緣整齊。最重要的是通過設置相應邊緣的minlen屬性來強制A8-> A3邊緣更長。

以下代碼

digraph G { 

    nodesep=0.5 
    node[fixedsize=true, shape="circle", width=0.5] 
    A254 -> A10[style=invis]; 
    A10 -> A9[style=invis]; 
    A9 -> A8[style=invis]; 
    A8 -> A7[style=invis]; 
    A7 -> A6[style=invis]; 
    A6 -> A5[style=invis]; 
    A5 -> A4[style=invis]; 
    A4 -> A3[style=invis]; 
    A3 -> A2[style=invis]; 
    A2 -> A1[style=invis]; 

    A254 -> A8 [label="t"]; 

    A8 -> A10 [label="t", style=dotted]; 
    A8 -> A9 [label="t", style=dotted]; 
    A8 -> A7 [label="t", style=dotted]; 
    A8 -> A6 [label="t", style=dotted]; 


    A8 -> A3 [minlen = 3, constraint = false, label="t"]; 

    A3 -> A5 [label="t", style=dotted]; 
    A3 -> A4 [label="t", style=dotted]; 
    A3 -> A2 [label="t", style=dotted]; 
    A3 -> A1 [label="t", style=dotted]; 


    A254[style=filled] 
    A3[style=filled] 
    A8[style=filled] 
    {rank=same; A254,A10,A9,A8,A7,A6,A5,A4,A3,A2,A1} 
} 

生成以下圖:

enter image description here

  • 邊緣不能是矩形的。
  • 您可以通過使用命令rotate=90
  • 0

    enter image description here

    digraph G { 
    
        A254 -> A10[style=invis]; 
        A10 -> A9[style=invis]; 
        A9 -> A8[style=invis]; 
        A8 -> A7[style=invis]; 
        A7 -> A6[style=invis]; 
        A6 -> A5[style=invis]; 
        A5 -> A4[style=invis]; 
        A4 -> A3[style=invis]; 
        A3 -> A2[style=invis]; 
        A2 -> A1[style=invis]; 
    
        A254 -> A8 [label="t"]; 
    
        A8 -> A10 [label="t", style=dotted]; 
        A8 -> A9 [label="t", style=dotted]; 
        A8 -> A7 [label="t", style=dotted]; 
        A8 -> A6 [label="t", style=dotted]; 
    
    
        A8 -> A3 [label="t"]; 
    
        A3 -> A5 [label="t", style=dotted]; 
        A3 -> A4 [label="t", style=dotted]; 
        A3 -> A2 [label="t", style=dotted]; 
        A3 -> A1 [label="t", style=dotted]; 
    
    
        A254[style=filled] 
        A3[style=filled] 
        A8[style=filled] 
        {rank=same; A254,A8,A3} 
    } 
    

    做的是閱讀的documentation和實驗的想法在裏面

    +0

    對我做圖的豎直,它是必不可少的節點進行排隊,並以(如張貼在討論的圖)。 –

    +0

    如果它是「必不可少的」,你爲什麼不提及它! -1 – ravenspoint

    +0

    你爲什麼生氣!我雖然從我提出的問題的背景中可以清楚看到。如果你仔細重讀這些問題,你會發現含義含蓄。冷靜下來,感謝downvote。 –