r - 在 forceNetwork 中更改背景图像

标签 r networkd3

更改 networkD3 的背景颜色可以通过劫持 forceNetwork 函数的一些参数来实现,如@Jota 所示:Change background color of networkD3 plot .

这如何推断为更改背景图像?

我试过几种方法都没有成功,其中一种如下:

library(networkD3)
library(htmltools)

data(MisLinks)
data(MisNodes)

browsable(
  tagList(
         forceNetwork(Links = MisLinks, Nodes = MisNodes,
             Source = "source", Target = "target",
             Value = "value", NodeID = "name",
             Group = "group", opacity = 0.8),
      tags$script('document.body.style.backgroundImage = "url(paper.gif)"')
    )
   )

有没有办法以类似的方式改变背景图像,如下所示:
linkDistance = JS('function(){d3.select("body").style("background-color", "#910e33"); return 50;}')) ?

最佳答案

您必须完整指定 URL。例如,这似乎有效...

library(networkD3)
library(htmltools)

data(MisLinks)
data(MisNodes)

browsable(
  tagList(
    forceNetwork(Links = MisLinks, Nodes = MisNodes,
                 Source = "source", Target = "target",
                 Value = "value", NodeID = "name",
                 Group = "group", opacity = 0.8),
    tags$script('document.body.style.backgroundImage = "url(https://media.giphy.com/media/dgrEGTo4uk22Y/giphy.gif)"')
  )
)

这是不使用 htmltools 的另一种方法...

library(networkD3)

data(MisLinks)
data(MisNodes)

linkJS <- JS('
  function(){
    d3.select("body")
      .style("background-image", "url(https://media.giphy.com/media/dgrEGTo4uk22Y/giphy.gif)")
      .style("background-repeat", "no-repeat")
      .style("background-position", "right bottom");
    return 50;
  }')

forceNetwork(Links = MisLinks, Nodes = MisNodes, Source = "source", 
             Target = "target", Value = "value", NodeID = "name",
             Group = "group", opacity = 0.8, linkDistance = linkJS)

关于r - 在 forceNetwork 中更改背景图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45473185/

相关文章:

r - 如何为 R 中的桑基图准备输入数据?

r - 将 networkD3 图形导出为矢量图形

javascript - 将networkD3中 Node 上的clickAction链接到选项卡中的内容预览

r - 使用 R 将日期序列添加到数据框中

r - R 中的点图与点阵 : display of vertical axis and error bars

将缺失值替换为相关 ID 的值

r - Rstudio 是否将 '.Rproj.user' 和 '.Ruserdata' 放入 '.gitignore' 中?

mysql - RMySQL 不能作为脚本的一部分工作

r - 带有 networkD3 包的 Sankey 图不会绘制