python包介紹:使用seaborn繪制密度圖(kdeplot函數(shù))

一軟件包介紹
密度圖是一種展示與數(shù)據(jù)組對應(yīng)的邊界或閾對象的可視化方式。簡而言之呢,就是展示不同組別數(shù)據(jù)間的邊界以及相互之間的比例。是一種非常形象的展示數(shù)據(jù)分布的方式(當(dāng)然,通過條形圖、折線圖等也可展示,只是不那么美觀)。
二 python包使用
1 加載對應(yīng)的python包
2?加載數(shù)據(jù)集
之后,加載數(shù)據(jù)集。這里需要提到的是我們在做推文數(shù)據(jù)展示的時候會苦惱數(shù)據(jù)從何而來。創(chuàng)造數(shù)據(jù)吧,絞盡腦汁也不一定有好的數(shù)據(jù),因此如果用自己論文的數(shù)據(jù),就...(論文想不想發(fā)了,還畢不畢業(yè)了)。如果用別人論文的數(shù)據(jù),又有侵權(quán)風(fēng)險。因此,最好用的方式就是使用公共數(shù)據(jù)集,不僅數(shù)據(jù)合理,而且可視化的效果也好。
PS:因為默認(rèn)情況下seaborn包繪圖會有背景和網(wǎng)格,這里需要通過set_style實現(xiàn)去除的效果,各位讀者可以按照個人需求增減
其中tips的文件數(shù)據(jù)為
其中g(shù)eyser的文件數(shù)據(jù)為
隨后,我們開始各種類型密度圖的繪制
3 密度圖繪制
3.1 第一種密度圖(一維)
首先,直接代碼貼上
本段代碼共有五句話:1定義輸出圖片名稱;2定義圖片大??;3調(diào)用包進行繪圖;4將圖片保存;5關(guān)閉繪圖窗口。
其中sns.kdeplot參數(shù)的意思分別是:
data:數(shù)據(jù)集
x:數(shù)據(jù)集中用于繪繪圖的列數(shù)據(jù)
hue:映射以確定繪圖元素顏色的語義變量,即元素分類列
multiple:密度圖多個元素的繪圖方法
隨后,一鍵出圖。

3.2 第二種密度圖(一維)
代碼意思與第一種密度相差不大,重點再與第三句參數(shù)的意思。
fill:如果為真,則填充單變量密度曲線下面積。如果為假,則僅有線條。
common_norm:如果為真,則按觀察次數(shù)縮放每個條件密度,使所有密度下的總面積總和為1。否則,獨立地歸一化每個密度。
palette:用于選擇映射色調(diào)語義時使用的顏色的方法。字符串值被傳遞到color_palete。如果是列表或dict值表示分類映射,而colormap對象表示數(shù)字映射。這里我們的size是數(shù)字,應(yīng)該屬于后者,即列表表示分類映射。
alpha:顏色的透明度。
linewidth:每個曲線最外圍的線條長度。

3.3 第三種密度圖(二維)
之前的3.1和3.2都是一維數(shù)據(jù)進行密度圖展示,這里我們也提供了另一種方式用于二維數(shù)據(jù)的密度展示。

3.4 第四種密度圖(二維)
3.3圖雖然能夠展現(xiàn)二維數(shù)據(jù)的密度分布,但是太不夠直觀了,所以這里我們提供一種方式將不同的密度通過顏色深淺進行展示??梢钥闯鲋行膮^(qū)域的點密度最高。

3.5 第五種密度圖(二維)
這里的代碼新增了兩個參數(shù),thresh和levels
thresh:繪制等高線的最低iso比例級別。當(dāng)級別為向量時忽略。僅與雙變量數(shù)據(jù)相關(guān)。
levels:?繪制等高線的等高線級別或值的數(shù)量。向量參數(shù)必須在[0,1]中具有遞增值。水平對應(yīng)于密度的iso比例:例如,20%的概率質(zhì)量將低于0.2繪制的等高線。僅與雙變量數(shù)據(jù)相關(guān)。
隨后,一鍵出圖。不得不說,這種圖片隱隱有那種通過望遠(yuǎn)鏡觀察宇宙中遙遠(yuǎn)雙子星系的趕腳。

三 慣例小結(jié)
實際上,數(shù)據(jù)的展示方式多種多樣。本推文所提供的密度圖展示方式,雖有其不合理之處,比如會降密度分布超出數(shù)據(jù)邊界,顯然是不合理的。但是,對于一些數(shù)據(jù)而言,該方法能夠很好的反應(yīng)數(shù)據(jù)的部分特征,則使用該方法也并無不可。其次,最近為啥更新的少了呢,因為懶了
。
Multi-omics Hammer軟件下載地址:
https://github.com/wangjun258/Multi-omics-Hammer
Multi-omics Visual軟件下載地址:https://github.com/wangjun258/Multi_omics_Visual/releases/tag/Multi_omics_Visual_v1.03
PS:因為本軟件是用python腳本撰寫,調(diào)用了部分依賴包,用戶首次使用需要安裝python以及對應(yīng)的包,安裝之后便可永久使用。
本公眾號開發(fā)的相關(guān)軟件,Multi-omics Hammer軟件和Multi-omics Visual軟件歡迎大家使用。文末是本公眾號在其他平臺的賬戶,也歡迎大家關(guān)注并多提意見。
簡書:WJ的生信小院
公眾號:生信小院
博客園:生信小院
最后,也歡迎各位大佬能夠在本平臺上:1傳播和講解自己發(fā)表的論文;2:發(fā)表對某一科研領(lǐng)域的看法;3:想要達(dá)成的合作或者相應(yīng)的招聘信息;4:展示自己以尋找博后工作或者博士就讀的機會;5:博導(dǎo)提供博后工作或者博士攻讀機會,都可以后臺給筆者留言。希望本平臺在進行生信知識分享的同時,能夠成為生信分析者的交流平臺,能夠?qū)崿F(xiàn)相應(yīng)的利益互補和雙贏(不一定能實現(xiàn),但是夢想總得是有的吧)。
另外,怎么說呢,投幣也可,不強求,但奢求。


