par函數概述
在R繪圖時,有時我們想在一個繪圖區中同時繪製多幅圖。在R語言中可以有多個函數來實現此要求。這裡先介紹一下繪圖參數par函數的使用。
R中的par()函數可以將繪圖區分割成規則的幾個部分。
多圖環境用參數mfrow或參數mfcol來設定,如:
par(mforw=c(3,2))
則是在同一繪圖區中繪製3行2列共6個圖形,而且是先按行繪製,即繪製完第1行的2個圖形後,再繪製第2行的2個圖形,最後是第3行的2個圖形。同理,
par(mfcol=c(3,2))
也是繪製3行2列共6個圖形,與上面不同的是,先按列繪製。即先繪製完第1列的3個圖形,再繪製第2列的3個圖形。
par設定的繪圖參數直至退出前都會有效,即使是在某個函數中使用par()設定的參數,也會影響全局的效果,所以如果在繪圖中需要恢復到初始狀態,可以設置臨時變量保存初始環境。在準備恢復時再使用par(臨時變量)的形式恢復到初始狀態。
繪圖的例子
下面舉例子說明該函數的具體使用方法:
設置一個2×2的多圖窗口,分別繪製 y = sinx, y = cosx, y = 2*sinxcosx和y = tanx的圖像,定義域為[-π,π]
編寫R程序如下:
par(mfrow = c(2, 2))x <- seq(-pi,pi,by=0.1)plot(x,sin(x),typ="l")plot(x,cos(x))plot(x,2*sin(x)*cos(x))plot(x,tan(x))
繪圖結果如下:
怎麼樣,好像這個圖看起來有點醜,不要緊,下面給每個圖以線的形式進行繪製,並加上顏色。如果對plot函數不懂的話,可以查看本號前面有關plot函數的詳細介紹。
重新編寫R程序如下:
par(mfrow = c(2, 2))x <- seq(-pi,pi,by=0.01)plot(x,sin(x),type="l",col=2)plot(x,cos(x),type="l",col="green")plot(x,2*sin(x)*cos(x),type="l",col="blue")plot(x,tan(x),type="l",ylim=c(-30,30),col=6)
這次的繪圖結果如下:
怎麼樣,這次好像比上圖俊俏多了。你可以試一試,很方便。尤其在做科研時,需要多幅圖放在一起做比較,這樣R中的par函數很方便的就實現了這個要求。
如果你對R語言數據分析感興趣,可以關注本號,本號當前著重提供R語言數據分析方面的文章,從基礎到高級,慢慢來,讓我們逐步叩開R語言的大門,遨遊在R的世界中。
本號今後會進一步更新Python,SPSS,Excel等做數據分析方法。歡迎留言,歡迎關注。