更改 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/