【问题标题】:Redirecting networkd3 node click to a dynamic url based on a value根据值将networkd3节点点击重定向到动态url
【发布时间】:2018-04-03 22:44:15
【问题描述】:

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

但无法找到可以帮助我将节点转换为可点击的 URL 的代码示例,该 URL 将重定向用户或启动新的浏览器窗口。 这可能吗? 我的问题与使用此代码示例保存为 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')

【问题讨论】:

标签: r networkd3


【解决方案1】:

您需要使用forceNetwork() 函数才能获得该功能,另外还需要做一些额外的工作。

(示例主要基于@timelyportfolio 的代码: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')

【讨论】:

  • 这正是我所需要的!非常感谢您的帮助。
猜你喜欢
  • 2017-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-12
  • 1970-01-01
相关资源
最近更新 更多