這個(gè)是有讀者在B站給我的留言問到的問題
熱圖每隔三行分開一小段 怎么實(shí)現(xiàn)?我最開始的想法是用ggplot2來(lái)做,將數(shù)據(jù)拆分,每三行數(shù)據(jù)做一個(gè)圖拼弃,最后采取拼圖的方式來(lái)實(shí)現(xiàn)。
后來(lái)想起來(lái)R語(yǔ)言里有一個(gè)做熱圖功能非常強(qiáng)大的R包ComplexHeatmap應(yīng)該能夠?qū)崿F(xiàn)這個(gè)目的驳规,所以查了一下這個(gè)R包的幫助文檔肴敛,找到了實(shí)現(xiàn)辦法。
參考文檔鏈接
https://jokergoo.github.io/ComplexHeatmap-reference/book/index.html
ComplexHeatmap的安裝方法,如果沒有安裝這個(gè)R包医男,運(yùn)行如下命令
https://bioconductor.org/packages/release/bioc/html/ComplexHeatmap.html
if (!require("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("ComplexHeatmap")
示例數(shù)據(jù)集
讀取數(shù)據(jù)集
mat<-read.csv("20221230.csv",row.names = 1)
mat
最基本的熱圖
library(ComplexHeatmap)
Heatmap(mat)
取消聚類
Heatmap(mat,
cluster_rows = FALSE,
cluster_columns = FALSE)
每隔固定行或者固定列進(jìn)行拆分
Heatmap(mat,
cluster_rows = FALSE,
cluster_columns = FALSE,
row_split = rep(c("A","B","C"),each=6),
column_split = rep(c("A","B","C","D"),each=6))
去掉文字標(biāo)簽
Heatmap(mat,
cluster_rows = FALSE,
cluster_columns = FALSE,
row_split = rep(c("A","B","C"),each=6),
column_split = rep(c("A","B","C","D"),each=6),
row_title = NULL,
column_title = NULL)
示例數(shù)據(jù)和代碼可以給公眾號(hào)推文點(diǎn)贊砸狞,點(diǎn)擊在看,最后留言獲取
歡迎大家關(guān)注我的公眾號(hào)
小明的數(shù)據(jù)分析筆記本
小明的數(shù)據(jù)分析筆記本 公眾號(hào) 主要分享:1镀梭、R語(yǔ)言和python做數(shù)據(jù)分析和數(shù)據(jù)可視化的簡(jiǎn)單小例子刀森;2、園藝植物相關(guān)轉(zhuǎn)錄組學(xué)报账、基因組學(xué)研底、群體遺傳學(xué)文獻(xiàn)閱讀筆記;3透罢、生物信息學(xué)入門學(xué)習(xí)資料及自己的學(xué)習(xí)筆記榜晦!