欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

R語言ggplot2拼圖包patchwork安裝使用

 更新時(shí)間:2022年06月24日 10:58:17   作者:Hayley筆記  
這篇文章主要介紹了R語言ggplot2拼圖包patchwork安裝使用的圖文示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

引言

patchwork是基于ggplot2的拼圖包,因?yàn)?code>ggplot2本身沒有強(qiáng)大的拼圖語法,而一般使用的gridExtracowplot的拼ggplot2圖形都存在不少問題。

我關(guān)注這個(gè)包蠻久了,現(xiàn)在Github上的Star數(shù)已經(jīng)遠(yuǎn)超大部分的R包,但似乎還沒有發(fā)布到CRAN。我的工作看似跟作圖相關(guān),寫的博文大多數(shù)也如此,但實(shí)際對(duì)圖形的掌控力并不咋的,所以還是要多多學(xué)習(xí)。

下面進(jìn)入正題,掌握好ggplot2patchwork的基本用法,一般的圖形都可以搞定了,并必要搞的很復(fù)雜。解決問題是關(guān)鍵,認(rèn)真工作也是關(guān)鍵,畫圖看起來是,其實(shí)不是。

安裝

# 需要提取安裝好devtools包,
# 如果你解決安裝和載入包很麻煩,可以試試pacman包,我在簡書寫了介紹和簡單使用
devtools::install_github("thomasp85/patchwork")

導(dǎo)入:

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

我們不用創(chuàng)建對(duì)象,也可以像ggplot2本身使用一樣相加。

ggplot(mtcars) +
  geom_point(aes(mpg, disp)) +
  ggplot(mtcars) + 
  geom_boxplot(aes(gear, disp, group = gear))

另外,可以使用布局函數(shù)plot_layout對(duì)拼接細(xì)節(jié)進(jìn)行更細(xì)致地指定,像每個(gè)圖的范圍,圖形的排列。

p1 + p2 + plot_layout(ncol = 1, heights = c(3, 1))

如果你想要在圖形之間添加一些空間,可以使用plot_spacer()填充一個(gè)空白格。

p1 + plot_spacer() + p2

增加花括號(hào)的使用進(jìn)行嵌套可以布置更復(fù)雜的圖形:

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'

括號(hào)也是可以的:

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'

高級(jí)特性

除了將圖形添加到一起,patchwork定義了一些有意思的操作符,,簡化了上面的嵌套語法。-操作符將左右兩邊的對(duì)象放在同一個(gè)嵌套層,而不是像+號(hào)把右邊放入左邊的嵌套層。

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'

現(xiàn)在p1+p2p3在同一嵌套層。

|/操作符可以用來水平和垂直布局。

(p1 | p2 | p3) /
      p4
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'

子圖多的時(shí)候同時(shí)修改圖形比較麻煩,patchwork提供了*&用來簡化代碼,它們都可以將同一個(gè)操作應(yīng)用到所有圖形。

(p1 + (p2 + p3) + p4 + plot_layout(ncol = 1)) * theme_bw()
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'

需要注意*只會(huì)應(yīng)用到當(dāng)前嵌套層。

p1 + (p2 + p3) + p4 + plot_layout(ncol = 1) & theme_bw()
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'

&可以用遞歸的方式應(yīng)用到所有層面。

以上就是R語言ggplot2拼圖包patchwork安裝使用的詳細(xì)內(nèi)容,更多關(guān)于R語言ggplot2拼圖包patchwork的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • R語言導(dǎo)入導(dǎo)出數(shù)據(jù)的幾種方法匯總

    R語言導(dǎo)入導(dǎo)出數(shù)據(jù)的幾種方法匯總

    這篇文章主要給大家總結(jié)介紹了R語言導(dǎo)入導(dǎo)出數(shù)據(jù)的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • R語言-實(shí)現(xiàn)將向量轉(zhuǎn)換成一個(gè)字符串

    R語言-實(shí)現(xiàn)將向量轉(zhuǎn)換成一個(gè)字符串

    這篇文章主要介紹了R語言-實(shí)現(xiàn)將向量轉(zhuǎn)換成一個(gè)字符串,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • R語言實(shí)現(xiàn)隨機(jī)森林的方法示例

    R語言實(shí)現(xiàn)隨機(jī)森林的方法示例

    本文詳細(xì)的介紹了隨機(jī)森林的算法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • R語言繪制帶誤差線的條形圖

    R語言繪制帶誤差線的條形圖

    本文主要介紹了R語言繪制帶誤差線的條形圖,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • R語言-解決處理矩陣遇到內(nèi)存不足的問題

    R語言-解決處理矩陣遇到內(nèi)存不足的問題

    這篇文章主要介紹了R語言-解決處理矩陣遇到內(nèi)存不足的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • R語言-如何按照某一列分組求均值

    R語言-如何按照某一列分組求均值

    這篇文章主要介紹了R語言實(shí)現(xiàn)按照某一列分組求均值的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • R語言dplyr包之高效數(shù)據(jù)處理函數(shù)(filter、group_by、mutate、summarise)詳解

    R語言dplyr包之高效數(shù)據(jù)處理函數(shù)(filter、group_by、mutate、summarise)詳解

    這篇文章主要介紹了R語言dplyr包之高效數(shù)據(jù)處理函數(shù)(filter、group_by、mutate、summarise)的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • 基于R語言xlsx安裝遇到的問題及解決方案

    基于R語言xlsx安裝遇到的問題及解決方案

    這篇文章主要介紹了基于R語言xlsx安裝遇到的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • R語言的歷史介紹

    R語言的歷史介紹

    在本篇內(nèi)容里小編給大家介紹了關(guān)于R語言的歷史內(nèi)容,有興趣學(xué)習(xí)的朋友可以閱讀下。
    2021-03-03
  • R語言技巧Rcpp與Eigen庫之間的相互轉(zhuǎn)換

    R語言技巧Rcpp與Eigen庫之間的相互轉(zhuǎn)換

    這篇文章主要為大家介紹了R語言中Rcpp與Eigen庫之間的相互轉(zhuǎn)換的技巧操作,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-11-11

最新評(píng)論