【R語言】熱圖繪制-heatmap+RColorBrewer配色方案

前面給大家介紹了如何使用R自帶的heatmap函數(shù)+R自帶的配色方案來繪制熱圖

?【R語言】熱圖繪制-heatmap函數(shù)+默認配色方案

?R語言中的顏色(一)-自帶的調(diào)色板

也給大家介紹了如何使用R自帶的heatmap函數(shù)+gplots的配色方案來繪制熱圖

?【R語言】熱圖繪制-heatmap+gplots配色方案

?R語言中的顏色(二)-gplots包

也給大家介紹了如何使用R自帶的heatmap函數(shù)+grDevice的配色方案來繪制熱圖

?【R語言】熱圖繪制-heatmap+grDevice配色方案

?R語言中的顏色(三)-grDevice包

今天我們接著來聊heatmap這個函數(shù)繪制熱圖,這次我們使用RColorBrewer這個R包里面的配色方案

?R語言中的顏色(四)-RColorBrewer包

首先我們還是先讀取需要的數(shù)據(jù),這里用到的數(shù)據(jù)跟【R語言】熱圖繪制-heatmap函數(shù)用到的數(shù)據(jù)是一樣的

#讀取所有miRNA的表達矩陣
expr=read.table("miRNA_expr.txt",header=T,row.names=1,sep="\t")
#讀取差異表達分析結(jié)果
#差異表達分析可以參考https://ke.qq.com/course/package/37513
deg=read.table("MIR_DEG_fc_2.5_pval_0.01.txt",header=T,row.names = 1,sep="\t")
#設(shè)置樣本類型
type=factor(rep(c("CR","CC"),each=3))
#提取差異表達miRNA的名字
miRNA=rownames(deg)
#提取差異表達miRNA對應(yīng)的表達矩陣
data=as.matrix(expr[miRNA,])

接下來我們使用RColorBrewer包里面的函數(shù)來生成配色方案

#如果沒有安裝RColorBrewer這個包,需要先去掉下一行中的#,再運行進行安裝
#install.packages("RColorBrewer")

#加載RColorBrewer這個R包
library(RColorBrewer)

#展示PiYG配色方案中的11種顏色
display.brewer.pal(11,"PiYG")

接下來我們看看如何使用colorRampPalette函數(shù)生成漸變色

#生成三張圖片,按三行一列排布
par(mfrow=c(3,1))
#PiYG中一共有11中顏色,畫11根柱子來展示
barplot(1:11,col=brewer.pal(11, "PiYG"))
#通過colorRampPalette生成漸變色,PiYG中本身就有11中個顏色
#后面括號中的數(shù)字是要生成漸變色的個數(shù),也為11,所以效果跟上圖一樣
barplot(1:11,col=colorRampPalette(brewer.pal(11, "PiYG"))(11))
#通過colorRampPalette生成25個漸變色
barplot(1:25,col=colorRampPalette(brewer.pal(11, "PiYG"))(25))

接下來我們用這25個漸變色來繪制熱圖

coul <- colorRampPalette(brewer.pal(11, "PiYG"))(25)
heatmap(data, 
        cexCol = 1,  #設(shè)置列標(biāo)簽字體大小
        scale="row",  #按行做歸一化
        col = coul  #使用PiYG配色方案生成的25個漸變色
        )

我們還能用其他的配色方案試試

#展示OrRd配色方案中的9種顏色display.brewer.pal(9,"OrRd")

接下來我們用OrRd配色方案生成的50個漸變色來繪制熱圖

coul <- colorRampPalette(brewer.pal(9, "OrRd"))(50)
heatmap(data, 
        cexCol = 1,  #設(shè)置列標(biāo)簽字體大小
        scale="row",  #按行做歸一化
        col = coul #使用OrRd配色方案生成的50個漸變色
       )

其實RColorBrewer包里還有很多其他的配色方案,這里就不依依列舉了,感興趣的小伙伴可以翻看?R語言中的顏色(四)-RColorBrewer包

本文中使用的表達矩陣來自GEO公共數(shù)據(jù)庫

https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE82236

關(guān)于GEO數(shù)據(jù)庫檢索和差異表達分析可以參考

?基于GEO公共數(shù)據(jù)庫的數(shù)據(jù)挖掘

獲取文中使用的原始數(shù)據(jù)

參考資料:

?【R語言】熱圖繪制-heatmap函數(shù)+默認配色方案

?【R語言】熱圖繪制-heatmap+gplots配色方案

?【R語言】熱圖繪制-heatmap+grDevice配色方案

?【R語言】熱圖繪制-heatmap+RColorBrewer配色方案

?R語言中的顏色(一)-自帶的調(diào)色板

?R語言中的顏色(二)-gplots包

?R語言中的顏色(三)-grDevice包

?R語言中的顏色(四)-RColorBrewer包

? 超詳細的熱圖繪制教程(5000余字),真正的保姆級教程

? R語言繪制基因表達熱圖(簡易版)

? 一個R函數(shù)搞定風(fēng)險評估散點圖,熱圖

? R繪制甲基化和表達譜聯(lián)合分析熱圖

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容