首页 > 解决方案 > 在 R 中分配“父”调色板

问题描述

我正在使用 Leaflet 创建地图。您会注意到,在第一步中,我将每个县分为四个不同的“区域”。然后,我将它加入到每个自定义“区域”内较小区域的另一个地理文件中。如果我希望每个区域都有不同的调色板怎么办?所以让我们说:

1 = 红色

2 = 蓝色

3 = 绿色

4 = 橙色

所以现在,不仅每个区域将根据其分配的颜色进行着色,而且这些区域内的“区域”也将采用该颜色,并且填充值也将根据权重进行填充。

library(tigris)
library(sf)
library(dplyr)

ct_counties <- tigris::counties("Connecticut") %>% st_as_sf() %>% mutate(region = case_when(COUNTYFP %in% c('001','005') ~ 1,
                                                                                  COUNTYFP %in% c('009','003') ~ 2,
                                                                                  COUNTYFP %in% c('007','013') ~ 3,
                                                                                  COUNTYFP %in% c('011','015') ~ 4))

ct_districts <- tigris::voting_districts("Connecticut") %>% st_as_sf()

ct_all <- ct_districts %>% st_join(ct_counties, by = "COUNTYFP10") %>% mutate(pop = sample(1000:10000, n(), replace = TRUE))


bins <- c(0, 10, 20, 50, 100, 200, 500, 1000, Inf)
pal <- colorBin("red", domain = ct_all$pop, bins = bins)

leaflet(ct_all) %>% addPolygons(fillColor = ~pal(pop),
                                weight = 4,
                                opacity = 1,
                                color = "white",
                                dashArray = "3",
                                fillOpacity = 0.7)

标签: rleafletr-leaflet

解决方案


推荐阅读