[英]Plot knitting error : “unable to start png() device”
我正在使用 Rmarkdown 生成漂亮的文档(如使用 LaTex),但有一个我无法解决的问题。
我正在以下列方式打印图形:
```{r p(s|r)}
pleft=function(x, p=0.5){dnorm(x, mean=35, sd = 10)*p/(dnorm(x, mean=35, sd
= 10)*p+dnorm(x, mean=65, sd = 10)*(1-p))}
pright=function(x, p=0.5){dnorm(x, mean=65, sd = 10)*(1-p)/(dnorm(x,
mean=35, sd = 10)*p+dnorm(x, mean=65, sd = 10)*(1-p))}
pleft50= function(x){pleft(x, 0.5)}
pright50=function(x){pright(x, 0.5)}
curve(pleft50, from=-10, to=110, xlab="Firing Rate r (Hz)", ylab="p(s|r)",
col="red", lwd=2)
curve(pright50, from=-10, to=110, xlab="Firing Rate r (Hz)", ylab="p(s|r)",
col="blue", lwd=2, add=TRUE)
legend("right", legend = c("p(Left|r)","p(Right|r)"), col=c('red', 'blue'),
lwd = 2)
title("Posteriors")
```
这在每个先例代码块和文档中都以相同的方式工作,但是现在当我编织文档时它会引发此错误:
png(..., res = dpi, units = "in") 中的错误:无法启动 png() 设备调用:... in_dir -> plot2dev -> do.call -> -> png 另外:警告消息: 1: 在 png(..., res = dpi, units = "in") : 无法打开文件 'ExSheet4_files/figure-html/name of my chunk-1.png' 2: 在 png(.. ., res = dpi, units = "in") : 打开设备失败
我已经尝试了任何我知道的方法,它会在调用curve(pleft50,...
) 后立即将其升高。
谢谢你的回答,对不起我的英语!
它不喜欢第一行中的p(s|r)
—— 它试图创建一个用于写入的文件,但在那里失败了。 如果删除它,例如:
---
title: "Untitled"
date: "April 14, 2018"
output:
html_document: default
word_document: default
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
```{r}
pleft=function(x, p=0.5){dnorm(x, mean=35, sd = 10)*p/(dnorm(x, mean=35, sd
= 10)*p+dnorm(x, mean=65, sd = 10)*(1-p))}
pright=function(x, p=0.5){dnorm(x, mean=65, sd = 10)*(1-p)/(dnorm(x,
mean=35, sd = 10)*p+dnorm(x, mean=65, sd = 10)*(1-p))}
pleft50= function(x){pleft(x, 0.5)}
pright50=function(x){pright(x, 0.5)}
curve(pleft50, from=-10, to=110, xlab="Firing Rate r (Hz)", ylab="p(s|r)",
col="red", lwd=2)
curve(pright50, from=-10, to=110, xlab="Firing Rate r (Hz)", ylab="p(s|r)",
col="blue", lwd=2, add=TRUE)
legend("right", legend = c("p(Left|r)","p(Right|r)"), col=c('red', 'blue'),
lwd = 2)
title("Posteriors")
```
你得到这个:
当您在命名的代码块中编织图时,会发生所描述的错误,并且在编织过程中块的名称不会导致有效的路径名。
也就是说,在编织过程中,将绘图写入包含代码块名称的临时路径中,因此该名称应仅包含对路径名称有效的字符,而对于使用的字符则不正确|
. 还应避免在chunk names
使用白色字符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.