R 错误:无法启动png()设备

R 错误:无法启动png()设备,r,R,我正在使用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 (ki

我正在使用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
有人能帮我解决这个问题吗


提前感谢

文件名
C:\plot1.png
包含一个反斜杠(
\
),它是一个转义字符。这将导致您得到的错误

将其更改为斜杠(
/

或将反斜杠加倍(
\\
):


在电脑上也有同样的问题。问题是有一个启用了“安全文件”的防病毒程序,它阻止了Rstudio创建图形文件。杀毒软件在拦截时没有显示任何信息,因此它实际上没有给你任何线索。

另一个问题可能是你的Rstudio可能已经更新。我在R-markdown内部工作时遇到了这个问题。用正则R脚本尝试代码仍然有效。尝试将标记保存为新文件。这将暂时解决问题


不知道长期解决方案。

我收到了相同的错误消息。原来路径名中有一个输入错误。
除了这些问题之外,重新安装ggplot和CRAN似乎对一些人起到了作用,请参见

我在处理r-markdown文档时遇到了同样的问题


我的案例中的问题与内联查看区块输出有关。当我切换到在控制台中查看块输出时,它工作得很好

我无法解释原因,但我曾经发现,当保存我的RStudio项目的文件夹路径是一个很长的字符串时,png设备将失败。当我缩短文件夹路径时,它起作用了

我今天在一个RMarkdown笔记本上工作时也犯了这个错误(昨天天气很好)。如果我编辑一个块,然后尝试运行它,我会得到这个错误。如果我保存笔记本并再次尝试该块,它就会工作。我的工作目录是OneDrive文件夹。我想知道这是否是一个问题

每次编辑后都要保存不是很理想,但这是一种解决办法。

我也遇到了一个错误:“函数中的错误(function)(filename=“Rplot%03d.png”,width=480,height=480,: 无法启动png()设备“

我一直在处理的.Rmd文件的名称包含一些非英语字符,因此删除它们对我来说很有帮助。

我添加了“dev.off()
“在绘图之前,问题已解决。原因可能是以前的设备尚未关闭。

我收到了上述错误。”

函数(filename=“Rplot%03d.png”,宽度=480,高度=480,:无法启动png()设备调用中的错误:…


我的问题是R-markdown文档中的一个R代码块中的fig.width选项,以及当输出呈现为html文档时。fig.width与其他代码块中的其他fig.width选项相比太大。同样,只有当我尝试将其呈现为html文档而不是powerpoint呈现时,才会观察到这一点上。

这个问题已经解决了,但我想我可能会添加我的答案,如果它能让某人的生活更轻松的话。 当然,您可以将
wd
设置为一些短路径(或没有特殊字符的路径):
setwd(“c/Users/John/My\u r\u 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
,…

在Jupyter笔记本中运行R时,我也遇到了同样的问题。我做了很多谷歌搜索,并尝试了所有可能的方法。对我来说唯一有效的方法就是重新启动内核。但是,重新启动内核并不是一件好事d解决方案,如果您已经培训了花了您很长时间的模型。

在Windows 10中也遇到了类似的问题,我的R脚本被放在与
RScript.exe
相同的文件夹中,使用包
ggplot2
。但是我收到消息
无法打开文件“Rplot001.png”

最终找到了两种解决问题的方法:

  • 将R脚本移动到位于的文件夹
    RScript.exe
    之外的任何其他文件夹
  • 首先使用命令
    setwd(“YourPath”)
    设置工作目录,然后执行其他操作

  • 我看到这条消息,发现这是因为png文件被其他软件或进程占用


    因此,请关闭软件或进程,然后重新启动rstudio。

    @R.Schifini,编辑时是否添加了额外的反斜杠?如果是(以及下面的诊断是否正确),你把这个问题弄得很混乱…@BenBolker,我只是格式化了代码。我同意这很混乱,但我记得只看到了一个反斜杠。问题似乎是通过重新安装解决的。我投票赞成删除整个问题,因为它似乎没有进一步的用途。(编辑:我甚至复制了原始路径和文件名)好的,投票关闭。是的,这个错误很可能是由于我们试图编写png的
    文件名
    中的文件夹目录错误或不存在造成的。我们计划使用的文件夹应该提前创建(使用例如
    if(!dir.exist(folder_name)dir.create(folder_name)
    )。我正在程序中使用“C:\\”。尝试用“C:/"。仍然是相同的错误。我尝试重新安装rstudio,但确实有帮助。现在代码似乎正常工作。谢谢你R.Schifini。你是如何解决的?不确定现在是否仍然如此,但多年来,Windows路径+文件名中的字符数不能超过255个左右。这并不能回答这个问题。一旦你有了您将能够,而不是-
    png("C:\\plot1.png", width = 480, height = 480, units = "px", bg = "white")
    
    ```{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
    )
    ```