我尝试使用 visNetwork 包重新创建下面的层次结构树,如您在图像中看到的那样,但我无法设置位置的层次结构。
# Install and load the visNetwork package
install.packages("visNetwork")
library(visNetwork)
# Create nodes data frame
nodes <- data.frame(
id = 1:7,
label = c("BLADDER", "TRODELVY", "EV", "NO ADC RECEIVED", "EV", "NO ADC RECEIVED", "TRODELVY "),
color = c("gray", "red", "blue", "gray", "blue", "gray", "red"),
shape = "box"
)
# Create edges data frame
edges <- data.frame(
from = c(1, 1, 2, 2, 3, 3),
to = c(2, 3, 4, 5, 6, 7)
)
# Create the network visualization
visNetwork(nodes, edges) %>%
visNodes(shape = "box") %>%
visOptions(highlightNearest = TRUE, nodesIdSelection = TRUE)%>%
visPhysics(solver = "hierarchicalRepulsion",
forceAtlas2Based = list(gravitationalConstant = -500))
您还需要在
level
中设置 nodes
定义并使用 visHierarchicalLayout
。然而,如果没有更复杂的黑客技术,获得“90 度”边缘可能是不可能的。
library(visNetwork)
# Create nodes data frame
nodes <- data.frame(
id = 1:7,
label = c("BLADDER", "TRODELVY", "EV", "NO ADC RECEIVED", "EV", "NO ADC RECEIVED", "TRODELVY "),
color = c("gray", "red", "blue", "gray", "blue", "gray", "red"),
shape = "box",
level = c(1, 2, 2, 3, 3, 3, 3)
)
# Create edges data frame
edges <- data.frame(
from = c(1, 1, 2, 2, 3, 3),
to = c(2, 3, 4, 5, 6, 7)
)
# Create the network visualization
visNetwork(nodes, edges) %>%
visNodes(shape = "square", size = 500, font = list(color = "white")) %>%
visOptions(highlightNearest = TRUE, nodesIdSelection = TRUE)%>%
visHierarchicalLayout(levelSeparation = 200, direction = "LR")