千家信息网

R语言拼图工具customLayout怎么用

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,R语言拼图工具customLayout怎么用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在CRAN更新的R包中,发现了
千家信息网最后更新 2026年11月03日R语言拼图工具customLayout怎么用

R语言拼图工具customLayout怎么用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

在CRAN更新的R包中,发现了一个挺有意思的R包--customLayout,听名字就很神奇。

它可以用来完成自由拼图,可以使用矩阵自定义图形位置和顺序,用数字来定义每一个模块的长宽比,试用了一遍简直爱不释手,在这里分享给大家。

这个包不仅支持数字拼图,还支持R内置的base绘图对象、grid绘图对象等(也就是支持ggplot2对象)。

这样的话,对于需要制作简单仪表盘的场景,完全不必要使用rmarkdown+flexdashboard或者shiny+shinydashboard也可以快速生成仪表盘原型。

customLayout包有CRAN版本,也有github版本可供下载:

install.packages("customLayout")devtools::install_github("zzawadz/customLayout")

简单的数字拼图:

通过设置简单的数字矩阵以及对应的宽高比,可以非常方便的设置出来数字拼图:

library(customLayout)library(magrittr)lay <- lay_new(  mat = matrix(1:4, ncol = 2),  widths = c(3, 2),  heights = c(2, 1))  lay_show(lay)

其中mat指定要拼图的数字矩阵,将1:4数字按照纵向顺序拼成两行,其中宽对比为3:2,高度比为2:1。

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

参数含义同上。

cl = lay_bind_col(lay, lay2, widths = c(3, 1))lay_show(cl)

以上过程将前两个例子横向拼接,两个模块对象仍然支持设置款对比例(3:1)

lay3 <- lay_new(matrix(1:2))lay4 <- lay_bind_row(cl, lay3, heights = c(5, 2))lay_show(lay4)

不同层级的对象仍然支持拼接在一起。

除此之外,也可以将一个模块嵌入到两一个模块特定位置。

lay <- lay_new(  matrix(1:4, nc = 2),  widths = c(3, 2),  heights = c(2, 1))lay_show(lay)lay2 <- lay_new(  matrix(1:4, nc = 2),  widths = c(3, 5),  heights = c(2, 4))lay_show(lay2)slay <- lay_split_field(lay, lay2, field = 4)lay_show(slay)

这里就将lay2嵌入到lay模块的第四个区域,但may2内部的布局结构任然不变。

关于图像对象的布局与拼接:

基础绘图对象的拼接:

par(mar = c(3, 2, 2, 1))lay  <- lay_new(  matrix(1:4, nc = 2),  widths = c(3, 2),  heights = c(2, 1))lay2 <- lay_new(matrix(1:3))cl   <- lay_bind_col(lay, lay2, widths = c(3, 1))lay_show(cl)
lay_set(cl) # initialize drawing areaset.seed(123)plot(1:100 + rnorm(100))plot(rnorm(100), type = "l")hist(rnorm(500))acf(rnorm(100))pie(c(3, 4, 6), col = 2:4)pie(c(3, 2, 7), col = 2:4 + 3)pie(c(5, 4, 2), col = 2:4 + 6)

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

library(ggplot2)library(gridExtra)lay  <- lay_new( matrix(1:2, ncol = 1))lay2 <- lay_new(matrix(1:3))cl   <- lay_bind_col(lay, lay2, widths = c(3, 1))cuts <- sort(unique(diamonds[["cut"]]),decreasing = TRUE)make_cut_plot <- function(cut) {  dd <- diamonds[diamonds[["cut"]] == cut, ]  ggplot(dd) +      geom_point(aes(carat, price)) +      facet_wrap("cut")}plots <- lapply(cuts, make_cut_plot)lay_grid(plots, cl)

customLayout包的版式布局思想非常简单,就是基于数值矩阵的模块化分割,同时不同层级的模块也可相互拼接,这样就可以像拼七巧板一样拼出很多奇形怪状的版式出来,甚至你使用这种版式来设计一个富有美感的超照片拼图或者海报都有可能。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

对象 数字 模块 支持 矩阵 布局 版式 绘图 不同 两个 仪表 仪表盘 位置 图形 层级 版本 顺序 帮助 清楚 神奇 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网黑科技 亿人帮互联网科技有限公司 中国互联网科技工作委员会毛军 互联网科技财经 朗新科技与工业互联网 中国的互联网科技企业的崛起 互联网企业和科技型企业 互联网软件和科技 崇明区互联网教育科技诚信经营 互联网科技商业 新兴科技互联网创新大赛颁奖典礼 注册互联网科技公司经营范围大全 互联网科技大奖都有哪些公司 米聚互联网科技南京有限公司排面 想开互联网科技公司怎么样 深圳无忧互联网科技 南京一网一红互联网科技有限公司 互联网科技新闻 互联网科技创新创业项目 互联网科技快速发展优美句子 互联网中国科技 深圳科技互联网 互联网医疗科技 互联网科技作文 中国科技互联网公司收入 中化能源互联网科技招聘 国大互联网教育科技有限公司工作 允成互联网科技有限公司融资 科技互联网经济论坛 网互联网络科技
0