2016-10-31 78 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