Pregunta

Estoy usando la biblioteca GGMAP en R para producir un mapa del área de Atlanta. Al ejecutar el código, puedo trazar puntos en el mapa y en otras capas, pero no puedo hacer que el mapa se imprima en cualquier dispositivo gráfico que no sea PDF. Sospecho que un problema de configuración, ya que puedo usar este código en una computadora diferente sin problemas, pero otras dos máquinas simplemente muestran gráficos en blanco.

Aquí hay una versión escalada del código. Supongo que mis parcelas en blanco no serán reproducibles, pero espero obtener alguna orientación sobre dónde podría estar el problema de configuración.

library('ggplot2')
library('ggmap')
library('mapproj')

# ggmapTemp.png gets saved to the working directory correctly
atlanta <- get_map(location=c(lon=-84.26039,
                              lat=33.8751),
                   zoom=9,maptype='roadmap')

atlantaMap <- ggmap(atlanta, extent = 'device', legend = 'topleft')

# this produces a blank plot from both RStudio as well as R
atlantaMap

# this produces the actual map correctly
pdf("plot.pdf")
atlantaMap
dev.off()

# this produces a png file with only a white background
png("plot.png")
atlantaMap
dev.off()

Información de la sesión:

R version 2.15.3 (2013-03-01)
Platform: x86_64-w64-mingw32/x64 (64-bit)

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

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

other attached packages:
 [1] mapproj_1.2-1    ggmap_2.3        ggplot2_0.9.3.1  maps_2.3-6       maptools_0.8-27 
 [6] sp_1.0-14        car_2.0-19       reshape2_1.2.2   plyr_1.8         Revobase_6.2.0  
[11] RevoMods_6.2.0   RevoScaleR_6.2.0 lattice_0.20-13  rpart_4.1-0     

loaded via a namespace (and not attached):
 [1] codetools_0.2-8     colorspace_1.2-4    dichromat_2.0-0     digest_0.6.3        foreach_1.4.0      
 [6] foreign_0.8-52      grid_2.15.3         gtable_0.1.2        iterators_1.0.6     labeling_0.2       
[11] MASS_7.3-23         munsell_0.4.2       nnet_7.3-5          png_0.1-6           proto_0.3-10       
[16] RColorBrewer_1.0-5  RgoogleMaps_1.2.0.5 rjson_0.2.13        RJSONIO_1.0-3       scales_0.2.3       
[21] stringr_0.6.2       tools_2.15.3   

Y capacidades:

jpeg      png     tiff    tcltk      X11     aqua http/ftp  sockets   libxml     fifo   cledit 
TRUE     TRUE     TRUE     TRUE    FALSE    FALSE     TRUE     TRUE     TRUE    FALSE     TRUE 
iconv      NLS  profmem    cairo 
TRUE     TRUE     TRUE     TRUE 
¿Fue útil?

Solución

El problema tiene que ver con el servidor que limita la profundidad de bits que se pasa a través de la conexión. Oráculo documenta el problema y la solución En su sitio:

En una sesión de escritorio remota, todas las variables de entorno, incluidas las variables de visualización que determinan la profundidad de color, están determinadas por la configuración de conexión RCP-TCP. Por ejemplo, los usuarios pueden reducir la profundidad de color cuando se conectan a través de una conexión lenta. Las diferentes configuraciones son 15 bits, 16 bits, 24 bits o 32 bits por píxel. Para elevar la profundidad de color de escritorio remoto:

En el servidor de Windows, inicie la configuración de host de sesión de escritorio remoto en el menú Accessors. En Conexiones, haga clic derecho en RDP-TCP y seleccione Propiedades. En la pestaña Configuración del cliente, desmarque la profundidad de color LimitMaximum o configúrelo en 32 bits por píxel.

Al desmarcar la casilla de verificación "Limitar la profundidad de color máxima" y volver a conectarse al servidor, los fondos del mapa de trama ahora aparecen como se esperaba. Tenga en cuenta que también proporcionan la Opción 2, que debe emitir a un dispositivo alternativo.

Otros consejos

Parece que Jrshrenk no ha actualizado R y los paquetes en mucho tiempo. Aunque en teoría sus versiones de R, GGMAP, PNG y GGPLOT2 parece suficiente:

    Package: ggmap
    Version: 2.4
    Depends: R (>= 2.14.0), ggplot2 (>= 0.9.2)
    Imports: proto, scales, RgoogleMaps, png, plyr, reshape2, grid, rjson,
            mapproj, jpeg, geosphere, digest
    Suggests: MASS, stringr
        License: GPL-2
        NeedsCompilation: no

    Package: png
    Version: 0.1-7
    Depends: R (>= 2.9.0)
    License: GPL-2 | GPL-3
    NeedsCompilation: yes

Solo intentaría actualizar R y los paquetes para ver si resuelve el problema:

#Save your current packages but not the base ones:
savepackages <- rownames(installed.packages(priority='NA')) 
write(savepackages, file="listpackages.txt")

#Check for Updates of R
library(installr)
check.for.updates.R(notify_user = TRUE, use_GUI = TRUE,
                    page_with_download_url = "http://cran.rstudio.com/bin/windows/base/",
                    pat = "R-[0-9.]+-win")

#Download and Install New Version
install.R(page_with_download_url = "http://cran.rstudio.com/bin/windows/base/",
          pat = "R-[0-9.]+-win.exe", to_checkMD5sums = TRUE,
          keep_install_file = TRUE, download_dir = tempdir(), silent = FALSE)

#Then reinstall packages 
pkg.ls <- read.table("listpackages.txt")
install.packages(pkg.ls)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top