溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Pheatmap怎樣繪制熱圖

發(fā)布時間:2021-12-20 09:26:56 來源:億速云 閱讀:247 作者:柒染 欄目:大數(shù)據(jù)

Pheatmap怎樣繪制熱圖,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

隨機生成,10個基因,每個基因4個處理,每個處理3個平行,表達量RPKM值在1-120之間,矩陣第一個RPKM數(shù)值為250:

> library(pheatmap)

> data <- matrix(runif(120,0,120),ncol=12)

> data[1] <- 250

> colnames(data) <- c(paste0('tr_1_',seq(1,3)),paste0('tr_2',seq(1,3)),paste0('tr_3',seq(1,3)),paste0('tr_4',seq(1,3)))

> rownames(data) <- c(paste0('gene',seq(1,10)))

運行過程生成matrix和圖片:

Pheatmap怎樣繪制熱圖

Pheatmap怎樣繪制熱圖

利用border_color參數(shù)修改邊界顏色:

>pheatmap(data,border_color = "blue")

> pheatmap(data,border_color = "red")

> pheatmap(data,border_color = "pink")

> pheatmap(data,border_color = "green")

Pheatmap怎樣繪制熱圖

Pheatmap怎樣繪制熱圖

Pheatmap怎樣繪制熱圖

Pheatmap怎樣繪制熱圖

colorRampPalette參數(shù)的使用:

> colors <- colorRampPalette(c("blue", "red"))(5)#顏色從藍色到紅色漸變色,5表示長度為5的顏色梯度

> colors

[1] "#0000FF" "#3F00BF" "#7F007F" "#BF003F" "#FF0000"

> pheatmap(data,border_color = "yellow",color=colorRampPalette(c('#00ff00','white','#EE0000'))(100))

運行結(jié)果如下:

Pheatmap怎樣繪制熱圖

scale參數(shù)的使用:

scale是指對數(shù)值進行均一化處理,在基因表達量的數(shù)據(jù)中,有些基因表達量極低,有些基因表達量極高,因此把每個基因在不同處理和重復(fù)中的數(shù)據(jù)轉(zhuǎn)換為平均值為0,方差為1的數(shù)據(jù),可以看出每個基因在某個處理和重復(fù)中表達量是高還是低。

Pheatmap怎樣繪制熱圖

“row”、“colume”、“none”分別表示對成行或成列的進行均一化,或不做均一化,一般數(shù)據(jù)處理中基因的表達量做均一化處理,選擇“row”

> pheatmap(data,border_color = "yellow",color = colorRampPalette(c('pink','blue'))(100),scale='row')

Pheatmap怎樣繪制熱圖

參數(shù):cluster_rows/cluster_cols和cellwidth/cellheight

對基因的順序進行聚類,因此可使用cluster_rows/cluster_col來修改;同時可以使用cellwidth/cellheight對每個單元方塊的大小進行設(shè)置:

>pheatmap(data,border_color='yellow',color=colorRampPalette(c('pink','blue'))(100),scale='row',cluster_cols = FALSE,cellwidth = 20,cellheight = 20)

Pheatmap怎樣繪制熱圖

參數(shù):legend/legend_breaks/legend_labels

使用legend閾值邏輯值來對色度條進行隱藏,以及對色度條上對應(yīng)位置的字符進行修改:

>pheatmap(data,border_color='yellow',color=colorRampPalette(c('pink','blue'))(100),scale='row',cluster_cols = FALSE,cellwidth = 20,cellheight = 20,legend_breaks = c(-2.5,0,2.5),legend_labels = c('>=-2.5','0','2.5'))

運行結(jié)果如下:

Pheatmap怎樣繪制熱圖

>pheatmap(data,border_color='yellow',color=colorRampPalette(c('pink','blue'))(100),scale='row',cluster_cols = FALSE,cellwidth = 20,cellheight = 20,legend=FALSE,legend_breaks = c(-2.5,0,2.5),legend_labels = c('>=-2.5','0','2.5'))

Pheatmap怎樣繪制熱圖

參數(shù):gaps_row/gaps_col、cutree_rows/cutree_cols和treeheight_row/treeheight_col

cutree_rows按聚類分割,如cutree_rows=2,把基因表達量聚類分成2類;gaps_col=c(3,6,9)不能聚類,把重復(fù)都分開。gaps_XX對行或列進行分割,就不應(yīng)對相應(yīng)的行或列進行聚類;treeheight_row參數(shù)改變聚類的支長長度:

>pheatmap(data,border_color='yellow',color=colorRampPalette(c('pink','blue'))(100),scale='row',cluster_cols = FALSE,cellwidth = 20,cellheight = 20,legend=FALSE,legend_breaks = c(-2.5,0,2.5),legend_labels = c('>=-2.5','0','2.5'),cutree_rows = 2,gaps_col = c(3,6,9),treeheight_row = 10)

Pheatmap怎樣繪制熱圖

參數(shù):annotation_row/annotation_col、annotation_colors、annotation_legend和annotation_names_row/annotation_names_col

利用annotation_col參數(shù),給各個處理添加一個顏色標簽;

利用annotation_colors對標簽的顏色進行修改;

利用annotation_legend設(shè)置是否顯示標簽注釋條;

利用annotation_names_col設(shè)置是否顯示標簽名稱。

>annotation_col=data.frame(treat=factor(rep(paste0('T',1:4),each=3)),class=factor(rep(paste0('class',1:2),each=6)))

>ann_color=list(a=c(T1='yellow',T2='#757083',T3='firebrick',T4='#66A61E'),b=c(class1='blue',class2='#1B9E77'))

> row.names(annotation_col)=colnames(data)

>pheatmap(data,border_color='yellow',color=colorRampPalette(c('pink','blue'))(100),scale='row',cluster_cols = FALSE,cellwidth = 20,cellheight = 20,legend_breaks = c(-2.5,0,2.5),legend_labels = c('>=-2.5','0','2.5'),cutree_rows = 2,gaps_col = c(3,6,9),treeheight_row = 10,annotation_col=annotation_col,annotation_legend=TRUE,annotation_colors=ann_color,annotation_names_col=TRUE)

運行過程中產(chǎn)生數(shù)據(jù)與圖:

annotation_col:

Pheatmap怎樣繪制熱圖

Pheatmap怎樣繪制熱圖

參數(shù):display_numbers、number_format、number_color和fontsize_number

利用display_numbers參數(shù)可以在每個單元框內(nèi)顯示每個方框?qū)τ诘臄?shù)據(jù),其中有三個選項,TRUE、FALSE以所對應(yīng)的數(shù)據(jù),如果設(shè)置display_numbers=T,這顯示做了均一化的數(shù)據(jù)(如果之前使用過scale參數(shù)),設(shè)置display_numbers=data,則表示為直接顯示原始數(shù)據(jù),即可直接顯示出RPKM值在單元格中;

number_color顧名思義就是這是設(shè)置顯示數(shù)據(jù)的顏色了

fontsize_number則為顯示每個數(shù)據(jù)的大??;

 利用number_format可以設(shè)置保留小數(shù)位數(shù)或者字符串格式(如%.2f),但僅有在display_numbers=T時才能使用,很雞肋,因此不建議使用該參數(shù),而我們一般是直接顯示RPKM值,所以我們需要之前對數(shù)據(jù)集進行保留小數(shù)處理,不然數(shù)據(jù)顯示會超出單元格

>pheatmap(data,border_color='yellow',color=colorRampPalette(c('pink','blue'))(100),scale='row',cluster_cols = FALSE,cellwidth = 20,cellheight = 20,legend_breaks = c(-2.5,0,2.5),legend_labels = c('>=-2.5','0','2.5'),cutree_rows = 2,treeheight_row = 10,annotation_col=A,annotation_legend=TRUE,annotation_colors=ann_color,annotation_names_col=TRUE,display_numbers = TRUE,number_color = 'red',fontsize_number = 8,number_format = "%.2f")

運行結(jié)果如下:

Pheatmap怎樣繪制熱圖參數(shù):show_rownames/show_colnames、fontsize_col/fontsize_row、fontsize和main

show_rownames表示是否顯示gene名稱,用邏輯值設(shè)置,fontsize_col設(shè)置橫坐標名稱的大小,fontsize則是設(shè)置所有除主圖以外的標簽的大小,利用main設(shè)置熱圖的名稱,如:

>pheatmap(data,border_color='yellow',color=colorRampPalette(c('pink','blue'))(100),scale='row',cluster_cols = FALSE,cellwidth = 20,cellheight = 20,legend_breaks = c(-2.5,0,2.5),legend_labels = c('>=-2.5','0','2.5'),cutree_rows = 2,treeheight_row = 10,annotation_col=A,annotation_legend=TRUE,annotation_colors=ann_color,annotation_names_col=TRUE,display_numbers = TRUE,number_color = 'red',fontsize_number = 8,number_format = "%.2f",show_rownames = FALSE,fontsize_col = 15,fontsize=5,main = "heatmap test 2")

Pheatmap怎樣繪制熱圖

看完上述內(nèi)容,你們掌握Pheatmap怎樣繪制熱圖的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI