2017-04-11 86 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。 –