删除Graphviz中的线交叉;布局在jupyter和webgraphviz中不同

时间:2018-10-01 18:04:08

标签: jupyter-notebook graphviz dot

我正在寻找一种方法来删除简单的dot脚本中不可接受的跨行。在http://www.webgraphviz.com/中执行代码时不存在任何交叉,但在Jupyter笔记本中执行完全相同的代码时则没有交叉。对于如何删除Jupyter中的交叉线,即使Jupyter中的布局看起来像webgraphviz中的布局,我深表感谢。

这是dot代码:

Digraph X {
    rankdir=LR;
    {rank=same; a b}
    {rank=same; d c}
    z -> a
    a -> b
    b -> c
    c -> d
    d -> a   
}

http://www.webgraphviz.com/中,其显示如下:

enter image description here

但是,在Jupyter中,它显示如下,但带有不可接受的划线:

enter image description here

jupyter代码如下:

import graphviz
graphviz.Source('''Digraph X {
rankdir=LR;
{rank=same; a b}
{rank=same; d c}
z -> a
a -> b
b -> c
c -> d
d -> a
}''')

1 个答案:

答案 0 :(得分:0)

这花了一些试验和错误,并结合了https://graphviz.gitlab.io/_pages/doc/info/attrs.html

的线索
import graphviz
graphviz.Source('''Digraph X {
rankdir=RL;
{rank=sink; z}
{rank=same; c d}
{rank=same; a b}
z -> a
a -> b
b -> c [constraint=false]
c -> d [constraint=false]
d -> a
}''')

enter image description here