mapsf —— 创建精美的主题地图
mapsfThematic cartography with R项目地址:https://gitcode.com/gh_mirrors/ma/mapsf
mapsf 是一个用于在R环境中设计和集成主题地图的开源包。它提供了一系列的功能,包括绘制比例符号、 choropleth(颜色梯度图)或typology(分类)地图等。此外,它还支持添加布局元素以提升地图的图形展示效果,如比例尺、指北针、标题和标签。这个包直接在base
图形系统上操作sfc
对象。
安装
你可以从CRAN稳定版安装mapsf:
install.packages("mapsf")
或者,如果你想使用开发版本,可以从GitHub上获取dev分支:
remotes::install_github("riatelab/mapsf", ref = "dev")
使用示例
以下是一个基本的使用例子,展示了如何使用mapsf
创建地图。主要的绘图函数是mf_map()
。
library(mapsf)
# 导入样本数据
mtq <- mf_get_mtq()
# 绘制基础地图
mf_map(x = mtq)
# 绘制比例符号
mf_map(x = mtq, var = "POP", type = "prop", leg_pos = "topright")
# 创建地图布局
mf_layout(
title = "Martinique的人口",
credits = "T. Giraud; 数据来源:INSEE & IGN, 2018"
)
这段代码将生成一张带有比例符号的地图,并添加了标题和数据来源说明。
更复杂的例子则可以包含更多的地图细节:
# 设置主题并扩展边距
mf_theme("green")
mf_export(
x = mtq, filename = "mtq.png",
width = 600, res = 120,
expandBB = c(0, 0, 0, .3)
)
# 添加阴影
mf_shadow(mtq, col = "grey10", add = TRUE)
# 绘制Choropleth地图
mf_map(
x = mtq, var = "MED", type = "choro",
pal = "Dark Mint",
breaks = "quantile",
nbreaks = 6,
leg_title = "中位收入\n(欧元)",
leg_val_rnd = -2,
add = TRUE
)
# 开始内嵌地图
mf_inset_on(x = "worldmap", pos = "right")
# 在世界地图上显示位置
mf_worldmap(mtq, col = "#0E3F5C")
# 关闭内嵌
mf_inset_off()
# 添加标题
mf_title("2015年马丁尼克的财富分布")
# 添加数据来源
mf_credits("T. Giraud\n数据来源:INSEE & IGN, 2018")
# 添加比例尺
mf_scale(size = 5)
# 添加指北针
mf_arrow("topleft")
# 关闭当前图形设备
dev.off()
这段代码将创建一个包含内嵌世界地图的复杂地图,展示了马丁尼克地区的财富分布情况。
资源与社区
你可以访问以下资源来深入学习和使用mapsf:
- Cheat Sheet - 快速参考指南
- Website - 官方网站,包含详细文档和教程
此外,你还可在以下场合找到关于mapsf的分享:
- useR 2021! 视频演示及幻灯片链接
- FOSS4G 2021 视频演示及幻灯片链接
如果你已经使用过cartography包,但想转用更强大的mapsf,可以查看**迁移指南**。
替代方案
如果你对其他R地图库感兴趣,可以考虑以下几个选项:
- cartography - 已被mapsf取代,但仍在维护中
- tmap - 高级地图制图工具
- ggplot2 + ggspatial - 基于ggplot2的地理空间可视化
mapsf遵循社区最佳实践,欢迎所有人通过拉取请求贡献代码,或在问题区提出建议或问题。项目遵循Conventional Commits和Semantic Versioning规范。
现在就加入mapsf的世界,探索更多精彩的地图制作可能性吧!
mapsfThematic cartography with R项目地址:https://gitcode.com/gh_mirrors/ma/mapsf