【发布时间】:2015-04-23 13:48:02
【问题描述】:
当我尝试将 ggmap 与 shape 文件结合时,我遇到了裁剪问题。 Kahle and Wickham (2013: 158) 中的示例运行良好,因为来自 ggmap 的光栅图像覆盖了整个形状文件。下面是一个示例,说明当我尝试在覆盖较小区域的 ggmap 图上绘制美国各州的形状文件时会发生什么。 ggmap 显示了纽约市,我想将其与美国各州的边界重叠(仅作为示例)。生成的地图没有任何意义。问题是形状文件被剪裁了,而 ggplot 连接了未剪裁的点。下面是代码。形状文件来自here。我只是在这里展示最后一个情节。
我该如何解决这个问题?
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)
Kahle、David 和 Hadley Wickham。 2013.“Ggmap:使用 ggplot2 进行空间可视化”。 R 杂志 5(1):144-61。
【问题讨论】:
-
这里的问题与这个问题有关吗:stackoverflow.com/questions/13469566/…?