R語言學(xué)習(xí)記錄:tmap繪制地圖01
使用 tmap 包,可以非常靈活地生成專題地圖。創(chuàng)建繪圖的語法與ggplot2類似,但針對地圖量身定制。這個vignette適合那些想在幾分鐘內(nèi)開始使用 tmap 的人。有關(guān) tmap 的更詳細(xì)描述,請參閱發(fā)表在 Journal of Statistical Software (?JSS?)上的一篇文章。但是,該文章描述了 tmap 版本 1.11-2,該版本已過時。從那時起,已經(jīng)進(jìn)行了一些重大更改,詳見.vignette("tmap-changes")
有關(guān) R 地理功能的更多背景信息,我們推薦使用 R 的 Geocomputation一書的在線版本。本書的使用 R 制作地圖章節(jié)提供了更多的上下文和豐富的地圖制作,和其他包的代碼示例。其他好的資源是sf
包的vignettes。
案例“Hello World!”
World是sf包
中一個空間類對象;它是一個帶有特殊的列的數(shù)據(jù)框,其中每一行都包含一個geometry幾何圖形,在這種多邊形的情況下。為了在 tmap 中繪制它,首先需要使用tm_shape,在這種情況下,可以使用“+”運(yùn)算符添加圖層。tmap 中有很多l(xiāng)ayer函數(shù),可以通過它們的前綴在文檔中輕松找到。另請參閱?'tmap-element'

交互地圖Interactive maps
每張地圖都可以繪制為static image靜態(tài)圖像,也可以分別使用"plot"
和"view"
模式(modes)進(jìn)行交互查看。模式可以通過函數(shù)tmap_mode進(jìn)行設(shè)置,模式之間的切換(toggle)可以通過“開關(guān)”?ttm()進(jìn)行。
(即切換專題圖。

多shapes和多圖層Multiple shapes and layers
shape(形狀)是一個空間對象(具有來自sf
、sp
、stars或
raster的類
)??梢岳L制多個形狀以及每個形狀的多個圖層:

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

2.通過使用tm_facets的by參數(shù)分割空間數(shù)據(jù)
By splitting the spatial data with the by argument of tm_facets:

3.通過使用tmap_arrange
函數(shù):(這個其實(shí)和拼圖一樣了)

底圖和疊加平鋪地圖Basemaps and overlay tile maps
可以使用圖層函數(shù)tm_basemap添加平鋪底圖??梢允褂胻m_tiles添加半透明覆蓋圖(例如注釋標(biāo)簽annotation labels)。
可以在這個網(wǎng)站上查看可用的底圖樣式,把對應(yīng)的字符名稱替換一下即可
https://leaflet-extras.github.io/leaflet-providers/preview/

選項(xiàng)和風(fēng)格Options and styles
函數(shù)tm_layout
和tm_view
分別用于指定地圖布局和交互方面。這些函數(shù)可以以與層函數(shù)相同的方式使用,例如

這些選項(xiàng)以及其他幾個選項(xiàng)也可以在tmap_options中設(shè)置,其工作方式與基本 R 函數(shù)options()相同。主要優(yōu)點(diǎn)是這些選項(xiàng)是全局設(shè)置的,因此在會話期間不必在每個映射中指定它們。

style是 tmap 選項(xiàng)的特定配置

可以創(chuàng)建新樣式;見?tmap_options
。
導(dǎo)出地圖
Shiny integration
See??renderTmap
?for a working example.
快速專題圖

Tips ’n Tricks
總結(jié):目前來看,感覺tmap比ggplot方便不少,省去了轉(zhuǎn)換數(shù)據(jù)框,自帶的主題style也很好看。