Элементы Leaflet Legend не отображаются правильно (выровнены) в Shiny

Я рендерил некоторые листовки с картами в своем блестящем приложении, и проблема в том, что легенда карты отображается неправильно, а элементы легенды выровнены очень странно (изображение 2). Я создаю ту же карту в R studio и в Rstudio Viewer, выравнивание элементов легенды является правильным (изображение 1).
Я пытался использовать теги CSS в своем блестящем коде для настройки легенды, но ничего не работает.

Вот как выглядит легенда в программе просмотра, когда я создаю карту листовки в rstudio

Вот так это выглядит в браузере через блестящее приложение

Вот пример кода, чтобы показать, как я рисую листовки (а также примеры тегов CSS, которые я пробовал). Я не знаю, почему элементы отображаются так. Я был бы очень признателен за вашу помощь в этом.

...
tabPanel("plot", 
  tagList(
    tags$head(
      tags$style(
         ".leaflet .legend {width:200px; text-align: left;}",
         ".leaflet .legend i{float: left;}",
         ".leaflet .legend label{float:left; text-align: left;}"
       )
     )
  ),

  leafletOutput("leaflet_plot", width = 800, height = 550)
)
...

# code to create leaflet
output$leaflet_plot <- renderLeaflet({
  pal <- c("#F1F1F1", brewer.pal(5, "YlOrBr"))
  opts <- providerTileOptions(opacity = 0)
  map <- leaflet(shape_file) %>% addProviderTiles("CartoDB.PositronNoLabels", options = opts)
  map <- map %>% addPolygons(fillColor = ~colorFactor(pal, shape_file$var)(var)
  map <- map %>% addLegend("bottomleft", title = "Employment/Acre", pal = colorFactor(pal, NULL), values = ~var)
  map
})

Спасибо,
Ashish

2 ответа

Добавление этого правила CSS сработало для меня на карте-листовке внутри отчета-кварто.

      .info.legend.leaflet-control i {
  float: left;
}

На вашем месте я бы открыл ваше блестящее приложение в браузере, щелкнул правой кнопкой мыши по плохо отформатированной легенде и выбрал «проверить». Вы можете поиграть с CSS, пока не заставите его работать в вашем случае. Обратите внимание на альтернативный трюк с CSS в этом дублирующем посте .

Это может произойти, если уровень масштабирования браузера превышает 100%. Посмотрите на этот повторяющийся пост с воспроизводимым примером.

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