我已经更新了我的ggplot2库,我现在遇到一个问题,在调用ggsave后,图形设备不再显示该图.我无法解决这个问题,这意味着我无法根据需要导出图表.请帮忙.
搜索网络已经显示出一些dpi不匹配问题,但设置或更改dpi似乎没有任何效果.在更新ggplot2库之后,似乎已经开始出现此问题.
以下代码重现了该问题:
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');
运行后,输出为空白,图形设备不再显示绘图.任何后续图表都不会显示在图形设备上.
运行dev.off()之后,新的图表显示正常,直到再次调用ggsave.
sessionInfo()将R和库的版本报告为:
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 …我正在尝试执行类似/sf/answers/2075458451/ 的操作,但出现错误
错误:Aesthetics 必须为长度 1 或与数据 (2) 相同:xmin, xmax, ymin, ymax, x, y
“(2)”是什么意思?
涉及哪些“美学”?我已经aes在ggplot和aes中geom_rect,但我不知道如何解决这些问题的想法,我很害怕我永远不会掌握ggplot...
days<-rep(Sys.Date(),100)+seq(1,100)
v<-sin(as.numeric(days))
df<-data.frame(days=days,v=v)
shade <- data.frame(x1=c(as.Date('2017-10-15'),as.Date('2017-11-11')), 
                   x2=c(as.Date('2017-10-20'),as.Date('2017-11-13')), 
                   y1=c(-Inf,-Inf), y2=c(Inf,Inf))
library(ggplot2)
plot(ggplot(df,aes(x=days,y=v))
     +geom_line()
     +geom_rect(data=shade, 
               mapping=aes(xmin=x1, xmax=x2, ymin=y1, ymax=y2), color='grey', alpha=0.2)
     +geom_point())