我正在使用graphviz(点)来生成时间扩展图,以便在我的硕士论文中使用。但是,我的绘图结果如下图:
正如你所看到的,第三行向右移动了一点。我希望所有的线都在同一条水平线上。此外,我希望每行中的x.th节点保持在行的其他第x个节点的相同水平线上。改变边缘权重对我没有帮助。
到目前为止,我找不到与此问题相关的任何内容。
这是我的代码:
digraph G {
1[label="1"]
2[label="1"]
3[label="1"]
4[label="1"]
5[label="1"]
6[label="1"]
7[label="2"]
8[label="2"]
9[label="2"]
10[label="2"]
11[label="2"]
12[label="2"]
13[label="3"]
14[label="3"]
15[label="3"]
16[label="3"]
17[label="3"]
18[label="3"]
19[label="4"]
20[label="4"]
21[label="4"]
22[label="4"]
23[label="4"]
24[label="4"]
rankdir="LR";
node[width=0.15, height=0.15, shape=point];
edge[weight=500, label="1"];
1 -> 2 -> 3 -> 4 -> 5 -> 6 ;
7 -> 8 -> 9 -> 10 -> 11 -> 12 ;
13 -> 14 -> 15 -> 16 -> 17 -> 18 ;
19 -> 20 -> 21 -> 22 -> 23 -> 24 ;
edge[weight=3];
1 -> 9;
2 -> 9;
3 -> 11;
13 -> 22;
14 -> 22;
15 -> 24;
edge[weight=1];
1 -> 14;
2 -> 15;
3 -> 17;
7 -> 21;
8 -> 23;
9 -> 22;
}
任何帮助将不胜感激。
答案 0 :(得分:1)
不要使用weight
尝试使用属性constraint=false
来处理从“一行”到另一行的所有边缘。
将constraint
设置为false
会使graphviz 而不是在布置图表的节点时考虑这些边缘。
答案 1 :(得分:0)
据我所知,唯一的方法是为每个单独的节点指定一个明确的位置。