使用 ggplot2 + sf 绘制中国地图

今天就让我来一起学习下使用 ggplot2 和 sf 绘制地图的方法吧!

首先加载相关的 R 包:

# 首先是导入所需的 R 包:
library(ggplot2)
library(sf)
library(tidyverse)
library(hrbrthemes)

读取 chinamap 文件里面的 中国省界.shp 文件保存为 mapdata:

mapdata <- read_sf("chinamap/中国省界.shp")

可以看到 mapdata 是 sf 对象:

# 查看 mapdata 的类别:
class(mapdata)

我们绘制一幅简单的图看一下:

# 绘图
ggplot(mapdata) +
geom_sf()

一幅严谨的中国地图应该有九段线,下面我们再把九段线添加上:

# 国界线
mapborder <- read_sf("chinamap/国界线.shp")
ggplot() +
geom_sf(data = mapdata, aes(geometry = geometry)) +
geom_sf(data = mapborder, aes(geometry = geometry))

更多内容欢迎参加课程学习!

点击这里跳转到 RStata 短书平台获取附件:使用 ggplot2 + sf 绘制中国地图

评论