使用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,并没有得到重置。 我意识到这已经有了一个可以接受的答案,但是认为这可能有助于人们,因为它为我工作,而且比重新安装ggplot2更简单。
解决办法是简单地重新安装ggplot2
。 也许在你使用的R版本和你安装的ggplot2
版本之间有不兼容的ggplot2
。 或者,以前安装ggplot2
可能会出现问题,导致您看到的问题。
你可能不需要重新安装ggplot2
解决方法:回到之前没有工作的情节。 以下面的控制台输出为例。 图边距(显示您的图的窗口)太小,无法显示对(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”)