我试图在通过ggmap生成的地图上绘制几个shapefile。这很好用,但是我想将视图区域约束到shapefile(而不是依赖于zoom
中的ggmaps
参数)。我已经通过获取边界框并将其作为ggplot
的{{1}}中的参数传递来完成此操作。虽然这有效,但我在地图边缘遇到了一些撕裂问题 - 最具体的是西部。我已经尝试手动调整x-y坐标但似乎只会严重扭曲图像。
我的想法是稍微缩小以允许整个shapefile在该区域中绘制,但我似乎无法弄明白。我也可能完全以错误的方式解决这个问题。
这是我用来生成地图的代码。 shapefile可以下载here
coord_cartesian
答案 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]))