2

我已阅读此链接->在 Graphviz(或替代方案)中将“主线”节点强制为直线

尽管使用了这个 - 我无法做到这一点。我做错了什么?

  • 为什么当我将权重与2号相同时,节点号3不在同一级别=高度?为什么节点 5 与使用相同权重的 no 4 不在同一级别=高度?

  • 是否有任何理由与框 1 和 4 具有相同的左边距

谢谢!

F

<graphviz>

digraph MMM8
{
rankdir=LR

node [shape=box,  width="0.8", height="0.5", fontsize="10"];
edge [weight=2]
      1, 2, 3, 6, 7;
edge [weight=1]
      4, 5, Nod1,  8;

 node [shape = box];
        1 [label = "111111111111"];
        2 [label = "2"];
        3 [label = "3"];
        4 [label = "4"];
        5 [label = "5"];
        6 [label = "6"];
        7 [label = "7"];
        8 [label = "7"];
        9 [label = "9"];
Nod1 [label="N1", shape=diamond,style=filled,label="",height=.1,width=.1] ;
{
1-> 2[label="C1"]
2-> 3
3 -> Nod1 
4->Nod1
Nod1->5 
5->6 
6-> 7
5->8
8-> 9
9-> 7

 {
rank = same;
1, 4
}
{
rank = same;
6,8
}

}
</graphviz>
4

1 回答 1

1

您必须创建一个子组,rank=same并在子组中包含您想要内联的每个节点。

digraph MMM8
{
    rankdir=LR
    node [shape=box,  width="0.8", height="0.5", fontsize="10"];

    node [shape = box];
    {
        rank=same;
        1 [label = "111111111111"];
        2 [label = "2"];
        3 [label = "3"];
        6 [label = "6"];
        7 [label = "7"];
    }
    {
        rank=same;
        4 [label = "4"];
        5 [label = "5"];        
        8 [label = "8"];        
        Nod1 [label="N1", shape=diamond,style=filled,label="",height=.1,width=.1] ;
    }

    9 [label = "9"];

    1-> 2[label="C1"];
    2-> 3;
    3 -> Nod1; 
    4->Nod1;
    Nod1->5; 
    5->6 ;
    6-> 7;
    5->8;
    8-> 9;
    9-> 7;

}

如果您想让所有这些节点对齐,则必须将两个子组合并为一个并将节点 9 移入其中。

于 2013-01-14T20:19:33.930 回答