R语言绘制中国地图:着色省份、标注名称

2022-03-14 14:54:54 浏览数 (1)

本次绘图是对《R语言绘制中国地图:着色省份、标注省份名称地图》中基础地图数据缺失(链接失效)的更新,基础地图数据来源《R语言 地图数据更新(来自高德 阿里云)》

声明:仅供于交流学习,不得用于商业和学术期刊中。

(感觉大地图能让大家更充分认识海洋,特别是南海)

代码语言:javascript复制
library(ggplot2)
library(sf)
library(geojsonsf)
library(RColorBrewer)
## 通过阿里云获得中国地图
# 地图选择器网址 http://datav.aliyun.com/tools/atlas/index.html
map_china = read_sf("https://geo.datav.aliyun.com/areas_v2/bound/100000_full.json")
# 或
# map_china = read_sf("https://geo.datav.aliyun.com/areas_v3/bound/geojson?code=100000_full")


center <- as.data.frame(do.call(rbind,sapply(map_china$center,as.data.frame)))
colnames(center) <- c("lon","lat")
rownames(center) <- c(map_china$name[1:34])


ggplot() 
  geom_sf(data=map_china$geometry,aes(fill=factor(map_china$adcode))) 
  # geom_point(data = center,aes(x=lon,y=lat)) 
  geom_text(data = center,aes(x=lon,y=lat,label=rownames(center)),position = "identity",size=3) 
  labs(title="地图",subtitle="仅用于代码交流学习n不用于学术和是商业",caption = "reference") 
  theme(plot.title = element_text(color="red", size=16, face="bold",vjust = 0.1,hjust = 0.5),
    plot.subtitle = element_text(size=10,vjust = 0.1,hjust = 0.5),
    legend.title=element_blank(),
    legend.position = "none",
    panel.grid=element_blank(),
    panel.background=element_blank(),
    axis.text=element_blank(),
    axis.ticks=element_blank(),
    axis.title=element_blank())

0 人点赞