• R语言layout () 函数


    📋 个人简介
    💖 作者简介:大家好,我是W_chuanqi,一个编程爱好者
    📙 个人主页:W_chaunqi
    😀 支持我:点赞👍+收藏⭐️+留言📝
    💬 愿你我共勉:“若身在泥潭,心也在泥潭,则满眼望去均是泥潭;若身在泥潭,而心系鲲鹏,则能见九万里天地。”✨✨✨

    在这里插入图片描述

    Layout()函数的使用

    描述

    layout()用于页面布局,将一张图片划分为矩阵中的尽可能多的行和列,列宽和行高在各自的参数中指定。

    用法

    layout(mat, widths = rep.int(1, ncol(mat)),
           heights = rep.int(1, nrow(mat)), respect = FALSE)
    
    layout.show(n = 1)
    lcm(x)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    参数说明:

    参数说明
    matmat 为矩阵,用于设置窗口的划分,矩阵的0元素表示该位置不画图,非0元素必须包括从1开始的连续整数值,比如,1,2,…,N,按非0元素的大小设置图形的顺序。
    widths设备上列的宽度的向量。相对宽度用数值指定。绝对宽度(以厘米为单位)是用lcm()函数指定的。
    heights设备上行的高度的向量。可以指定相对高度和绝对高度,请参照上面的宽度。
    respecteither a logical value or a matrix object. If the latter, then it must have the same dimensions as mat and each value in the matrix must be either 0 or 1.
    n要绘制的图形的数量。
    x解释为厘米数的尺寸

    实例

    🎇实例1

    绘制的是3行2列的图像,矩阵按列排序(默认为 byrow=FALSE )

    attach(mtcars)
    layout(matrix(c(1,1,2,0,3,4), 3, 2))
    hist(wt)
    hist(mpg)
    hist(disp)
    hist(carb)
    detach(mtcars)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    按照相同的元素划为5个区域:

    image-20220824091207148

    🎇实例2

    绘制的是3行2列的图像,矩阵按行排序(添加一个 byrow=TRUE)

    attach(mtcars)
    layout(matrix(c(1,1,2,0,3,4), 3, 2,byrow = TRUE))
    hist(wt)
    hist(mpg)
    hist(disp)
    hist(carb)
    detach(mtcars)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    按照相同的元素划为5个区域:

    image-20220824093028501

    🎇实例3

    当使用相对宽度\高度时,weights 和 heights 传入的时一组向量,分别是第 1,2,...n 列(行)的宽度(高度)比,以下述代码为例:

    nf <- layout(matrix(c(1,1,2,1,1,2,3,3,3),3,3,byrow = TRUE), 
    					c(2, 2, 5), # 第1,2,3列宽度比为2:2:5
    					c(3, 3, 4)) # 第1,2,3行高度比为3:3:4
    layout.show(nf)
    
    • 1
    • 2
    • 3
    • 4

    下图中,因为区域1占据了前两列,总宽比为 2 + 2 = 4,所以区域1的宽度 :区域2的宽度 = 4 :5,区域1占据了前两行,总高比为 3 + 3 = 6,所以区域1的高度 :区域3的高度 = 6 :4

    image-20220824102845180

    🎇实例4

    同理,使用绝对宽度\高度时,也传入一组向量,对应的分别是第 1,2,...n 列的宽度\高度(cm),以下述代码为例:

    nf <- layout(matrix(c(1,1,2,1,1,2,3,3,3),3,3,byrow = TRUE), 
                 c(lcm(5), lcm(4), lcm(3)), # 第1,2,3列宽度分别为5cm,4cm,3cm
                 c(lcm(3), lcm(3), lcm(5))) # 第1,2,3行高度分别为3cm,3cm,5cm
    layout.show(nf)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    下图中,因为区域1占据了前两列,总宽比为 5 + 4 = 9,所以区域1的宽度 :区域2的宽度 = 9 :3,区域1占据了前两行,总高比为 3 + 3 = 6,所以区域1的高度 :区域3的高度 = 6 :5

    前两列,总宽比为 5 + 4 = 9,所以区域1的宽度 :区域2的宽度 = 9 :3,区域1占据了前两行,总高比为 3 + 3 = 6,所以区域1的高度 :区域3的高度 = 6 :5

    image-20220824103156956

  • 相关阅读:
    kubernetes安装Ingress-Nginx
    软件测试(五)自动化 selenium
    SpringBoot 如何使用 Ehcache 作为缓存
    vscode 命令无法执行
    20.添加HTTP模块
    司空见惯 - 体彩中奖交多少税
    本地快速部署 TiDB 集群
    sklearn笔记:调参
    算法-双指针、BFS与图论-1238. 日志统计
    git使用
  • 原文地址:https://blog.csdn.net/W_chuanqi/article/details/126735218