在R中集成js代码以使visNetwork边缘弯曲

时间:2018-01-09 05:39:57

标签: javascript arrays r vis.js visnetwork

下面的脚本创建了visNetwork,如下图所示。我想要一个功能,使边缘“1”和边缘“3”弯曲。我附加了可用于实现此目的的js代码。但是,请帮我在R中集成相同的代码。谢谢。

nodes <- data.frame(id = 1:4)
edges <- data.frame(from = c(2,4,3,2), to = c(1,2,4,3), label = 1:4)
edges <- data.frame(edges,edges$from)
visNetwork(nodes, edges, width = "100%") %>% 
visEdges(arrows =list(to = list(enabled = TRUE, scaleFactor = 2)),
       color = list(color = "lightblue", highlight = "red")) %>% 
visHierarchicalLayout()

JS代码

{from: 2, to: 1, arrows: 'to', label: "1", smooth: {type: "curvedCCW", 
roundness: 0.4}},
{from: 3, to: 4, arrows: 'to', label: "3", smooth: {type: "curvedCCW", 
roundness: 0.2}},

Visnetwork Capture

1 个答案:

答案 0 :(得分:0)

使用smooth列出的参数更新了代码:

library(visNetwork)
nodes <- data.frame(id = 1:4)
edges <- data.frame(from = c(2,4,3,2), to = c(1,2,4,3), label = 1:4, smooth = list(enabled = F, type ='curvedCW', roundness = 0.2))
edges <- data.frame(edges,edges$from)

#enable smooth for the edges you like

edges$smooth.enabled[edges$label==1] = T
edges$smooth.enabled[edges$label==3] = T
visNetwork(nodes, edges, width = "100%") %>% 
  visEdges(arrows =list(to = list(enabled = TRUE, scaleFactor = 2)),
           color = list(color = "lightblue", highlight = "red")) %>% 
  visHierarchicalLayout()

截图:

enter image description here