【问题标题】:Links are directed to top left corner in forceNetwork with networkD3 in R链接指向 forceNetwork 的左上角,R 中的 networkD3
【发布时间】:2019-04-19 21:29:35
【问题描述】:

我正在尝试使用forceNetwork,但链接指向左上角并且链接不符合预期。

library(tidyverse)
library(networkD3)

nodes <- data.frame(name=c("H2o","H2O Driverless AI ","DAI","This is a Mechanized Operations Tracking System","H2O.ai","H2O","H2O is open-source software for Big Data analysis"),group = 1)

nodes <- nodes %>% rowid_to_column("id")

nodes_d3 <- mutate(nodes, id = id - 1)

links <- data.frame(source=c(0,1,2,0,4,5),target=c(1,2,3,4,5,6))

forceNetwork(Links = links, Nodes = nodes_d3, Source = "source", Target = "target", 
              NodeID = "id",Group = "group", opacity = 0.8,arrows = TRUE, zoom = TRUE)

预计将 h20 作为节点 0,然后连接到“H2O Driverless AI”和 H2O.ai。然后 H2O Driverless AI > DAI。然后DAI>这是一个机械化操作跟踪系统。 H2O.ai>H2O。 H2O>H2O 是用于大数据分析的开源软件

如有错误请指正。

【问题讨论】:

    标签: r d3.js htmlwidgets networkd3 d3-force-directed


    【解决方案1】:

    鉴于您的数据,您可能应该使用NodeID = "name"

    更新:

    您还必须设置Value 参数。这是一个可重现的示例...

    library(tidyverse)
    library(networkD3)
    
    nodes <- data.frame(name=c("H2o","H2O Driverless AI ","DAI","This is a Mechanized Operations Tracking System","H2O.ai","H2O","H2O is open-source software for Big Data analysis"),group = 1)
    
    nodes <- nodes %>% rowid_to_column("id")
    
    nodes_d3 <- mutate(nodes, id = id - 1)
    
    links <- data.frame(source=c(0,1,2,0,4,5),target=c(1,2,3,4,5,6), value = 1)
    
    forceNetwork(Links = links, Nodes = nodes_d3, Source = "source", Target = "target", 
                 Value = "value", NodeID = "name", Group = "group", opacity = 0.8,arrows = FALSE, zoom = TRUE)
    

    【讨论】:

    • 这行得通!谢谢 :) 有没有办法让这些节点可折叠?
    猜你喜欢
    • 1970-01-01
    • 2016-04-01
    • 1970-01-01
    • 2022-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-11
    相关资源
    最近更新 更多