R語言繪圖高質量輸出


  R語言通過支持Cairo矢量圖形處理的類庫,可以創建高質量的矢量圖形(PDF,PostScript,SVG) 和 位圖(PNG,JPEG, TIFF),同時支持在后台程序中高質量渲染。在ggplot2中,圖片輸出經過Cairo包處理后,輸出個效果更好,可以輸出成PDF格式,PDF格式體積小,同時可以儲存為其他任何格式,隨后再將PDF儲存為eps格式並在Photoshop中打開做最終的調整,例如調整比例、色彩空間和dpi(一般雜志和出版社要求dpi=300以上)等。額外需要注意的是ggplot2中的字體大小問題,在cookbook-r一書中指出,在ggplot2中絕大多數情況下,size的大小以mm記,詳細的討論也可以參考stackover的討論,而在theme()中對element_text()里的size進行調整,此時的size是以磅值(points, pts)來進行表示。
  下面以3種ggplot2種常用的圖片輸出方式,輸出一幅主標題為20pts,橫縱坐標標題為15pts,長為80mm(3.15in),寬為60mm(2.36in)的圖為例。

require(ggplot2)
require(Cairo)
ggplot() +
  geom_text(aes(x = 16, y = 16), label = "ABC", size = 11.28) + #尺寸為11.28mm,即為32磅
  geom_text(aes(x = 16, y = 14.5), label = "ABC", size = 32) + #尺寸為32mm
  labs( x = "x axis", y = "y axis") +
  ylim( c(14, 16.5)) +
  xlim( c(15.75, 16.25)) +
  theme(
    axis.title.x = element_text(size = 32),#尺寸為32磅
    axis.title.y = element_text(size = 32))#尺寸為32磅
x <- seq(-4,4, length.out = 1000)
y <-dnorm(x)
data <- data.frame(x, y)
#用Cairo包輸出
require(Cairo)
CairoPDF("plot1.pdf", 3.15, 3.15) #單位為英寸
ggplot(data, aes(x = x, y = y)) + geom_line(size = 1) +
  theme_bw()
dev.off() #關閉圖像設備,同時儲存圖片
 
plot2 <- ggplot(data, aes(x = x, y = y)) + geom_line(size = 1) +
  theme_bw()
#用ggsave輸出,默認即以用Cairo包進行抗鋸齒處理
ggsave("plot2.pdf", plot2, width = 3.15, height = 3.15) 
#RStudio輸出

轉自博文:http://www.cellyse.com/how_to_use_gggplot2_part2/


免責聲明!

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



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