【R語言】十分鐘學會繪制聚類熱圖

pheatmap是R語言中一個使用非常廣泛的用于繪制聚類熱圖的繪圖包。使用這個繪圖包可以幫助我們快速的生成包含聚類結果的熱圖。

pheatmap的安裝非常簡單,只需要在R軟件中執行一行安裝代碼即可

install.packages('pheatmap')

安裝完成后,我們來看如何使用pheatmap來繪制聚類熱圖

# 加載軟件包 library('pheatmap') # 生成繪圖用的數據 test = matrix(rnorm(200), 20, 10) test[1:10, seq(1, 10, 2)] = test[1:10, seq(1, 10, 2)] + 3 test[11:20, seq(2, 10, 2)] = test[11:20, seq(2, 10, 2)] + 2 test[15:20, seq(2, 10, 2)] = test[15:20, seq(2, 10, 2)] + 4 colnames(test) = paste("Test", 1:10, sep = "") rownames(test) = paste("Gene", 1:20, sep = "")

這段代碼實際上是利用隨機數生成了一個20 X 10的矩陣。

為了模擬不同樣品和基因之間的差異,我們將第一行到第10行中奇數列的數值全部加3,將第11行到第20行的偶數列數值全部加2,將15行到20行的偶數列全部加4。最后將列名命名為Test1 ~ Test10,將行名命名為Gene1~Gene 20,最終生成的數據格式如下圖

默認參數繪制圖形只需要執行以下代碼。

pheatmap(test)

生成的圖片如下圖:

當默認參數不能滿足我們的需求時,我們可以根據自己的需要在此基礎上修改這個圖形。常見的一些參數設置如下:

pheatmap(test,?scale?=?"row")

# scale = “row”的含義是繪圖時按行進行均一化。進行均一化可以降低個別特殊樣品與其它樣品間的差異,這會使得其它樣品間的差異在圖形中更加顯著。一般我們在基于表達量進行聚類分析時,均是常用的參數?;嬙冀峁縵巒妓荊?/p>

如果需要對配色方案進行修改,可以修改color參數,

pheatmap(test,?color?=?colorRampPalette(c("navy",?"white",?"firebrick3"))(50))

# colorRampPalette函數可以設置3種顏色(只能是3種),它可以根據給定的向量生成漸變色,這三個參數分別指定了最大值,中間值和最小值的顏色?;嬙冀峁縵攏?/p>

同時,通過設置cluster_col和cluster_row參數可以控制是否取消對行或列進行聚類分析,具體代碼及結果如下:

pheatmap(test,?cluster_col?=?FALSE)

show_rownames和show_colnames參數來控制是否顯示行名和列名,如下:

pheatmap(test,show_rownames=F,show_colnames=F)

display_numbers 和number_color 參數可以控制是否在圖中顯示數字及設置數字的顏色。

pheatmap(test,?display_numbers?=?TRUE,number_color?=?"blue")

cellwidth和cellheight兩個參數可以控制每個單元的長度和寬度。參數main可以在圖片中添加標題。

pheatmap(test,?cellwidth?=?15,?cellheight?=?12,?main?=?"Example?heatmap")

以上呢,就是在使用pheatmap繪制聚類熱圖時常用的一些參數??梢鑰吹?,使用pheatmap繪制聚類熱圖是非常簡單快速的。通過組合不同的參數,我們可以控制最終生成的圖片的樣式與效果。

更多的功能和參數可以通過執行?pheatmap命令查看pheatmap自帶的幫助文檔來獵??!這期聚類熱圖的繪制我們就分享完啦,下期大家想看那個圖形的繪制呢?歡迎在評論區留言,我們將從留言區選擇呼聲高的前三圖形,為大家進行分享,下期是不是你想看到的呢?敬請期待!

過去的三月,百邁客成功舉辦了三場零基礎R語言繪圖培訓班.而由于我們培訓班主要是小班教學(20人左右),以及老師行程問題,還有部分老師未趕上前三期培訓,因此,現特征集R語言培訓班東北、福建、西安、甘肅、北京場意向學員。如果您想學編程,想自己可以隨時繪制出編輯部要求的圖片,僅需三秒,掃描下方二維碼,填寫您的簡單信息。我們會根據大家填寫的意向情況,安排后期的場次,說不定下一場就在你的城市哦

推薦文章
广东时时走势图百度百度贴吧 以钱生钱的平台 重庆时时开奖历史查询 双色球胆2拖9 非凡炸金花有作弊器吗 双色球最新最精准预测 棋牌满20元提现 最准大乐透预测 千炮捕鱼 平投方案 稳赚 欢乐生肖平台哪家好 11选5在线计划软件 北京pk赛车平台玩 5554445论坛心水码 足球竞猜 足球哪些投注网站