r - leaflet: Annotating numeric variable on the map -


i made plot

enter image description here

with following code.

library(xml) library(ggplot2) library(scales) library(plyr) library(maps)  unemp <-   readhtmltable('http://www.bls.gov/web/laus/laumstrk.htm',                 colclasses = c('character', 'character', 'numeric'))[[2]]  names(unemp) <- c('rank', 'region', 'rate') unemp$region <- tolower(unemp$region)  us_state_map <- map_data('state') map_data <- merge(unemp, us_state_map, = 'region')  map_data <- arrange(map_data, order)  states <- data.frame(state.center, state.abb)  p1 <- ggplot(data = map_data, aes(x = long, y = lat, group = group)) p1 <- p1 + geom_polygon(aes(fill = cut_number(rate, 5))) p1 <- p1 + geom_path(colour = 'gray', linestyle = 2) p1 <- p1 + scale_fill_brewer('unemployment rate (jan 2011)', palette  = 'set1') p1 <- p1 + coord_map() p1 <- p1 + geom_text(data = states, aes(x = x, y = y, label = state.abb, group = null), size = 2) p1 <- p1 + theme_bw() p1 

now want reproduce same plot leaflet r package.

library(leaflet)  leaflet(data = map_data) %>%    setview(lng = -77.0167, lat = 38.8833, zoom = 4) %>%    addtiles() 

i'd highly appreciate if guide how annotate rate map_data data.frame on map leaflet geom_polygon did in ggplot2 version. highly appreciated. thanks

maybe here's 1 way starting point:

mapstates = map("state", fill = true, plot = false) rates <- cut_number(unemp$rate[match(sub("(.*?):.*", "\\1", mapstates$names), unemp$region)], 5)   leaflet(data = mapstates) %>% addtiles() %>%       addpolygons(fillcolor = brewer_pal(palette = "set1")(8)[as.numeric(rates)], stroke = false) %>%       addlegend(colors = brewer_pal(palette = "set1")(nlevels(rates)), labels = levels(rates), opacity = .2)  

enter image description here


add:

with regards other question:

library(raster) pakistan.adm2.spdf <- getdata("gadm", country = "pakistan", level = 2) rates <- cut_number(unemployment.df$unemployment[match(pakistan.adm2.spdf@data$name_2, unemployment.df$id)], 5) leaflet(pakistan.adm2.spdf) %>% addtiles() %>%    addpolygons(fillcolor = brewer_pal(palette = "purd")(nlevels(rates))[as.numeric(rates)], stroke = false, fillopacity = .6) %>%    addlegend(colors = brewer_pal(palette = "purd")(nlevels(rates)), labels = levels(rates), opacity = .6) %>%   setview(lng = 69.374268, lat = 30.028617, zoom = 5) 

enter image description here


Comments

Popular posts from this blog

OpenCV OpenCL: Convert Mat to Bitmap in JNI Layer for Android -

python - How to remove the Xframe Options header in django? -

android - org.xmlpull.v1.XmlPullParserException: expected: START_TAG {http://schemas.xmlsoap.org/soap/envelope/}Envelope -