我正在玩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")
查看两个数据框。文档说,链接数据框必须按源排序,节点名称的顺序相同。
这是否意味着'节点1'是'Myriel'而'节点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
有人能够解释,或者向我展示一个可以解释事情的小例子吗?
由于
答案 0 :(得分: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 =&gt; 1将第一个节点与第二个节点链接起来。