ggmap 是在R环境里调用地图作用可视化的利器。它的语法结构跟ggplot2非常相似,也使R语言的用户可以迅速上手。 ggmap 结合 ggplot 可以方便快速绘制基于地图的可视化图表。下面的文章里,我将用两个例子 (”三藩市的犯罪记录” 和 “Taxi in Porto“) 演示一下它的使用。案例数据均取自kaggle。
初步了解ggmap
- get_map: 是最基本的功能,可以用于从(google/openstreetmap)下载地图。
地图下载参数
- location: 如果我们知道数据的准确经纬度,我们可以直接使用。或者我们可以直接用geocode. (如 ‘San Francisco’ 用表示三藩市)
- maptype: 可以根据可视化的需要,选择 ‘terrain’, ‘satellite’, ‘roadmap’, ‘hybrid’, 通常“terrain”就可以达到不错的效果。
- zoom: 可以选择从 3 (大陆范围) 到 21 (建筑物范围). 因为这里的例子都是针对城市,所以我选择10-14 (城市范围)
- ggmap: 用作绘制地图,可以和ggplot叠加
旧金山的犯罪记录
这组数据 包含了旧金山从2013年至2015年的各种犯罪记录有及发生地点。让我以2014年的数据做以下的可视化演示。
了解数据
这里我们只需要使用犯罪的类别(Category),经度(X),纬度(Y)
head(data_2014[c('Category','DayOfWeek','PdDistrict','X','Y','Year')])
## Category DayOfWeek PdDistrict X Y Year
## 27585 LARCENY/THEFT Sunday MISSION -122.4356 37.76080 2014
## 27586 LARCENY/THEFT Sunday NORTHERN -122.4336 37.80004 2014
## 27587 VEHICLE THEFT Sunday CENTRAL -122.4128 37.78683 2014
## 27588 ASSAULT Sunday NORTHERN -122.4217 37.77364 2014
## 27589 ASSAULT Sunday NORTHERN -122.4217 37.77364 2014