在R中集成js代码使visNetwork边缘弯曲
Integrating the js code in R to make the visNetwork edges curved
下面的脚本创建了 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}},
更新代码嵌套参数 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()
截图:
下面的脚本创建了 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}},
更新代码嵌套参数 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()
截图: