2013-04-16 53 views
1

有沒有辦法將圖像加載到R並在PDF上輸出它?我可以將圖像繪製到R中的PDF文件嗎?

我知道如何繪製到pdf,我試過使用光柵和jpeg包但他們不會輸出圖像。

目的是我建立一個PDF包的圖表,並希望在頁面上的標誌。

任何人都知道另一種方式?

+0

是否'PDF(「文件路徑/ filename.pdf」)'重定向輸出,只要你想在其他包快一點?用'dev.off()'關閉文件來查看它。 –

+0

我幾乎可以說,使用R之外的其他程序創建後處理您的PDF更容易,並在那裏添加標題頁,水印或徽標。 –

+1

@DanielFischer對此有一定的理解,通過編程實現一切。此外,這非常符合「可重複研究」的精神。想象一下,每次更改圖形時都會種植這些徽標的痛苦。 –

回答

3

有什麼錯光柵這個:

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

注意,如果你打算使用圖像()大型柵格你最好設置useRaster = TRUE(光柵默認情況下,它的對象做到這一點,或者直接使用rasterImage()來避免真正大的PDF文件。

+0

感謝您的支持,plotRGB函數中還需要參數axes = FALSE。 – wilsonm2

0

這樣的 -

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

我從Matloff的書 「R編程的藝術」 借位(第63頁,嘗試谷歌書):

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線程,兩者都處理類似的問題。提供的答案更詳細。

+0

我試過了,它創建了一個超過6MB的pdf,但是當我打開它時,它只是有一個空白的白頁?任何想法爲什麼? – wilsonm2

+0

它爲我工作時,我嘗試了它(主要選項,而不是addlogo())。也許@DanielFischer是對的,更容易使用外部工具來添加標誌/水印。 –

0

嘗試使用來自CRAN的biOps包。

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

根據我的經驗,這是比我用過

相關問題