我有以下graphviz输入:
digraph para
{
node [shape=record];
rankdir=BT;
0 [label=<0<SUB>0,0</SUB>>];
1 [label=<1<SUB>1,1</SUB>>];
2 [label=<2<SUB>0,2</SUB>>];
3 [label=<2<SUB>1,1</SUB>>];
4 [label=<2<SUB>2,0</SUB>>];
5 [label=<3<SUB>1,3</SUB>>];
6 [label=<3<SUB>2,2</SUB>>];
7 [label=<3<SUB>3,1</SUB>>];
8 [label=<4<SUB>0,4</SUB>>];
9 [label=<4<SUB>1,3</SUB>>];
10 [label=<4<SUB>2,2</SUB>>];
11 [label=<4<SUB>3,1</SUB>>];
12 [label=<4<SUB>4,0</SUB>>];
13 [label=<5<SUB>1,5</SUB>>];
14 [label=<5<SUB>2,4</SUB>>];
15 [label=<5<SUB>3,3</SUB>>];
16 [label=<5<SUB>4,2</SUB>>];
17 [label=<5<SUB>5,1</SUB>>];
18 [label=<6<SUB>0,6</SUB>>];
19 [label=<6<SUB>1,5</SUB>>];
20 [label=<6<SUB>2,4</SUB>>];
21 [label=<6<SUB>3,3</SUB>>];
22 [label=<6<SUB>4,2</SUB>>];
23 [label=<6<SUB>5,1</SUB>>];
24 [label=<6<SUB>6,0</SUB>>];
25 [label=<7<SUB>1,7</SUB>>];
26 [label=<7<SUB>2,6</SUB>>];
27 [label=<7<SUB>3,5</SUB>>];
28 [label=<7<SUB>4,4</SUB>>];
29 [label=<7<SUB>5,3</SUB>>];
30 [label=<7<SUB>6,2</SUB>>];
31 [label=<7<SUB>7,1</SUB>>];
32 [label=<8<SUB>0,8</SUB>>];
33 [label=<8<SUB>1,7</SUB>>];
34 [label=<8<SUB>2,6</SUB>>];
35 [label=<8<SUB>3,5</SUB>>];
36 [label=<8<SUB>4,4</SUB>>];
37 [label=<8<SUB>5,3</SUB>>];
38 [label=<8<SUB>6,2</SUB>>];
39 [label=<8<SUB>7,1</SUB>>];
40 [label=<10<SUB>1,9</SUB>>];
41 [label=<7<SUB>7,1</SUB>>];
42 [label=<8<SUB>8,0</SUB>>];
43 [label=<5<SUB>4,1</SUB>>];
44 [label=<8<SUB>3,6</SUB>>];
45 [label=<8<SUB>5,4</SUB>>];
46 [label=<8<SUB>7,2</SUB>>];
47 [label=<1<SUB>1,1</SUB>>];
48 [label=<2<SUB>2,0</SUB>>];
49 [label=<3<SUB>1,3</SUB>>];
50 [label=<3<SUB>2,2</SUB>>];
51 [label=<3<SUB>3,1</SUB>>];
52 [label=<4<SUB>4,0</SUB>>];
53 [label=<6<SUB>1,5</SUB>>];
54 [label=<6<SUB>2,4</SUB>>];
55 [label=<7<SUB>3,5</SUB>>];
56 [label=<7<SUB>6,2</SUB>>];
57 [label=<7<SUB>7,1</SUB>>];
58 [label=<8<SUB>0,8</SUB>>];
59 [label=<8<SUB>3,5</SUB>>];
60 [label=<9<SUB>4,6</SUB>>];
61 [label=<1<SUB>0,1</SUB>>];
62 [label=<4<SUB>1,4</SUB>>];
63 [label=<5<SUB>2,3</SUB>>];
64 [label=<6<SUB>2,5</SUB>>];
65 [label=<6<SUB>6,1</SUB>>];
66 [label=<7<SUB>2,5</SUB>>];
67 [label=<7<SUB>3,4</SUB>>];
68 [label=<7<SUB>6,1</SUB>>];
69 [label=<7<SUB>7,0</SUB>>];
70 [label=<8<SUB>3,6</SUB>>];
71 [label=<8<SUB>4,5</SUB>>];
72 [label=<9<SUB>3,6</SUB>>];
73 [label=<5<SUB>1,5</SUB>>];
74 [label=<5<SUB>3,3</SUB>>];
75 [label=<6<SUB>4,2</SUB>>];
76 [label=<6<SUB>5,1</SUB>>];
77 [label=<7<SUB>4,4</SUB>>];
78 [label=<8<SUB>0,8</SUB>>];
{rank=same 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40}
{rank=same 41 42}
{rank=same 43 44 45 46}
{rank=same 47 48 49 50 51 52 53 54 55 56 57 58 59 60}
{rank=same 61 62 63 64 65 66 67 68 69 70 71 72}
{rank=same 73 74 75 76 77 78}
4->5;
10->13;
24->29;
17->22;
12->15;
25->20;
39->46;
30->76;
36->59;
4->47;
27->58;
27->44;
29->75;
37->56;
30->71;
18->43;
7->50;
35->78;
8->49;
38->57;
21->54;
20->53;
9->50;
6->49;
4->61;
14->43;
24->41;
29->70;
10->51;
20->73;
15->52;
31->69;
31->69;
35->70;
22->74;
16->64;
23->67;
29->45;
33->67;
30->68;
24->65;
12->63;
5->48;
40->60;
9->62;
25->54;
4->49;
40->72;
37->60;
22->55;
18->63;
24->76;
34->59;
3->48;
0->47;
19->54;
32->55;
27->67;
37->72;
31->46;
22->66;
5->50;
32->66;
2->49;
29->77;
0->61;
26->55;
18->53;
35->77;
15->54;
11->52;
28->59;
1->48;
29->56;
37->69;
31->42;
18->73;
30->57;
20->74;
25->58;
25->44;
8->43;
18->64;
4->51;
13->52;
34->71;
27->75;
27->78;
28->76;
}
我尝试按以下方式对节点进行排名:
{rank=same 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40}
{rank=same 41 42}
{rank=same 43 44 45 46}
{rank=same 47 48 49 50 51 52 53 54 55 56 57 58 59 60}
{rank=same 61 62 63 64 65 66 67 68 69 70 71 72}
{rank=same 73 74 75 76 77 78}
但是,在我看来,只有第一级分配正确(对于节点0,1,2,...,40)。您能帮我看看其他组排名的问题吗?他们为什么不彼此分开?
答案 0 :(得分:0)
rank = same只能对列在一起的那些节点强制相同的等级,不能保证两个rank = same获得不同的等级。 而且似乎您图中的层次结构与选定的子图不太匹配 尝试用群集和/或节点着色替换您的排名,以分析问题所在。例如:
subgraph cluster1 {0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40}
subgraph cluster2 {41 42}
subgraph cluster3 {43 44 45 46}
subgraph cluster4 {47 48 49 50 51 52 53 54 55 56 57 58 59 60}
subgraph cluster5 {61 62 63 64 65 66 67 68 69 70 71 72}
subgraph cluster6 {73 74 75 76 77 78}
或
{0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40}
node[style=filled]
{node[fillcolor=red] 41 42}
{node[fillcolor=blue] 43 44 45 46}
{node[fillcolor=salmon] 47 48 49 50 51 52 53 54 55 56 57 58 59 60}
{node[fillcolor=pink] 61 62 63 64 65 66 67 68 69 70 71 72}
{node[fillcolor=green] 73 74 75 76 77 78}