R語言拼圖工具customLayout怎么用,很多新手對此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供南昌縣網(wǎng)站建設(shè)、南昌縣做網(wǎng)站、南昌縣網(wǎng)站設(shè)計(jì)、南昌縣網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、南昌縣企業(yè)網(wǎng)站模板建站服務(wù),十余年南昌縣做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
在CRAN更新的R包中,發(fā)現(xiàn)了一個(gè)挺有意思的R包——customLayout,聽名字就很神奇。
它可以用來完成自由拼圖,可以使用矩陣自定義圖形位置和順序,用數(shù)字來定義每一個(gè)模塊的長寬比,試用了一遍簡直愛不釋手,在這里分享給大家。
這個(gè)包不僅支持?jǐn)?shù)字拼圖,還支持R內(nèi)置的base繪圖對象、grid繪圖對象等(也就是支持ggplot2對象)。
這樣的話,對于需要制作簡單儀表盤的場景,完全不必要使用rmarkdown+flexdashboard或者shiny+shinydashboard也可以快速生成儀表盤原型。
customLayout包有CRAN版本,也有g(shù)ithub版本可供下載:
install.packages("customLayout") devtools::install_github("zzawadz/customLayout")
簡單的數(shù)字拼圖:
通過設(shè)置簡單的數(shù)字矩陣以及對應(yīng)的寬高比,可以非常方便的設(shè)置出來數(shù)字拼圖:
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指定要拼圖的數(shù)字矩陣,將1:4數(shù)字按照縱向順序拼成兩行,其中寬對比為3:2,高度比為2:1。
lay2 <- lay_new( matrix(1:4, nc = 2), widths = c(3, 5), heights = c(2, 4)) lay_show(lay2)
參數(shù)含義同上。
cl = lay_bind_col(lay, lay2, widths = c(3, 1)) lay_show(cl)
以上過程將前兩個(gè)例子橫向拼接,兩個(gè)模塊對象仍然支持設(shè)置款對比例(3:1)
lay3 <- lay_new(matrix(1:2)) lay4 <- lay_bind_row(cl, lay3, heights = c(5, 2)) lay_show(lay4)
不同層級的對象仍然支持拼接在一起。
除此之外,也可以將一個(gè)模塊嵌入到兩一個(gè)模塊特定位置。
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模塊的第四個(gè)區(qū)域,但may2內(nèi)部的布局結(jié)構(gòu)任然不變。
關(guān)于圖像對象的布局與拼接:
基礎(chǔ)繪圖對象的拼接:
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包的版式布局思想非常簡單,就是基于數(shù)值矩陣的模塊化分割,同時(shí)不同層級的模塊也可相互拼接,這樣就可以像拼七巧板一樣拼出很多奇形怪狀的版式出來,甚至你使用這種版式來設(shè)計(jì)一個(gè)富有美感的超照片拼圖或者海報(bào)都有可能。
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。
網(wǎng)站名稱:R語言拼圖工具customLayout怎么用
網(wǎng)頁鏈接:http://chinadenli.net/article46/pgpjeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、標(biāo)簽優(yōu)化、網(wǎng)站內(nèi)鏈、定制網(wǎng)站、商城網(wǎng)站、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)