如何使相同级别的节点在点中变宽?
How to make nodes in the same rank wider in dot?
以下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 个“子节点”上?我可以将边之间的所有角度设为矩形吗?
一个不可见的节点在 u1 和 v0 之间放置了更多 space。向边缘添加 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;
}
给予:
以下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 个“子节点”上?我可以将边之间的所有角度设为矩形吗?
一个不可见的节点在 u1 和 v0 之间放置了更多 space。向边缘添加 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;
}
给予: