【空间分析】R语言"tmap"、"sf"包绘制静态地图及动态交互地图

文摘   2024-12-11 08:45   山东  

在前期的推文中,我们分享了R语言在医学统计中的应用-基础教程,和地理信息数据的空间可视化实现,分别用到了"sp"、"maps"、"mapdata"、"maptools"等包,今天我们继续分享使用"tmap"、"sf"两个包进行静态和动态交互地图的绘制。


第一步:

#安装并加载地图所需的包

install.packages(tmap)

install.packages("sf")

library(tmap)

library(sf) 

#加载并查看包内实例地图数据

data("World")

View(World)

我们可以看到一幅世界地图包含的国家名、面积、人口、经济、期望寿命等数据。




#依照地图内数据绘制分布地图  例如期望寿命

tm_shape(World) + tm_polygons("life_exp")





面积:tm_shape(World) +  tm_polygons("area")





人口:tm_shape(World) +  tm_polygons("pop_est")









#绘制交互地图

tmap_mode(mode=c("plot","view"))

tmap_mode("view")

tm_shape(World)+

  tm_polygons("life_exp")

#通过加载stringi等包可以导出Viewer中交互地图为网页,

install.packages("stringi")

library(stringi)

Export-Save as Web Page










同样,我们也可以读取本地的shp文件,并进行地图绘制。

#读取本地的shp地图

library(tmap)

library(sf)

shpdata <- st_read("路径/Shandong16.shp")

View(shpdata)









#可以使用plot()语句对所有变量进行绘图:

plot(shpdata)









#也可以对指定变量进行绘图 例如多边形编号

tm_shape(shpdata) +  tm_polygons("FID_1")









也可以是其他需要的变量,例如经纬度数据等:

tm_shape(shpdata) +  tm_polygons("CX")

tm_shape(shpdata) +  tm_polygons("CY")













#同样,对本地shp地图数据,也可以绘制交互式地图

tmap_mode(mode=c("plot","view"))

tmap_mode("view")

tm_shape(shpdata)+

  tm_polygons("FNAME")















医学统计数据分析
分享交流SPSS、R语言、Python、ArcGis、Geoda、GraphPad、数据分析图表制作等心得。承接数据分析,论文修回,医学统计,空间分析,问卷分析业务。若有投稿和数据分析代做需求,可以直接联系我,谢谢!
 最新文章