tmap是用来绘制地图的R程序包,作者是荷兰统计学家Martijn Tennekes (https://github.com/mtennekes/tmap)。tmap结合sf、sp等程序包,绘制设色地图、点分布图、栅格图等十分方便,本博客以前也有介绍。
不过,tmap在绘制复杂的采样点分布图时,默认的图例往往不太理想。tmap用点的形状、颜色分别表示采样点的类型(如森林、湿地、草原),用大小表示数量(物种丰富度等),此时,形状、颜色和大小三个维度是分开的,图例也默认相应分开,而这并不是用户想要的,因此需要对代码进行修改。
本文给出一些示例代码,主要参考Xu S. et al. (2020)论文和附件。相应数据和代码可在 https://github.com/helixcn/ecoinformatics 下载。
读取数据
图中需要有指北针和比例尺,要求用蓝色实心三角,表示森林(forest);绿色实心圆点,表示草地(grassland);藕荷色实心菱形,表示湿地(wetland)。
1 | setwd("/Users/jinlong/Documents/ecoinformatics/2020-11-29_tmap/") |
绘制采样点分布图
默认情况下,地图的图例有三种,分别按照颜色、形状和大小给出。
1 | ## 01 |
更改图例后的地图
用tm_add_legend手工调整:
1 | tm_add_legend( |
更改后的代码:
1 | # 02map02 <- tm_shape(world) + |
附:绘制欧洲部分的地图
1 | # 03map03 <- tm_shape(world, |
1 | ## 4 inches by 5 inches, 400dpi |
参考:
- Xu, S., Eisenhauer, N., Ferlian, O., Zhang, J., Zhou, G., Lu, X., Liu, C., & Zhang, D. (2020). Species richness promotes ecosystem carbon storage: Evidence from biodiversity-ecosystem functioning experiments. Proceedings of the Royal Society B, 287(1939), 20202063. (https://doi.org/10.1098/rspb.2020.2063)
- Tennekes M (2018). “tmap: Thematic Maps in R.” Journal of Statistical Software, 84(6), 1-39. doi: 10.18637/jss.v084.i06 (https://doi.org/10.18637/jss.v084.i06).