如何在没有降价的情况下在 R 中打印或将文本转换为 pdf()
How to print or cat text into pdf() in R without markdown
我正在创建一个包含一些图表的 PDF 文件,但我还想在底部包含一些文本消息。由于我无法控制的原因,我无法在此系统上安装乳胶发行版,因此我无法编写降价文件,但必须使用 pdf()
.
当我只使用 print
或 cat
时,pdf 中什么也没有显示。我尝试根据 here 的答案使用 sink()
,但这也不起作用:
pdf("filename.pdf")
sink("filename.pdf")
print("message")
sink()
dev.off()
没有收到错误信息,但是创建的文件没有页面。
有什么想法吗?我正在考虑仅绘制纯文本图的解决方法,但我希望有更合理的解决方案。
我们可以简单地在 pdf
设备中使用 text
绘制文本。 text
仅在 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()
对于 sink
解决方案,而是使用 cat
并在文本的最后添加回车符 return \r
以获得有效的最后一行 pdf
处理 .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()
在 pdf
调用中使用不同的 x
和 y
坐标、font
选项和 paper
格式进行自定义。
结果
我正在创建一个包含一些图表的 PDF 文件,但我还想在底部包含一些文本消息。由于我无法控制的原因,我无法在此系统上安装乳胶发行版,因此我无法编写降价文件,但必须使用 pdf()
.
当我只使用 print
或 cat
时,pdf 中什么也没有显示。我尝试根据 here 的答案使用 sink()
,但这也不起作用:
pdf("filename.pdf")
sink("filename.pdf")
print("message")
sink()
dev.off()
没有收到错误信息,但是创建的文件没有页面。
有什么想法吗?我正在考虑仅绘制纯文本图的解决方法,但我希望有更合理的解决方案。
我们可以简单地在 pdf
设备中使用 text
绘制文本。 text
仅在 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()
对于 sink
解决方案,而是使用 cat
并在文本的最后添加回车符 return \r
以获得有效的最后一行 pdf
处理 .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()
在 pdf
调用中使用不同的 x
和 y
坐标、font
选项和 paper
格式进行自定义。