R語言繪制箱線圖分面并添加文本注釋(基礎(chǔ)知識)

hello拷获,大家好芬迄,今天分享一個簡單的內(nèi)容磷支,我們實現(xiàn)下面的這張圖

圖片.png

參考文獻在

圖片.png

這張圖實現(xiàn)的箱線圖最岗,分面并注釋萎坷,好看的圖勝過千言萬語耳奕,我們來實現(xiàn)它僧著。

嵌套分面已經(jīng)有集成的R包了既绩,ggh4x包身辨,學(xué)習(xí)一下即可丐谋。

加載R包和數(shù)據(jù)

library(ggh4x)
library(ggplot2)
library(reshape2)
library(tidyverse)
####示例數(shù)據(jù)可以從文獻鏈接處下載
input = read.delim('示例數(shù)據(jù)',header = T)
head(input,3)
圖片.png
###寬轉(zhuǎn)長
df  = melt(input,id.vars = c('Precursor','Dataset','Model'))
head(df,3)
圖片.png
###因子化排序
df$Model  = factor(df$Model,levels = c('DeepPhospho','pDeep2','DeepMS2','MS2PIP'))

設(shè)置嵌套背景

設(shè)置一下填充色和邊框顏色
###背景
strip = strip_nested(background_x = elem_list_rect(fill = c(rep('grey',2),
rep(c('#F58840','#9AE66E'),2)),color = rep('white',6)))

基礎(chǔ)繪圖

這里使用expansion來擴展x軸煌珊,防止插入每個分面圖最后一列文字跑出去:
###繪圖
p = ggplot(df,aes(x = Model,y = value,fill = Model)) +
##誤差線
stat_boxplot(aes(x = Model,y = value),
        geom = 'errorbar',width = 0.3) +
###箱線圖層
geom_boxplot(outlier.shape = NA 号俐, width = 0.5 ) +
theme_bw(base_size = 16) +
##主題調(diào)整
theme(panel.grid = element_blank(),
           axis.text.x = element_blank(),
           axis.ticks.x = element_blank(),
           legend.position = 'bottom')   +
xlab('')  +  ylab('')  +
ylim(-0.5,1)  +
##自定義顏色
scale_fill_manual(values = c('#BFA2DB','#F58840','#CDF2CA','#9D9D9D'),
                     name = ' ')  +
##x軸擴展
scale_x_discrete(expand = expansion(mult = c(0.2,0.3)))   +
###嵌套分面
facet_nested(~Dataset  +  variable,scales = 'free_y',axes = 'all',
          strip  = strip)
p
圖片.png

統(tǒng)計數(shù)據(jù)

圖中的文本注釋為每個分組的數(shù)據(jù)的中位數(shù)及對應(yīng)的數(shù)量,我們需要統(tǒng)計一下:
圖片.png
循環(huán)統(tǒng)計
fin = list()
for (i in names(table(df$Model))){
   tmp1 = df %>% filter(Model == i)
   for (j in names(table(df$variable))){
      tmp2 = tmp1 %>% filter(Dataset  == k)
      res = round(median(tmp3$value,na.rm = T),digits =  3)
      n = round(length(tmp3$value),digits = 0)
      fin[[paste(i,j,k,sep = '  ')]]  <- c(n,res)
      }
   }
}
##整合數(shù)據(jù)
fin_res= fin %>% do.call('rbind',.)  %>% dara.frame()
###查看數(shù)據(jù)
head(fin_res,3)
圖片.png
接下來添加分組變量及標(biāo)簽的x,y坐標(biāo):
###x坐標(biāo)
fin_res$x = c(rep(1.5,4),rep(2.5,4),rep(3.5,4),rep(4.5,4))
###y坐標(biāo)
fin_res$y= 0.65
#添加標(biāo)簽
fin_res$label = paste(fin_res$X2,"| n = ",fin_res$X1 , sep = '')

#添加變量
fin_res$Model = rep(names(table(fin_res$Model)),each = 4)
fin_res$variable = rep(c('PCC','PCC','SA','SA'),4)
fin_res$Dataset = rep(c('RPE1 DDA','RPE1 DIA'),8)

#查看數(shù)據(jù)
head(fin_res,3)
圖片.png

添加標(biāo)簽

p +
   geom_text(data = fin_res,
                     aes(x = x , y = y,label = label),
                     ##文本的角度及大小
                     angle = 90定庵, size = 4 )
圖片.png

生活很好吏饿,有你更好

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者蔬浙。
  • 序言:七十年代末猪落,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子畴博,更是在濱河造成了極大的恐慌笨忌,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件俱病,死亡現(xiàn)場離奇詭異官疲,居然都是意外死亡袱结,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門途凫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來垢夹,“玉大人,你說我怎么就攤上這事颖榜∨锒” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵掩完,是天一觀的道長。 經(jīng)常有香客問我硼砰,道長且蓬,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任题翰,我火速辦了婚禮恶阴,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘豹障。我一直安慰自己冯事,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布血公。 她就那樣靜靜地躺著昵仅,像睡著了一般。 火紅的嫁衣襯著肌膚如雪累魔。 梳的紋絲不亂的頭發(fā)上摔笤,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天,我揣著相機與錄音垦写,去河邊找鬼吕世。 笑死,一個胖子當(dāng)著我的面吹牛梯投,可吹牛的內(nèi)容都是我干的命辖。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼分蓖,長吁一口氣:“原來是場噩夢啊……” “哼尔艇!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起咆疗,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤漓帚,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后午磁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體尝抖,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡毡们,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了昧辽。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片衙熔。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖搅荞,靈堂內(nèi)的尸體忽然破棺而出红氯,到底是詐尸還是另有隱情,我是刑警寧澤咕痛,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布痢甘,位于F島的核電站,受9級特大地震影響茉贡,放射性物質(zhì)發(fā)生泄漏塞栅。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一腔丧、第九天 我趴在偏房一處隱蔽的房頂上張望放椰。 院中可真熱鬧,春花似錦愉粤、人聲如沸砾医。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽如蚜。三九已至,卻和暖如春头滔,著一層夾襖步出監(jiān)牢的瞬間怖亭,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工坤检, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留兴猩,地道東北人。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓早歇,卻偏偏與公主長得像倾芝,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子箭跳,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容