Dynamically update legend using Shiny
update_legend(proxy)
a proxy as returned by datamapsProxy
.
# NOT RUN {
library(shiny)
ui <- fluidPage(
actionButton(
"show",
"Show legend"
),
datamapsOutput("map")
)
server <- function(input, output){
states <- data.frame(st = c("AR", "NY", "CA", "IL", "CO", "MT", "TX"),
val = c(10, 5, 3, 8, 6, 7, 2))
output$map <- renderDatamaps({
states %>%
datamaps(scope = "usa", default = "lightgray") %>%
add_choropleth(st, val)
})
observeEvent(input$update, {
datamapsProxy("map") %>%
update_legend() # update
})
}
shinyApp(ui, server)
# }
# NOT RUN {
# }
Run the code above in your browser using DataLab