2

Graphviz を使用してこの図を複製しようとしています (図は LaTeX で生成されました)。ここに画像の説明を入力

さまざまな検索と読み取りを行って、ここまでたどり着きました:

ここに画像の説明を入力

スーパーとサブスクリプトを取得することに興味はありません。私が本当に望むなら、私はそれを理解できると確信しています。私がやりたいことは、ノードがすべて 3 x 3 グリッドにあり、適切に配置されていることを確認することです。ご覧のとおり、私の作品は整列していません。私のコードは以下です。(図はDiagrammeRパッケージを使用してRで作成されました。

これまでのところ、 を使用して[pos='1,1!',pin=true]、3 x 3 グリッドの位置インデックスをインクリメントしてみましたが、結果はまったく変わりませんでした。

ヒントはありますか?

ライブラリ(DiagrammeR)

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')
4

2 に答える 2

4

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]
}

このコードは、以下のグラフを生成します。

固定グラフ

動作するデモについては、 http: //graphviz.it/#/LXfbjEuiを確認してください。

于 2016-11-13T21:12:42.030 に答える
1

何年も後のことだと思いますが、これに出くわした人々にとって、次のコードは本質的に@Marcinのソリューションと同じことを行います.

digraph {
    node [shape=circle]

    Q11 -> Q21 -> Y1
    Q12 -> Q22 -> Y2
    Q13 -> Q23 -> Y3

    edge [constraint=false]
    Q11 -> Q12 -> Q13
    Q21 -> Q22 -> Q23
    Q11 -> Y1
    Q12 -> Y2
    Q13 -> Y3
    Y1, Y2, Y3 [fillcolor=lightgray,style=filled]
}
于 2019-03-02T01:29:25.277 に答える