在ggmap

时间:2016-08-04 17:44:38

标签: r ggplot2 maps spatial ggmap

我试图在通过ggmap生成的地图上绘制几个shapefile。这很好用,但是我想将视图区域约束到shapefile(而不是依赖于zoom中的ggmaps参数)。我已经通过获取边界框并将其作为ggplot的{​​{1}}中的参数传递来完成此操作。虽然这有效,但我在地图边缘遇到了一些撕裂问题 - 最具体的是西部。我已经尝试手动调整x-y坐标但似乎只会严重扭曲图像。

Detroit Shapefile Map

我的想法是稍微缩小以允许整个shapefile在该区域中绘制,但我似乎无法弄明白。我也可能完全以错误的方式解决这个问题。

这是我用来生成地图的代码。 shapefile可以下载here

coord_cartesian

1 个答案:

答案 0 :(得分:0)

我按照您的工作流程进行操作,这导致了与您上面提到的相同的问题。然后我将qmap选项上的缩放从11更改为10,这样可以获得更好的图片,但是您确实丢失了一些地名,但您可以使用annotate手动添加这些地名:

DetroitMap <- qmap("Detroit", zoom = 10)

DetroitMap + geom_polygon(data = tract_plot, aes(x = long, y = lat, group = id), color = "black", fill = NA) +
    coord_cartesian(xlim = c(tbox[1,1], tbox[1,2]),
                    ylim = c(tbox[2,1], tbox[2,2]))

enter image description here