Вот данные для воспроизведения выборки округов, используемых на моей карте:
packages <- c('dplyr','leaflet','sf','USAboundaries')
lapply(packages, library, character.only = TRUE)
ca_counties <- USAboundaries::us_counties(states = 'CA')
parcels <- structure(list(county = c("Yuba", "Sacramento", "Inyo"), num.parcels = c(27797L,
452890L, 6432L)), row.names = c(NA, -3L), class = "data.frame")
parcels <- st_as_sf(left_join(parcels, ca_counties[,c('name')], by = c("county" = "name")))
Вот код для создания моей карты:
bins <- c(1, 10000, 50000, 100000, 500000, 600000)
pal <- colorBin("Blues", domain = parcels$num.parcels, bins = bins)
labels <- sprintf(
"<strong>%s County</strong><br/>
Parcels: %g<br/>",
parcels$county, parcels$num.parcels
) %>% lapply(htmltools::HTML)
leaflet(parcels) %>%
setView(-119, 37.9, 6) %>%
addTiles() %>%
addPolygons(
fillColor = ~pal(num.parcels),
weight = 2,
opacity = 1,
color = 'black',
dashArray = '2',
fillOpacity = 0.7,
highlightOptions = highlightOptions(color = "red", weight = 3,
bringToFront = TRUE),
label = labels,
labelOptions = labelOptions(
style = list("font-weight" = "normal", padding = "4px 8px"),
textsize = "15px",
direction = 'auto')) %>%
addLegend(pal = pal, values = ~num.parcels, opacity = 0.7, title = "Number of Parcels",
position = "bottomleft")
В результате получается листовка, где при наведении курсора на графство отображается количество посылок для этого округа. Я хотел бы, чтобы эти числа были отформатированы запятыми, например, «6432» вместо «6432».
Я пробовал несколько решений. Сначала я попытался изменить оператор sprintf, который определяет метки, чтобы увидеть, есть ли способ получить числа, отформатированные запятыми. Во-вторых, он попытался запустить:
parcels$num.parcels <- format(parcels$num.parcels, big.mark = ',')
Это позже вызывает проблемы при запуске кода листовки, потому что переменная больше не числительная c. В-третьих, я попытался выяснить, есть ли способ сделать это непосредственно в операторе labelOptions, но не смог найти никакого способа сделать это.