使用ggplot2时,持续无效的graphics状态错误

我相信我的数据框是好的,我的代码是好的。 事实上,我已经消除了部分数据框和大部分的graphics代码,以使事情尽可能基本。 但是,我仍然得到:

Error in .Call.graphics(C_palette2, .Call(C_palette2, NULL)) : invalid graphics state 

这里有什么问题? 这里是数据:

  date trt var val 1/8/2008 cc sw5 0.2684138 1/8/2008 cc sw15 0.2897586 1/8/2008 cc sw5 0.2822414 2/8/2008 cc sw5 0.2494583 2/8/2008 cc sw5 0.2692917 2/8/2008 cc sw15 0.2619167 2/8/2008 cc sw5 0.204375 3/8/2008 cc sw5 0.2430625 3/8/2008 cc sw5 0.2654375 3/8/2008 cc sw5 0.2509583 3/8/2008 cc sw5 0.2055625 1/8/2008 ccw sw15 0.2212414 1/8/2008 ccw sw5 0.3613448 1/8/2008 ccw sw5 0.2607586 2/8/2008 ccw sw5 0.2087917 2/8/2008 ccw sw15 0.3390417 2/8/2008 ccw sw5 0.2436458 2/8/2008 ccw sw5 0.290875 3/8/2008 ccw sw5 0.20175 3/8/2008 ccw sw15 0.328875 3/8/2008 ccw sw5 0.2328958 3/8/2008 ccw sw5 0.2868958 

当我处理这些数据时,我指定了这样的date:

 df<-df[order(as.Date(df$date,format="%d/%m/%Y")),,drop=FALSE] 

在这里我想做一个散点图:

 ggplot(data = df,aes(x = date,y = val)) + geom_point(aes(group = trt)) 

我遇到了这个相同的错误,并通过运行解决它:

 dev.off() 

然后再次运行该图。 我认为这个graphics设备早就以某种方式搞乱了,通过导出一些graphics,并没有得到重置。 我意识到这已经有了一个可以接受的答案,但是认为这可能有助于人们,因为它为我工作,而且比重新安装ggp​​lot2更简单。

解决办法是简单地重新安装ggplot2 。 也许在你使用的R版本和你安装的ggplot2版本之间有不兼容的ggplot2 。 或者,以前安装ggplot2可能会出现问题,导致您看到的问题。

你可能不需要重新安装ggp​​lot2

解决方法:回到之前没有工作的情节。 以下面的控制台输出为例。 图边距(显示您的图的窗口)太小,无法显示对(MinusInner)图。 然后当我试图做出下一个qplot时,R仍然挂在以前的错误。

alignment(MinusInner)在plot.new()中出现错误:图边距过大qplot(Sample.Type,BAE,data = MinusInner,geom =“boxplot”).Call.graphics(C_palette2,.Call(C_palette2,NULL) ):无效的graphics状态

我通过扩大绘图窗口并重新运行对(MinusInner)图来修复第一个错误。 然后,责怪,它的工作。

(MinusInner)qplot(Sample.Type,BAE,data = MinusInner,geom =“boxplot”)