【问题标题】:How to make nodes in the same rank wider in dot?如何使相同等级的节点的点更宽?
【发布时间】:2021-05-21 13:11:29
【问题描述】:

以下dot

由以下脚本创建:

digraph test_family_tree {
    node [shape=box];
    edge [dir=none];

    {rank=same; a0->m0->b0;}
    a0 [label="Dedushka"];
        b0 [label="Babushka"];
    m0 [shape=point];
    {rank=same; node[shape=point];
        h1_0->h1_1->h1_2;
    }
    m0->h1_1;
    h1_0->u0;
    h1_2->v0;
    {rank=same;
        u0->m1_0->u1;
        u1->v0[style="invis"];
        v0->m1_1->v1;
    }
    u0 [label="Norðri"];
    u1 [label="Suðri"];
    v0 [label="Austri"];
    v1 [label="Vestri"];
    
    m1_0 [shape=point];
    m1_1 [shape=point];
    {rank=same; node[shape=point];
        h2_0->h2_1->h2_2->h2_3->h2_4;
        h2_4->h2_5[style="invis"];
        h2_5->h2_6->h2_7->h2_8->h2_9;
    }
    m1_0->h2_2;
    m1_1->h2_7;
    {rank=same;
        z0->z1->z3->z4->z4->z5->z5->z6->z8->z9[style="invis"];
    }
    h2_0->z0;
    h2_1->z1;
    h2_3->z3;
    h2_4->z4;
    h2_5->z5;
    h2_6->z6;
    h2_8->z8;
    h2_9->z9;
    z0 [label="Grumpy"];        
    z1 [label="Dopey"];
    z3 [label="Doc"];
    z4 [label="Bashful"];
    z5 [label="Happy"];
    z6 [label="Sleepy"];
    z8 [label="Sneezy"];
    z9 [label="Sexy"];
}

我的问题:是否可以修改脚本以使 第二级 节点的位置 更宽(填满页面的更多宽度),理想情况下居中在他们各自的下面的4个“子节点”上?我可以使边缘之间的所有角度都变成矩形吗?

【问题讨论】:

    标签: layout graph graphviz dot


    【解决方案1】:

    一个不可见的节点在 u1 和 v0 之间放置了更多的空间。将 weight 值添加到边缘会导致它们变成垂直的。 Group 属性可能做了同样的事情。

    digraph test_family_tree {
        node [shape=box];
        edge [dir=none];
    
        {rank=same; a0->m0->b0;}
        a0 [label="Dedushka"];
            b0 [label="Babushka"];
        m0 [shape=point];
        {rank=same; node[shape=point];
            h1_0->h1_1->h1_2;
        }
         
        {rank=same;
            u0->m1_0->u1;
            u1->Z0->v0[style="invis"];
            v0->m1_1->v1;
            Z0[style=invis]
        }
        u0 [label="Norðri"];
        u1 [label="Suðri"];
        v0 [label="Austri"];
        v1 [label="Vestri"];
        
        m1_0 [shape=point];
        m1_1 [shape=point];
        {rank=same; node[shape=point];
            h2_0->h2_1->h2_2->h2_3->h2_4;
            h2_4->h2_5[style="invis"];
            h2_5->h2_6->h2_7->h2_8->h2_9;
        }
        {rank=same;
            z0->z1->z3->z4->z4->z5->z5->z6->z8->z9[style="invis"];
        }
        z0 [label="Grumpy"];        
        z1 [label="Dopey"];
        z3 [label="Doc"];
        z4 [label="Bashful"];
        z5 [label="Happy"];
        z6 [label="Sleepy"];
        z8 [label="Sneezy"];
        z9 [label="Sexy"];
    
        edge[weight=10]
        m1_0->h2_2;
        m0->h1_1;
        m1_1->h2_7;
    
        h1_0->u0;
        h1_2->v0;
    
        h2_0->z0;
        h2_1->z1;
        h2_3->z3;
        h2_4->z4;
        h2_5->z5;
        h2_6->z6;
        h2_8->z8;
        h2_9->z9;
    }
    

    捐赠:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-19
      • 2012-06-23
      • 1970-01-01
      • 1970-01-01
      • 2016-12-11
      • 1970-01-01
      • 2015-05-03
      相关资源
      最近更新 更多