用边界坐标绘制的ggmap

时间:2017-07-27 02:13:27

标签: r plot ggplot2 ggmap

我正在尝试使用解决方案here来绘制ggmap时应用边界坐标框,因为使用边界框指定get_map()不起作用(转换为居中和缩放)。

然而,我最终在我的情节周围留下了许多额外的灰色。我希望有一个很好地拟合边界坐标为(xmin,xmax,ymin,ymax)=(-170,-30,-60,110)

# Get a Google satellite map of North and South America
map <- get_map(location = c(-100, 20), zoom = 2, maptype = "satellite", source = "google")
ggmap(map)

结果是:this map

我希望有一个符合上述坐标的图。

# Attempt to scale the x and y axes
ggmap(map) + 
scale_x_continuous(limits = c(-170, -30), expand=c(0,0)) +
scale_y_continuous(limits = c(-60, 110), expand=c(0,0))

我最终得到的是一个如下图:enter image description here

裁剪得很好,但顶部有过多的灰色空间。

编辑:我在RStudio 1.0.136中使用R 3.3.3,使用ggmap 2.7和ggplot2 2.2.0

1 个答案:

答案 0 :(得分:1)

您要尝试做的事超出了地图的范围。墨卡托式投影上的最大正负Latitude85.0511... / -85.0511...,因为 arctan(sinh(Pi)) * 180 / Pi = 85.0511288

此代码将产生正确的结果:

ggmap(map, extent = "panel") + 
scale_x_continuous(limits = c(-170, -30), expand=c(0,0)) +
scale_y_continuous(limits = c(-60, 85), expand=c(0,0))

enter image description here