Вывод нескольких графиков с использованием `{tikzDevice}` в один текстовый файл в R

Я хочу вывести графики в один текстовый файл, используя {tikzDevice}Я написал следующий цикл, пытаясь сделать это:

library{tikzDevice}

graphList <- list(...) # ... are the graphs I have made using ggplot2

for (i in 1:length(graphList)) {

    cat("\\begin{figure}\n", file = "GraphList.tex", append=TRUE)
    sink("GraphList.tex", append=TRUE)

    tikz(console = TRUE)
    graphList[[i]]
    dev.off()

    sink()

    cat(paste0("\\caption{", names(graphList)[[i]],"}",sep=" "), 
    file = "GraphList.tex", append=TRUE)
    cat("\\end{figure}\n", file = "GraphList.tex", append=TRUE)
 }  

Иногда это работает, но иногда не просто писать то, что я положил в cat часть в tex файл без графиков.

Я довольно новичок в этом, кто-нибудь может мне помочь отсюда? Большое спасибо!

Обновлено:

Следующий код работает (предположим, у меня есть только 2 графика в списке, например):

   sink("Output/graph/GraphList.tex", append=TRUE)

   tikz(console = TRUE)
   cat("\\begin{figure}\n")
   graphList[[1]]
   cat(paste0("\\caption{", names(graphList)[[1]],"}",sep=" "))
   cat("\n\\end{figure}\n")

   cat("\n\\begin{figure}\n")
   graphList[[2]]
   cat(paste0("\\caption{", names(graphList)[[2]],"}",sep=" "))
   cat("\n\\end{figure}\n")

   sink()

Так что мое дикое предположение, что R не записывает часть цикла в файл, это правильно?

0 ответов

Другие вопросы по тегам