renderLeaflet:图例不会以闪亮的形式呈现

时间:2018-11-04 04:44:07

标签: r shiny legend r-leaflet

使用renderLeaflet(以下代码),我试图在Shiny中创建一个交互式地图。我希望根据年龄,性别和年份的用户选择来更新地图。如果选择了年龄组= 60,性别=性别,年份= 2010,则一切看起来都很不错(please see this screen shot)。 但是,当选择其他年龄组时,图例将保持不变并且不会呈现(Please see the second screen shot)。 这是我的代码:

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

0 个答案:

没有答案