Ярлыки легенды не отображаются встроенными при использовании меток и цветов на листовой карте на блестящем

Когда я хочу использовать labels а также colors параметры с addLegend() функция внутри shinyAppлегенда отображается на лестнице, как вы можете видеть ниже. Но если я рендерим карту только с leaflet за пределами shinyAppметки правильно отображаются в строке.
Я видел этот пост с той же проблемой, но это не воспроизводимый пример, поэтому я решил опубликовать свой собственный вопрос.

  • Неправильный дисплей (блестящая приборная панель)

wrongDisplay

  • Правильный дисплей (буклет автономный)

correctDisplay

Я сделал воспроизводимый пример:

# ----- Load and install missing packages
packages<-c("shiny","shinydashboard","leaflet")
new.packages <- packages[!(packages %in% installed.packages()[,"Package"])]
if(length(new.packages)) install.packages(new.packages)
lapply(packages, require, character.only = TRUE)
rm(list = c("new.packages","packages"))

# ----- Reproductible Example

# ----- UI
header <- dashboardHeader(title = "Repoductible Example")
sidebar <- dashboardSidebar(
  sidebarMenu(
    menuItem("map", tabName = "map", icon = icon("globe",lib="font-awesome"))
  )
)
body <- dashboardBody(
  tabItems(
    tabItem(tabName= "map",
            column(width=12,
                   leafletOutput("mapExmpl", width="100%",height=600)))
  )
)

ui <- dashboardPage(header, sidebar, body,skin="blue")

# ----- Server
server <- function(input, output) {
  labels=c("Label1","Label2","Label3","Label4","Label5")
  colors<-c(rgb(243,87,26,maxColorValue=256)
            ,rgb(225,205,19,maxColorValue=256)
            ,rgb(62,3,79,maxColorValue=256)
            ,rgb(17,126,147,maxColorValue = 256)
            ,rgb(61,255,80,maxColorValue=256))
  output$mapExmpl<-renderLeaflet({
    leaflet()%>%addTiles(
    )%>%
      addLegend("bottomright", colors = colors, labels =labels ,
                title = "Typo",
                opacity = 1
      )
  })


}

shinyApp(ui,server)

2 ответа

У меня такая же проблема. В моем случае настройка CSS легенды решила проблему:

ui <- bootstrapPage( 
  tags$style(type="text/css", "div.info.legend.leaflet-control br {clear: both;}"),
...
)

Одной из причин этого может быть увеличение масштаба веб-страницы, то есть уровень масштабирования более 100%. Убедитесь, что вы не увеличены. Нажмите Control + 0 с клавиатуры, чтобы сбросить масштаб до 100%. Кроме того, попробуйте использовать другой веб-браузер, если проблема не устранена.

У меня была такая же глупая проблема, так как мой браузер был увеличен (>100%).

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