R语言学习记录:tmap绘制地图01
使用 tmap 包,可以非常灵活地生成专题地图。创建绘图的语法与ggplot2类似,但针对地图量身定制。这个vignette适合那些想在几分钟内开始使用 tmap 的人。有关 tmap 的更详细描述,请参阅发表在 Journal of Statistical Software ( JSS )上的一篇文章。但是,该文章描述了 tmap 版本 1.11-2,该版本已过时。从那时起,已经进行了一些重大更改,详见.vignette("tmap-changes")
有关 R 地理功能的更多背景信息,我们推荐使用 R 的 Geocomputation一书的在线版本。本书的使用 R 制作地图章节提供了更多的上下文和丰富的地图制作,和其他包的代码示例。其他好的资源是sf
包的vignettes。
案例“Hello World!”
World是sf包
中一个空间类对象;它是一个带有特殊的列的数据框,其中每一行都包含一个geometry几何图形,在这种多边形的情况下。为了在 tmap 中绘制它,首先需要使用tm_shape,在这种情况下,可以使用“+”运算符添加图层。tmap 中有很多layer函数,可以通过它们的前缀在文档中轻松找到。另请参阅?'tmap-element'

交互地图Interactive maps
每张地图都可以绘制为static image静态图像,也可以分别使用"plot"
和"view"
模式(modes)进行交互查看。模式可以通过函数tmap_mode进行设置,模式之间的切换(toggle)可以通过“开关” ttm()进行。
(即切换专题图。

多shapes和多图层Multiple shapes and layers
shape(形状)是一个空间对象(具有来自sf
、sp
、stars或
raster的类
)。可以绘制多个形状以及每个形状的多个图层:

分面
有三种方法分面:
1.通过分配多变量名到一个映射中
By assigning multiple variable names to one aesthetic (in this example the first argument of tm_polygons
:

2.通过使用tm_facets的by参数分割空间数据
By splitting the spatial data with the by argument of tm_facets:

3.通过使用tmap_arrange
函数:(这个其实和拼图一样了)

底图和叠加平铺地图Basemaps and overlay tile maps
可以使用图层函数tm_basemap添加平铺底图。可以使用tm_tiles添加半透明覆盖图(例如注释标签annotation labels)。
可以在这个网站上查看可用的底图样式,把对应的字符名称替换一下即可
https://leaflet-extras.github.io/leaflet-providers/preview/

选项和风格Options and styles
函数tm_layout
和tm_view
分别用于指定地图布局和交互方面。这些函数可以以与层函数相同的方式使用,例如

这些选项以及其他几个选项也可以在tmap_options中设置,其工作方式与基本 R 函数options()相同。主要优点是这些选项是全局设置的,因此在会话期间不必在每个映射中指定它们。

style是 tmap 选项的特定配置

可以创建新样式;见?tmap_options
。
导出地图
Shiny integration
See ?renderTmap
for a working example.
快速专题图

Tips ’n Tricks
总结:目前来看,感觉tmap比ggplot方便不少,省去了转换数据框,自带的主题style也很好看。