重定向networkd3节点根据值单击动态URL

时间:2018-04-03 22:44:15

标签: r networkd3

我正在尝试构建链接对象的交互式网络可视化。 我已经查看了以下代码: https://christophergandrud.github.io/networkD3/

但无法找到可帮助我将节点转换为可重定向用户或将启动新浏览器窗口的可点击网址的代码示例。 这可能吗? 我的问题与使用此代码示例保存为html的networkD3图表有关:

library(networkD3)
library(magrittr)

Source <- c("A", "A", "A", "A", "B", "B", "C", "C", "D")
Target <- c("B", "C", "D", "J", "E", "F", "G", "H", "I")
NetworkData <- data.frame(Source, Target)

simpleNetwork(NetworkData) %>% saveNetwork(file = 'Net1.html')

1 个答案:

答案 0 :(得分:0)

您需要使用forceNetwork()功能才能获得该功能,以及一些额外的工作。

(示例主要基于@afterportfolio的代码:linking a node in networkD3 to a website using clickAction = NULL

library(networkD3)
library(magrittr)

data(MisLinks)
data(MisNodes)

fn <- forceNetwork(
  Links = MisLinks, Nodes = MisNodes, Source = "source",
  Target = "target", Value = "value", NodeID = "name",
  Group = "group", opacity = 0.4, zoom = TRUE
)

fn$x$nodes$hyperlink <- paste0(
  'http://en.wikipedia.org/wiki/Special:Search?search=',
  MisNodes$name
)

fn$x$options$clickAction = 'window.open(d.hyperlink)'

fn %>% saveNetwork(file = 'Net1.html')