我正在尝试使用graphviz对某个流进行建模,我无法弄清楚如何对下图进行建模以共享相同的水平中心
digraph exmp {
A -> B -> C -> D
C -> E [constraint=false]
A -> C [style="dotted", constraint=false]
A -> D [style="dotted", constraint=false]
B -> D [constraint=false]
D -> A [style="dashed", constraint=false]
C -> A [style="dashed", constraint=false]
subgraph cluster_hackToSinkIt { E -> F }
{ rank="sink" E F }
}
这导致以下图表:
我的问题是,我怎样才能得到E - > F位于D下面,是否位于同一列?
答案 0 :(得分:28)
至少as of May 2007,你不能强制“列”本身,但你可以 将权重应用于边缘这应该有助于强制对齐。但实际上,在这种情况下,如果你只是从D到E添加一个不可见的边缘,你就会有垂直对齐。
digraph exmp {
A -> B -> C -> D
C -> E [constraint=false]
A -> C [style="dotted", constraint=false]
A -> D [style="dotted", constraint=false]
B -> D [constraint=false]
D -> A [style="dashed", constraint=false]
C -> A [style="dashed", constraint=false]
D -> E [style="invis"] // <---- important new line
subgraph cluster_hackToSinkIt { E -> F }
{ rank="sink" E F }
}
我不知道有任何方法强迫边缘到一边或另一边。