2012-03-23 49 views
2

如何创建下面的图表与graphviz的C语言库:Graphviz的节点排名编程

digraph G { 
    {rank=same; n1, n2} 
    n1 -> n2 -> n3; 
} 

下面的线条都清晰:

g = agopen("G", AGFLAG_DIRECTED); 
agnode(g, "n1"); 
agnode(g, "n2"); 
agnode(g, "n3"); 
agedge(g, "n1", "n2"); 
agedge(g, "n2", "n3"); 

如何排名n1和n2?

回答

3

我找到了解决方案。大括号给了我提示。

{rank=same; n1, n2} 

它必须是一个子图。所以下面的几行就是这样做的:

Agraph_t *sub = agsubg(g, ""); 
agsafeset(sub, "rank", "same", "");