包的安裝
install.packages(pheatmap)
包的導(dǎo)入
#導(dǎo)入pheatmap包
library(pheatmap)
#
數(shù)據(jù)整理
做相關(guān)系數(shù)矩陣的時候,經(jīng)常會碰見有一列的數(shù)值唯一,是常數(shù)池凄,沒有辦法進(jìn)行相關(guān)系數(shù)矩陣的運(yùn)算。
解決辦法是采用jitter包鬼廓,在數(shù)值矩陣的每一行加上隨機(jī)小擾動肿仑,這些擾動不會過多影響相關(guān)系數(shù)矩陣。
#導(dǎo)入包
library(base)
x = jitter(rep(0,length(數(shù)值矩陣)))
for(i in 1:dim(數(shù)值矩陣)[1]){
數(shù)值矩陣[i,] = 數(shù)值矩陣[i,] + x[i]
}
常規(guī)畫熱圖碎税,采用默認(rèn)參數(shù)
#例如做相關(guān)系數(shù)矩陣熱圖
pheatmap(相關(guān)系數(shù)矩陣)
結(jié)果輸出如下
圖1
特殊需求:限定相關(guān)系數(shù)的范圍
如果對相關(guān)系數(shù)的范圍有要求尤慰,比如固定的范圍,需要添加其他的參數(shù)
#color是分配色塊雷蹂,"RdBu"代表從紅色到藍(lán)色變化伟端,這里分配了36個色塊
#breaks代表顏色的范圍,從-0.8到1匪煌,以0.05為間隔,一共36個間隔, 對應(yīng)36個色塊
# 這里必須和上面color的36個色塊對應(yīng)起來
pheatmap(相關(guān)系數(shù)矩陣,breaks=seq(-0.8,1,0.05),color=colorRampPalette(rev(brewer.pal(10, "RdBu")))(36))
結(jié)果為
圖2
這個一般用來比較多個相關(guān)系數(shù)熱圖之間的區(qū)別荔泳。
圖像的高清保存
美麗的熱圖生成了,要高清保存到電腦虐杯,需要用到以下語法
jpeg('文件輸出路徑',width = 400, height = 350)
pheatmap(相關(guān)系數(shù)矩陣,breaks=seq(-0.8,1,0.05),color=colorRampPalette(rev(brewer.pal(10, "RdBu")))(36))
dev.off()
圖像高清保存的秘訣就是設(shè)置合適的寬度高度玛歌,經(jīng)過我的實驗,寬度為400擎椰,高度為350的輸出效果較好支子,小伙伴們?nèi)绻懈玫谋壤部梢栽u論一下或是私信我。
整齊排列圖片
有時候生成了一系列的圖片达舒,如何整齊排列這些圖片值朋?
我自己用的是illustrator,比較方便的一點(diǎn)是巩搏,它可以在你的原始圖片有改動后自動更新昨登,省去手動修改的麻煩。
看在我辛苦碼字的份上贯底,小伙伴們覺得有用的話丰辣,點(diǎn)個贊??吧,我會更有動力分享我的代碼思路禽捆,【比心】??笙什。