如何在R中不使用markdown打印或cat文本到pdf()中

iod*_*iod 6 pdf r export-to-pdf

我正在创建一个包含一些绘图的 PDF 文件,但我还想在底部包含一些文本消息。由于我无法控制的原因,我无法在该系统上安装乳胶发行版,因此我无法编写 markdown 文件,但必须使用pdf().

当我只是使用printcatpdf 中没有显示任何内容时。我尝试sink()根据此处的答案使用,但这也不起作用:

pdf("filename.pdf")
sink("filename.pdf")
print("message")
sink()
dev.off()
Run Code Online (Sandbox Code Playgroud)

未收到错误消息,但创建的文件没有页面。

有任何想法吗?我正在考虑仅绘制仅文本图的解决方法,但我希望有一个更合理的解决方案。

jay*_*.sf 4

text我们只需在设备中绘制文本即可pdftext仅在plot通话后有效。我们不必停用所有内容,我们称plot.new这基本上是一个空的情节。查看进一步定制的选项?pdf?text

txt <- "message"

pdf("filename2.pdf", paper="a4")
plot.new()
text(x=.1, y=.1, txt)  # first 2 numbers are xy-coordinates within [0, 1]
text(.5, .5, txt, font=2, cex=1.5)
text(.9, .9, txt, font=4, cex=2, col="#F48024")
dev.off()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

对于解决方案,而是在文本的最后sink使用cat并添加回车符以获得用于处理文件的有效最后一行。\rpdf.txt

sink("filename.txt")  # to be found in dir `getwd()`
cat("message\r")
sink()

pdf("filename.pdf")  # ditto
plot.new()
text(.5, .5, readLines("filename.txt"))
dev.off()
Run Code Online (Sandbox Code Playgroud)

在通话中使用不同的x坐标yfont选项和paper格式进行自定义pdf

结果

在此输入图像描述