GIS | R 数据可视化:tmap包

Posted Isaiah

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GIS | R 数据可视化:tmap包相关的知识,希望对你有一定的参考价值。

当前浏览器不支持播放音乐或语音,请在微信或其他浏览器中播放 GIS | R 数据可视化:tmap包

在这行第一个字前面插入音乐,然后删除文字


GIS | R 数据可视化:tmap包

tmap的创建克服了基本图形和ggmap的一些限制。vignette函数可以访问tmap的简明介绍。

  • tmap简介

  • 并排地图

  • 构建底图

  • 其他功能


tmap 简介

library(tmap)
vignette("tmap-nutshell")

vignette("tmap-nutshell"):返回tmap的简明介绍。

并排地图

读取数据

library(rgdal)
readOGR("data","london_sport")

快速专题绘图

qtm(shp = lnd, fill = "Partic_Per", fill.palette = "-Blues")
qtm(shp = lnd, fill = "Pop_2001", fill.palette = "-Blues")

GIS | R 数据可视化:tmap包Figure11-Sports Participation

GIS | R 数据可视化:tmap包Figure12-population

1.第一个参数:矢量文件名称;fill:填充变量的名称;fill.palette:调色板颜色。
2.第二幅图不同的原因是,"Pop_2001"为因子型变量,只有数值型变量才有区间。

因子转数值

sapply(lnd@data,class)
lnd$Pop_2001 <- as.numeric(as.character(lnd$Pop_2001))

先转换为字符型变量,再转化为数值型变量。

绘图

qtm(shp = lnd, fill = c("Partic_Per", "Pop_2001"), fill.palette = "Blues", ncol = 2)

fill:两个填充变量;对应ncol = 2
结果如图13所示

GIS | R 数据可视化:tmap包Figure13

tm_facets

tm_shape(lnd) +
 tm_fill("Pop_2001", thres.poly = 0) +
 tm_facets("name", free.coords = TRUE, drop.units = TRUE)

所有 qtm 函数创建的地图均可以通过 tm_shape + tm_fill或别的 tm_ 类型的函数创建。

GIS | R 数据可视化:tmap包Figure14-Make maps use tm_facets

构建底图

采用tmaptools安装包的read_osm函数

转换坐标系

lnd_wgs = spTransform(lnd, CRS("+init=epsg:4326"))

从 OSM下载图像

osm_tiles = tmaptools::read_osm(bbox(lnd_wgs))

tmaptools::read_osm省去了步骤 library(tmaptools)
Warning: Current projection unknown. Long lat coordinates (wgs84) assumed.命令窗口的这一警告不碍事,忽略即可。

绘制底图

tm_shape(osm_tiles) + tm_raster() + tm_shape(lnd_wgs) +
 tm_fill("Pop_2001", fill.title = "Population, 2001", scale = 0.8, alpha = 0.5) +
 tm_layout(legend.position = c(0.82,0.02))

GIS | R 数据可视化:tmap包Figure15-London's population in 2001

其他功能

?tmap

在tmap中还有许多其他直观和强大的功能,可以通过 ?tmap 自己探索。

GIS | R 数据可视化:tmap包

---文章结束啦 ฅ●ω●ฅ 感谢您的阅读---


长按二维码,关注我


点击下面的连接,查看历史文章




点击阅读原文查看更多

以上是关于GIS | R 数据可视化:tmap包的主要内容,如果未能解决你的问题,请参考以下文章

数据可视化应用绘制“变形”地图(附R语言代码)

GIS | R 数据可视化:ggmap包

使用 tmap 和 sf 循环记录一系列地图

尝试在 R 中使用 tmap 绘制 SpatialLinesDataFrame 时出错

在 R 中编辑 tmap 数据文件

R中GIS地图的自动标签放置