|
heatmap.2()函数属于R语言gplots程序包,其能够将一个矩阵中的单个元素通过不同颜色的形式表现出来,进而对不同的单元进行比较分析,热图往往与聚类图相互作用,对不同样本中的不同单元的特点进行直观的比较分析。
本人近期对热图的绘制进行了简要的学习,现将其流程简述如下:
以矩阵:
s1 s2 s3 s4 s5
A 10 20 14 13 46
B 20 30 70 80 4
C 13 64 37 9 68
D 44 23 90 43 8
E 23 54 78 65 1
F 44 19 64 22 41
为例
于F盘Test文件夹中新建matrix.txt文本文件,将上述数据拷贝至matrix.txt后保存
打开R
>install.packages("gplots") #下载gplots程序包
>library(gplots) #加载gplots程序
>setwd("F:/Test") #定义R的工作目录
>data<-read.table("matrix.txt") #读取文件
>data=na.omit(data) #将带有文件中带有缺失值的行去掉
>View(data) #查看数据(Fig1)
>data<- as.matrix(data) #将数据矩阵化
>heatmap.2(data) #生成热图(Fig2)
该图与我们平时见到的热图相差甚远,需要对其进行后期优化。
1.优化颜色
col=redgreen(或greenred)
>heatmap.2(data,col=redgreen)
2.对所有数据进行标准化(scale=(”none“,"row","column")),主要是为了防止单个数据过大(过小),导致冷热色分布不明显的现象。
>heatmap.2(data,col=redgreen,scale="row") #本文数据间差异不大,故该命令效果不明显,对于数据差异大的矩阵,该命令能够显著的优化图形。
3.是否需要图标以及图标的大小(key,热图左上角)
>heatmap.2(data,col=redgreen,scale="row",key=T,keysize=1.5) #不需要时选择key=F,此时不输入keysize(表示图标大小)命令。
4.是否需要基准线(图上青色的线条)
>heatmap.2(data,col=redgreen,scale="row",key=T,keysize=1.5,trace="none") #不需要基准线,需要时输入"both","row" 或者"column"
5.定义xlab和ylab的字符大小
>heatmap.2(data,col=redgreen,scale="row",key=T,keysize=1.5,trace="none",cexCol=1,cexRow=1)
此外,Rowv, Colv以及dendrogram命令可以确定是否需要在行或者列上标注聚类图。
对于更多详细的信息,读者可移步:
http://www.inside-r.org/packages/cran/gplots/docs/heatmap.2
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2025-1-29 00:57
Powered by ScienceNet.cn
Copyright © 2007-2025 中国科学报社