Rでインタラクティブなネットワーク図:networkD3パッケージの紹介


ネットワーク図をインタラクティブに操作できる「networkD3」を紹介します。使えそうなパッケージです。基本的なコマンドを紹介します。系統樹までインタラクティブです。


パッケージのインストール

下記のコマンドを実行してください。

#パッケージのインストール
install.packages("networkD3")

コマンド

直接出力する方法とHTMLに組み込み出力する方法を紹介します。グラフの内容は同じです。

#パッケージの読み込み
library("networkD3") #ネットワーク図作成に必要
library("magrittr") #HTMLで出力するのに必要

###シンプルなネットワーク図の作成#####

#データの準備
src <- c("A", "A", "A", "A", "B", "B", "C", "C", "D")
target <- c("B", "C", "D", "J", "E", "F", "G", "H", "I")
networkData <- data.frame(src, target)

#グラフのプロット
simpleNetwork(networkData, width = NULL, height = NULL, fontSize = 20,
              textColour = "blue", linkColour = "red",
              nodeColour = "green", opacity = 1, charge = -200)

#グラフを作業フォルダに保存
NwtworkPlot <- simpleNetwork(networkData, width = NULL, height = NULL, fontSize = 20,
                             textColour = "blue", linkColour = "red",
                             nodeColour = "green", opacity = 1, charge = -200)
saveNetwork(network = NwtworkPlot , file = 'simple.html', selfcontained = TRUE)

########

###複雑なネットワーク図の作成#####
#データの読み込み。forceNetworkコマンドにはLinksとNodesのデータが必要です。
data(MisLinks)
data(MisNodes)

#グラフのプロット
forceNetwork(Links = MisLinks, Nodes = MisNodes, Source = "source",
             Target = "target", Value = "value", NodeID = "name",
             Group = "group", opacity = 1,
             colourScale = "d3.scale.category20b()")

#グラフを作業フォルダに保存。パイプ方式でも可能です。
forceNetwork(Links = MisLinks, Nodes = MisNodes, Source = "source",
             Target = "target", Value = "value", NodeID = "name",
             Group = "group", opacity = 1,
             colourScale = "d3.scale.category20b()") %>% saveNetwork(file = 'forceNetwork.html', selfcontained = TRUE)
########

###系統樹も作成できます。データはリスト形式となります。#####
#データの準備
library(RCurl) #パッケージが無ければインストールしてください。
URL <- "https://raw.githubusercontent.com/christophergandrud/d3Network/master/JSONdata/flare.json"
Flare <- getURL(URL)

#データをlist化
Flare <- rjson::fromJSON(Flare)

#グラフのプロット。ブラウザで表示されます。
treeNetwork(List = Flare, fontSize = 8)

#グラフを作業フォルダに保存。
saveNetwork(network = treeNetwork(List = Flare, fontSize = 8), file = 'tree.html', selfcontained = TRUE)

プロット内容

グリグリ動かせます。ドラッグしてみてください。

シンプルなネットワーク図

複雑なネットワーク図

系統樹


少しでも、あなたのウェブや実験の解析が楽になりますように!!

スポンサードリンク

おすすめコンテンツ


スポンサードリンク