当我尝试将 ggmap 与形状文件组合时,我遇到了剪切问题。 Kahle 和 Wickham (2013: 158) 中的示例工作正常,因为来自 ggmap 的光栅图像覆盖了整个形状文件。下面是当我尝试在覆盖较小区域的 ggmap 图上绘制美国各州的形状文件时发生的情况的示例。 ggmap 显示纽约市,我想将其与美国各州的边界重叠(仅作为示例)。由此产生的地图没有任何意义。问题是形状文件被剪裁并且 ggplot 连接未剪裁的点。下面是代码。形状文件来自here http://www.arcgis.com/home/item.html?id=f7f805eb65eb4ab787a0a3e1116ca7e5。我只是在这里展示最后一个情节。
我怎么解决这个问题?
path <- "PATH TO SHAPEFILE"
library("ggmap")
library("rgdal")
# shapefile
states <- readOGR(dsn = path, layer = "states")
states_df <- fortify(states)
# plot shapefile
plot(states, lwd = 0.1)
ggplot(states_df, aes(long, lat, group = group)) +
geom_polygon(colour = "black", fill = NA, size = 0.1)
# combine ggmap with shapefile
map <- get_map("new york city", zoom = 10, source = "stamen")
ggmap(map, extent = "device")
ggmap(map, extent = "device") +
geom_polygon(aes(long, lat, group=group), data = states_df, colour = "red", fill = NA, size = 1)
卡勒、大卫和哈德利·威克姆。 2013.“Ggmap:使用 ggplot2 进行空间可视化。” R 期刊 5(1):144–61。