<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
patchwork
是基於ggplot2
的拼圖包,因為ggplot2
本身沒有強大的拼圖語法,而一般使用的gridExtra
與cowplot
的拼ggplot2
圖形都存在不少問題。
我關注這個包蠻久了,現在Github上的Star數已經遠超大部分的R包,但似乎還沒有釋出到CRAN。我的工作看似跟作圖相關,寫的博文大多數也如此,但實際對圖形的掌控力並不咋的,所以還是要多多學習。
下面進入正題,掌握好ggplot2
與patchwork
的基本用法,一般的圖形都可以搞定了,並必要搞的很複雜。解決問題是關鍵,認真工作也是關鍵,畫圖看起來是,其實不是。
# 需要提取安裝好devtools包, # 如果你解決安裝和載入包很麻煩,可以試試pacman包,我在簡書寫了介紹和簡單使用 devtools::install_github("thomasp85/patchwork")
匯入:
p_load(patchwork) # 或 # library(patchwork)
patchwork
的使用灰常簡單,使用+
把要拼的圖加在一起就可以了。
library(ggplot2) library(patchwork) p1 <- ggplot(mtcars) + geom_point(aes(mpg, disp)) p2 <- ggplot(mtcars) + geom_boxplot(aes(gear, disp, group = gear)) p1 + p2
我們不用建立物件,也可以像ggplot2
本身使用一樣相加。
ggplot(mtcars) + geom_point(aes(mpg, disp)) + ggplot(mtcars) + geom_boxplot(aes(gear, disp, group = gear))
另外,可以使用佈局函數plot_layout
對拼接細節進行更細緻地指定,像每個圖的範圍,圖形的排列。
p1 + p2 + plot_layout(ncol = 1, heights = c(3, 1))
如果你想要在圖形之間新增一些空間,可以使用plot_spacer()
填充一個空白格。
p1 + plot_spacer() + p2
增加花括號的使用進行巢狀可以佈置更復雜的圖形:
p3 <- ggplot(mtcars) + geom_smooth(aes(disp, qsec)) p4 <- ggplot(mtcars) + geom_bar(aes(carb)) p4 + { p1 + { p2 + p3 + plot_layout(ncol = 1) } } + plot_layout(ncol = 1) ## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
括號也是可以的:
p3 <- ggplot(mtcars) + geom_smooth(aes(disp, qsec)) p4 <- ggplot(mtcars) + geom_bar(aes(carb)) p4 + ( p1 + ( p2 + p3 + plot_layout(ncol = 1) ) ) + plot_layout(ncol = 1) ## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
除了將圖形新增到一起,patchwork
定義了一些有意思的操作符,,簡化了上面的巢狀語法。-
操作符將左右兩邊的物件放在同一個巢狀層,而不是像+
號把右邊放入左邊的巢狀層。
p1 + p2 + p3 + plot_layout(ncol = 1) ## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
p1 + p2 - p3 + plot_layout(ncol = 1) ## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
現在p1+p2
與p3
在同一巢狀層。
|
與/
操作符可以用來水平和垂直佈局。
(p1 | p2 | p3) / p4 ## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
子圖多的時候同時修改圖形比較麻煩,patchwork
提供了*
與&
用來簡化程式碼,它們都可以將同一個操作應用到所有圖形。
(p1 + (p2 + p3) + p4 + plot_layout(ncol = 1)) * theme_bw() ## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
需要注意*
只會應用到當前巢狀層。
p1 + (p2 + p3) + p4 + plot_layout(ncol = 1) & theme_bw() ## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
&
可以用遞迴的方式應用到所有層面。
以上就是R語言ggplot2拼圖包patchwork安裝使用的詳細內容,更多關於R語言ggplot2拼圖包patchwork的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45