跟著Nature學作圖:R語言ggplot2箱線圖慨菱、小提琴圖、抖動散點圖

論文是

Environmental factors shaping the gut microbiome in a Dutch population

數(shù)據(jù)和代碼的github主頁鏈接

https://github.com/GRONINGEN-MICROBIOME-CENTRE/DMP

這個也是數(shù)據(jù)代碼的下載鏈接戴甩,可以看目錄結構

https://zenodo.org/record/5910709#.YmAcp4VBzic

今天的推文重復一下論文中的figure2c

image.png

論文中提供的代碼自定義和一個很長的 函數(shù)符喝,好像是把統(tǒng)計檢驗和作圖全都綜合到一起了,但是我沒看明白其中統(tǒng)計檢驗的部分甜孤,這里就把作圖代碼單獨整理出來了协饲,統(tǒng)計檢驗的FDR值最后手動添加

首先是讀取數(shù)據(jù)

dfToPlot<-read.csv("dfToPlot.csv")
head(dfToPlot)

給x軸的變量賦予因子水平

dfToPlot$RELATIONSHIP.0 <- factor(dfToPlot$RELATIONSHIP.0,
                                  levels=c("RND.PAIR","PARTNERS","PARENT_CHILD","SIBLINGS"))

這個因子水平主要是控制x軸的先后順序

加載ggplot2

library(ggplot2)

箱線圖

ggplot(data=dfToPlot,aes(x=RELATIONSHIP.0,
                         y=BC_Spec,
                         color=RELATIONSHIP.0))+
  geom_boxplot()

抖動散點圖

ggplot(data=dfToPlot,aes(x=RELATIONSHIP.0,
                         y=BC_Spec,
                         color=RELATIONSHIP.0))+
  geom_jitter()

小提琴圖

ggplot(data=dfToPlot,aes(x=RELATIONSHIP.0,
                         y=BC_Spec,
                         color=RELATIONSHIP.0))+
  geom_violin()

三個圖拼圖

library(ggplot2)
ggplot(data=dfToPlot,aes(x=RELATIONSHIP.0,
                         y=BC_Spec,
                         color=RELATIONSHIP.0))+
  geom_boxplot() -> p1

p1

ggplot(data=dfToPlot,aes(x=RELATIONSHIP.0,
                         y=BC_Spec,
                         color=RELATIONSHIP.0))+
  geom_jitter() -> p2
p2

ggplot(data=dfToPlot,aes(x=RELATIONSHIP.0,
                         y=BC_Spec,
                         color=RELATIONSHIP.0))+
  geom_violin() -> p3
p3
image.png

將三個圖疊加到一張圖上

cbPalette <- c("#E69F00", "#CC79A7", "#56B4E9", "#009E73", "#CC79A7", "#F0E442", "#999999","#0072B2","#D55E00")
ggplot(data=dfToPlot,aes(x=RELATIONSHIP.0,
                         y=BC_Spec,
                         color=RELATIONSHIP.0))+
  geom_jitter(alpha=0.2,
              position=position_jitterdodge(jitter.width = 0.35, 
                                            jitter.height = 0, 
                                            dodge.width = 0.8))+
  geom_boxplot(alpha=0.2,width=0.45,
               position=position_dodge(width=0.8),
               size=0.75,outlier.colour = NA)+
  geom_violin(alpha=0.2,width=0.9,
              position=position_dodge(width=0.8),
              size=0.75)+
  scale_color_manual(values = cbPalette)+
  theme_classic() +
  theme(legend.position="none") + 
  theme(text = element_text(size=16)) + 
  #ylim(0.0,1.3)+
  ylab("Bray-Curtis distance of Species")
image.png

最后是手動添加統(tǒng)計檢驗的文字

ggplot(data=dfToPlot,aes(x=RELATIONSHIP.0,
                         y=BC_Spec,
                         color=RELATIONSHIP.0))+
  geom_jitter(alpha=0.2,
              position=position_jitterdodge(jitter.width = 0.35, 
                                            jitter.height = 0, 
                                            dodge.width = 0.8))+
  geom_boxplot(alpha=0.2,width=0.45,
               position=position_dodge(width=0.8),
               size=0.75,outlier.colour = NA)+
  geom_violin(alpha=0.2,width=0.9,
              position=position_dodge(width=0.8),
              size=0.75)+
  scale_color_manual(values = cbPalette)+
  theme_classic() +
  theme(legend.position="none") + 
  theme(text = element_text(size=16)) + 
  #ylim(0.0,1.3)+
  ylab("Bray-Curtis distance of Species")+
  #scale_x_discrete(labels=c("A","B","C","D"))+
  annotate("segment", x = 1-0.01, y = 1, xend = 2.01,lineend = "round", 
           yend = 1,size=1,colour="black",arrow = arrow(length = unit(0.02, "npc")))+
  annotate("segment", x = 2.01, y = 1, xend = 0.99,lineend = "round", 
           yend = 1,size=1,colour="black",arrow = arrow(length = unit(0.02, "npc")))+
  annotate("text", x=1.5,y=1.01, 
           label=expression("**"~"FDR"~2.41%*%10^-10),vjust=0)
image.png

他這里的雙箭頭的處理方式是把一個單箭頭添加兩次

制作封面圖

p4+p4+scale_color_manual(values = cbPalette[5:8])
image.png

今天推文的示例數(shù)據(jù)和代碼可以在公眾號后臺留言20220505獲取

歡迎大家關注我的公眾號

小明的數(shù)據(jù)分析筆記本

小明的數(shù)據(jù)分析筆記本 公眾號 主要分享:1畏腕、R語言和python做數(shù)據(jù)分析和數(shù)據(jù)可視化的簡單小例子;2茉稠、園藝植物相關轉錄組學描馅、基因組學、群體遺傳學文獻閱讀筆記而线;3铭污、生物信息學入門學習資料及自己的學習筆記!

?著作權歸作者所有,轉載或內容合作請聯(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
  • 正文 為了忘掉前任,我火速辦了婚禮绿语,結果婚禮上秃症,老公的妹妹穿的比我還像新娘。我一直安慰自己吕粹,他們只是感情好种柑,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著匹耕,像睡著了一般聚请。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上泌神,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天良漱,我揣著相機與錄音舞虱,去河邊找鬼。 笑死母市,一個胖子當著我的面吹牛矾兜,可吹牛的內容都是我干的。 我是一名探鬼主播患久,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼椅寺,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蒋失?” 一聲冷哼從身側響起返帕,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎篙挽,沒想到半個月后荆萤,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡铣卡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年链韭,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片煮落。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡敞峭,死狀恐怖,靈堂內的尸體忽然破棺而出蝉仇,到底是詐尸還是另有隱情旋讹,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布轿衔,位于F島的核電站沉迹,受9級特大地震影響,放射性物質發(fā)生泄漏呀枢。R本人自食惡果不足惜胚股,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望裙秋。 院中可真熱鬧,春花似錦缨伊、人聲如沸摘刑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽枷恕。三九已至,卻和暖如春谭胚,著一層夾襖步出監(jiān)牢的瞬間徐块,已是汗流浹背未玻。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留胡控,地道東北人扳剿。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像昼激,于是被迫代替她去往敵國和親庇绽。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內容