1

d3Network パッケージをいじっています。ヘルプ ファイルから次の例を実行しました。非常に単純だと思いますが、どのノードをどのリンクに割り当てるかをどのように識別するかわかりません。

devtools::install_github("d3Network", "christophergandrud")
library(d3Network)
library(rjson)

json_file <- "https://raw.github.com/christophergandrud/d3Network/master/JSONdata/miserables.json"
json_text <- paste(readLines(json_file), collapse = '')
MisLinks <- JSONtoDF(json_text, array = "links")
MisNodes <- JSONtoDF(json_text, array = "nodes")

d3ForceNetwork(Links = MisLinks, 
           Nodes = MisNodes, 
           Source = "source",
           Target = "target", 
           Value = "value", 
           NodeID = "name",
           Group = "group", 
           opacity = 1,
           file = "example_graph_force_directed.html")

2 つのデータ フレームを確認します。ドキュメントによると、Links データ フレームはソース順に並べる必要があり、ノード名は同じ順序になっています。

これは「ノード 1」が「ミリエル」で「ノード 2」が「ナポレオン」ということですか? その場合、ノード 0 の名前はどこで取得されますか?

> head(MisLinks)
  source target value
1      1      0     1
2      2      0     8
3      3      0    10
4      3      2     6
5      4      0     1
6      5      0     1


> head(MisNodes)
             name group
1          Myriel     1
2        Napoleon     1
3 Mlle.Baptistine     1
4    Mme.Magloire     1
5    CountessdeLo     1
6        Geborand     1

誰かが説明したり、物事を説明する小さな例を見せたりできますか?

ありがとう

4

1 に答える 1

0

以下は、純粋に R で作成された単純な例です。

jjnames<-c("A","B","C","D","E","F","G","H")
mygroup<-c(1,1,1,2,2,2,2,2)
JJNodes<-data.frame( name=jjnames, group=mygroup )
jjsources<-c( 0 , 4 )
jjtargets<-c(  1,  5 )
jjvalues<-rep( c(1,2) , length(jjtargets) ) ; jjvalues<-jjvalues[1:length(jjtargets)]
JJLinks<-data.frame(source=jjsources,target=jjtargets,value=jjvalues)
d3ForceNetwork(Links = JJLinks, Nodes = JJNodes, 
           Source = "source", Target = "target", 
           Value = "value", NodeID = "name", 
           Group = "group", width = 550, height = 400, zoom=TRUE,
           opacity = 0.9)`

リンクは、ノード インデックスのペアによって定義されます。0 => 1 は、最初のノードを 2 番目のノードにリンクします。

于 2013-12-04T16:30:33.827 に答える