r语言参数fig=c(),干货︱R语言绘图—基础图形参数整理
繼上一期的文章【干貨丨零基礎學習 R 語言?】小編在介紹了R語言基礎入門(包括R的安裝和載入、數據導入和導出方法等),在這一期小編繼續為你挖掘R語言的巧妙用處,跟大家探討如何創建和保存圖形,如何修改圖形中的特征如標題、坐標軸等。
Part 1
創建和保存圖形
R是個圖形構建平臺,通常我們在交互式會話中可通過逐條輸入語句構建圖形,逐漸完善圖形特征,直到獲得自己想要的結果。例如,
第一句先綁定了數據框,第二句生成了一幅散點圖,第三句向圖形添加一條最優擬合曲線。第四句添加標題。第五句為數據框解除綁定。
所以,在R中,圖形通常是以這種交互式的風格繪制的。
如果要通過代碼保存圖形,將繪圖語句夾在開啟目標圖形設備的語句和關閉目標設備的語句之間即可。例如:
除了用pdf()外,還可使用函數win.metafile()、png()、jpeg()、tiff()、xfig()和postscript()將圖形保存為其他格式。
我們通過執行一些高級繪圖命令(如plot()、hist()、boxplot())創建一幅新圖形時,通常會覆蓋先前的圖形,那怎樣才創建多個圖形并隨時查看每一個呢?有兩種方法。
第一種方法,在創建一幅新圖形前打開一個新圖形窗口。
第二種方法,使用函數dev.new()、dev.next()、dev.prev()、dev.set()、dev.off()同時打開多個圖形窗口,并選擇將哪個輸出發送到哪個窗口中,這種方法適用于全平臺。
R將在保證用戶輸入最小化的前提下創建盡可能美觀的圖形,不過我們仍然可使用圖形參數指定字體、顏色、線條類型、坐標軸、參考線和標注。
Part 2
修改圖形參數
當我們用R創建了一個新圖形后,就可修改圖形參數來自定義一幅圖形的多個特征,如字體、顏色、坐標軸等。
修改圖形參數的一種方法是通過函數par()來指定這些選項。調用格式如下:
不加參數的話,執行par()會生成一個含有當前圖形參數設置的列表。
添加參數no.readonly=TRUE會生成一個可修改的當前圖形參數列表。
如,在一幅折線圖上,假如我們想用實心三角作為點的符號,并且用虛線代替實現連接這些點。可用以下代碼:
結果如圖所示:
2.1
符號和線條
以下圖形參數可指定繪圖時使用的符合和線條類型。
下圖是參數pch可指定的繪圖符號
對于○◇△▽□符號,可指定邊界顏色col=和填充色bg=
下圖是參數lty可指定的線條類型
2.2
顏色
下表顯示用于指定顏色的參數
在R中,可通過顏色下標、顏色名稱、十六進制的顏色值、RGB值或HSV值來指定顏色。
例如,col=1、col=”white”、col=”#FFFFFF”、col=rgb(1, 1, 1)、col=hsv(0, 0, 1)都是表示白色的等價方式。
函數rgb()基于紅—綠—藍三色值生成顏色,hsv()基于色相—飽和度—亮度值來生成顏色。
2.3
文本屬性
圖形參數也可用來指定字號、字體和字樣。
以下是用于指定文本大小的參數:
以下是用于指定字體族、字號、字樣的參數:
例如,執行這語句命令:
創建的所有圖形都會帶有斜體、1.5倍于默認文本大小的坐標軸標簽名稱,以及粗斜體、2倍于默認文本大小的標題。我們可輕松設置字號和字體樣式。
如果設置字體族就稍顯復雜,因serif、sans和mono字體的具體映射是與圖形設備相關。在windows系統中,mono字體映射為TT Courier New,serif字體映射為TT Times New Roman,sans字體映射為TT Arial。(TT表示True Type)。執行family=”serif”參數就能獲得以上這些映射。若執行windowsFont()則創建新的映射,可這樣執行語句:
在mac系統上創新新映射則用quartzFonts()。
對于以PDF格式輸出圖形,用names(pdfFonts())找出系統中有哪些字體可用,再用pdf (file=”myplot.pdf”, family=”fontname”)來生成圖形。
2.4
圖形尺寸與邊界尺寸
下面列出的參數來控制圖形尺寸和邊界大小。
我們來看這組代碼:
可生成一幅4英寸高、3英寸高、上下邊界為1英寸、左邊界為0.5英寸、右邊界為0.2英寸的圖形。
現在我們了解完如何在R修改圖形參數,下面我們來了解一下自定義文本標注和坐標軸。
Part 3
添加文本、自定義坐標軸和圖例
其實還有很多高級繪圖函數(plot、hist、boxplot)可以自定義坐標軸和文本標注選項。
例如,下面代碼在圖形上添加了標題、副標題、坐標軸標簽,還指定坐標軸范圍。
結果如圖所示:
其實,某些高級繪圖函數已包含了默認的標題和標簽。我們可通過在plot()語句或單獨的par()語句中添加ann=FALSE來移除它們。
3.1
標題
我們可用title()函數為圖形添加標題和坐標軸標簽。
函數title()中可指定其他圖形參數(文本大小、字體、旋轉角度、顏色)。
3.2
坐標軸
我們可用函數axis()創建自定義的坐標軸,
自定義坐標軸的參數如下:
如果創建自定義坐標軸時,就應當禁用高級繪圖參數自動生成的坐標軸。
axes=FALSE禁用全部坐標軸,包括坐標軸框架線
xaxt=”n”和yaxt=”n”分別禁用X軸或Y軸,只去除刻度,保留框架線。
如要創建次要刻度線,我們需要使用Hmisc包中的minor.tick()函數。
安裝Hmisc包所需使用的代碼:
nx和ny分別指定X軸和Y軸每兩條主刻度線之間通過次要刻度線劃分得到的區間個數。
tick.ratio表示次要刻度線相對于主刻度線的大小比例。
3.3
參考線
abline()用來為圖形加上參考線。也可指定線條類型、顏色和寬度。
3.4
圖例
有時候我們創建一個圖形時數據不止一組,那這時就需要用圖例辨別每個條形、扇形區域或折線各代表哪一類數據。我們使用legend()加上圖例。
用于表示圖例的參數如下:
3.5
文本標注
我們可通過函數text()和mtext()將文本添加到圖形上。
我們來看這個示例:
在這里,我們針對數據框mtcars提供的32種車型的車重和每加侖汽油行駛英里數繪制散點圖,text()用于在各個數據點右側添加車輛型號。各點的標簽大小縮小了40%,顏色是紅色。
Part 4
組合圖形
在R中使用par()或layout()可容易組合多幅圖形為一幅圖。
我們可在par()函數中使用圖形參數mfrow=c(nrows, ncols)來創建按行填充的、行數為nrows、列數為ncols的圖形矩陣。或者還可用nfcol=c(nrows, ncols)按列填充矩陣。
例如,我們用下面代碼創建四幅圖形并將它排列在兩行兩列中。
結果如圖所示:
函數layout()的調用形式是layout(mat),mat是個矩陣,它指定了所要組合的多個圖形的所在位置。例如,
為了要精確控制每幅圖形大小,可選擇地在layout()函數中使用widths=和heights=兩個參數。
相對寬度可直接通過數值指定,絕對寬度(以厘米為單位)可通過函數lcm()來指定。
有時候,你想通過排布或疊加若干圖形來創建單幅的、有意義的圖形,這就要需要對圖形布局進行控制。我們可以用圖形參數fig=完成,我們來看看這個例子。
END
結語
以上介紹了用R創建圖形和保存圖形的方法和用R語言修改默認圖形的方法,同時也介紹了如何在圖形添加標題、文本等。對于生信小白來說,要勤加練習,通過各種各樣方法靈活實現不同的可視化效果。在下一期小編將介紹R語言的統計函數應用,歡迎大家繼續關注本公眾號。
希望我們分享的文章能幫助你發表更多SCI論文。如果你有疑問,歡迎在下面評論區留言。
溫馨提示
如果你喜歡本文,請分享到朋友圈,想要獲得更多信息,請關注我。
南博屹相伴,科研不孤單
RECOMMEND
總結
以上是生活随笔為你收集整理的r语言参数fig=c(),干货︱R语言绘图—基础图形参数整理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: xp改mac地址linux,局域网络必备
- 下一篇: c语言二极管控制程序,二极管(STC89