2012-08-28 27 views
9

我有以下代碼:ggmap不顯示地圖

library(ggmap) 
ggmap(get_map(location=c(lon = 5.218922, lat = 52.342366), zoom =14)) 

其中由我的帳戶應該可以正常工作,但我只得到一個標準的GGPLOT2圖像(灰色背景等),以正確的軸,但沒有顯示地圖: enter image description here

當我在我的工作目錄中查找時,確實找到一個名爲「ggmapTemp」的文件,其中包含正確的映射。但是地圖不會被ggplot2顯示出來。

我與RStudio一起工作,並對我的工作電腦擁有有限的權利。這可能是地圖顯示不正確的原因嗎?我的RStudio版本是0.96.316,R是R-2.15.1。

> sessionInfo() 
R version 2.15.1 (2012-06-22) 
Platform: x86_64-pc-mingw32/x64 (64-bit) 

locale: 
[1] LC_COLLATE=Dutch_Netherlands.1252 LC_CTYPE=Dutch_Netherlands.1252 
[3] LC_MONETARY=Dutch_Netherlands.1252 LC_NUMERIC=C      
[5] LC_TIME=Dutch_Netherlands.1252  

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

other attached packages: 
[1] ggmap_2.1  ggplot2_0.9.1 

loaded via a namespace (and not attached): 
[1] colorspace_1.1-1 dichromat_1.2-4 digest_0.5.2  grid_2.15.1  
[5] labeling_0.1  MASS_7.3-18  memoise_0.1  munsell_0.3  
[9] plyr_1.7.1   png_0.1-4   proto_0.3-9.2  RColorBrewer_1.0-5 
[13] reshape2_1.2.1  RgoogleMaps_1.2.0 rjson_0.2.9  scales_0.2.1  
[17] stringr_0.6  tools_2.15.1 

更新: 我sessionInfo()後回答1:

sessionInfo() 

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

other attached packages: 
[1] mapproj_1.1-8.3 maps_2.2-6  ggmap_2.1  ggplot2_0.9.1 

loaded via a namespace (and not attached): 
[1] colorspace_1.1-1 dichromat_1.2-4  digest_0.5.2  grid_2.15.1   
[5] labeling_0.1  MASS_7.3-20   memoise_0.1   munsell_0.3   
[9] plyr_1.7.1   png_0.1-4   proto_0.3-9.2  RColorBrewer_1.0-5 
[13] reshape2_1.2.1  RgoogleMaps_1.2.0.2 rjson_0.2.9   scales_0.2.1  
[17] stringr_0.6.1  tools_2.15.1 

按照要求:

capabilities() 
jpeg  png  tiff tcltk  X11  aqua http/ftp sockets libxml  fifo 
TRUE  TRUE  TRUE  TRUE FALSE FALSE  TRUE  TRUE  TRUE FALSE 
cledit iconv  NLS profmem cairo 
TRUE  TRUE  TRUE  TRUE  TRUE 
+2

適合我。你可以添加你使用的R和ggmap版本到你的問題。 – Spacedman

+1

該代碼適用於R控制檯和RStudio。我在阿姆斯特丹東部的荷蘭某處找到了一張地圖。 – smillig

+0

地圖的位置是正確的。我的RStudio版本是0.96.316,R是R-2.15.1。 – Timror

回答

1

我有這個錯誤,但它現在解決了我升級到最新版本ggmap(V2.3)的

+0

我有同樣的問題,更新到最新(2.7)沒有幫助 - 也沒有從Github安裝。 – heights1976

7

在我的機器,連接包的列表是:

other attached packages: 
[1] mapproj_1.1-8.3 maps_2.2-6  ggmap_2.1  ggplot2_0.9.1 

這意味着您可能需要mapproj以及maps來運行您的代碼,因爲這些是來自ggplot的建議包,以啓用正確的地圖投影。

嘗試:

install.packages(c("mapproj", "maps")) 

然後重新運行你的代碼。

+2

其實,我很驚訝沒有安裝'mapproj',OP不會出錯。我沒有安裝它,它提到'mapproj'需要這樣做,但它安裝後工作正常(因此我的評論)。 – A5C1D2H2I1M1N2O1R2T1

+0

感謝您的建議。不幸的是,它並沒有解決我的問題。安裝這兩個軟件包後,我仍然得到相同的結果。我已經更新了我所有的其他軟件包。 – Timror

+3

我有同樣的問題,當我使用get_map的選項文件名並轉到保存文件的目錄時,地圖圖像存在 - 當我使用ggplot(地圖)時,它不會繪圖。我不知所措 – user1414259

-2

所以,如果你是一個RStudio用戶像我一樣,你要記住的代碼。 R的行爲與從R命令行運行代碼略有不同。下面的代碼取自Max Marchi's R blog,如果從命令行執行,則完美工作。

library(ggmap) 
library(mapproj) 
map <- get_map(location = 'England', zoom = 7) 
ggmap(map) 

然而,採取相同的代碼以上,並將其放置在一個RStudio .R內,其結果將是,其中一個地圖預計出現的空白窗口。要解決此問題,請將ggmap(map)置於print()之內,如下面的代碼所示。

library(ggmap) 
library(mapproj) 
map <- get_map(location = 'England', zoom = 7) 
print(ggmap(map)) 

上面的代碼應該在繪圖窗口中生成英格蘭的地圖。至少它對我有用。

我對此的解釋可能是不正確的,所以不要抱着我。由於RStudio運行在R之上,因此您需要明確告訴RStudio某些命令是行命令,需要像這樣處理。通過在print()中放置行命令,RStudio知道在R的命令行內執行該命令。

我歡迎評論和更好的解釋發生了什麼。

+0

這不是用戶所遇到的問題。在運行從源代碼調用trellis/lattice/ggplot代碼的代碼時,您需要調用'print',請參閱:調用'print'不是RStudio相關的問題。請參閱:http://stackoverflow.com/questions/6783120/r-package-lattice-wont-plot-if-run-using-source。當你不調用'print'時,什麼都不顯示。在這種情況下,用戶正在獲得一個空的ggplot窗口。 –

+0

不是RStudio問題,與問題無關 – RockScience

0

我有同樣的問題。重新安裝ggmap解決了問題。

0

在我的情況下,解決方案是在圖形本身。有些東西已將我的顏色深度更改爲16位,因此更改爲32位解決的問題。