Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Graphviz 有向图中的边方向取决于标签的存在?可能是虫子?_Graphviz - Fatal编程技术网

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版中修复的,所以升级应该足够了