2017-09-27 2 views
0

networkD3ライブラリを使用してRでsankeyプロットを作成しようとしています。sankeyNetworkがrのノードを指定しました

私は、次のコード

sankeyNetwork(Links = links1, Nodes = nodes1, 
Source = "source", Target = "target", 
Value = "value", NodeID = "name", 
fontSize= 12, nodeWidth = 30) 

を使用してsankeyNetworkを作成しようとするので、私は結果を以下の取得データに

print(nodes1) 

    name 
1 as 
2 sdf 
3 wer 
4 xc 
5 sd 
6 er 

print(links) 

    source target value 
1  0  5 112 
2  0  4 848 
3  0  4 661 
4  0  4 33 
5  0  3 291 
6  1  5 23 
7  1  4 983 
8  1  3 859 
9  1  3 35 
10  2  4 537 

を次のようしています。

SankeyPlot

しかし、それは順番にノードを印刷していません。

私のノードのデータフレームでは、私は最初のノードは "as"、2番目のノードは "sdf"です。しかし、イメージでは、最初のノードとして「as」、2番目のノードとして「wer」となっています。

ノードでノードの順序を確認するにはどうすればよいですか?

+0

'sankeyNetwork'はノードがあることを許可していません面白く/ progamatically。私は後でそのリンクを調べようとすることができます。ノードの順序を設定したい場合は、riverplotを試すことができますが、対話型ではありません。 – emilliman5

+0

私はインタラクティブなグラフが必要 –

答えて

2

あなたがiterations = 0を設定した場合、ノードの自動位置決めを行うアルゴリズムは、基本的に初期位置にノードを実行し、残すことはありません...

nodes <- read.table(header = T, text = " 
name 
as 
sdf 
wer 
xc 
sd 
er 
") 

links <- read.table(header = T, text = " 
source target value 
0  5 112 
0  4 848 
0  4 661 
0  4 33 
0  3 291 
1  5 23 
1  4 983 
1  3 859 
1  3 35 
2  4 537 
") 

library(networkD3) 
sankeyNetwork(Links = links, Nodes = nodes, 
       Source = "source", Target = "target", 
       Value = "value", NodeID = "name", 
       fontSize= 12, nodeWidth = 30, iterations = 0) 
+0

ありがとう:)、私は期待していたように働いています。ありがとうございました –

関連する問題