2

私はかなり満足しているgraphvizを使用してグラフを作成しましたが、それにもう1つエッジを追加する必要があります。私は現在これを持っています:

現在のグラフ

(これのソースは下のドットにあります)

T から S にエッジを追加する必要があります (緑で!) が、そうすると、グラフの残りの部分がすべて乱雑になります。私はgraphvizにレイアウトを処理させるだけであることを知っていますが、このグラフはシーケンスの1つを形成しており、少なくともほとんど同じように見えるようにしたいと考えています. グラフ クラスタでさまざまなことを試し、重みを使用して他のすべてのエッジを非常に高くし、新しいエッジを非常に低くしましたが、何も役に立たないようです。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]
  }  
}
4

2 に答える 2

2

追加する

{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]
  }
}
于 2012-11-04T17:04:52.147 に答える