【问题标题】:Show plot outline, border显示绘图轮廓、边框
【发布时间】:2018-03-07 23:33:28
【问题描述】:

使用visNetwork包,如何添加边框?

参考:GitHubCRANOnline documentation

library(visNetwork)

nodes <- data.frame(id = 1:3, 
                    color.background = c("red", "blue", "green"),
                    color.highlight.background = c("red", NA, "red"), 
                    shadow.size = c(5, 10, 15))

edges <- data.frame(from = c(1,2), to = c(1,3),
                    label = LETTERS[1:2], 
                    font.color =c ("red", "blue"), 
                    font.size = c(10,20))

visNetwork(nodes, edges)

我们可以设置背景颜色,但我更喜欢情节的轮廓/边框。


如果它是相关的,我在 shiny 中使用它,这里是一个例子:

library(shiny)
library(visNetwork)

shinyApp(
  ui = fluidPage(
    visNetworkOutput("vis1", height = "200px"),
    visNetworkOutput("vis2", height = "200px")
  ),

  server = function(input, output, session) {
    nodes <- data.frame(id = 1:3, group = c("B", "A", "B"))
    edges <- data.frame(from = c(1,2), to = c(2,3))

    output$vis1 <- renderVisNetwork({
      visNetwork(nodes, edges,
                 main = "my vis 1")
      })
    output$vis2 <- renderVisNetwork({
      visNetwork(nodes, edges, background = "red",
                 main = "my vis 2, with red background")
    })

  })

又想看剧情的轮廓,这里先vis(vis1)没有轮廓,只是透明背景,很难分清边框在哪里:

【问题讨论】:

    标签: r shiny vis.js visnetwork


    【解决方案1】:

    您可以选择 CSS 解决方案,因为此上下文是特定的。

    library(shiny)
    library(visNetwork)
    
    shinyApp(
      ui = fluidPage(
    
        tags$head(
          tags$style(HTML("
                          #vis1 {
                            border: 2px solid black;
                          }
                          "))
          ),
    
        visNetworkOutput("vis1", height = "200px"),
        visNetworkOutput("vis2", height = "200px")
      ),
    
      server = function(input, output, session) {
        nodes <- data.frame(id = 1:3, group = c("B", "A", "B"))
        edges <- data.frame(from = c(1,2), to = c(2,3))
    
        output$vis1 <- renderVisNetwork({
          visNetwork(nodes, edges,
                     main = "my vis 1")
        })
        output$vis2 <- renderVisNetwork({
          visNetwork(nodes, edges, background = "red",
                     main = "my vis 2, with red background")
        })
    
      })
    

    我还建议将 CSS 放在自己的样式表中。 请参阅this guide 了解如何做到这一点。

    【讨论】:

    • 感谢您对闪亮环境的使用,我希望这只是visNetwork 的一部分。
    猜你喜欢
    • 2012-02-11
    • 2016-11-20
    • 2012-09-22
    • 1970-01-01
    • 2020-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-29
    相关资源
    最近更新 更多