最近稍微涉猎了一下leaflet这个包,突然感到发现了动态可视化的新大门,这个包所提供的地图类型、动态效果、图层展示方式都大大扩展了ggplot作图系统的在数据地图上的缺陷。
leaflet是业界比较流行的JS开源交互式地图包,它支持直接调用OpenStreetMap, Mapbox, and CartoDB等主流地图数据作为辅助图层来进行地理信息数据的可视化操作。
除了这些在线地图素材之外,它对于shapefile格式和json格式以及sp包的空间数据格式的地图数据都有着很好的支持,在图层函数中涵盖了点标记、线条和多边形等常用地理信息可视化图形要素。
该包的代码对R语言的文档输出系统有着良好的支持,可以很方便的嵌入knitr/rmarkdown文档中,也能无缝嵌入shiny系统的webapp中,兼容性可称之为逆天。
接下来以中国地图为例,先对该地图所能呈现和调用的地图类型做一个简短的介绍,深入应用系列技巧可能要等到年后才能陆续更新,大小耐心等吧!
library(plyr)
library(mapdata)
library(leaflet)
library(maptools)
library(ggplot2)
导入中国各省会城市地理信息数据:
province_city
province_city$size
province_city$type
co
province_city
leaflet函数的基本语法结构如下:
#该句加载地图数据,也可以说是对地图的初始化操作,相当于ggplot2作图系统中的ggplot()函数,会建立一个没有内容的空白图层面板。