library(gplots)
setwd(‘/home/sun/SX/20180413_rnaseq/06_heatmap’)
getwd()
data <- read.table(’99_count_heatmap_input’,sep=’\t’,header=T,row.names = 1)
data=na.omit(data)
View(data)
# 将数据矩阵化
data <- as.matrix(data)
# 生成热图
heatmap.2(data)
# 优化颜色
col=greenred
heatmap.2(data,col = greenred)
# 对数据进行标准化:row(横向,行),column(纵向,列)
heatmap.2(data,col = greenred,scale = “row”)
heatmap.2(data,col = greenred,scale = “column”)
## 去掉聚类数:dendrogram=”none”
heatmap.2(data,col = greenred,scale = “row”,dendrogram=”none”)
# 只显示行向量的聚类情况
heatmap.2(data,col = greenred,scale = “row”,dendrogram=”row”)
# 只显示列向量的聚类情况 yes
heatmap.2(data,col = greenred,scale = “row”,dendrogram=”col”)
# 调控列向量,也就是x轴的label:srtCol=0(旋转), adjCol = c(0.5,1)
heatmap.2(data,col = greenred,scale = “row”,dendrogram=”col”,srtCol=0, adjCol = c(0.5,1))
# 调控一下行向量,也就是y轴的label:srtRow=45(旋转)
heatmap.2(data,col = greenred,scale = “row”,dendrogram=”col”,srtCol=0, adjCol = c(0.5,1), srtRow=45, adjRow=c(0, 0.5))
# 设置 offsetRow/offsetCol 可以把label跟热图隔开!offsetRow=-1, offsetCol=-1
heatmap.2(data,col = greenred,scale = “row”,dendrogram=”col”,srtCol=0, adjCol = c(0.5,1), srtRow=45, adjRow=c(0, 0.5),offsetRow=1, offsetCol=1)
# 不需要图标时选择key=F,density.info=c(‘none’)键值是否显示波动信息
heatmap.2(data,col = greenred,scale = “row”,dendrogram=”col”, srtCol=0, adjCol = c(0.5,1), srtRow=45, adjRow=c(0, 0.5), offsetRow=1 , offsetCol=1,key=F)
# 需要图标时选择key=T,keysize(表示图标大小)
heatmap.2(data,col = greenred,scale = “row”,dendrogram=”col”, srtCol=0, adjCol = c(0.5,1), srtRow=45, adjRow=c(0, 0.5), offsetRow=1 , offsetCol=1,key=T,keysize = 1.8)
# 是否需要基准线(图上青色的线条)
# trace=”none”
# 需要时输入”both”,”row” 或者”column”
heatmap.2(data,col = greenred,scale = “row”,dendrogram=”col”, srtCol=0, adjCol = c(0.5,1), srtRow=45, adjRow=c(0, 0.5), offsetRow=1 , offsetCol=1,key=T,keysize = 1.8,trace=”none”)
# 定义xlab和ylab的字符大小:
# cexCol=1,cexRow=1
heatmap.2(data,col = greenred,scale = “row”,dendrogram=”col”, srtCol=0, adjCol = c(0.5,1), srtRow=45, adjRow=c(0, 0.5), offsetRow=1 , offsetCol=1,key=T,keysize = 1.8,trace=”none”,cexCol=1,cexRow=1)
# R布局:
# lty。直线类型0为空,1为实线,2为虚线,3为点线
# pch。表示点的形状,1代表圆圈,2代表三角形,3代表“+”号
# bty。限定图形的边框类型。值为”o”(默认)、”l”、”7″、”c”、”u”或者”]”中的任意一个,对应的边框类型就和该字母的形状相似。
# pty。表示当前绘图区域的形状,”s”表示生成一个正方形区域,”m”表示生成最大的绘图区域
# plt。形式为c(x1, x2, y1, y2),设定当前的绘图区域。
# rep就是复制数据,replication 。rep(x,times),x为要复制的数据 times是要重复的次数。
# mar=c(4,3,2,1),与外围边距的设置类似,是指绘图边距分别为下边距:4行,左边距3行,上边距2行,右边距1行
op <- par(mar = rep(0, 4))
op <- par(mar = c(20,0,0,0))
plot.new()
par(op)
# 行列的排列顺序是否默认,F是原顺序
# Rowv = F
# Colv =F
# 更改画图位置
lmat <- rbind( c(5,3,4), c(2,1,4))
lhei <- c(1.5,4)
lwid <- c(1.5,4,0.75)
# 默认画图位置
lmat <- rbind(4:3,2:1)
lhei <- c(1.5,4)
lwid <- c(1.5,4)
##
heatmap.2(data,
col = greenred,
Rowv = F, Colv =F,
trace=”none”,
scale = “row”,
dendrogram=”col”,
labRow = ” “,
cexCol=1,cexRow=0.5,
offsetRow=1, offsetCol=1.8,
srtCol=30, adjCol = c(0.5,1), srtRow=30, adjRow=c(0, 0.5),
margins=c(5,3),
key=T,keysize = 1.5,density.info=c(‘none’),
main=”log2foldchange Heatmap”)
## 最终命令
heatmap.2(data,col = greenred,scale = 'row',dendrogram='none',srtCol=0, adjCol = c(0.5,1), srtRow=0, adjRow=c(0, 0.5),offsetRow=1, offsetCol=1,density.info=c('none'),trace='none',cexCol=1.5,cexRow=0.9,Rowv = F,Colv =F,main = "Heatmap")