在SF图中按颜色单位显示

时间:2019-07-05 09:44:24

标签: r ggplot2 dplyr sf

我对您有技术问题:

我在一个区域中有几个城市的文件

library(dplyr)
library(ggplot2)
library(sf)

    read_sf("cities.shp")  %>% 
      ggplot() +  geom_sf() + theme_bw() 

我的shp看起来像这样:

   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

我想要一张带有城市的地图,还想要一张城市分组(变量分组)的地图。因此,同一组中的我的城市将被一组分组(例如红色)包围。我想展示我的城市并展示我的团体。我还想知道是否可以使用透明效果为组着色,以便我们可以看到下面的公社边界。

谢谢

1 个答案:

答案 0 :(得分:0)

所以,这很简单...

像其他geom_x代码一样,我们可以使用arg fill =

 (test <- 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() )

全部,Thx!