R 語言消除pdf圖片的空白


 

pdf 函數中,有一個參數onefile ,  默認值為TRUE, 表示每張圖片占用pdf 中的一頁

當遇到pdf的前幾頁為空白時,是因為畫圖的代碼產生了幾張空白的圖片

如果要消除前面的空白,只需要設置onefile = FALSE 就可以了,此時后面的圖片會覆蓋前面空白的圖片,就實現了消除空白頁的效果

代碼示例:

默認情況下,一張圖占用pdf的一頁

pdf("test.pdf")
plot(1:5, type = "n", xlab = "", ylab = "", bty = "n", xaxt = "n", yaxt = "n")
plot(1:5)
dev.off() 

效果圖如下:

上面的代碼中,我們共畫了兩幅圖,第一幅圖為空白,第二幅圖為散點圖,對應到pdf中,pdf的第一頁為第一幅圖,所以為空白,第二幅圖為一張散點圖,對應pdf的第二頁

設置onefile 參數為FALSE 后,散點圖會覆蓋前面的空白

代碼示例:

pdf("test.pdf", onefile = FALSE)
plot(1:5, type = "n", xlab = "", ylab = "", bty = "n", xaxt = "n", yaxt = "n")
plot(1:5)
dev.off()

效果圖如下:

從圖中可以看出,pdf只有一頁了,后面畫的圖會覆蓋前面的圖,而且所有的圖都只占用pdf的第一頁

當我們使用別人的畫圖代碼時,可能會存在bug, 導致pdf的前幾頁為空,這是設置onefile = FALSE 就可以解決問題了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM