2016-10-31 46 views
1

我想绘制一个欧洲地图,每个国家都根据某个数值填充颜色 - 我认为这对shapefile(我在这里得到http://www.naturalearthdata.com/downloads/10m-cultural-vectors/)和ggmap应该没问题。但它仅适用于一个非常大的地图,但我不能够在正确的放大。如何放大使用shapefile的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。)

谢谢!

回答

0

使用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