javascript - forceNetwork 不是零索引的

标签 javascript r igraph htmlwidgets networkd3

我正在尝试创建一个简单的 forceNetwork,但绘图不会呈现。我不断收到以下警告:

警告消息:源/目标似乎不是零索引。这在 JavaScript 中是必需的,因此您的绘图可能无法呈现。

我该如何解决这个问题?请注意,simpleNetwork 工作正常,所以问题似乎出在我指定数据的方式上。

library(igraph)
library(networkD3)
set.seed(42)
temp<-data.frame(source=c(1,2,3,4),target=c(2,3,4,4))#csv[1:500,]

links<-data.frame(source=temp$source,target=temp$target)
g<-graph.data.frame(cbind(temp$source,temp$target), directed=T)
nodes<-data.frame(name=1:length(V(g)),group=1)

forceNetwork(Links=links,Nodes = nodes,
             Source = 'source', Target = 'target', 
             NodeID = 'name', Group = 'group')

simpleNetwork(temp)

最佳答案

由于 networkD3 使用 javascript,您需要从 0 开始索引,而不是从 1 开始链接。只需从您的节点/链接中减去 1 即可重新编制索引:

links = links-1
nodes$name = nodes$name-1 #might want to re-index nodes, too
forceNetwork(Links=links,Nodes = nodes,
             Source = 'source', Target = 'target', 
             NodeID = 'name', Group = 'group')

关于javascript - forceNetwork 不是零索引的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40405120/

相关文章:

javascript - 使用 webpack 和 gulp 生成 bundle.js

javascript - X 轴上带有工具提示的 D3 条形图

r - 确定源顶点并查找到目标顶点的所有路径

python - 通过 anaconda (libxml2.2.dylib) 在 OSX 10.10.5 中导入 python igraph 时出错

javascript - 事件监听器函数中的 chrome.webrequest

javascript - Google 表格中的 Unpivot - 多个标题列和行

R:按 ID 聚合并找到最小日期和时间

r - 在 ggplot2 中组合图例

R:用另一列中的值替换多列数据框中的多个值

python - 如何从其他格式(例如graphml)导出sbml文件?