2013-08-06 121 views
7

我正在使用graphviz绘制有向图。现在的事情是,虽然我能够正确生成图形,但图形水平设计不符合我的要求。那么,怎样才能我画有向图的垂直 请帮我这个graphviz垂直绘制图

+3

什么是您的[rankdir](http://www.graphviz.org/doc/info/attrs.html#d:rankdir)设置? –

+0

@Anders Lindahl我还没有定义rankdir属性。请向我建议我需要执行哪些修改 – user2060673

+2

显示图形描述的示例以及用于渲染它的命令。 –

回答

10

考虑下面的脚本,我已经从评论的问题提取和编辑,使其通过去除一些多余的分号运行成功:

digraph G { 
    graph [ bgcolor=lightgray, resolution=128, fontname=Arial, fontcolor=blue, fontsize=10 ]; 
    node [ fontname=Arial, fontcolor=blue, fontsize=10]; 
    edge [ fontname=Helvetica, fontcolor=red, fontsize=10 ]; 
    "arunachaltourism.com/" -> "webcomindia.biz/profile.php"; 
    "arunachaltourism.com/#" -> "arunachaltourism.com/"; 
    "arunachaltourism.com/aalo.php" -> "arunachaltourism.com/"; 
} 

我调用的脚本x.dot。现在,运行:

dot x.dot -Tjpg -o x.jpg 

...生产:

enter image description here

...因为默认为rankdir=BT。插入:

rankdir=LR 

...作为脚本的第二行,并通过dot再次运行脚本给:

enter image description here

因此,我不明白为什么图表可能已经在第一次水平绘制,但是您将能够看到如何使用rankdir可以使图形水平或垂直出来。

+0

这正是我一直在寻找 – curiosa

7

(!老问题,但为什么不)

可以作为很好地运行:

dot -Grankdir=LR -Tpng myfile.dot -ogeneratedpng.png 
0

您可以使用rankdir作为点文件的属性:

digraph G { 
    rankdir=LR; //left to right 
    //B bottom T top L left R right 
     start->a1; 
     a1 -> b3; 
     b2 -> a3; 
     a3 -> a0; 
     a3 -> end; 
     b3 -> end; 
    } 

的脚本生成下图从左至右依次为:

你可以试试这个脚本online enter image description here