ggplot2 | 使用ggplot2工具包绘制地图

公告:本号的“地理计算与分析专辑”已经更名为“地理制图与分析专辑”,原先关注该专辑的读者需要重新关注下。

ggplot2工具包用于绘制地图的有如下几个函数:

  • geom_sf

  • coord_sf

  • geom_map

  • coord_map

  • stat_sf

  • geom_sf_text

  • geom_sf_label

这些函数中,最常用的是前两个函数,本篇就来介绍这两个函数。

加载相关工具包和示例数据:

library(ggplot2)
library(patchwork)
library(sf)
library(RColorBrewer)
library(tidyverse)
data <- socviz::county_data
albersusa::counties_sf(proj = "laea") %>%
  mutate(fips = as.character(fips)) %>%
  left_join(data, by = c("fips" = "id")) -> usa

使用geom_sf()绘制地图:

map <- ggplot(usa) +
  geom_sf(aes(fill = log(pop, 10))) +
  scale_fill_stepsn(colours = brewer.pal(4, "Spectral"),
                    breaks = c(4, 5, 6),
                    name = "pop",
                    label = c(expression(10^4, 10^5, 10^6))) +
  theme_bw()
map
9242410dd5e35825ebeb0969f5056b59.png
  • geom_sf()函数与其他几何图形函数的使用方法类似,区别在于其不用指定xy变量。

coord_sf()函数用于地图的投影转换:

map + coord_sf(crs = 2345)
2fcaaee413d6306877aa811eaf44ac57.png 上图只是随便指定了一个投影坐标,更多投影坐标的EPSG代码可以在http://epsg.io/上进行查询。 查询界面:
45449ca7e8955f8c60408dfcfa447b3e.png 查询结果: 23a2aec4ec3f4fa9d431c5d29ead0fe0.png
map + coord_sf(crs = 8826)
5166e6bd2e51b2b4a044225e1c70a48a.png

相关阅读

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值