日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

送书|science-组合图表绘制

發(fā)布時間:2025/3/15 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 送书|science-组合图表绘制 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

wentao

2020/11/27

寫在前面

有些事情做了很痛苦,但是不做更難受。比如今天談到的這件事情,我花了一天加一個晚上時間才寫了一個這個功能:science組合圖表的實現(xiàn)。這部分一共寫了三個函數(shù),一個門特爾檢驗,一個ggplot版本的相關(guān)熱圖繪制,還有連線圖形繪制。為什么我花費了這么多時間呢?一方面這個功能的實現(xiàn)要想做的靈活點,就必須有一個ggplot版本的相關(guān)熱圖輪子,公開的輪子不好用,所以我自己造了一個,功能很基礎(chǔ)哈,只是一個雛形,但是可以作為后面組合圖表的輪子。這幾個獨立的函數(shù)也很有用,但是不細化了。

早在之前我們就推送過science組合圖表的推文了,我們做的也是比較早的,ggplot版本的,例如;

  • 終于你也可以做這張圖了;

  • science 級別的組合圖表函數(shù)升級了;

  • science組合圖表第二次重大升級了;

  • 最終版本Science級組合圖表繪制;

  • Science這張驚艷圖表終于完成了:最終穩(wěn)定版本;

最后最好用的出現(xiàn)了,雖然在分析微生物數(shù)據(jù)上還有點小瑕疵,但是已經(jīng)非常舒服了,但是這個包已經(jīng)被作者刪除,厚哥表示不會在公開這個包。半年來大家的需求似乎不斷,本來從第四個版本以來我放棄了這個圖形的開發(fā),因為開發(fā)的沒有厚哥的好,所以就擱置了一年,到如今,我只能撿起來繼續(xù)做一些工作,盡量讓這個功能好用點。還有就是任何問題的解決方案都不應(yīng)該只有一個,太容易就斷掉了,所以增加一種問題的解決方法,雖然不一定是最好的,也是有必要的。我也沒有參考厚哥之前的代碼,自己實現(xiàn),達到一個功能也是挺有意思的,就是浪費了好多時間,代碼也不夠成熟,慢慢提升吧,實用性后再優(yōu)化。

MatCorPlot函數(shù)參數(shù)解釋

  • env.dat = env1 其他指標(biāo)表格,參見要求

  • tabOTU = tabOTU1 otu表格,list文件,最多三個。

  • distance = “bray”群落距離計算方法,這里就兩種 bray和jcd。

  • method = “metal” 門特爾檢驗方法, 這里兩種,另外一種是偏門特爾檢驗。

  • x = F 是否設(shè)置x軸標(biāo)簽。

  • y = F 是否設(shè)置y軸標(biāo)簽

  • diag = T 是否設(shè)置對角線標(biāo)簽。

  • sig = TRUE 是否僅僅展示顯著的色塊

  • siglabel = FALSE 顯著色標(biāo)是否標(biāo)記星號

  • shownum = TRUE 是否展示相關(guān)值

  • numpoint = NULL 色塊point類型,默認22號方塊,直接使用pch編號即可更換。注意必須更換具有fill屬性的編號。

  • numsymbol = 27 這是symbol,擴展了ggplot中point類型,如果要使用,則需要另外安裝R包ggsymbol。需要github安裝

  • numpoint2 這部分只可以使用ggplot中的pch點形狀,默認21號點,控制link部分點形狀。

  • lacx = “l(fā)eft” 相關(guān)熱圖展示方向,x軸,可選“right”

  • lacy = “bottom” 相關(guān)熱圖展示方向,y軸,可選“top”

  • range = 0.5 連線整體粗細變化,值越大變化越大。

  • p.thur = 0.3 顯著性閾值

  • onlysig = F 是否只展示顯著性的連線。

實戰(zhàn)

注意這個功能為2020年11月29號加入,之前安裝的沒有這個功能。

devtools::?install_github("taowenmicro/ggClusterNet")

需要R包和數(shù)據(jù)(內(nèi)置)

library(phyloseq) library(ggClusterNet) library(tidyverse) data(ps) ps1 = filter_taxa(ps, function(x) sum(x ) > 200 , TRUE);ps1## phyloseq-class experiment-level object ## otu_table() OTU Table: [ 442 taxa and 18 samples ] ## sample_data() Sample Data: [ 18 samples by 10 sample variables ] ## tax_table() Taxonomy Table: [ 442 taxa by 7 taxonomic ranks ] ## phy_tree() Phylogenetic Tree: [ 442 tips and 441 internal nodes ]otu = as.data.frame(t(vegan_otu(ps1))) mapping = as.data.frame( sample_data(ps1)) data(env1)

關(guān)于微生物組數(shù)據(jù)的要求:要求很簡單,將otu表格作為list對象即可,就像下這樣,多個optu表格自然都添加進去list對象即可。

其他指標(biāo)數(shù)據(jù)要求:一張數(shù)據(jù)框,行名是樣本,列名字是指標(biāo)。

tabOTU1 = list(otu1 = otu) data(env1)

默認參數(shù)會會給出一套解決方案,當(dāng)然可以換

# ?MatCorPlot p0 <- MatCorPlot(env.dat = env1,tabOTU = tabOTU1) p0

numpoint2改變link部分點形,并標(biāo)記顯著性,去除不顯著的元素,標(biāo)記顯著的R值。

p1 <- MatCorPlot(env.dat = env1,tabOTU = tabOTU1,numpoint2 = 22,sig = F,lacx = "right", # 改變位置xlacy = "bottom",# 改變位置yonlysig = F # 是否只顯示顯著的link線)p1

curvature 修改link的彎曲程度。越小線越直。去除數(shù)字,標(biāo)記為星號,其次換point形狀為新形勢

p2 <- MatCorPlot(env.dat = env1,tabOTU = tabOTU1,siglabel = T, # 使用星號標(biāo)記顯著的關(guān)系shownum = F, # 不顯示數(shù)字numpoint = NULL,# 不使用ggplot嗎,默認點numpoint2 = 13,#link使用的point為pch = 13numsymbol = 27,# 使用擴展點。curvature = 0,lacx = "right",lacy = "bottom",p.thur = 0.3,sig = F,onlysig = F ) p2

我們更換圖形角度和去除不顯著的連線,這里不顯著設(shè)置為0.3,保證去除一部分線,模擬數(shù)據(jù)測試用,不作為參考值。

p4 <- MatCorPlot(env.dat = env1,tabOTU = tabOTU1,distance = "bray",method = "metal",x = F,y = F,diag = T,sig = TRUE,siglabel = FALSE,shownum = TRUE,numpoint = 22,numsymbol = NULL,lacx = "left",lacy = "bottom",range = 1,p.thur = 0.3,onlysig = T) p4

即使是兩個群落

tabOTU1 = list(otu1 = otu,otu2 = otu) data(env1) p5 <- MatCorPlot(env.dat = env1,tabOTU = tabOTU1,distance = "bray",method = "metal",x = F,y = F,diag = T,sig = TRUE,siglabel = FALSE,shownum = TRUE,numpoint = NULL,numsymbol = 27,lacx = "right",lacy = "bottom",range = 0.5,p.thur = 0.3,onlysig = F) p5

最多三個群落(細菌,真菌,古菌)

我就設(shè)置了三個群落,如果后面有需要,可以設(shè)置成為無限個,但是也沒有意義。后面如果有時間,我會升級成6個群落,這就差不多了,不然也太亂了。

tabOTU1 = list(otu1 = otu,otu2 = otu,otu3 = otu) p6 <- MatCorPlot(env.dat = env1,tabOTU = tabOTU1,distance = "bray",method = "metal",x = F,y = F,diag = T,sig = TRUE,siglabel = FALSE,shownum = TRUE,numpoint = NULL,numsymbol = 27,lacx = "left",lacy = "bottom",range = 0.5,p.thur = 0.3,onlysig = F)p6

library(patchwork)(p0 | p1 | p2) / (p4 | p5 | p6)


對于顏色和填充的改變

library(RColorBrewer)#調(diào)色板調(diào)用包 m=brewer.pal(9,"YlGn") library(scales) m=c("#E41A1C" ,"#377EB8") show_col(m)

p + scale_colour_manual(values=c("red","blue"))

p + scale_colour_manual(values = m) + scale_fill_continuous()

# p + scale_colour_manual(values = m) + scale_fill_distiller(palette="RdYlBu")p + scale_colour_manual(values = m) + scale_fill_distiller(palette="PRGn")

p + scale_colour_manual(values = m) + scale_fill_distiller(palette="BrBG")

(p0 | p7 | p8) / (p0 | p9 | p10)

根際互作生物學(xué)研究室 簡介

根際互作生物學(xué)研究室是沈其榮教授土壤微生物與有機肥團隊下的一個關(guān)注于根際互作的研究小組。本小組由袁軍副教授帶領(lǐng),主要關(guān)注:1.植物和微生物互作在抗病過程中的作用;2 環(huán)境微生物大數(shù)據(jù)整合研究;3 環(huán)境代謝組及其與微生物過程研究體系開發(fā)和應(yīng)用。團隊在過去三年中在 isme J, Microbiome, PCE,SBB,Horticulture Research等期刊上發(fā)表了多篇文章。歡迎關(guān)注 微生信生物 公眾號對本研究小組進行了解。

上次送書中獎名單

11月12日留言送書活動中,挑選留言最認真讀者,歡迎大家對我們的網(wǎng)站提出建議

一站式Venn圖繪制,希望大家多多閱讀,多多轉(zhuǎn)發(fā),留言多多,收獲多多,文章多多,獎品多多。

送書

本期的留言主題是:在使用R繪圖時遇到的坑或者困難是什么?歡迎轉(zhuǎn)發(fā)朋友圈并留言評論。

留言得贊最高者以及幾位幸運讀者獲得下面由北京大學(xué)出版社贊助的書籍(聯(lián)系小編時請附上轉(zhuǎn)發(fā)朋友圈截圖),結(jié)果在下一期送書活動中公布:

1. 理論為輔、實踐為主。本書涉及一些必要的理論知識,特別是在數(shù)據(jù)分析部分,但總體以實踐為主,因此幾乎每節(jié)都有大量的代碼,方便讀者實踐。

2. 知識全面、系統(tǒng)。本書在介紹了R語言的基礎(chǔ)知識后,從數(shù)據(jù)獲取和導(dǎo)出、數(shù)據(jù)清理和操作、數(shù)據(jù)分析和可視化方面分別進行了探討,內(nèi)容由淺入深、循序漸進。

3. 案例廣泛。本書中的案例涉及心理學(xué)、社會學(xué)、醫(yī)學(xué)、商業(yè)和經(jīng)濟等領(lǐng)域,但并不需要讀者具備這些領(lǐng)域的專業(yè)知識。

4. “新手問答”和“小試牛刀”知識模塊?!靶率謫柎稹敝饕獙ψx者學(xué)習(xí)過程中易出現(xiàn)的疑問或容易犯的錯誤進行針對性的解答;“小試牛刀”結(jié)合每章知識及相關(guān)技能,列舉綜合上機案例,讓讀者在學(xué)完一章內(nèi)容后能及時回顧和練習(xí),旨在讓讀者鞏固知識、學(xué)以致用。

往期精品(點擊圖片直達文字對應(yīng)教程)

后臺回復(fù)“生信寶典福利第一波”或點擊閱讀原文獲取教程合集

?

(請備注姓名-學(xué)校/企業(yè)-職務(wù)等)

總結(jié)

以上是生活随笔為你收集整理的送书|science-组合图表绘制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。