有人可以帮我弄清楚为什么下面的图形永远不会生成点?我认为这个问题与头部和尾部有关。如果我把它们拿出去,它就可以工作,但理想情况下我希望那些因为风格原因而留下来。
digraph G {
nodesep = 0.5;
0 [width=0.75, height=0.75, fontsize=20];
1 [width=0.75, height=0.75, fontsize=20, shape=square];
2 [width=0.75, height=0.75, fontsize=20];
3 [width=0.75, height=0.75, fontsize=20];
4 [width=0.75, height=0.75, fontsize=20];
5 [width=0.75, height=0.75, fontsize=20, shape=square];
6 [width=0.75, height=0.75, fontsize=20];
7 [width=0.75, height=0.75, fontsize=20, shape=square];
8 [width=0.75, height=0.75, fontsize=20, shape=square];
9 [width=0.75, height=0.75, fontsize=20, shape=square];
10 [width=0.75, height=0.75, fontsize=20, shape=square];
11 [width=0.75, height=0.75, fontsize=20, shape=square];
12 [width=0.75, height=0.75, fontsize=20];
subgraph directed{
rankdir= LR;rank= max;
0->1->2->3->4->5->6->7->8->9->10->11->12;
}
subgraph undirected{
rankdir= LR;rank= min;edge[tailport=n,headport=n];
0->1[dir=none, color=red];
0->2[dir=none, color=red];
1->9[dir=none, color=red];
2->3[dir=none, color=red];
2->8[dir=none, color=red];
3->4[dir=none, color=red];
4->8[dir=none, color=red];
7->9[dir=none, color=red];
8->9[dir=none, color=red];
9->10[dir=none, color=red];
9->11[dir=none, color=red];
10->11[dir=none, color=red];
}
}
答案 0 :(得分:0)
很难知道你在追求什么。但是,图表存在一些问题:
rankdir
是图形属性,无法应用于子图 修改强>
跟进你的评论,这是一个没有任何子图的版本。但是,你不喜欢边缘的路由,这是难以控制的。
我们的想法是将节点对齐成一条直线,然后用constraint=false
添加其他边,以免影响节点的排名。
digraph G {
nodesep = 0.5;
node[width=0.75, height=0.75, fontsize=20];
rankdir=LR;
0;
1 [shape=square];
2;
3;
4;
5 [shape=square];
6;
7 [shape=square];
8 [shape=square];
9 [shape=square];
10 [shape=square];
11 [shape=square];
12;
0->1->2->3->4->5->6->7->8->9->10->11->12;
edge[constraint=false, tailport=n,headport=n,dir=none, color=red];
0->1;
0->2;
1->9;
2->3;
2->8;
3->4;
4->8;
7->9;
8->9;
9->10;
9->11;
10->11;
}
答案 1 :(得分:0)
不花费大量时间挖掘资源,很难说出原因,但你可以将第二个子图中的麻烦元素移出来解决问题:
从无向子图中删除1-> 9和2-> 8,并将其添加到其下方:
digraph G {
nodesep = 0.5;
0 [width=0.75, height=0.75, fontsize=20];
1 [width=0.75, height=0.75, fontsize=20, shape=square];
2 [width=0.75, height=0.75, fontsize=20];
3 [width=0.75, height=0.75, fontsize=20];
4 [width=0.75, height=0.75, fontsize=20];
5 [width=0.75, height=0.75, fontsize=20, shape=square];
6 [width=0.75, height=0.75, fontsize=20];
7 [width=0.75, height=0.75, fontsize=20, shape=square];
8 [width=0.75, height=0.75, fontsize=20, shape=square];
9 [width=0.75, height=0.75, fontsize=20, shape=square];
10 [width=0.75, height=0.75, fontsize=20, shape=square];
11 [width=0.75, height=0.75, fontsize=20, shape=square];
12 [width=0.75, height=0.75, fontsize=20];
subgraph directed{
rankdir= LR;rank= max;
0->1->2->3->4->5->6->7->8->9->10->11->12;
}
subgraph undirected{
rankdir= LR;rank= min;edge[tailport=n,headport=n];
0->1[dir=none, color=red];
0->2[dir=none, color=red];
2->3[dir=none, color=red];
3->4[dir=none, color=red];
4->8[dir=none, color=red];
7->9[dir=none, color=red];
8->9[dir=none, color=red];
9->10[dir=none, color=red];
9->11[dir=none, color=red];
10->11[dir=none, color=red];
}
1->9[dir="none", color="red", headport="n"];
2->8[dir="none", color="red", headport="n"];
}