首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >打开的设备太多%r

打开的设备太多%r
EN

Stack Overflow用户
提问于 2014-06-13 22:39:34
回答 4查看 12.9K关注 0票数 6

我试着在一个位置写很多图,但是却写了一堆空白图片:

我的代码看起来像这样:

代码语言:javascript
复制
titleplot<-NULL
for(i in 1:99){
  titleplot<-colnames(data[i])
  mypath <- file.path("C:","Users","user.ME","Desktop","graph outputs", paste("myplot_", titleplot, ".jpg", sep = ""))
  plot(data[,i],type="l", main =titleplot)
  jpeg(file=mypath)
  dev.off()
}

有没有人知道为什么会发生这种情况,或者我可以如何补救?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-06-13 22:41:03

在调用plot命令之前,应该先放入jpeg命令。

代码语言:javascript
复制
jpeg(file=mypath)
plot(...)
dev.off()
票数 9
EN

Stack Overflow用户

发布于 2019-07-05 21:49:33

穆罕默德·沙克和asb的答案结合在一起,给出了这个非常简单的代码:

代码语言:javascript
复制
for (i in dev.list()[1]:dev.list()[length(dev.list())]) {
   dev.off()
}

这将删除所有打开的图形设备:

代码语言:javascript
复制
> dev.list()
NULL
票数 7
EN

Stack Overflow用户

发布于 2016-02-02 22:38:02

我以前遇到过这个问题。如果您在R控制台中键入dev.list(),您将看到您尝试保存的所有绘图。例如:

代码语言:javascript
复制
# tiff jpeg tiff jpeg tiff jpeg tiff jpeg tiff tiff tiff tiff tiff jpeg tiff tiff tiff 
# 2    3    4    5    6    7    8    9   10   11   12   13   14   15   16   17 18  

无论您将dev.off()放在代码中的哪个位置,如果您确实保存了许多绘图,那么到时候就会遇到这个问题。此问题的一种可能的解决方案是重新启动R会话。

这可以在命令行中完成:.rs.restartR()或按ctrl+shift+F10

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

https://stackoverflow.com/questions/24207960

复制
相关文章

相似问题

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