Как создать второй выпадающий список на основе группы ребер с 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 с этим пакетом (без блеска), я полностью ее получаю.

0 ответов

Другие вопросы по тегам