GraphViz和" Unflatten"工具布局我的图表很笨拙

时间:2016-01-09 19:22:53

标签: graphviz

所以我使用Graphviz生成相当复杂的图形。为了避免使它们太宽,我使用" unflatten"程序中包含的工具可以稍微错开节点。然而,unflatten以相当尴尬的方式排除节点。作为参考,这是我的DOT文件,我开始于:

digraph G {
    overlap=scalexy;
    graph [fontname = "Consolas",layout=dot];
    edge  [fontname = "Consolas",fontsize=11];
    node  [fontname = "Consolas", fontsize=11, style=filled, colorscheme=set39];

    Senses -> Sight;
    Senses -> Hearing;
    Senses -> Touch;
    Senses -> Taste;
    Senses -> Smell;
}

当我通过unflatten工具运行此代码时,我得到了这个:

digraph G {
    graph [fontname=Consolas,
        layout=dot,
        overlap=scalexy
    ];
    node [colorscheme=set39,
        fontname=Consolas,
        fontsize=11,
        style=filled
    ];
    edge [fontname=Consolas,
        fontsize=11
    ];
    Senses -> Sight   [minlen=1];
    Senses -> Hearing [minlen=2];
    Senses -> Touch   [minlen=3];
    Senses -> Taste   [minlen=1];
    Senses -> Smell   [minlen=2];
}

Which looks like this

然而,稍微修改此代码,如此

digraph G {
    graph [fontname=Consolas,
        layout=dot,
        overlap=scalexy
    ];
    node [colorscheme=set39,
        fontname=Consolas,
        fontsize=11,
        style=filled
    ];
    edge [fontname=Consolas,
        fontsize=11
    ];
    Senses -> Sight   [minlen=1];
    Senses -> Hearing [minlen=2];
    Senses -> Touch   [minlen=3];
    Senses -> Taste   [minlen=2];
    Senses -> Smell   [minlen=1];
}

gives me this,这更像是我想要的。现在,对于这样一个小图,编辑输出的成本是微不足道的。然而,这仅仅是一个例子,我使用的实际图表非常大,并且手动执行此操作将是不切实际的。有没有解决这个问题的方法,还是我运气不好?

0 个答案:

没有答案