查看原文
其他

「盘点」R语言的那些拼图方法(二)

豆豆花花 生信星球 2022-06-25


 今天是生信星球陪你的第451天


   大神一句话,菜鸟跑半年。我不是大神,但我可以缩短你走弯路的半年~

   就像歌儿唱的那样,如果你不知道该往哪儿走,就留在这学点生信好不好~

   这里有豆豆和花花的学习历程,从新手到进阶,生信路上有你有我!

花花写于 2019-09-18

书接上回!太长了图片粘贴老是失败,我太难了!豆豆今天困,不肯来办公室加班。请和上一条的代码一起运行,不然可能报错缺包。

4.customLayout

这个灰常好!我要详细讲一下

(1)简单布局

if(!require(customLayout))install.packages("customLayout")
library(customLayout)

lay1 <- lay_new(
    mat = matrix(1:4, ncol = 2),#数字矩阵
    widths = c(32),#宽度比
    heights = c(21))  #高度比
lay_show(lay1)

lay2 <- lay_new(
    mat = matrix(1:4, ncol = 2),
    widths = c(35),
    heights = c(24))  
lay_show(lay2)

(2)两个简单面板拼接

#1)横向
lay3 = lay_bind_col(lay1, lay2, widths = c(31))
lay_show(lay3)

#2)纵向
lay4 <- lay_bind_row(lay1, lay2, heights = c(52))
lay_show(lay4)

(3)嵌套

lay <- lay_new(
    matrix(1:4, nc = 2),
    widths = c(32),
    heights = c(21))
lay_show(lay)

lay2 <- lay_new(
    matrix(1:4, nc = 2),
    widths = c(35),
    heights = c(24))
lay_show(lay2)

把lay2嵌套金lay1的第一个面板

slay <- lay_split_field(lay1, lay2, field = 1)
lay_show(slay)

把lay1嵌套进lay2的第4个面板

flay <- lay_split_field(lay2, lay1, field = 4)
lay_show(flay)

(4)基础绘图的拼接

#本段代码来自帮助文档
par(mar = c(3221))
lay  <- lay_new(
    matrix(1:4, nc = 2),
    widths = c(32),
    heights = c(21))
lay2 <- lay_new(matrix(1:3))
cl   <- lay_bind_col(lay, lay2, widths = c(31))
lay_show(cl)
lay_set(cl)

plot(1:100 + rnorm(100))
plot(rnorm(100), type = "l")
hist(rnorm(500))
acf(rnorm(100))
pie(c(346), col = 2:4)
pie(c(327), col = 2:4 + 3)
pie(c(542), col = 2:4 + 6)

(5)grid(ggplot2)图形对象的拼接

lay  <- lay_new( matrix(1:2, ncol = 1))
lay2 <- lay_new(matrix(1:3))
cl   <- lay_bind_col(lay, lay2, widths = c(31))
lay_show(cl)
plots2 <- list(p_boxplot,p_density,p_point,p_col,p_s)
lay_grid(plots2, cl)

参考链接:https://zhuanlan.zhihu.com/p/51652596

https://blog.csdn.net/kMD8d5R/article/details/85182184

向大家隆重推荐隔壁生信技能树的一系列干货!

全球公益巡讲招学徒

B站公益74小时生信工程师教学视频合辑


点击底部的“阅读原文”,获得更好的阅读体验哦😻

初学生信,很荣幸带你迈出第一步。

我们是生信星球,一个不拽术语、通俗易懂的生信知识平台。由于是2018年新号,竟然没有留言功能。需要帮助或提出意见请后台留言、联系微信或发送邮件到jieandze1314@gmail.com,每一条都会看到的哦~


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存