2017-11-08 7 views
1

私はこの種のhtmlウィジェットを行うことができるRの素晴らしいnetworkD3パッケージを発見しました。Rの対角ネットワークと再分割(ツリーの分離だけではない)

library('networkD3') 
library('data.tree') 
Relationships<- data.frame(Parent=c("earth","earth","forest","forest","ocean","ocean","ocean","ocean","fish","seaweed"), 
        Child=c("ocean","forest","tree","sasquatch","fish","seaweed","mantis shrimp","sea monster","fish&seaweed","fish&seaweed")) 
tree <- FromDataFrameNetwork(Relationships) 
tree <- ToListExplicit(tree, unname = TRUE) 
diagonalNetwork(tree) 

enter image description here

しかし、私は赤で表現のこの種の(代わりの分離のregroupmentsを)やりたいとdiagonalNetworkたちが働くことを必要とするので、私はRでそれを行うにはどのような方法を見つけることができません。木で(再編成なし)。

リニアプレゼンテーションを続けたいと思います。 exempleのために私はそのような何かをしたくない...

simpleNetwork(Relationships, fontFamily = "sans-serif",fontSize=10) 

enter image description here

あなたは私のためのすべてのソリューションを持っていますか?どうもありがとう !

答えて

1

library(visNetwork) 
nodes <- data.frame(id = 1:10, 
       label = c("earth","ocean","forest","fish","seaweed","mantis shrimp","sea monster","tree","sasquatch", "fish seaweed"), 
       level = c(1,2,2,3,3,3,3,3,3,4)) 
edges <- data.frame(from = c(1,1,2,2,2,2,3,3,10,10), 
       to = c(2,3,4,5,6,7,8,9,4,5)) 
visNetwork(nodes, edges) %>% 
    visNodes() %>% 
    visHierarchicalLayout(direction = "LR", levelSeparation = 500) 

enter image description here

+0

AQLTありがとうございます。それを表現する良い方法です。リンクを矢印で置き換える可能性がある場合は、さらに良いでしょう。私は調査します。 – antuki

1

多分sankeyプロットはあなたが探しているものですか?

あなたはvisNetworkパッケージを使用することができますさまざまなグラフィカルインターフェイスで
library('networkD3') 

Links <- read.table(header = T, stringsAsFactors = F, text = " 
Parent Child 
earth ocean 
earth forest 
forest tree 
forest sasquatch 
ocean fish 
ocean seaweed 
ocean 'mantis shrimp' 
ocean 'sea monster' 
fish fish&seaweed 
seaweed fish&seaweed 
") 

Nodes <- data.frame(name = unique(c(Links$Parent, Links$Child))) 
Links$Parent <- match(Links$Parent, Nodes$name) - 1 
Links$Child <- match(Links$Child, Nodes$name) - 1 
Links$Value <- 1 

sankeyNetwork(Links = Links, Nodes = Nodes, Source = "Parent", Target = "Child", 
       Value = "Value", NodeID = "name") 

enter image description here

+0

確かに、それが機能するソリューションです!ありがとうございました。私のプロジェクトでは、私はdiagonalnetworkのデザイン(より小さい、より細いリンクと長方形、色無し...)を好みますが、多分いくつかのパラメータをパーソナライズすることは可能です。 – antuki

関連する問題