将颜色键设置为数值范围

时间:2014-11-10 13:16:30

标签: r

我在R中使用heatmap.2函数生成了热图,并尝试进行两次修改

  1. 颜色键刻度需要为5,10,15。但是,我无法通过更改以下行

    来设置比例范围
    colors = c(seq(0,5,length=100), seq(5,10,length=100), seq(10,15,length=100))
    
  2. 在每行的末尾显示数字(例如,总行数为1,2 3),我无法将其删除。

  3. 因此,我期待任何建议设置比例并删除编号的Y轴。

    library(gplots)
    library(RColorBrewer)
    dat <- read.csv("C:/Users/anikng/Desktop/stress.csv")
    dat_matrix <- data.matrix(dat)
    colors = c(seq(0,5,length=100),seq(5,10,length=100),seq(10,15,length=100))
    my_palette <- colorRampPalette(c("green","black","red"))(n = 299)
    heatmap.2(dat_matrix, dendrogram="none", Rowv=FALSE, Colv=FALSE, col = my_palette,     breaks=colors, scale="none", key=TRUE, density.info="none", trace="none", symm=F,symkey=T,symbreaks=T)
    

1 个答案:

答案 0 :(得分:1)

当提出问题时,如果你能提供一些示例数据,它总是更容易,所以

library(gplots)
library(RColorBrewer)
dat_matrix= matrix(rnorm(1000, 10, 3), ncol=10)
  1. symkey中范围的问题是由symkey=TRUE参数引起的。删除该参数,您的代码现在可以正常工作

    breaks = c(seq(min(dat_matrix), median(dat_matrix), length.out=128), 
       seq(median(dat_matrix), max(dat_matrix), length.out=128))
    
    heatmap.2(dat_matrix, dendrogram="none", Rowv=FALSE, Colv=FALSE, breaks=breaks, 
             key=TRUE, density.info="none", trace="none", col=my_palette)
    
  2. 要从图表中删除数字,请添加参数:labRow=FALSElabCol=FALSE