R語言繪圖布局實例講解
在R語言中,par 函數(shù)可以設置圖形邊距,其中oma 參數(shù)設置outer margin, mar 參數(shù)設置margin,
這些邊距有什么不同呢,通過box函數(shù)可以直觀的看到
box 默認在當前圖形繪制邊框,第一個參數(shù)which = "plot", 所以在當前圖形上繪制邊框
which 的值除了plot 之外,還可以選擇 figure, inner, outer
接下來分別用不同的值測試一下,為了區(qū)分,為不同的邊框設置不同的顏色和類型,代碼如下:
attach(mtcars) plot(wt, mpg) abline(lm(mpg~wt)) title("Regression of MPG on Weight") box(which = "plot", col = "red", lwd = 2) box(which = "figure",col = "blue", lwd = 4)
為了區(qū)分,plot的邊框為 紅色, figure 的邊框為 藍色,效果如下:
可以看出,在figure 區(qū)域中包含了plot 區(qū)域, plot 區(qū)域指的是實際繪圖中的坐標系內(nèi)的區(qū)域,里面是坐標系中的點,線等元素,而在figure 和 plot 區(qū)域之間的是坐標軸的刻度,x軸和y中的標簽,title 等元素
在紅色的邊框和藍色的邊框之間的區(qū)域就是inner margin, 如果inner margin 太窄會發(fā)生什么,用一個實際的例子看一下
par(oma=c(1,1,1,1), mar=c(2,2,2,2)) attach(mtcars) plot(wt, mpg) abline(lm(mpg~wt)) title("Regression of MPG on Weight") box(which = "plot", col = "red", lwd = 2) box(which = "figure",col = "blue", lwd = 4)
效果如下:
可以看到,坐標軸對應的標題沒有了,通過mar 參數(shù)設置了inner margin 的寬度,由于都是1,太窄了,所以坐標軸的標題沒顯示出來,下次遇到類似的問題,就知道因該將inner margin 設置的大一些
mar 參數(shù)的值是一個長度為4的向量,分別對應下,左,上,右 4個方向的inner margin, 只需要記住第一個對應的是下,然后沿逆時針方向設置就可以了;
解決了inner margin 的問題,那么outer margin 有是怎么一回事呢?
在figuer 區(qū)域和我們整個繪圖設備之間,其實還有一個邊距,這個邊距就是outer margin, 只不過默認值都是0,所以看不到
接下來我們用oma 參數(shù)設置outer margin 的值,將其設置的寬一點,然后再用box 標記出outer 邊框和figure 邊框,直觀的看一下,代碼如下:
par(oma=c(2,2,2,2)) attach(mtcars) plot(wt, mpg) abline(lm(mpg~wt)) title("Regression of MPG on Weight") box(which = "plot", col = "red", lwd = 2) box(which = "figure",col = "blue", lwd = 4) box(which = "outer", col = "black", lty = 8)
圖中虛線對應的就是outer 邊框,在outer 和 figure 邊框之間的就是 outer margin , 通過oma 參數(shù)的值來設置outer margin 的寬度,和mar 類似,也是從下方開始,沿著逆時針方向進行設置
通過上面的幾個例子,我們就可以看到,在R語言中,在一個繪圖設備上有3個不同的邊框,最外圈為outer 邊框,可以看作整張紙的邊沿,而中間的figure 邊框才是繪制圖形的地方,通過par 函數(shù)的oma 參數(shù)控制figure 區(qū)域的大??;
plot 區(qū)域繪制的是坐標系中的元素,在plot 區(qū)域和figure 邊框之間的inner margin 用來放置坐標軸刻度,標題等元素,通過par 函數(shù)的mar 參數(shù)可以設置其大小
到此這篇關(guān)于R語言繪圖布局實例講解的文章就介紹到這了,更多相關(guān)R語言繪圖布局內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
R語言之xlsx包讀寫Excel數(shù)據(jù)的操作
這篇文章主要介紹了R語言之xlsx包讀寫Excel數(shù)據(jù)的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04R語言 實現(xiàn)將數(shù)據(jù)框中的字符類型數(shù)字轉(zhuǎn)換為數(shù)值
這篇文章主要介紹了R語言 實現(xiàn)將數(shù)據(jù)框中的字符類型數(shù)字轉(zhuǎn)換為數(shù)值,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03R語言-進行數(shù)據(jù)的重新編碼(recode)操作
這篇文章主要介紹了R語言-進行數(shù)據(jù)的重新編碼(recode)操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04