【发布时间】:2014-04-02 16:43:08
【问题描述】:
我正在尝试从函数中捕获多图 pdf。在 R 中,这给了我一个三页的 PDF:
pdf(file='test.pdf', onefile=TRUE)
lapply(1:3, 'plot')
dev.off()
使用 OpenCPU:
$ curl http://localhost:6977/ocpu/library/base/R/lapply -H 'Content-Type: application/json' -d '{"X":[1,2,3], "FUN":"plot"}'
/ocpu/tmp/x0dc3dad0/R/.val
/ocpu/tmp/x0dc3dad0/graphics/1
/ocpu/tmp/x0dc3dad0/graphics/2
/ocpu/tmp/x0dc3dad0/graphics/3
/ocpu/tmp/x0dc3dad0/stdout
/ocpu/tmp/x0dc3dad0/source
/ocpu/tmp/x0dc3dad0/console
/ocpu/tmp/x0dc3dad0/info
我可以将任何单独的页面作为一个单页 PDF 文件,但不能作为一个组合文件。
两种可能的解决方法,并非没有问题:
-
使用
par(mfrow)、layout()或类似的机制,尽管这最终会创建一个怪物图像(我在我的代码中处理三个以上的图像)。 使用
tempfile,即时创建 Rmd 文件,在会话中返回文件名(尚未对此进行测试),并使用 OpenCPU 处理 Rmd 文件。不幸的是,现在这使用了 LaTeX 的几何图形和页码(存在解决方法)。
还有其他方法吗?
【问题讨论】: