簡體   English   中英

繪制編織錯誤:“無法啟動 png() 設備”

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM