使用`{tikzDevice}`将多个图输出到R中的单个tex文件

时间:2016-10-07 21:18:11

标签: r latex tikzdevice

我想使用{tikzDevice}将图形输出到单个tex文件,我写了以下循环试图实现它:

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 个答案:

没有答案