我可以在R中将图像绘制成PDF文件吗?

时间:2013-04-16 09:43:57

标签: image r pdf

有没有办法将图像加载到R并在pdf上输出?

我知道如何绘制pdf,我尝试使用raster和jpeg包但他们不会输出图像。

目的是我正在构建PDF包图表,并希望页面上有徽标。

任何人都知道另一种方式吗?

4 个答案:

答案 0 :(得分:3)

我借用Matloff的书“The Art of R编程”(第63页,试用Google书籍):

library(pixmap)
logo <- read.pnm("filename") # the file has to be in PPM format
pdf("path/filename.pdf")
plot(logo)
dev.off()

或者您可以尝试使用同一个包中的addlogo()函数,虽然我没有时间对其进行彻底测试,但它似乎很有希望允许使用徽标坐标。您可以使用其中一个在线转换器将JPG(或您拥有的任何内容)转换为PPM。

另外,请参阅thisthis主题,两者都处理类似的问题。提供的答案有更详细的说明。

答案 1 :(得分:3)

栅格对此没有任何问题:

library(raster)
r <- brick(file.path(R.home(), "doc", "html", "logo.jpg"))
pdf("a.pdf")
plotRGB(r)
dev.off()

请注意,如果要对大型栅格使用image(),最好设置useRaster = TRUE(栅格默认为其对象执行此操作,或直接使用rasterImage())以避免非常大的PDF文件。

答案 2 :(得分:0)

喜欢这个 -

m = matrix(rnorm(100), 10, 10)
pdf("image.pdf")
image(m)
dev.off()

答案 3 :(得分:0)

尝试CRAN的biOps包。

# Read image
im = readJpeg('path/to/image')
# Save to pdf
pdf('path/to/pdf')
plot(im)
dev.off();

根据我的经验,这比我使用过的其他套餐要快一点