我有一个图(组织机构图)如何:
digraph G {
nodesep=0.3;
ranksep=0.2;
margin=0.1;
node [shape=rectangle];
edge [arrowsize=0.8];
1 -> 2;
1 -> 3;
1 -> 4;
1 -> 5;
1 -> 6;
1 -> 7;
1 -> 8;
1 -> 9;
1 -> 10;
}
我有一个70人的组织系统,它是不可能在A4打印。 我将如何把节点2条或3线?
我有一个图(组织机构图)如何:
digraph G {
nodesep=0.3;
ranksep=0.2;
margin=0.1;
node [shape=rectangle];
edge [arrowsize=0.8];
1 -> 2;
1 -> 3;
1 -> 4;
1 -> 5;
1 -> 6;
1 -> 7;
1 -> 8;
1 -> 9;
1 -> 10;
}
我有一个70人的组织系统,它是不可能在A4打印。 我将如何把节点2条或3线?
这里有两种可能性(见这个问题 ):
unflatten
工具 的Graphviz提供了一个名为工具unflatten
。 如果预处理使用此命令行的图:
unflatten -l 3 wide.gv | dot -Tpng -o wide.png
输出图像将类似于下面的图片。 这略少宽,你可以与玩-l
选项。
您可以使用标准技术,使像你希望它自动一出奠定图表看更多:
rank=same
于组节点中的子图 ,并确定哪些节点应该在同一行上 constraint=false
对于一些边缘影响布局 group
节点的属性,以鼓励直边。 输出图形不一定会更漂亮...
这里有一个例子,你也许可以做的更好。 此外,如果是动态生成的图形这可能不是非常实用。
digraph G {
nodesep=0.3;
ranksep=0.2;
margin=0.1;
node [shape=rectangle];
edge [arrowsize=0.8];
edge[style=invis];
node[group=a];
2->5->8;
node[group=b];
1->3->6->9;
node[group=c];
4->7->10;
edge[style=solid];
1 -> 2;
1 -> 3;
1 -> 4;
edge[constraint=false];
1 -> 5;
1 -> 6;
1 -> 7;
1 -> 8;
1 -> 9;
1 -> 10;
}