![見出し画像](https://assets.st-note.com/production/uploads/images/78781040/rectangle_large_type_2_b800630349535f5bd8fb030e1be92733.png?width=1200)
【R言語】grVizで複数グラフを同じアウトプットに並べて作成する
この度「地理空間データの統計解析入門」という本を勉強していて、グラフをRMarkdownで再現しようと思ったら、思ったより沼にハマってしまいまし
たので備忘録です。
grVizはグラフ作成にはとても有効なようです。
https://graphviz.org/doc/info/attrs.html
作りたいグラフ自体は簡単なものです(↓同時自己回帰モデルと条件付き自己回帰モデルのイメージ)
![](https://assets.st-note.com/img/1652500170966-zfrTdtYs50.jpg?width=1200)
結果的に以下のコードでそれらしきものが出来ました。
Rコード
library(DiagrammeR)
grViz("
digraph G{
rankdir=RL
subgraph cluster_1{
y6 -> y5[arrowsize=0.5]
y7 -> y5[arrowsize=0.5]
y8 -> y5[arrowsize=0.5]
y5[label='y1']
y6[label='y2']
y7[label='y3']
y8[label='y4']
{rank = same;y6;y7;y8;}
label='条件付き自己回帰モデル'
}
subgraph cluster_0{
y1 -> {y2, y3, y4}[dir=both][arrowsize=0.5]
y2 -> y4[dir=both][arrowsize=0.5]
y3 -> y4[dir=both][arrowsize=0.5]
y2 -> y3[dir=both][arrowsize=0.5]
{rank=same;y1;y3;}
{rank=same;y2;y4;}
label='同時自己回帰モデル'
}
}
")
アウトプット
![](https://assets.st-note.com/img/1652500257998-dvgl3yaT1F.png)
苦労したポイント
・subgraphごとにレイアウトが変えられない(同時自己回帰モデルはcirco、条件付き自己回帰モデルはdotで作りたかった)
→rank=sameを使ってなんとか再現
・同じ名前を使うには、ラベリングが必要
・クラスタリングでそれぞれのsubgraphを分ける。
最後に
複数グラフを横に並べる方法誰か教えて〜!
この記事が気に入ったらサポートをしてみませんか?