4

当我从下拉列表中选择一组节点时,我希望距离最近的节点也被突出显示。目前,仅突出显示组中的节点。

我认为度数 = 1 的 highlightNearest 会有所帮助,但这似乎只影响选择单个节点时,而不影响选择组时。

library(visNetwork)
nb <- 10
nodes <- data.frame(
  id = 1:nb, label = paste("Label", 1:nb),
  group = sample(LETTERS[1:3], nb, replace = TRUE), value = 1:nb,
  title = paste0("<p>", 1:nb, "<br>Tooltip !</p>"), stringsAsFactors = FALSE
)

edges <- data.frame(
  from = c(8, 2, 7, 6, 1, 8, 9, 4, 6, 2),
  to = c(3, 7, 2, 7, 9, 1, 5, 3, 2, 9),
  value = rnorm(nb, 10), label = paste("Edge", 1:nb),
  title = paste0("<p>", 1:nb, "<br>Edge Tooltip !</p>")
)

visNetwork(nodes, edges, height = "500px", width = "100%") %>%
  visOptions(
    selectedBy = "group",
    highlightNearest = TRUE,
    nodesIdSelection = TRUE
  ) %>%
  visLayout(randomSeed = 123)

当我选择 A 组时,我看到节点“标签 4”、“标签 9”和“标签 10”突出显示。接触这些节点的边缘也被突出显示。截屏:

在此处输入图像描述

我希望最近的节点也被突出显示:“标签 1”、“标签 2”、“标签 5”和“标签 3”屏幕截图,手绘箭头指向应突出显示的额外 4 个节点:

在此处输入图像描述

如果我直接单击节点“标签 4”和“标签 9”,则最近的节点会像我希望的那样突出显示。当我选择一个组时,我希望同样的突出显示行为也能起作用。截图:

在此处输入图像描述 在此处输入图像描述

4

1 回答 1

0

这要归功于bthieurmel最近在Github上的增强功能。在增强功能进入 CRAN 之前,您需要从 Github 安装 visNetwork,才能使其正常工作。

install.packages("devtools")
library(devtools)
install_github("datastorm-open/visNetwork")

然后,更新问题中的代码,替换selectedBy = "group"selectedBy = list(variable = "group", highlight = TRUE).

于 2019-09-03T15:57:33.413 回答