如何放大使用shapefile的ggmap图?

时间:2016-10-31 20:00:53

标签: r zoom shapefile ggmap

我正在尝试绘制一张欧洲地图,每个国家都按照一定的数值​​填充颜色 - 我认为这应该对shapefile(我在这里http://www.naturalearthdata.com/downloads/10m-cultural-vectors/)和ggmap没有问题。但它只适用于非常大的地图,但我无法正确放大。

我尝试通过设置xlim()ylim()来实现此目的,但是从那时起我就切断了边缘的形状,R连接了不应该连接的点。对于ggplot,我可以通过使用coord_fixed(xlim, ylim)来解决这个问题,但是当我将它应用到我的ggmap-plot时,国家形状和地图将不再适合彼此。

ggmap with wrong shapes

这是我用于剧情的代码:

my.map <- get_map(location = "europe", source = "google", maptype = "satellite", zoom = 3)

ggmap(my.map) + 
  geom_polygon(aes(x = long, y = lat, group = group), fill = eu$value, size = .2, color = 'green', data = eu, alpha = 0.5) +
  coord_fixed(xlim = c(0, 35),  ylim = c(35, 65), ratio = 1.6)

有人知道如何解决这个问题吗? (我知道它适用于ggplot但我真的很想使用ggmap。)

谢谢!

1 个答案:

答案 0 :(得分:1)

使用coord_map()代替coord_fixed()

my.map <- get_map(location = "europe", source = "google", maptype = "satellite", zoom = 3)
ggmap(my.map)+
  geom_polygon(aes(x=long, y = lat, group = group), fill='white', size=.2, color='green', data=eu, alpha=0.5)+
  coord_map(xlim=c(0, 35), ylim=c(35, 65))

resulting map