R绘制地图的话,大多数用到的包都是maptools,用来读取phd文件,phd文件需要自己提前下载到工作目录,但是大多数phd文件都不能精确到市区。只能绘制声级,国家级和世界地图。
本文以武汉是举例。首先在下列网站地图选择器https://datav.aliyun.com/tools/atlas/index.html找到要绘制的区域,注意不能精确到具体街道,并选择下载json文件
。
接着将保存的json文件转换成phd文件,推荐使用mapshaperhttps://mapshaper.org/Export导出Shapefile格式(phd)。
然后就可以在R中操作了,具体代码如下
#BiocManager::install("sf")
library(sf)
library(ggplot2)
library(showtext)
options(scipens=50)
showtext_auto(enTable = T)
dat=sf::read_sf("./wuhan.shp")
p=ggplot(data = dat,aes(x=xf,y = yf,fill = name))+geom_sf()+theme_classic()+geom_text(aes(x=xf,y=yf,label = name))+theme(axis.text.x = element_text(size = 20),axis.text.y = element_text(size = 20),legend.position = "none")+xlab("")+ylab("")+scale_fill_manual(values = colors)
ggsave(p,filename = "wuhan.pdf",width = 20,height = 18)
注意phd文件所在目录必须是英文命名,xf,yf代表地区所在经纬度,具体经纬度可以谷歌,百度查询。