【问题标题】:r visNetwork node position issuer visNetwork 节点位置问题
【发布时间】:2017-08-16 20:11:19
【问题描述】:

我正在创建图形结构

id    <- c(1,2,3,4,5,6,7,8,9)
label <- c("All", "Cat", "Dog", "Rice","Fish", "Bread","Rice","Fish", "Bread")

nodes <- data.frame(id, label)

edges <- data.frame(
from = c(1,1,2,2,2,3,3,3),
to = c(2,3,4,5,6,7,8,9)
  )



visNetwork(nodes, edges, width = "100%",height = "800px") %>%  visNodes(shape = "square") %>% 
  visEdges(arrows = "to") %>% 
  visInteraction(navigationButtons = TRUE)%>% 
  visHierarchicalLayout(levelSeparation = 200) %>% 
  visOptions(manipulation = TRUE)

期待它会像这样出现。

然而实际输出是这样的

节点位置不正确,我无法手动移动节点,这很难解释。需要帮助根据上述预期输出重新排列节点。

【问题讨论】:

  • 问题在于catdog连接到同一个ricefishbread节点。
  • @emilliman5,你说得对,我也有同样的感觉。我已根据您的建议更新了我的问题。

标签: r layout nodes graph-visualization visnetwork


【解决方案1】:

您可以为每个节点指定级别以获得所需的方向。

library(visNetwork)
id    <- c(1,2,3,4,5,6,7,8,9)
label <- c("All", "Cat", "Dog", "Rice","Fish", "Bread","Rice","Fish", "Bread")

nodes <- data.frame(id, label, level = c( 1,2,2,3,3,3,3,3,3))

edges <- data.frame(
  from = c(1,1,2,2,2,3,3,3),
  to = c(2,3,4,5,6,7,8,9)
)

visNetwork(nodes, edges, width = "100%",height = "800px") %>%  visNodes(shape = "square") %>% 
  visEdges(arrows = "to") %>% 
  visInteraction(navigationButtons = TRUE)%>% 
  visHierarchicalLayout(levelSeparation = 200) %>% 
  visOptions(manipulation = TRUE)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-17
    • 1970-01-01
    • 2018-03-11
    • 2022-07-21
    • 2019-09-02
    • 2022-07-07
    相关资源
    最近更新 更多