Graphviz 有向图中的边方向取决于标签的存在?可能是虫子?
我注意到一个很奇怪的小图表。它似乎只存在于上述图形的某个特定配置(我可以找到)中。即:其中一条边的方向根据标签的存在而翻转。如果标签存在,则边指向错误的方向;如果标签不存在,则边指向正确的方向 以下是图表的两个版本: 如您所见,标签一出现,标题为Graphviz 有向图中的边方向取决于标签的存在?可能是虫子?,graphviz,Graphviz,我注意到一个很奇怪的小图表。它似乎只存在于上述图形的某个特定配置(我可以找到)中。即:其中一条边的方向根据标签的存在而翻转。如果标签存在,则边指向错误的方向;如果标签不存在,则边指向正确的方向 以下是图表的两个版本: 如您所见,标签一出现,标题为foobar的边上的箭头就会反转方向。定义是说4->3,所以,据我所知,头部应该在3,尾部应该从4开始。但当我添加标签时,情况正好相反。代码中只更改了label=foobar属性 我必须为图表的大小道歉。通常,我会尝试找到一个最小的示例,但在这种情况
foobar
的边上的箭头就会反转方向。定义是说4->3
,所以,据我所知,头部应该在3,尾部应该从4开始。但当我添加标签时,情况正好相反。代码中只更改了label=foobar
属性
我必须为图表的大小道歉。通常,我会尝试找到一个最小的示例,但在这种情况下,即使更改节点布局的最细微之处也会改变结果,并且无论是否存在标签,边缘都会正确显示
代码如下:
digraph G {
2;
3;
6;
red;
11;
4;
8;
brown;
1;
ne2;
12;
two;
one;
yellow;
e2;
10;
5;
green;
four;
three;
7;
9;
1 -> 2 [style=bold];
1 -> 4 [style=bold];
1 -> 5 [style=bold];
1 -> 3 [style=bold];
2 -> ne2 [style=bold];
2 -> e2 [style=bold];
4 -> 6 [style=bold];
4 -> 7 [style=bold];
6 -> 10 [style=bold];
6 -> 9 [style=bold];
6 -> 8 [style=bold];
7 -> 11 [style=bold];
7 -> 12 [style=bold];
5 -> one [style=bold];
5 -> two [style=bold];
5 -> three [style=bold];
5 -> four [style=bold];
3 -> green [style=bold];
3 -> red [style=bold];
3 -> yellow [style=bold];
3 -> brown [style=bold];
4 -> 3 [constraint=false
,style=dotted
,label=foobar
,arrowhead=odot];
ne2 -> 4 [constraint=false
,label=head
,style=dotted
,arrowhead=odot];
7 -> four [constraint=false
,label=baz
,style=dotted
,arrowhead=odot];
6 -> two [constraint=false
,label=baz
,style=dotted
,arrowhead=odot];
4 -> 5 [constraint=false
,label=baz
,style=dotted
,arrowhead=odot];
ne2 -> 2 [constraint=false
,label=tail
,style=dotted
,arrowhead=odot];
}
我当前的graphviz版本是:
dot - graphviz version 2.26.3 (20100126.1600)
我是否误解了从点文件构造这些图形的基本方式?在我看来,箭头位置受标签影响似乎是不合理的。这是不合理的。它是在2.28版中修复的,所以升级应该足够了