1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
library(shiny)
library(plotly)
ui <- fluidPage(
selectInput("color", "Canada's fillcolor", colors(), selected = "black"),
plotlyOutput("map")
)
server <- function(input, output, session) {
output$map <- renderPlotly({
map_data("world", "canada") %>%
group_by(group) %>%
plot_mapbox(x = ~long, y = ~lat, color = I("black")) %>%
add_polygons() %>%
layout(
mapbox = list(
center = list(lat = ~median(lat), lon = ~median(long))
)
)
})
observeEvent(input$color, {
plotlyProxy("map", session) %>%
plotlyProxyInvoke(
"restyle", list(fillcolor = toRGB(input$color))
)
})
}
shinyApp(ui, server)
|