傻傻分不清楚的R繪圖尺寸,一鍵答疑
遇到以下情景的請點贊:
情景一:當按期刊要求將圖片調整到指定尺寸或像素時……圖片嚴重變形;
情景二:圖片只有放大至400%或縮小至20%才能看清楚……還能不能愉快的玩耍了;
情景三:用R畫圖時,總報邊界太大的錯誤……可明明有時候表現挺好的。
為什麼會出現上述問題?原來是這些概念沒被分清楚~
矢量圖vs點陣圖
矢量圖和點陣圖是常見的兩種圖形,關於二者區別,小編為大家找了一個簡單示例圖,請自行查看。此外網上還有很多詳細的講解,相信聰明的你一看就會。
?英寸 (inch)vs 像素(px,pixels)
像素和寸(在R裡面用英寸)是常見的圖片尺寸。英寸就是實際物理尺寸,一個像素其實就是一個顏色格子。要說二者關係還離不開解析度dpi。
1英寸(in)=25.4毫米(mm)
dpi(Dots Per Inch)表示一英寸內像素點的個數,像素點越多,解析度越高,dpi用於列印或印刷領域。當然它還有個同胞兄弟ppi(Pixel Per Inch),用於屏幕顯示領域。例如照相機在拍照時的解析度單位用ppi,在列印出照片時解析度單位是dpi。當輸出解析度高於攝入解析度時,照片則不清晰。一般期刊雜誌只要求圖片實際寬高、300dpi,並沒有提到像素。其實是由英寸限制了。
英寸*dpi=像素
當在R裡面用png默認參數生成圖片(480*480)時,要保證300dpi的解析度,需換成物理尺寸寬高均為1.6(480/300)inch。如果展示或列印的尺寸超過1.6inch,圖片dpi將低於300dpi,導致圖片不清晰。
1.為什麼是300dpi?
人眼能分辨出的最大解析度是300dpi。超過這個解析度,人眼是無法看出差別的,也就是說300dpi和600dpi在人眼看來是沒有差別的,所以現在的沖印設備最大的設計輸出解析度以及期刊要求,就是300dpi。
2.點陣圖可以直接以英寸做單位嗎?
點陣圖函數可以選擇單位,當設置成英寸時,還要設置解析度才能保證圖像清晰。如png(height =7,width = 7,units = "in",res=300)。?
pt vs cex
各學術期刊一般對字型大小等均有要求,比如Nature系列,根據位置不同,字型大小不同,一般為5~8pt,線型為0.25~1pt。
pt(point),中文譯為「磅」,是1/72英寸。px與pt不同,只有當圖像解析度為72dpi時px才是1/72英寸。所以期刊在要求6pt字型大小時,肯定會對圖片大小也有限制(如Nature要求單列寬89mm,雙列寬183mm,高247mm或120-136mm),否則會導致圖太大字太小。
在AI,PS裡面可以對矢量圖修改pt值。那點陣圖怎麼辦?當然生成時符合要求就行了。
R中字型大小大小調節參數是cex。在pdf()和png()生成畫布時是由pt設置的,默認pointsize=12,表示12pt。畫圖參數par(ps=12)也可以調整字體大小。而真正繪圖時cex表示縮放的倍數,默認等於1。即當cex=0.5時,字型大小大小則為6pt。期刊要求的線條(Nature要求0.25pt~1pt),可以通過lwd來設置,單位是pt。?
mar vs mai
對於畫圖邊界的設置par()裡面有mar和mai兩種參數。mai是以英寸為單位,mar是以行數為單位,行高是默認值。二者都是實際距離單位,不是相對值,差別在於單位長度不一樣,畫圖時二者只能取其一。當用pdf()畫圖時,默認是7inch。如果為了顯示legend,留白超過7inch,則會報錯。所以繪圖邊界設定時要考慮大小。
?總結
1、圖片的大小在生成圖片時是可以設置的,不需要手動轉換;
2、圖片尺寸和繪圖元素尺寸是匹配的。以像素為單位作為尺寸時,在列印時要注意物理尺寸,否則會影響清晰度;
3、邊界問題就不多說了,如果邊界太大,那就調整畫布大小。
最後提醒一句,不同期刊雜誌的繪圖尺寸大小要求不一樣,一定要查看清楚呦~
文案:生物信息分析部 任雪
設計:胡珊珊
關注作者,閱讀全文c
還有50%的精彩內容,作者設置為僅對粉絲可見
安諾基因
安諾基因,即安諾優達旗下子品牌,行業首選二代測序服務提供商,為您提供全面、專業、精準的基因組測序服務,加速您的科學研究。
+關注