R语言pheatmap包绘制热图

热图就是使用颜色来表示数据相关性的图。能绘制热图的R包很多,今天我们来介绍pheatmap包,这个包的特点是简单易学,图片精美。
废话不多说,我们先导入数据和R包

library(pheatmap)
bc<-read.csv("E:/r/test/heatmap.csv",sep=',',header=TRUE)

在这里插入图片描述
这是一个西红柿的RNA测序数据(公众号回复:热图数据,可以获得数据),共有20行和20列,这个数据没有列名,我们给它加上列名,

dput(names(bc))
row.names(bc)<-dput(names(bc))

数据成如下格式后我们开始绘图
在这里插入图片描述
先来一个默认的简单的图

pheatmap(bc)

在这里插入图片描述
有时候行列数据指标相差太大,我们需要对数据进行标准化,才好比较,scale参数可以对行列进行归一化,可选"none", “row”, “column”

pheatmap(bc, scale = "row")

在这里插入图片描述
参数clustering_method可以设定不同聚类方法,默认为"complete",其他的方法还有’ward’, ‘ward.D’, ‘ward.D2’, ‘single’, ‘average’, ‘mcquitty’, ‘median’ or ‘centroid’

pheatmap(bc,scale = "row", clustering_method = "average")

在这里插入图片描述
如果不想显示图例,可以

pheatmap(bc, legend = FALSE) #不画图例

在这里插入图片描述
Pheatmap包还支持自己指定颜色

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

在这里插入图片描述
设置col、row方向的树高,就是上方和左边的聚类树的长度

pheatmap(bc,treeheight_row=100,treeheight_col=30)

在这里插入图片描述
给图片加上标题

pheatmap(bc,treeheight_row=100,treeheight_col=30,main = "Tomato Heatmap")

在这里插入图片描述
不显示一个聚类的方向,或者都不显示

pheatmap(bc,treeheight_row=120,treeheight_col=20,cluster_cols=FALSE)

在这里插入图片描述

pheatmap(bc,treeheight_row=120,treeheight_col=40,cluster_row = FALSE)

在这里插入图片描述
调整这个方框的大小,方框小了很多

pheatmap(bc,cellwidth = 15, cellheight = 12, fontsize =10)

在这里插入图片描述
显示方格中相关系数的数值,并设置字体颜色

pheatmap(bc, display_numbers = TRUE,number_color = "blue")

在这里插入图片描述
如您的数据中还有相关的亚组,可以进一步显示亚组的信息,我们的数据中没有亚组,我们来生成一个亚组的数据框

annotation_col = data.frame(group = factor(rep(c("gr1", "gr2"), 10)), Time = 1:20)
rownames(annotation_col) = dput(names(bc))

数据大概数这样的
在这里插入图片描述

pheatmap(bc, annotation_col = annotation_col)

在这里插入图片描述
这样亚组的信息就显示出来了,总的来说操作非常简单。
更多精彩信息,请关注公众号:零基础说科研

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天桥下的卖艺者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值