ggplot sf_geom создает пользовательскую границу между несколькими областями - PullRequest
0 голосов
/ 09 июля 2019

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

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 цветов).

1 Ответ

0 голосов
/ 10 июля 2019

Решение отредактировано в оригинальном сообщении:

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() 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...