前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言ComplexHeatmap包做热图:热图每隔三行分开一小段

R语言ComplexHeatmap包做热图:热图每隔三行分开一小段

作者头像
用户7010445
发布2023-01-06 20:45:38
1K0
发布2023-01-06 20:45:38
举报

这个是有读者在B站给我的留言问到的问题

image.png

热图每隔三行分开一小段 怎么实现?我最开始的想法是用ggplot2来做,将数据拆分,每三行数据做一个图,最后采取拼图的方式来实现。

后来想起来R语言里有一个做热图功能非常强大的R包ComplexHeatmap应该能够实现这个目的,所以查了一下这个R包的帮助文档,找到了实现办法。

参考文档链接

https://jokergoo.github.io/ComplexHeatmap-reference/book/index.html

ComplexHeatmap的安装方法,如果没有安装这个R包,运行如下命令

https://bioconductor.org/packages/release/bioc/html/ComplexHeatmap.html

if (!require("BiocManager", quietly = TRUE))
    install.packages("BiocManager")

BiocManager::install("ComplexHeatmap")

示例数据集

image.png

读取数据集

mat<-read.csv("20221230.csv",row.names = 1)
mat

最基本的热图

library(ComplexHeatmap)
Heatmap(mat)

image.png

取消聚类

Heatmap(mat,
        cluster_rows = FALSE,
        cluster_columns = FALSE)

image.png

每隔固定行或者固定列进行拆分

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))

image.png

去掉文字标签

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)
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-12-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小明的数据分析笔记本 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 示例数据集
  • 读取数据集
  • 最基本的热图
  • 取消聚类
  • 每隔固定行或者固定列进行拆分
  • 去掉文字标签
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档