美文网首页
R-拼图系列-基础函数

R-拼图系列-基础函数

作者: 小贝学生信 | 来源:发表于2021-11-08 21:20 被阅读0次

R语言的基础绘图参数可通过par()函数设置或者查询。关于拼图相关主要为mfcolmfrow,此外layout()函数可以实现更精细的布局调整。

0 绘图基本流程(4步)

# (1) 保存原始的默认参数
opar <- par(no.readonly=TRUE)
# (2) 声明拼图方案
par(mfcol=c(2,1)) 
# or
# layout(matrix(c(1,1,2,3),2,2,byrow=TRUE))  
# (3) 基础绘图函数绘制图形
data(mtcars)
plot(mtcars$wt, mtcars$mpg)
barplot(mtcars$mpg)

# (4) 恢复默认布局参数:一个面板一张图
par(opar)

1、mfcolmfrow参数

  • mfcol=c(x,y)mfrow=c(x,y)将初始绘图面板分割为x行,y列;
  • 二者区别在于前者按列的顺序依次填充、布局;而后者为按行依次填充、布局
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)

上述的拼图方法是比较规矩的,即把图平均分为几行几列。下面介绍的方法会实现更灵活的布局方案。

2、layout()布局

(1)首先通过矩阵设置排版方案

如下矩阵表示将三张图拼在一起:第一张图在第一行,第二、三张图在第二行

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) 然后设置长宽比

  • 主要通过widths参数、heights参数设调整,默认子图为等宽等高;可结合下面示例体会用法

(3) 示例

opar <- par(no.readonly=TRUE)
#布局设置
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)

相关文章

  • R-拼图系列-基础函数

    R语言的基础绘图参数可通过par()函数设置或者查询。关于拼图相关主要为mfcol或mfrow,此外layout(...

  • R-拼图系列-ggplot2之patchwork

    相比R语言基础绘图函数,我更喜欢使用ggplot绘制的图形。而patchwork包是一个非常友好的,支持ggplo...

  • Sum、Sumif、Sumifs区别

    求和函数Sum系列,是Excel的基础函数,也是常用函数之一。 Sum、Sumif、Sumifs区别 sum系列函...

  • 2019-07-29

    今天看了php基础之函数系列

  • R-基础

    数据框的合并:数据框的纵向合并,一般两个数据框之间会通过共有的变量内联结,通常采用merge()函数;cbind(...

  • R语言绘图合集

    一、类别比较型图 [R-柱形图系列] R-柱形图[http://mp.weixin.qq.com/s?__biz=...

  • JS基础系列(函数)

    关键字: 函数都是对象js中函数都是Function对象,它们也具有属性和方法,最为特殊的是它们可以被调用。 关键...

  • Python 基础系列--函数

    在中学数学中我们知道 y=f(x) 代表着函数,x 是自变量,y 是函数 f(x) 的值,给定 x 可以计算出对应...

  • R-基础作图

    I believe I can fry!!!QYommfvj.jpg 2.all about the base 问...

  • Kotlin系列 - 高阶函数与标准库中的常用函数(三)

    Kotlin细节文章笔记整理更新进度:Kotlin系列 - 基础类型结构细节小结(一)Kotlin系列 - 函数与...

网友评论

      本文标题:R-拼图系列-基础函数

      本文链接:https://www.haomeiwen.com/subject/sciuzltx.html