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

Я использую 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") 

Этот код создает приведенную ниже карту сети

image

При выборе узла 1, я получаю левую картинку ниже; При выборе узла 7, я получаю правильное изображение ниже. IE, выделение следует за всеми стрелками наверх.

imageimage

Я хочу найти способ, которым я могу добавить к данным узлов / ребер, чтобы пользователь определяет поведение подсветки? Например, при выборе 7 (на диаграмме справа вверху) исключаются подсветка 2 и 3.

Я вижу два возможных варианта:
1. Добавление данных, чтобы получить два типа края; 1, который только для показа, и другой, который используется для выделения путей и показа.
2. Добавьте дополнительные столбцы к данным, чтобы они каким-то образом знали, как подсвечивать пути при выборе каждого узла

Открыты для других предложений по опциям или даже пакетам.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...