使用Graphviz

时间:2018-06-07 12:29:18

标签: visualization graphviz dot subgraph neato

我希望用Graphviz neato引擎生成两个子图。一个子图将包含彼此连接的节点,另一个子图将包含未连接到任何其他节点的单个节点。我在下面的Graphviz网站上调整了this示例:

digraph G {
    node [shape = circle];
    edge [arrowhead = normal, label="", color="#919191"];

    subgraph cluster_0 {
        color=lightgrey;
        label="Singletons";
        a0;
        a1;
        a2;
        a3;
    }

    subgraph cluster_1 {
        color=lightgrey;
        label="Non-singletons";
        b0 -> b1;
        b2 -> b3;
    }
}

使用neato引擎处理时,会给出以下图表,其中每个子图中的节点未聚集在一起。

neato -Tpng test.dot > test_neato.png

enter image description here

使用dot引擎进行处理可以得到正确的结果,但我需要生成具有大量节点的网络,neato引擎更适合这种格式。

dot -Tpng test.dot > test_dot.png

enter image description here

我想要边框,标题和聚类(如上面使用dot的示例所示),但使用neato引擎来定位节点。有没有办法在Graphviz中执行此操作?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

根据this主题中的讨论,fdp引擎似乎可以实现这一点。

以下命令生成一个令人满意的数字。

fdp -Tpng test.dot > test_dot.png

enter image description here