2016-11-11 7 views
1

を使用して列にノードを固定:enter image description here私は(数字は乳液で生成された)Graphvizのを使用して、この数字を複製しようとしているgraphvizの

様々な検索を行うと読んで、私ははるかにこれを取得するために管理してきました:

enter image description here

私はスーパーとサブスクリプトを取得することに興味がありません。私は本当にしたい場合、私はそれが多くを理解することができますpretyです。私がしたいのは、ノードがすべて3 x 3グリッドにあり、うまく整列していることを確認することです。ご覧のとおり、私の制作は調整されていません。私のコードは以下の通りです。 (図はダイアグラマパッケージを使用してRで行われました。

はこれまでのところ、私は[pos='1,1!',pin=true]を使用してみました、そして3×3のグリッド上の位置のインデックスをインクリメントし、それがすべてで結果を変更されていませんしました。

任意のヒント?

ライブラリ(ダイア)

grViz(
    " 
digraph { 

    graph [overlap = true, fontsize = 10] 
    node [shape=circle] 
    Q11 [pos='1,1',pin=true] 
    Q21 [pos='2,1',pin=true] 
    Y1 [fillcolor=lightgray,style=filled,pos='3,1',pin=true] 

    Q11 -> Q21 
    Q11 -> Y1 
    Q21 -> Y1 

    node [shape = circle] 
    Q12 
    Q22 
    Y2 [fillcolor=lightgray,style=filled] 

    Q12 -> Q22 
    Q12 -> Y2 
    Q22 -> Y2 

    node [shape = circle] 
    Q13 
    Q23 
    Y3 [fillcolor=lightgray,style=filled] 

    Q13 -> Q23 
    Q13 -> Y3 
    Q23 -> Y3 


    {rank = same; Q11; Q12; Q13} 
    Q11 -> Q12 
    Q12 -> Q13 

    {rank = same; Q21; Q22; Q23} 
    Q21 -> Q22 
    Q22 -> Q23 
} 
    ", 
engine = 'neato') 
+0

内側と外側のエッジに対して異なる重みを試すことができます。 Q11→Q21→Y1 [重み= 2]、Q11→Y1 [重み= 1]となる。結果はあなたが行きたいところに近づきます。しかし結局、手で敷くほうが簡単です。 ;) – lukeA

答えて

1

あなたはconstraint=false属性を追加することにより、エッジには、いくつかの制約を無効にする必要があります。

digraph { 
    graph [fontsize=10] 
    node [shape=circle] 
    Q21 
    Q22 
    Q23 
    Q12 
    Q11 
    Q13 

    Q21 -> Q22 [constraint=false] 
    Q22 -> Q23 [constraint=false] 

    Q11 -> Q21 
    Q11 -> Y1 [constraint=false] 
    Q21 -> Y1 

    Q12 -> Q22 
    Q12 -> Y2 [constraint=false] 
    Q22 -> Y2 


    Q13 -> Q23 
    Q13 -> Y3 [constraint=false] 
    Q23 -> Y3 

    {rank = same; Q11; Q12; Q13;} 
    Q11 -> Q12 [constraint=false] 
    Q12 -> Q13 [constraint=false] 

    {rank = same; Q21; Q22; Q23} 
    Y3 [fillcolor=lightgray,style=filled] 
    Y2 [fillcolor=lightgray,style=filled] 
    Y1 [fillcolor=lightgray,style=filled] 
} 

このコードはグラフの下に生成されます。

FIxed graph

デモを操作するためのhttp://graphviz.it/#/LXfbjEuiを確認してください。

+0

あなたは、私の日を作ったばかりです!ありがとうございました! – Benjamin

関連する問題