Как создать второй выпадающий список на основе группы ребер с visNetwork в R?
По духу похож на Группы ребер и выберите в visNetwork в R, мне интересно, как создать выпадающий список на основе ребер, в отличие от моих узлов, используя visNetwork
пакет. Я думаю, что это возможно с visSetSelection
функция, но это требует использования блестящей. Я поставляю конечный продукт в формате html, созданном с помощью rmarkdown, а не развертываю его с сервера, поэтому я не думаю, что это возможно.
Есть ли способ воспроизвести эту функцию за пределами блеска? Я не совсем понимаю терминологию в документации, но я думаю, что я хочу сделать, похоже на nodeIdSelection
или selectedBy
аргументы в visOptions
функции, в которых вы можете создать "элемент выбора HTML", но на основе списка ребер, а не списка узлов.
Набор данных для этой конкретной проблемы является частной собственностью, но вот некоторые фиктивные данные. Я хотел бы иметь возможность выбирать по "весу" края.
library(tidyverse)
library(visNetwork)
nodes <- tibble(id = 1:30)
edges <- tibble(from = c(21:30, 1:20),
to = c(5:20, 21:30, 1:4),
weight = c(rep(1:5, 6)))
visNetwork(nodes, edges) %>%
visIgraphLayout(layout = "layout_in_circle") %>%
visOptions(highlightNearest = list(enabled = T,
hover = T,
degree = 1,
algorithm = "hierarchical"),
nodesIdSelection = T)
То, что я ожидал бы, это edgesIdSelection
аргумент в visOptions
но это не вариант. Я предполагаю, что трубопровод visSelectEdges
будет работать, но это работает только с блестящим, и мой клиент не имеет доступа к блестящему серверу. Я понял, что эта библиотека была сделана для того, чтобы сделать библиотеку javascript доступной через R, поэтому я не ожидаю полной функциональности - если я не могу сделать это в R с этим пакетом (без блеска), я полностью ее получаю.