Как правильно настроить цикл прорисовки? - PullRequest
0 голосов
/ 02 мая 2018

я все еще новичок, борющийся с настройкой цикла прорисовки (* .png файлы). msgstr "не удалось открыть устройство". Честно говоря, я не знаю, как справиться с этим.

Мой подход:

names =list(Pic1,Pic2,Pic3,Pic4,Pic5,Pic6,Pic7,Pic8,Pic9,P10)


for (i in 1:10){

mypath <- file.path("C:","Users",paste("myplot_",names[i],".png"))
png(file=mypath)
mytitle = paste("Training PIC", names[i])
par(mfrow=c(3,1), oma=c(2,2,4,2))
boxplot(ERRORS.train.pic[[i]], outline=F, ylab="RMSE(-)", xlab="K-No")
abline(h = 0, col = "red")
plot(sapply(ERRORS.train.pic[[i]], median), ylab="MEDIAN-RMSE(-)", xlab="K-No",type="l", col="blue")
plot(sapply(ERRORS.train.pic[[i]], mean), ylab="MEAN-RMSE (-)", col ="red")
title(main= mytitle, outer=T)
dev.off()
}

Я получаю следующий код ошибки:

Error in png(file = mypath) : kann png()-Gerät nicht starten
In addition: Warning messages:
1: In png(file = mypath) :
  kann Datei 'C:/Users/myplot_ A .png' nicht zum Schreiben öffnen
2: In png(file = mypath) : opening device failed

Я был бы очень признателен за некоторые подсказки по этому вопросу. Заранее спасибо, Олли

1 Ответ

0 голосов
/ 02 мая 2018

очевидно, что проблема была в файле file.path. Я пошел другим путем и исправил это.

мое решение:

dir <- "C:\\Users\\"
    names =list(Pic1,Pic2,Pic3,Pic4,Pic5,Pic6,Pic7,Pic8,Pic9,P10)
    for (i in 1:10){

    mypath <- paste0(dir,"Training-Result",names[i],".png")
    png(file=mypath)
    mytitle = paste("Training PIC", names[i])
    par(mfrow=c(3,1), oma=c(2,2,4,2))
    boxplot(ERRORS.train.pic[[i]], outline=F, ylab="RMSE(-)", xlab="K-No")
    abline(h = 0, col = "red")
    plot(sapply(ERRORS.train.pic[[i]], median), ylab="MEDIAN-RMSE(-)", xlab="K-No",type="l", col="blue")
    plot(sapply(ERRORS.train.pic[[i]], mean), ylab="MEAN-RMSE (-)", col ="red")
    title(main= mytitle, outer=T)
    dev.off()

любой способ представить способ использования file.path. ура!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...