使用ggplot2时持久无效的图形状态错误

Naz*_*zer 112 r ggplot2

我相信我的数据帧是可以的,我的代码还可以.实际上,我已经删除了部分数据框和大部分图形代码,以使事情尽可能基本.但是,我仍然得到:

Error in .Call.graphics(C_palette2, .Call(C_palette2, NULL)) : 
  invalid graphics state
Run Code Online (Sandbox Code Playgroud)

这有什么不对?这是数据:

 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
Run Code Online (Sandbox Code Playgroud)

当我处理这些数据时,我指定这样的日期:

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

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

ggplot(data = df,aes(x = date,y = val)) + 
 geom_point(aes(group = trt))
Run Code Online (Sandbox Code Playgroud)

pau*_*aul 331

我遇到了同样的错误并通过运行解决了它:

dev.off()
Run Code Online (Sandbox Code Playgroud)

然后再次运行该剧情.我认为图形设备早先以某种方式通过导出一些图形而搞砸了并且它没有被重置.这对我有用,它比重新安装ggp​​lot2更简单.

  • 这解决了问题,但是您知道为什么会这样吗? (2认同)
  • @PedroCavalcanteOliveira 我遇到了问题,在我之前使用过 `par(mfrow = c(..., ...))` 之后。不知道其他图形参数,但它们可能会导致此问题。 (2认同)

Ern*_*nie 11

我发现在同一会话中将 ggplot 图表与绘图图表混合时会发生这种情况。使用 Paul 建议的“dev.off”解决方案解决了这个问题。

  • `dev.off' 是做什么的? (2认同)

Pau*_*tra 8

解决方案是简单地重新安装ggplot2.也许您正在使用的R版本与您安装的版本之间存在不兼容性ggplot2.或者,在安装ggplot2之前可能出现问题,导致您看到的问题.

  • 谢谢你在这里保留这个答案.虽然另一个答案更简单,但是`dev.off()`对我来说不起作用,尝试重新安装ggp​​lot2是一个很好的第二个选择. (4认同)