【问题标题】:How can I delete column names in heatmap.2 in R?如何删除 R 中 heatmap.2 中的列名?
【发布时间】:2019-11-06 22:45:08
【问题描述】:

我在 R 中构建了一个很棒的 heatmap.2,但我试图删除热图底部的列名,因为它们难以辨认。我无法删除列名。

我尝试过 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("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)),
)```

【问题讨论】:

  • 您可以尝试将 colnames 设置为空字符串 "" 。所以在你的情况下,试试 mat = z$data ; colnames(mat) = rep("",ncol(mat)) ; heatmap.2(mat, Rowv=z$Rowv,Colv=z$Colv, ... )
  • 天才。那行得通!非常感谢。
  • 不客气!玩得开心!
  • 哦,是的,我将在下面发布一个带有示例的答案,以防有人对此感兴趣。有时很难跟随 cmets :)

标签: r heatmap gplots


【解决方案1】:

图像是基础 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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-31
    • 1970-01-01
    • 2016-10-19
    • 1970-01-01
    相关资源
    最近更新 更多