[英]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.