我正在尝试从函数中捕获多图 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 的几何图形和页码(存在解决方法)。
还有其他方法可以做到这一点吗?