首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ggplot2时出现持续无效的图形状态错误

使用ggplot2时出现持续无效的图形状态错误
EN

Stack Overflow用户
提问于 2013-11-23 06:20:21
回答 6查看 163.2K关注 0票数 141

我相信我的数据帧是正常的,我的代码也是正常的。事实上,我已经删除了部分数据帧和大多数图形代码,以使事情尽可能基本。不过,我还是得到了:

代码语言:javascript
复制
Error in .Call.graphics(C_palette2, .Call(C_palette2, NULL)) : 
  invalid graphics state

这里出了什么问题?以下是数据:

代码语言:javascript
复制
 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

当我使用这些数据时,我像这样指定日期:

代码语言:javascript
复制
df<-df[order(as.Date(df$date,format="%d/%m/%Y")),,drop=FALSE]

这里我想做一个散点图:

代码语言:javascript
复制
ggplot(data = df,aes(x = date,y = val)) + 
 geom_point(aes(group = trt))
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-12-17 14:37:34

我遇到了同样的错误,并通过运行以下命令解决了它:

代码语言:javascript
复制
dev.off()

然后再运行一次绘图。我认为图形设备在早些时候因为导出一些图形而搞砸了,并且没有被重置。这对我来说很有效,而且比重新安装ggplot2更简单。

票数 409
EN

Stack Overflow用户

发布于 2018-02-15 04:43:23

我发现,当您在同一会话中混合使用ggplot图表和曲线图时,就会出现这种情况。使用Paul建议的'dev.off‘解决方案解决了这个问题。

票数 12
EN

Stack Overflow用户

发布于 2013-11-23 14:50:59

解决方案是简单地重新安装ggplot2。可能您正在使用的R版本与您安装的ggplot2版本不兼容。或者,在早期安装ggplot2时可能出现了一些错误,导致了您看到的问题。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20155581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档