renderLeaflet: легенда не отображается в блестящем - PullRequest
0 голосов
/ 04 ноября 2018

Используя renderLeaflet (следующие коды), я пытаюсь создать интерактивную карту в пределах блеска. Я хочу, чтобы карта обновлялась в зависимости от выбора пользователя по возрастной группе, полу и году. Когда выбрана возрастная группа 60 лет и пол = оба пола и год = 2010, все выглядит великолепно ( см. Этот снимок экрана ). Однако при выборе других возрастных групп легенда остается неизменной и не отображается ( См. Второй снимок экрана ). Вот мой код:

mapdata_ <- reactive ({

    nhmap$Per <- round(nhmap$Per, 1) 

    out_map <- nhmap %>%
        filter (
            Age_Group %in% input$Age_Group_map,
            Sex %in% input$sex_map,
            Year %in% input$Year_map)

    return(out_map)
})

output$int_map <- renderLeaflet ({

    leaflet (mapdata_(),
             pal8 <- c("#FFFFE5", "#D9F0A3", "#78C679", "#006837") ,
             pal <- colorBin(palette = pal8, domain = nhmap$Per, bins=4, right =FALSE, na.color = "#808080",  alpha = FALSE, reverse = F)
            ) %>%

    addProviderTiles("CartoDB.Positron") %>% 
    clearControls() %>%
    clearShapes()%>%
    addPolygons(fillColor = ~pal(Per),
                stroke=T,
                weight=1,
                smoothFactor=0.2,
                fillOpacity = 1,
                color="black",
                popup=~paste(NAME,"<br>",input$sex_map,
                    input$Age_Group_map,"=",Per,"%"),
                highlightOptions = highlightOptions(color = "red",
                    weight = T,
                    bringToFront = T),
                label=~NAME) %>%
    addTiles() %>%
    setView(-82.706838, 40.358615, zoom=7) %>%
    addLegend(position = "bottomright",
        values = ~pal(Per),
        pal = pal,
        title = (paste("%",input$Age_Group_map, input$sex_map, "in", input$Year_map)) ,
        labFormat = labelFormat())
})
...