R-拼圖系列-基礎(chǔ)函數(shù)

R語言的基礎(chǔ)繪圖參數(shù)可通過par()函數(shù)設(shè)置或者查詢。關(guān)于拼圖相關(guān)主要為mfcolmfrow,此外layout()函數(shù)可以實(shí)現(xiàn)更精細(xì)的布局調(diào)整。

0 繪圖基本流程(4步)

# (1) 保存原始的默認(rèn)參數(shù)
opar <- par(no.readonly=TRUE)
# (2) 聲明拼圖方案
par(mfcol=c(2,1)) 
# or
# layout(matrix(c(1,1,2,3),2,2,byrow=TRUE))  
# (3) 基礎(chǔ)繪圖函數(shù)繪制圖形
data(mtcars)
plot(mtcars$wt, mtcars$mpg)
barplot(mtcars$mpg)

# (4) 恢復(fù)默認(rèn)布局參數(shù):一個面板一張圖
par(opar)

1、mfcolmfrow參數(shù)

  • mfcol=c(x,y)mfrow=c(x,y)將初始繪圖面板分割為x行,y列;
  • 二者區(qū)別在于前者按列的順序依次填充、布局;而后者為按行依次填充、布局
opar <- par(no.readonly=TRUE)
par(mfcol=c(2,1)) #2行1列
#par(mfrow=c(2,1)) 
data(mtcars)
plot(mtcars$wt, mtcars$mpg)
barplot(mtcars$mpg)
par(opar)
opar <- par(no.readonly=TRUE)
par(mfrow=c(2,2)) #2行2列(按行填充)
plot(mtcars$wt, mtcars$mpg)
barplot(mtcars$mpg)
plot(density(mtcars$wt))
hist(mtcars$qsec)
par(opar)

上述的拼圖方法是比較規(guī)矩的,即把圖平均分為幾行幾列。下面介紹的方法會實(shí)現(xiàn)更靈活的布局方案。

2、layout()布局

(1)首先通過矩陣設(shè)置排版方案

如下矩陣表示將三張圖拼在一起:第一張圖在第一行,第二、三張圖在第二行

mt = matrix(c(1,1,2,3),
            nrow = 2, byrow=TRUE)
mt
#     [,1] [,2]
# [1,]    1    1
# [2,]    2    3

如下矩陣表示將四張圖拼在一起:第一張圖在第一列,第二、三張圖在第二列,第四張圖在第三列

mt = matrix(c(1,1,2,3,4,4),
            nrow = 2, byrow=FALSE)
mt
#       [,1] [,2] [,3]
# [1,]    1    2    4
# [2,]    1    3    4

(2) 然后設(shè)置長寬比

  • 主要通過widths參數(shù)、heights參數(shù)設(shè)調(diào)整,默認(rèn)子圖為等寬等高;可結(jié)合下面示例體會用法

(3) 示例

opar <- par(no.readonly=TRUE)
#布局設(shè)置
mt = matrix(c(1,1,2,3),
            nrow = 2,byrow=TRUE)
layout(mt,
       widths=c(3,1),  #高度比為 3:1
       heights=c(1,2))  #寬度比為 1:2
#繪圖
plot(mtcars$wt, mtcars$mpg)
barplot(mtcars$mpg)
plot(density(mtcars$wt))
par(opar)
opar <- par(no.readonly=TRUE)

mt = matrix(c(1,1,2,3,4,4),
            nrow = 2, byrow=FALSE)
layout(mt, 
       widths = c(2,2,1), 
       heights = c(1,2))  

plot(mtcars$wt, mtcars$mpg)
barplot(mtcars$mpg)
plot(density(mtcars$wt))
hist(mtcars$qsec)

par(opar)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容