R:使用qmap(ggplot2)时设置X和Y限制

时间:2014-10-10 21:06:54

标签: r ggplot2 mapping ggmap qmap

我正在尝试使用qmap(ggmap的一部分)创建地图。 这是一个用问题说明的示例代码。这有点傻,但它比使用我自己的数据要干净。

install.packages("ggmap")

library(ggmap)

qmap("Capitol Building, Washington DC", zoom = 15)

所以这是我的问题: 我想在国会大厦周围的区域放大一点(缩放= 15),以获得许多街道细节。 但我也希望在我的地图中加入华盛顿纪念碑。 为此,我想扩展地图的西部并使其成为矩形。

有人知道怎么做吗?任何见解都会非常感激。感谢您对初学者的耐心等待。

1 个答案:

答案 0 :(得分:2)

喜欢这个吗?

library(ggmap)
cap  <- geocode("Capitol Building, Washington DC")
wash <- geocode("Washington Monument, Washington DC")
loc  <- unlist((cap+wash)/2)
ggmap(get_map(location=loc,zoom=15))+coord_fixed(ylim=loc[2]+.005*c(-1,+1))

所以这会根据国会大厦和华盛顿纪念碑之间的中间位置划出地图,然后通过设置ylim来修剪它。

unlist(...)的原因是geocode(...)返回一个数据框,而get_map(...)想要一个数字向量。

编辑对OP评论的回应。

coord_fixed(...)强制纵横比为1:1,这意味着1°的纬度与经度的1°相同。要从地图中恢复原始宽高比,请使用coord_map(...)

ggmap(get_map(location=loc,zoom=15))+coord_map(ylim=loc[2]+.005*c(-1,+1))