在前期的推文中,我们分享了R语言在医学统计中的应用-基础教程,和地理信息数据的空间可视化实现,分别用到了"sp"、"maps"、"mapdata"、"maptools"等包,今天我们继续分享使用"tmap"、"sf"两个包进行静态和动态交互地图的绘制。
第一步:
#安装并加载地图所需的包
install.packages(tmap)
install.packages("sf")
library(tmap)
library(sf)
#加载并查看包内实例地图数据
data("World")
View(World)
我们可以看到一幅世界地图包含的国家名、面积、人口、经济、期望寿命等数据。
#绘制交互地图
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")