前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ggmapinset!这个工具绘制子地图真的太方便~~

ggmapinset!这个工具绘制子地图真的太方便~~

作者头像
DataCharm
发布2023-08-23 10:26:37
2300
发布2023-08-23 10:26:37
举报

今天给大家推荐一个非常好用的大小地图绘制工具-ggmapinset,让大家以后可以快速的绘制子地图。

简介

ggmapinset是R语言中的一个包,它是基于ggplot2和ggmap包的扩展,用于在地图上添加缩略图。该包提供了一种简单的方法,可以在一个图形中同时显示主地图和缩略图,从而方便用户进行比较和分析。

安装方法

可以使用以下命令在R中安装ggmapinset包:

代码语言:javascript
复制
install.packages("ggmapinset")

特点

  • 提供了一种简单的方法,可以在一个图形中同时显示主地图和缩略图。
  • 可以根据需要调整缩略图的大小和位置。
  • 可以添加标签和注释,提高图形的可读性。

主要绘图函数

  • geom_inset_frame():为添加子地图添加一个dataframe和连接线;
  • geom_sf_inset():绘制需要作为子图的sf地图对象;

绘制案例

  • 案例一:嵌入层的数据美学映射
代码语言:javascript
复制
library(ggmapinset)
library(ggplot2)
nc <- sf::st_read(system.file("shape/nc.shp", package = "sf"), quiet = TRUE)
ggplot(nc) +
  # this is equivalent to the following line:
  # geom_sf_inset(fill = "white", map_inset = "none") +
  geom_sf(fill = "white") +
  geom_sf_inset(aes(fill = AREA), map_base = "none") +
  geom_inset_frame() +
  coord_sf_inset(inset = configure_inset(
    centre = sf::st_centroid(sf::st_geometry(nc)[nc$NAME == "Bladen"]), scale = 1.5,
    translation = c(-180, -50), radius = 50, units = "mi"))

Example01 of ggmapinset

  • 案例二:内嵌图层背景颜色设置
代码语言:javascript
复制
ggplot(nc) +
  geom_sf(aes(fill = AREA)) +
  geom_inset_frame(target.aes = list(fill = "white")) +
  geom_sf_inset(aes(fill = AREA), map_base = "none") +
  coord_sf_inset(inset = configure_inset(
    centre = st_centroid(st_geometry(nc)[nc$NAME == "Yancey"]), scale = 2,
    translation = c(100, -120), radius = 50, units = "mi"))

Example02 of ggmapinset

  • 案例三:多个子地图绘制
代码语言:javascript
复制
inset1 <- configure_inset(
  centre = sf::st_centroid(sf::st_geometry(nc)[nc$NAME == "Bladen"]), scale = 1.5,
  translation = c(150, -50), radius = 50, units = "mi")
inset2 <- configure_inset(
  centre = sf::st_centroid(sf::st_geometry(nc)[nc$NAME == "Orange"]), scale = 3,
  translation = c(30, 120), radius = 30, units = "mi")

ggplot(nc) +
  # base map
  geom_sf_inset() +
  # inset 1
  geom_sf_inset(map_base = "none", inset = inset1) +
  geom_inset_frame(inset = inset1, colour = "red") +
  # inset 2
  geom_sf_inset(map_base = "none", inset = inset2) +
  geom_inset_frame(inset = inset2, colour = "blue")

Example03 of ggmapinset

更多案例和其他ggmapinset包中的其他函数,可参考:ggmapinset包官网[1]

总结

ggmapinset 是一个非常有用的R包,它可以在地图上添加缩略图,提高图形的可读性。该包提供了一些简单的函数,可以方便地调整缩略图的大小和位置,并添加标签和注释。如果您需要在地图上显示多个区域的数据,那么ggmapinset是一个值得尝试的工具。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-05-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DataCharm 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 安装方法
  • 特点
  • 主要绘图函数
  • 绘制案例
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档