Dynamically update legend using Shiny

update_legend(proxy)

Arguments

proxy

a proxy as returned by datamapsProxy.

Examples

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