调整网络D3的原力网络剧情的背景图片和标题



在此处的帖子之后,更改forcenetwork for NetworkD3中的传奇文本的颜色,我正在尝试添加来自本地驱动器作为背景图像的图片,也将标题添加到图。

但是,这些线似乎没有生效:

Background:    .style("background-image", "url(C:\Desktop\BGP.png)")
Title:          htmlwidgets::prependContent(htmltools::tags$h1("Title"))

添加它们的正确方法是什么?另外,还有一种方法可以调整标题文本的字体样式和大小吗?

library(networkD3)
library(htmlwidgets)
subNodes <- 
  read.table(stringsAsFactors = FALSE, header = TRUE, text = "
             nodeName nodeGroup     nodeSize
             Bob      NorthAmerica  10
             Alice    NorthAmerica  10
             Tom      China         10
             John     Japan         10
             ")
subLinkList <-
  read.table(stringsAsFactors = FALSE, header = TRUE, text = "
             root  children  linkValue
             0     1         1
             0     2         1
             0     3         1
             ")
linkJS <- JS('
  function(){
             d3.select("body")
             .style("background-image", "url(C:\Desktop\BGP.png)")
             .style("background-repeat", "no-repeat")
             .style("background-position", "right bottom")
             return 100;
             }')
network <- forceNetwork(Links = subLinkList, Nodes = subNodes,
               Source = "root", Target = "children",
               Value = "linkValue", NodeID = "nodeName",
               Group = "nodeGroup", 
               opacity = 1, Nodesize = "nodeSize",
               legend = TRUE, linkDistance = linkJS,
               colourScale = JS("d3.scaleOrdinal(d3.schemeCategory20)"))
network1 <- htmlwidgets::onRender(
  network,
  'function(el, x) { 
  d3.selectAll(".legend text").style("fill", "white");
  d3.select("body").style("background-color", "#144370");
  }',
  htmlwidgets::prependContent(htmltools::tags$h1("Title"))
)

saveNetwork(network1, "c:\forceNetwork.html", selfcontained = TRUE)

这是一个可复制的示例,添加标题,样式标题,样式的传奇文本,更改背景颜色,并尝试使用本地文件设置背景图像。(我无法测试背景图像,因为这取决于许多特定因素,但可能对您有用。)...

library(networkD3)
library(htmlwidgets)
subNodes <- 
  read.table(stringsAsFactors = FALSE, header = TRUE, text = "
             nodeName nodeGroup     nodeSize
             Bob      NorthAmerica  10
             Alice    NorthAmerica  10
             Tom      China         10
             John     Japan         10
             ")
subLinkList <-
  read.table(stringsAsFactors = FALSE, header = TRUE, text = "
             root  children  linkValue
             0     1         1
             0     2         1
             0     3         1
             ")
network <- forceNetwork(Links = subLinkList, Nodes = subNodes,
                        Source = "root", Target = "children",
                        Value = "linkValue", NodeID = "nodeName",
                        Group = "nodeGroup", 
                        opacity = 1, Nodesize = "nodeSize",
                        legend = TRUE)
network <- htmlwidgets::prependContent(network, htmltools::tags$h1("Title"))
network <- htmlwidgets::onRender(
  network,
  'function(el, x) { 
    d3.selectAll(".legend text").style("fill", "white");
    d3.select("body").style("background-color", "#144370");
    d3.select("h1").style("color", "red").style("font-family", "sans-serif");
    d3.select("body")
      .style("background-image", "url(file://C:\Desktop\BGP.png)")
      .style("background-repeat", "no-repeat")
      .style("background-position", "right bottom");
  }'
)

saveNetwork(network, "~/Desktop/forceNetwork.html", selfcontained = TRUE)

相关内容

  • 没有找到相关文章

最新更新