简体   繁体   中英

ggplot2 ggsave function causes graphics device to not display plots

I've updated my ggplot2 library and I am now having a problem where after calling ggsave, the graphics device no longer displays the plot. I'm unable to resolve the issue meaning I cannot export the plots as needed. Please help.

Searching the web has revealed some mention of problems with dpi mismatches, but setting or changing the dpi appears to have no effect. This problem appears to have begun after doing an update of the ggplot2 library.

The following code reproduces the problem:

library(ggplot2);
df <- read.table(textConnection('value,value1 
 1,1 
 2,2
 3,3 '),header=TRUE,sep=',');

ggplot(df,aes(x=value,y=value1)) +   geom_point();

setwd('c:/temp'); 
ggsave('test.png');

After running, the output is blank, and the graphics device no longer displays the plot. Any subsequent plots are not displayed on the graphics device.

After running dev.off(), new plots are displayed okay, until ggsave is called again.

sessionInfo() reports the versions of R and libraries as:

R version 3.0.0 (2013-04-03)
Platform: i386-w64-mingw32/i386 (32-bit)

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

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

other attached packages:
[1] plyr_1.8        ggplot2_0.9.3.1 RODBC_1.3-6    

loaded via a namespace (and not attached):
 [1] colorspace_1.2-2   dichromat_2.0-0    digest_0.6.3       grid_3.0.0         gtable_0.1.2      
 [6] labeling_0.1       MASS_7.3-26        munsell_0.4        proto_0.3-10       RColorBrewer_1.0-5
[11] reshape2_1.2.2     scales_0.2.3       stringr_0.6.2      tools_3.0.0   

The problem occurs in 2.15.0 and 2.15.3 of R also.

EDIT: changed code so data would load using sep=',' rather than whitespace

ADDITION: further testing reveals that this may in fact be a bug with RStudio and how it is displaying the graphics device after ggsave, rather than R itself. Running the above script in RGui does not reproduce the problem, only in RStudio V0.97.336 + V0.97.449.

Seems to be an issue with RStudio. The issue is described here and here .

The workaround is to install RStudio V0.97.311, or ensure that you execute the ggplot and ggsave lines separately (ie don't select and run together in a block with control+enter).

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM