ggplot sf_geom создает настраиваемую границу между несколькими областями

Я хочу создать границу между несколькими частями моей карты, как этот ответ:

https://stackoverflow.com/a/49523256/9829458

Однако в моем R. Это не работает. Была нарисована только внешняя граница этой карты. И когда я использую этот код в своем наборе данных, у меня такая же проблема ...

Мои данные :

city_code  Name   Long Lat    Groups
   <chr> <chr>     <dbl>    <dbl> <dbl>
 1 34001 ABEI…   724751. 6262333.     9
 2 34002 ADIS…   734961. 6270688.    10
 3 34003 AGDE    739245. 6245728.     7
 4 34004 AGEL    688135. 6249905.     4
 5 34005 AGON…   758530. 6311345.    20
 6 34006 AIGNE   683215. 6247000.     4
 7 34007 AIGU…   685638. 6249976.     4
 8 34008 LES …   705573. 6274482.     6
 9 34009 ALIG…   727555. 6263258.     9
10 34010 ANIA…   747789. 6287511.    18

Моя карта:

read_sf("Map.shp")  %>%  
   mutate(Groups = as.factor(Groups)) %>% 
   mutate(Groups = factor(Groups, levels = c(paste0(1:23)))) %>%
   ggplot() + 
      geom_sf(aes(fill = Groups)) + 
      theme_bw()

Итак, в моем случае я хочу нарисовать границу «Группы» на моей карте, но при этом видеть границу городов (и сохранить fill = Groups цвета).


person thomas leon    schedule 09.07.2019    source источник


Ответы (1)


Решение было отредактировано в исходном посте:

read_sf("Map.shp")  %>%  
mutate(Groups = as.factor(Groups)) %>% 
        mutate(Groups = factor(Groups, levels = c(paste0(1:23)))) %>%
      ggplot() +
        geom_sf(aes(fill = Groups),  size = 0.4) +
        geom_sf(fill = "transparent", color = "Black", size = 1, data = . %>% group_by(Groups) %>% summarise()) +
        theme_bw() 
person thomas leon    schedule 10.07.2019