視覚化
- Rではigraphパッケージを使ってグラフオブジェクトを扱ってみる
- igraphパッケージのグラフ表示機能はあまり協力ではなく、適当なグラフ書式でファイル書きだしをしたうえで、グラフ視覚化アプリケーションを使うという手もある
- とはいえ、「シンプル・素朴」、とにかく「簡単」を目指すのであれば、R内でそれなりに見える方がよい
- そのあたりの調査をしてみる
# igraphパッケージのインストールと読み込み install.packages("igraph") library(igraph)
- グラフオブジェクトの作成
# 10 vertices named a,b,c,... and no edges g <- graph.empty() + vertices(letters[1:10]) # Add edges to make it a ring g <- g + path(letters[1:10], letters[1], color="grey") # Add some extra random edges g <- g + edges(sample(V(g), 10, replace=TRUE), color="red") g$layout <- layout.circle if (interactive()) { plot(g) } # The old-style operations g <- graph.ring(10) add.edges(g, c(2,6,3,7) ) delete.edges(g, E(g, P=c(1,10, 2,3)) ) delete.vertices(g, c(2,7,8) )
- グラフオブジェクトの描図にて、ラベル名が操作できないとつらいのでそれの確認
# 日本語フォントも使いたい # 陽本語フォントも使いたい members <- c("竜畑","滋賀腹","陽笠","葵井","竜本","櫓本","腹","粒","町上","堀皮","車(雀)","車(住)","小皮","竹顔","開賀","畑町","玉壁","成畑","皮口") g <- graph.empty() + vertices(members) path.stat.kiso <- c("竜畑","滋賀腹","畑町","町上","陽笠","小皮","成畑","竜本","車(住)","車(雀)","葵井","竜畑") path.stat.ronbun <- c("陽笠","滋賀腹","成畑","葵井","皮口","町上","車(住)","車(雀)","竜畑","陽笠") path.R.kiso <- c("滋賀腹","成畑","陽笠","腹","葵井","堀皮","竹顔","町上","竜畑","竜本","車(雀)","車(住)","小皮","粒","滋賀腹") path.math <- c("櫓本","小皮","玉壁","畑町","竹顔","開賀","車(住)","竜畑","櫓本") # ノードの属性を呼びだす関数V()、呼びだした後、そのうち"$name"で選択的に取り出す plot(g,vertex.label=V(g)$name) g <- g + path(path.stat.kiso,color="red") g <- g + path(path.stat.ronbun,color="blue") g <- g + path(path.R.kiso,color="green") g <- g + path(path.math,color="pink") plot(g,vertex.label=V(g)$name)
- igraphオブジェクトを書きだして、他のアプリケーションで使うために
help(write.graph)