我使用graphviz创建了一个图表,我非常满意,我需要再添加一个边缘。我目前有这个:
(以下点中的来源)
我需要添加一个从T到S的边缘(绿色!)但是当我这样做时,图表的其余部分都会被抛入混乱状态。我知道我的意思是让graphviz处理布局,但是这个图形形成了一个序列,我希望它们至少看起来很相似。我已尝试使用图形集群进行各种操作,并使用权重使所有其他边缘的权重非常高,新边缘非常低但似乎没有任何帮助。如何添加从T到S的边缘,这不会担心边缘必须很长。
我所拥有的点源
digraph G {
rankdir=LR
subgraph clusterD3 {
vSource [label="S*"]
subgraph clusterD2 {
color=white
S
T
subgraph clusterD1 {
color=white
{rank=same; B A}
{rank=same; D C}
A->C
B->D
A->D
C->D
B->A
}
S->A
S->B
C->T
D->T
}
vSink [label="T*"]
vSource->A [color=red]
vSource->B [color=red]
vSource->C [color=red]
vSource->D [color=red]
vSource->T [color=red]
A->vSink [color=blue]
B->vSink [color=blue]
C->vSink [color=blue]
D->vSink [color=blue]
S->vSink [color=blue]
}
}
答案 0 :(得分:1)
添加
{rank=same;vSource;S}
解决了这个问题:
digraph G {
rankdir=LR
subgraph clusterD3 {
vSource [label="S*"]
subgraph clusterD2 {
color=white
S
T
{rank=same;vSource;S}
subgraph clusterD1 {
color=white
{rank=same; B A}
{rank=same; D C}
A->C
B->D
A->D
C->D
B->A
}
S->A
S->B
C->T
D->T
}
vSink [label="T*"]
vSource->A [color=red]
vSource->B [color=red]
vSource->C [color=red]
vSource->D [color=red]
vSource->T [color=red]
A->vSink [color=blue]
B->vSink [color=blue]
C->vSink [color=blue]
D->vSink [color=blue]
S->vSink [color=blue]
T -> S [color=green]
}
}