如何在R中删除heatmap.2中的列名?
我已经建立了一个很棒的热图。2在R中,但我正试图删除热图底部的列名,因为它们难以辨认。我无法删除列名 我尝试过使用labCol=NULL,但似乎什么都没有发生。此外,colCol=“white”也不起作用。有什么建议吗如何在R中删除heatmap.2中的列名?,r,heatmap,gplots,R,Heatmap,Gplots,我已经建立了一个很棒的热图。2在R中,但我正试图删除热图底部的列名,因为它们难以辨认。我无法删除列名 我尝试过使用labCol=NULL,但似乎什么都没有发生。此外,colCol=“white”也不起作用。有什么建议吗 data<-read.csv("Symptoms Only.csv",row.names=1) data$Subject_type<-gsub("0","Contact",data$Subject_type) data$Subject_type<-gsub("
data<-read.csv("Symptoms Only.csv",row.names=1)
data$Subject_type<-gsub("0","Contact",data$Subject_type)
data$Subject_type<-gsub("1","Survivor",data$Subject_type)
data$Gender<-gsub("0","Male",data$Gender)
data$Gender<-gsub("1","Female",data$Gender)
condition_colors <- unlist(lapply(data$Subject_type,function(x){
if(grepl('Contact',x)) '#FFC0CB'
else if(grepl('Survivor',x)) '#808080'
}))
condition_colors
colnames(data)
data<-data[-c(1:3)]
colnames(data)
data<-t(data)
data<-as.matrix(data)
x<-data
z <- heat.clust(x,
scaledim="column",
zlim=c(-3,3),
zlim_select = c("dend","outdata"),
reorder=c("column","row"),
distfun = function(x) as.dist(1-cor(t(x))),
hclustfun= function(x) hclust(x, method="ward.D"),
scalefun = scale)
heatmap.2(z$data,
Rowv=z$Rowv,
Colv=z$Colv,
trace="none",
scale="none",
symbreaks = TRUE,
srtCol=90,
adjCol=c(0.8,1),
key=FALSE,
dendrogram = "both",
lhei=c(1,5),
cexRow = 1.1,
margins=c(4,7),
labCol = NULL,
xlab="complete",
ColSideColors = condition_colors,
col=rev(colorRampPalette(brewer.pal(10, "RdBu"))(256)),
)```
data图像是基本R图,因此设置xaxt=“n”将删除列名。您可以将列名设置为空字符串,但可能不太可取
library(gplots)
data(mtcars)
# correct solution
heatmap.2(x,xaxt="n")
# not so good
colnames(x) = rep("",ncol(x))
heatmap.2(x)
该图像是基于R的绘图,因此设置xaxt=“n”将删除列名。您可以将列名设置为空字符串,但可能不太可取
library(gplots)
data(mtcars)
# correct solution
heatmap.2(x,xaxt="n")
# not so good
colnames(x) = rep("",ncol(x))
heatmap.2(x)
您可以尝试将colnames设置为空字符串“”。因此,在您的情况下,尝试mat=z$data;colnames(mat)=rep(“,ncol(mat));热图.2(mat,Rowv=z$Rowv,Colv=z$Colv,…)天才。成功了!非常感谢,不客气!玩得开心!哦,是的,我会在下面贴一个答案和一个例子,以防有人对此感兴趣。有时难以理解的注释:)您可以尝试将colnames设置为空字符串“”。因此,在您的情况下,尝试mat=z$data;colnames(mat)=rep(“,ncol(mat));热图.2(mat,Rowv=z$Rowv,Colv=z$Colv,…)天才。成功了!非常感谢,不客气!玩得开心!哦,是的,我会在下面贴一个答案和一个例子,以防有人对此感兴趣。有时难以理解的评论:)