我正在尝试为爱荷华州的县制作一张Choropleth地图。我从网上下载了地图数据
https://geodata.iowa.gov/dataset/county-boundaries-iowa/resource/183e782f-2d43-4073-8524-fe8e634cf17a
我确实得到了一张地图,但它是统一的,而不是我从R brewer palletes中选择的颜色,也没有根据数据进行区分-
library(shiny)
library(shinydashboard)
library(ggplot2)
library(DT)
library(plotly)
library(leaflet)
library(sf)
library(geojsonio)
mymap = st_read("county.shp")%>% st_transform(crs = 4326)
bins <- c((mean(mymap$AREA)-2*sd(mymap$AREA)), (mean(mymap$AREA)-1*sd(mymap$AREA)), (mean(mymap$AREA)),(mean(mymap$AREA)+1*sd(mymap$AREA)),(mean(mymap$AREA)+2*sd(mymap$AREA)))
pal <- colorBin("YlOrRd", domain = mymap$AREA, bins = bins)
bins_1 <- c((mean(mymap$PERIMETER)-2*sd(mymap$PERIMETER)), (mean(mymap$PERIMETER)-1*sd(mymap$PERIMETER)), (mean(mymap$PERIMETER)),(mean(mymap$PERIMETER)+1*sd(mymap$PERIMETER)),(mean(mymap$PERIMETER)+2*sd(mymap$PERIMETER)))
pal_1 <- colorBin("YlOrRd", domain = mymap$PERIMETER, bins = bins_1)
######################Shiny Dashboard############################################
sidebar <- dashboardSidebar(
)
body <- dashboardBody(
leafletOutput("myplot")
)
ui <- dashboardPage(
dashboardHeader(title = "My shiny app"),
sidebar = sidebar,
body = body
)
server <- function(input, output, session) {
output$myplot = renderLeaflet({leaflet(mymap)%>%addProviderTiles("CartoDB")%>%
addTiles(group = "OSM (default)")%>%addPolygons(fill = 0, weight = 1, color = "#000000",group = "Base Map")%>%
addPolygons(fill = ~pal(AREA), weight = 1,group = "Area")%>%
addLegend(pal = pal, values = ~AREA, opacity = 0.7, title = NULL,
position = "bottomright")%>%
addPolygons(fill = ~pal_1(PERIMETER), weight = 1,group = "Perimeter")%>%
addLegend(pal = pal_1, values = ~PERIMETER, opacity = 0.7, title = NULL,
position = "bottomright")%>%
addLayersControl(baseGroups = c("Base Map", "Area","Perimeter"))})
}
shinyApp(ui, server)