Показать контур участка, границы

Используя пакет visNetwork, как мы можем добавить границу?

Справка: GitHub, CRAN и онлайн документация

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)

Мы могли бы установить цвет фона, но я бы предпочел только контур / границу графика.


В случае, если это уместно, я использую это в блестящем, вот пример:

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")
    })

  })

И хотелось бы увидеть очертания сюжета, вот сначала виз (vis1) не имеет контура, только прозрачный фон, трудно сказать, где находятся границы:

введите описание изображения здесь

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 в свою собственную таблицу стилей. Обратитесь к этому руководству, чтобы узнать, как это можно сделать.

Другие вопросы по тегам