Я использую visNetwork в R для создания иерархической карты сети. Я хочу, чтобы пути, выделенные при выборе узла, выделялись в соответствии с заданным пользователем правилом (например, добавление в набор данных). Пожалуйста, следуйте моему примеру ниже.
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))
visNetwork(nodes, edges) %>%
visHierarchicalLayout() %>%
visEdges(arrows = "to") %>%
visOptions(highlightNearest = list(enabled = TRUE, algorithm = "hierarchical",
degree = n_distinct(nodes$level))) %>%
visHierarchicalLayout(direction = "DU")
Этот код создает приведенную ниже карту сети
При выборе узла 1, я получаю левую картинку ниже; При выборе узла 7, я получаю правильное изображение ниже. IE, выделение следует за всеми стрелками наверх.
Я хочу найти способ, которым я могу добавить к данным узлов / ребер, чтобы пользователь определяет поведение подсветки? Например, при выборе 7 (на диаграмме справа вверху) исключаются подсветка 2 и 3.
Я вижу два возможных варианта:
1. Добавление данных, чтобы получить два типа края; 1, который только для показа, и другой, который используется для выделения путей и показа.
2. Добавьте дополнительные столбцы к данным, чтобы они каким-то образом знали, как подсвечивать пути при выборе каждого узла
Открыты для других предложений по опциям или даже пакетам.
Спасибо