力边方向GraphViz

时间:2018-08-30 13:02:31

标签: graph-theory graphviz

我想画一个这样的图。 enter image description here

但是我唯一可以绘制的图是: enter image description here

我想在文字,速度和视觉效果之间更改节点东侧的边缘位置。

我使用的代码:

digraph {
graph [rankdir = LR]
ranksep=3;
nodesep=0.2;

subgraph cluster0{
     style=invis;
     node [style=invis]
     t0;t1
     edge[style=invis];
     t0->t1
}
node [shape=box]
x1;x2;x3;x4;x5;x6;x7;x8;x9
node [shape=oval]
visual;textual;speed
{
    t0->x1->x2->x3->x4->x5->x6->x7->x8->x9[style=invis]
    rank=same
    t0,x1,x2,x3,x4,x5,x6,x7,x8,x9
}
{
    t1->visual->textual->speed[style=invis]
    rank=same
    t1,visual,textual,speed
}
visual->x1[style=dashed label=0.77]
visual->x2[label=0.42]
visual->x3[label=0.58]
textual->x4[style=dashed label=0.85]
textual->x5[label=0.86]
textual->x6[label=0.84]
speed->x7[style=dashed label=0.57]
speed->x8[label=0.72]
speed->x9[label=0.67]
textual->visual[dir=both constraint=false label=0.46]
speed->visual[dir=both constraint=false label=0.47]
speed->textual[dir=both constraint=false label=0.28]

}

如何强制边缘的方向?

1 个答案:

答案 0 :(得分:0)

通过使用headport和tailport属性可以获得首选结果。

textual->visual[dir=both constraint=false label=0.46 headport=se tailport=ne concentrate = true]
speed->visual[dir=both constraint=false label=0.47 headport=se tailport=ne]
speed->textual[dir=both constraint=false label=0.28 headport=se tailport=ne]

enter image description here

关于将speed-> visual边缘移到屏幕的右侧,似乎效果不佳。我能想到的最快的解决方法是在东侧制作一个带有0.47标签的不可见节点,并从speed->“ invisible node”-> text

连接两条边