Graphviz 如何调整节点的外部标签
我想用一些外部标签绘制图形 我发现有一些有用的属性-Graphviz 如何调整节点的外部标签,graphviz,dot,Graphviz,Dot,我想用一些外部标签绘制图形 我发现有一些有用的属性-xlabel,taillabel,headlabel,但结果看起来仍然很奇怪 MCVE 有向图{ forcelabels=true; 节点[形状=点,样式=填充;标签=”,高度=0.2]; y3[color=black;xlabel=];x3[color=gray;xlabel=]; y2[color=black;xlabel=];x2[color=gray;xlabel=]; y1[color=black;xlabel=];x1[color=
xlabel
,taillabel
,headlabel
,但结果看起来仍然很奇怪
MCVE
有向图{
forcelabels=true;
节点[形状=点,样式=填充;标签=”,高度=0.2];
y3[color=black;xlabel=];x3[color=gray;xlabel=];
y2[color=black;xlabel=];x2[color=gray;xlabel=];
y1[color=black;xlabel=];x1[color=gray;xlabel=];
y5[color=black;xlabel=];x5[color=gray;xlabel=];
x4[颜色=灰色;xlabel=];
y3->y2[dir=none;taillabel=0.75];
y2->y1[dir=none;taillabel=0.45];
y1->y5[dir=none;taillabel=0.35];
y3->x3[dir=none];
y2->x2[dir=none];
y1->x1[dir=none];
y5->x5[dir=none];
y5->x4[dir=none];
}
看起来像
如您所见,标签和节点之间的一致性并不总是显而易见的
因此,问题是-有没有办法改变标签的位置?这可能不是你问题的答案,因为它看起来仍然不太好,需要大量的手动调整,但我还是发布了它:我花了相当长的时间摆弄,可能有一些想法对你的实际情况有帮助:
digraph
{
forcelabels = TRUE;
splines = FALSE;
// nodes
node[ shape = point, style = filled, color = gray, label = "", height = 0.2 ];
x3[ xlabel = <"x3 [0.25]"> ];
x2[ xlabel = <"x2 [0.3]"> ];
x1[ xlabel = <"x1 [0.1]"> ];
x5[ xlabel = <"x5 [0.15]"> ];
x4;
node[ color = black ];
y3, y2, y1, y5;
node[ shape = plaintext, fillcolor = white ];
y_3[ label = "y3 (2)" ];
y_2[ label = "y2 (3)" ];
y_1[ label = "y1 (2)" ];
y_5[ label = "y5 (4)" ];
// edges
edge[ dir = none ];
y3:se -> y2[ label = " 0.75" ];
y2:se -> y1[ label = " 0.45" ];
y1:se -> y5[ label = " 0.35" ];
y3 -> x3;
y2 -> x2;
y1 -> x1;
y5 -> x5;
y5 -> x4[ headlabel = <"x4 [0.2]"> ];
edge[ style = invis ];
{ rank = same; y3 -> y_3 }
{ rank = same; y2 -> y_2 }
{ rank = same; y1 -> y_1 }
{ rank = same; y5 -> y_5 }
}
有向图
{
forcelabels=TRUE;
样条线=假;
//节点
节点[形状=点,样式=填充,颜色=灰色,标签=”,高度=0.2];
x3[xlabel=];
x2[xlabel=];
x1[xlabel=];
x5[xlabel=];
x4;
节点[颜色=黑色];
y3,y2,y1,y5;
节点[形状=纯文本,填充颜色=白色];
y_3[label=“y3(2)”;
y_2[label=“y2(3)”;
y_1[label=“y1(2)”;
y_5[label=“y5(4)”;
//边缘
边[dir=none];
y3:se->y2[label=“0.75”];
y2:se->y1[label=“0.45”];
y1:se->y5[标签=“0.35”];
y3->x3;
y2->x2;
y1->x1;
y5->x5;
y5->x4[海岬标志=];
边[style=invi];
{rank=same;y3->y_3}
{rank=same;y2->y_2}
{rank=same;y1->y_1}
{rank=same;y5->y_5}
}
屈服
你能告诉我们你想要什么吗-你的要求/抱怨不是很具体…@vaettchen我只是想买一些类似于哇,不错的东西。谢谢,在我接受你的回答之前,让我想一想
digraph
{
forcelabels = TRUE;
splines = FALSE;
// nodes
node[ shape = point, style = filled, color = gray, label = "", height = 0.2 ];
x3[ xlabel = <"x3 [0.25]"> ];
x2[ xlabel = <"x2 [0.3]"> ];
x1[ xlabel = <"x1 [0.1]"> ];
x5[ xlabel = <"x5 [0.15]"> ];
x4;
node[ color = black ];
y3, y2, y1, y5;
node[ shape = plaintext, fillcolor = white ];
y_3[ label = "y3 (2)" ];
y_2[ label = "y2 (3)" ];
y_1[ label = "y1 (2)" ];
y_5[ label = "y5 (4)" ];
// edges
edge[ dir = none ];
y3:se -> y2[ label = " 0.75" ];
y2:se -> y1[ label = " 0.45" ];
y1:se -> y5[ label = " 0.35" ];
y3 -> x3;
y2 -> x2;
y1 -> x1;
y5 -> x5;
y5 -> x4[ headlabel = <"x4 [0.2]"> ];
edge[ style = invis ];
{ rank = same; y3 -> y_3 }
{ rank = same; y2 -> y_2 }
{ rank = same; y1 -> y_1 }
{ rank = same; y5 -> y_5 }
}