Graphviz在子图

时间:2018-06-01 09:36:15

标签: graphviz

我想创建一个graphviz图,其中包含两个包含节点的子图,这些节点链接到另一个图中的其他节点。 有些节点需要彼此水平对齐。

我发现了newrank=true命令,我用它来实现我描述的目标。 出于某种原因,我发现这种行为非常奇怪: 如果我在一个群集中创建两个节点,并且箭头从一个群集到另一个群集,然后另一个箭头指向另一个群集中的第三个节点,则graphviz将显示两个箭头。

digraph g{
    newrank=true;

    subgraph cluster_d{
        A -> B
    }
    subgraph cluster_v{
        C
    }
    {rank=same; A, B, C }
    B -> C    
}

result of above code

我知道,我可以简单地使用rankdir=LR并删除rank=same,但是在一个包含更多节点和子图的较大图表中,我似乎迟早会遇到这个问题。 我刚刚创建了上面的人工示例,以缩小问题范围。

以下是使用中的代码: https://hackmd.io/s/B1NXAiTk7#

为什么Graphviz会在子图之间创建两个箭头,我该如何防止这种情况?

相关:Why is graphviz drawing two arrows, and using a weird order? 但是没有令人满意的答案,我认为我把问题缩小了。

0 个答案:

没有答案