我正在使用Windows。当尝试在png设备上绘制图形时,它会因错误而失败。
我的代码:
png("C:\\plot1.png", width = 480, height = 480, units = "px", bg = "white")
par(mar= c(4, 4, 2, 1))
hist(pwrcon$Global_active_power,col = "red", main = "Global Active Power", xlab = "Global Active Power (kilowatts)")
dev.off()
错误:
Error in png("C:\\plot1.png", width = 480, height = 480, units = "px", :
unable to start png() device
In addition: Warning messages:
1: In png("C:\\plot1.png", width = 480, height = 480, units = "px", :
unable to open file 'C:\plot1.png' for writing
2: In png("C:\\plot1.png", width = 480, height = 480, units = "px", :
opening device failed
任何人都可以帮我解决这个问题吗?
提前致谢
答案 0 :(得分:2)
在PC上遇到同样的问题。问题是有一个防病毒程序启用了“安全文件”,这阻止了Rstudio创建图形文件。阻止时防病毒软件没有显示任何信息,因此它并没有给你任何线索。
答案 1 :(得分:2)
在处理r-markdown文档时,我遇到了同样的问题。
在我看来,该问题与查看块内联输出有关。当我切换到在控制台中查看“块输出”时,它工作得很好。
答案 2 :(得分:1)
文件名C:\plot1.png
包含一个反斜杠(\
),它是一个转义字符。这会导致您获得的错误。
将其更改为斜杠(/
)
png("C:/plot1.png", width = 480, height = 480, units = "px", bg = "white")
或加倍反斜杠(\\
):
png("C:\\plot1.png", width = 480, height = 480, units = "px", bg = "white")
答案 3 :(得分:1)
我无法解释为什么,但是我曾经发现,当保存RStudio项目的文件夹路径是一个很长的字符串时,png设备将失败。当我缩短文件夹路径时,它起作用了。
答案 4 :(得分:1)
我也收到此错误:“错误(函数(文件名=“ Rplot%03d.png”,宽度= 480,高度= 480 ,: 无法启动png()设备”
我正在处理的.Rmd文件的名称包含一些非英语字符,因此删除它们对于我的情况很有帮助。
答案 5 :(得分:1)
在 Windows 10 中也遇到了类似的问题,我的 R 脚本与 RScript.exe
放在同一个文件夹中,使用包 ggplot2
。但是我收到了消息 could not open file 'Rplot001.png'
。
终于找到了两种解决问题的方法:
RScript.exe
所在文件夹之外的任何其他文件夹。setwd("YourPath")
设置工作目录,然后执行其他操作。答案 6 :(得分:0)
另一个问题可能是您的Rstudio可能已更新。我在R-markdown内部工作时遇到了这个问题。在常规R脚本中尝试代码仍然有效。尝试将markdown保存为新文件。这应该暂时解决问题。
不知道长期解决方案。
答案 7 :(得分:0)
我有同样的错误信息。原来,路径名中有一个错字。 除了这些问题之外,从CRAN重新安装ggplot和tydiverse似乎对某些问题有用,请参见here
答案 8 :(得分:0)
今天我在RMarkdown笔记本上工作时也遇到了此错误(昨天很好)。如果我编辑一个块然后尝试运行它,则会出现此错误。如果我然后保存笔记本并再次尝试该块,它将起作用。我的工作目录是OneDrive文件夹。我不知道这可能是个问题。
编辑后必须保存所有内容并不是一种理想的方法,而是一种解决方法。
答案 9 :(得分:0)
我添加了“ dev.off() “在绘图之前,问题已解决。原因可能是由于先前的设备尚未关闭。
答案 10 :(得分:0)
我收到上述错误
Error in (function (filename = "Rplot%03d.png", width = 480, height = 480, : unable to start png() device Calls: <Anonymous> ...
我的问题是在我的R-markdown文档的一个R-code块中使用fig.width选项,以及将输出呈现为html文档时。与其他代码块中的其他fig.width选项相比,fig.width太大。同样,只有当我尝试将其呈现为html文档而不是PowerPoint演示文稿时,才会观察到这种情况。
答案 11 :(得分:0)
此问题已解决,但我认为如果可以使某人的生活更轻松,我可以添加我的答案。
当然,您可以将wd
设置为一些短路径(或没有特殊字符的路径):setwd("c/Users/John/My_r_project)
但是我在工作中使用R,因此我的R项目保存在具有超长路径的通用驱动器上,并且我的工作目录必须很长。解决方法是:
```{r setup, include=FALSE}
knitr::opts_chunk$set(
fig.path = "c/Users/John/My_r_project/figures" #make sure you create the folder first in Windows
)
```
您当然也可以在其中添加其他选项,例如:dpi = 300
,echo = FALSE
,...
答案 12 :(得分:0)
我在 Jupyter notebook 中运行 R 时遇到了同样的问题。我做了很多谷歌搜索并尝试了一切可能。它对我有用的唯一方法是重新启动内核。但是,如果您已经训练了花费很长时间的模型,那么重新启动内核并不是一个好的解决方案。
答案 13 :(得分:0)
这开始发生在我使用 RMarkdown 的时候。我的解决方案是重新启动 R 并清除输出,然后重新运行。我不知道为什么会这样。
答案 14 :(得分:-1)
我看到了这条消息,发现这是因为png文件被其他软件或进程占用了。
所以关闭软件或进程,然后重新启动rstudio。