以graphviz点表示法对节点的第二层进行重新排序 [英] Re-ordering 2nd tier of nodes in graphviz dot notation

查看:70
本文介绍了以graphviz点表示法对节点的第二层进行重新排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试重新排列我的第二层,以便它们按编号顺序排列.在这里检查我的graphviz点表示法->

I am trying to re-order my 2nd tier so they are in numbered order. CHeck out my graphviz dot notation here->

graph G {
node [shape=none,image="switch.png"];
graph [hostidtype="hostname", version="1:0", date="07/09/2014"];
splines=line;
rank=LR;
nodesep=1;
ranksep=1;
"tier2_0":"swp3" -- "tier1_0":"swp3" [
fontsize = 10
tailport=sw headport=nw
taillabel =<<table border="0" cellborder="0" bgcolor="#a8cc8b"><tr><td align="center"><font color="black" face="arial">swp1</font></td></tr></table>>
headlabel =<<table border="0" cellborder="0" bgcolor="#a8cc8b"><tr><td align="center"><font color="black" face="arial">swp3</font></td></tr></table>>
];  
"tier2_0":"swp4" -- "tier1_2":"swp4" [
fontsize = 10
tailport=se headport=nw
taillabel =<<table border="0" cellborder="0" bgcolor="#a8cc8b"><tr><td align="center"><font color="black" face="arial">swp1</font></td></tr></table>>
headlabel =<<table border="0" cellborder="0" bgcolor="#a8cc8b"><tr><td align="center"><font color="black" face="arial">swp3</font></td></tr></table>>
];  
"tier2_1":"swp3" -- "tier1_1":"swp3" [
fontsize = 10
tailport=sw headport=ne
taillabel =<<table border="0" cellborder="0" bgcolor="#a8cc8b"><tr><td align="center"><font color="black" face="arial">swp1</font></td></tr></table>>
headlabel =<<table border="0" cellborder="0" bgcolor="#a8cc8b"><tr><td align="center"><font color="black" face="arial">swp3</font></td></tr></table>>
];  
"tier2_1":"swp4" -- "tier1_3":"swp4" [
fontsize = 10
tailport=se headport=ne
taillabel =<<table border="0" cellborder="0" bgcolor="#a8cc8b"><tr><td align="center"><font color="black" face="arial">swp1</font></td></tr></table>>
headlabel =<<table border="0" cellborder="0" bgcolor="#a8cc8b"><tr><td align="center"><font color="black" face="arial">swp3</font></td></tr></table>>
];  
"tier2_2":"swp4" -- "tier1_0":"swp4" [
fontsize = 10
tailport=sw headport=ne
taillabel =<<table border="0" cellborder="0" bgcolor="#a8cc8b"><tr><td align="center"><font color="black" face="arial">swp1</font></td></tr></table>>
headlabel =<<table border="0" cellborder="0" bgcolor="#a8cc8b"><tr><td align="center"><font color="black" face="arial">swp3</font></td></tr></table>>
];  
"tier2_2":"swp3" -- "tier1_2":"swp3" [
fontsize = 10
tailport=se headport=ne
taillabel =<<table border="0" cellborder="0" bgcolor="#a8cc8b"><tr><td align="center"><font color="black" face="arial">swp1</font></td></tr></table>>
headlabel =<<table border="0" cellborder="0" bgcolor="#a8cc8b"><tr><td align="center"><font color="black" face="arial">swp3</font></td></tr></table>>
]; 
"tier2_3":"swp4" -- "tier1_1":"swp4" [
fontsize = 10
tailport=sw headport=nw
taillabel =<<table border="0" cellborder="0" bgcolor="#a8cc8b"><tr><td align="center"><font color="black" face="arial">swp1</font></td></tr></table>>
headlabel =<<table border="0" cellborder="0" bgcolor="#a8cc8b"><tr><td align="center"><font color="black" face="arial">swp3</font></td></tr></table>>
];  
"tier2_3":"swp3" -- "tier1_3":"swp3" [
fontsize = 10
tailport=se headport=nw
taillabel =<<table border="0" cellborder="0" bgcolor="#a8cc8b"><tr><td align="center"><font color="black" face="arial">swp1</font></td></tr></table>>
headlabel =<<table border="0" cellborder="0" bgcolor="#a8cc8b"><tr><td align="center"><font color="black" face="arial">swp3</font></td></tr></table>>
];  
"tier1_0":"swp1" -- "leaf0":"swp1" [
fontsize = 10
tailport=sw headport=nw
taillabel =<<table border="0" cellborder="0" bgcolor="#a8cc8b"><tr><td align="center"><font color="black" face="arial">swp1</font></td></tr></table>>
headlabel =<<table border="0" cellborder="0" bgcolor="#a8cc8b"><tr><td align="center"><font color="black" face="arial">swp3</font></td></tr></table>>
];
"tier1_1":"swp2" -- "leaf0":"swp2" [
fontsize = 10
tailport=sw headport=ne
taillabel =<<table border="0" cellborder="0" bgcolor="#a8cc8b"><tr><td align="center"><font color="black" face="arial">swp2</font></td></tr></table>>
headlabel =<<table border="0" cellborder="0" bgcolor="#a8cc8b"><tr><td align="center"><font color="black" face="arial">swp2</font></td></tr></table>>
];
"tier1_0":"swp2" -- "leaf1":"swp2" [
fontsize = 10
tailport=se headport=nw
taillabel =<<table border="0" cellborder="0" bgcolor="#a8cc8b"><tr><td align="center"><font color="black" face="arial">swp2</font></td></tr></table>>
headlabel =<<table border="0" cellborder="0" bgcolor="#a8cc8b"><tr><td align="center"><font color="black" face="arial">swp2</font></td></tr></table>>
];
"tier1_1":"swp1" -- "leaf1":"swp1" [
fontsize = 10
tailport=se headport=ne
taillabel =<<table border="0" cellborder="0" bgcolor="#a8cc8b"><tr><td align="center"><font color="black" face="arial">swp2</font></td></tr></table>>
headlabel =<<table border="0" cellborder="0" bgcolor="#a8cc8b"><tr><td align="center"><font color="black" face="arial">swp2</font></td></tr></table>>
];
"tier1_2":"swp1" -- "leaf2":"swp1" [
fontsize = 10
tailport=sw headport=nw
taillabel =<<table border="0" cellborder="0" bgcolor="#a8cc8b"><tr><td align="center"><font color="black" face="arial">swp1</font></td></tr></table>>
headlabel =<<table border="0" cellborder="0" bgcolor="#a8cc8b"><tr><td align="center"><font color="black" face="arial">swp3</font></td></tr></table>>
];
"tier1_3":"swp2" -- "leaf2":"swp2" [
fontsize = 10
tailport=sw headport=ne
taillabel =<<table border="0" cellborder="0" bgcolor="#a8cc8b"><tr><td align="center"><font color="black" face="arial">swp2</font></td></tr></table>>
headlabel =<<table border="0" cellborder="0" bgcolor="#a8cc8b"><tr><td align="center"><font color="black" face="arial">swp2</font></td></tr></table>>
];
"tier1_2":"swp2" -- "leaf3":"swp2" [
fontsize = 10
tailport=se headport=nw
taillabel =<<table border="0" cellborder="0" bgcolor="#a8cc8b"><tr><td align="center"><font color="black" face="arial">swp2</font></td></tr></table>>
headlabel =<<table border="0" cellborder="0" bgcolor="#a8cc8b"><tr><td align="center"><font color="black" face="arial">swp2</font></td></tr></table>>
];
"tier1_3":"swp1" -- "leaf3":"swp1" [
fontsize = 10
tailport=se headport=ne
taillabel =<<table border="0" cellborder="0" bgcolor="#a8cc8b"><tr><td align="center"><font color="black" face="arial">swp2</font></td></tr></table>>
headlabel =<<table border="0" cellborder="0" bgcolor="#a8cc8b"><tr><td align="center"><font color="black" face="arial">swp2</font></td></tr></table>>
];

}

输出结果如下: http://i.imgur.com/g9j2eJ8.png

请注意第二层和第一层如何乱序,它喜欢重新排序,但我认为将其按顺序排序更有意义...

Notice how the 2nd tier and 1st tier are out of order, it liked re-ordered it but I think it will make more sense to have it in order...

推荐答案

一些控制节点布局的有用技术包括:

Some useful techniques to control the layout of nodes include:

  • invisible edges
  • rank constraints
  • edges with constraint=false
  • invisible nodes

组合时最有用.

这篇关于以graphviz点表示法对节点的第二层进行重新排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆