dot - 如何使用 GraphViz DOT 创建循环图?

标签 dot

我试图用这个 DOT 输入文件创建一个简单的循环图:

digraph {
    rankdir=LR;

    node0 [label = "0",  group="bottom"]; 
    node1 [label = "1", group="bottom"]; 
    node2 [label = "2", group="top"]; 
    node3 [label = "3", group="top"]; 

    node0 -> node1; 
    node1 -> node0; 

    node2 -> node3; 
    node3 -> node2; 
}

到目前为止一切顺利,结果是:

First try at a cyclic graph

但现在我想将以下关系添加到节点中:
node0 -> node3; 
node3 -> node0; 

node2 -> node1; 
node1 -> node2; 

令人惊讶的是,这导致:

Unsatisfactory horizontal node placement

如果我删除 rankdir=LR; ,我得到一个垂直图。我需要一个简单的循环图,因为空间中的节点放置与它们相关的内容有关。所以新的连接应该是垂直的,节点应该形成一个正方形。这可以使用 DOT 实现吗?

最佳答案

可能可以使用 DOT 来实现;我已经好几年没玩了,所以我有点生疏了。但是,如果您使用 dot 的姊妹程序 circo,您的数据将呈现为一个整齐的菱形,它应该是正常 GraphViz 安装的一部分。

关于dot - 如何使用 GraphViz DOT 创建循环图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27249080/

相关文章:

linux - 如何使用点在 GraphViz 的标签中使用\"?

graphviz点: how to insert arrows from a node to center of an arrow

graphviz - 如何用DOT语言绘制没有重叠边的图(平面图)或节点

plot - 如何使用Graphviz绘制箭头指向的节点?

Graphviz,改变边缘的大小

graphviz - 如何在Graphviz中允许重叠的边缘?

graphviz - 有没有办法使用 graphviz 中的 fdp 布局在同一集群中的节点之间与不同集群中的节点之间拥有不同的边缘样条?

Graphviz 和 curl /波浪线

graphviz - 如何在graphviz中隐藏节点边界?

python - 如何在 Python 中创建 DOT 文件?