使用 R 语言绘制全球各国市级(二级)行政区划地图数据 & 代码

数据资料仅作为赠品,不单独出售,请勿购买。

最近争取把所有的地图数据和绘制代码分享给大家,今天给大家分享的是使用 R 语言绘制世界各国、各地区二级行政区划地图的代码和地理数据。合计 256 份。

这 256 份地图数据均由代码自动生成,每一份地图数据包含如下内容:

  • 1 个 geojson 文件:GEOJSON 数据;
  • 1 个 R 文件:R 绘制使用该地图数据绘制地图的示例代码;
  • 1 个 pdf 文件:R 语言绘制的效果预览,由于图片是自动生成的,所以比较粗糙。

为了方便大家使用,我为每份数据都准备了一段使用示例代码,例如 India 地图里面的 India.R 文件的内容为:

# India 二级行政区划地图的绘制方法
# 欢迎关注微信公众号 RStata 获取更多 R 语言相关的学习资料和资源!
# 作者:微信 r_stata
# 注意:运行代码前请记得把工作目录设置为 India.geojson 文件所在的文件夹。

# 安装 R 包(如果没有装的话)
install.packages("tidyverse")
install.packages("ggplot2")
install.packages("sf")
install.packages("hrbrthemes")

# 加载 R 包
library(tidyverse)
library(sf)
library(hrbrthemes)

# 读取地图数据
read_sf("India.geojson") -> da

# 生成 pop 变量:1-80 的随机分布
# 将 pop 切分成分组变量
da %>%
mutate(pop = runif(nrow(da), 1, 80),
pop = cut(pop, breaks = 0:8 * 10)) -> da

# 将 pop 变量填充到地图上
ggplot(da) +
geom_sf(aes(fill = pop), size = 0.05, color = "white") +
scale_fill_viridis_d(option = "A") +
theme_modern_rc() +
labs(title = da$NAME_0[1])

只要把工作目录切换至 India.geojson 文件所在的文件夹就可以运行上面的代码了,运行之后就可以得到这样的一张地图了:

最后这些数据加在一起就可以构成全球的地图了!

注意事项

  1. 分享的数据包里面的中国相关的地图都是不准确的(不仅仅是中国的,例如印度的),考虑数据的完整性没有删除,但是请勿使用;
  2. geojson 格式的数可以使用 GIS 软件编辑,因此即使你不使用 R 语言,这份数据大礼包依然是非常有用的;
  3. 标题所说的市级行政区划是针对中国的,更准确的说法应该是二级区划。

点击这里跳转到 RStata 短书平台获取附件:使用 R 语言绘制全球各国市级(二级)行政区划地图数据 & 代码

评论