VisNetwork в R - при выборе узла только выделять пути с указанным типом c ребра - PullRequest
0 голосов
/ 03 апреля 2020

Я использую visNetwork в R для создания иерархической карты сети. Я хочу, чтобы пути, выделенные при выборе узла, следовали только за указанным типом ребра c (например, ребра solid и пунктирные ребра). Пожалуйста, следуйте моему примеру ниже.


library(tidyverse)
library(visNetwork)

nodes = data.frame(id = 1:7, level = c(1, 2, 3, 3, 4, 2,1))
edges = data.frame(from = c(1, 2, 2, 4, 6,7,7), to = c(2, 3, 4, 5, 4,6,2),
                   dashes = c(FALSE, TRUE, FALSE,FALSE,FALSE,FALSE,TRUE))

visNetwork(nodes, edges) %>% 
  visHierarchicalLayout() %>% 
  visEdges(arrows = "to") %>% 
  visOptions(highlightNearest = list(enabled = TRUE, algorithm = "hierarchical",
                                     degree = n_distinct(nodes$level))) %>%
  visHierarchicalLayout(direction = "DU")

Этот код создает следующую сетевую карту

image

Однако, когда я выбираю узлы 1 или 7, подсветка пути включает пунктирные узлы. Например, см. ниже.

imageimage

Я хочу, чтобы подсветка исключала узлы, связанные через пунктирные ребра. Например, на левом изображении выше узел 3 не будет выделен, а на правом изображении выше узлы 2 и 3 не будут выделены.

Есть ли способ достичь этого или что-то подобное?

Спасибо

...