heatmap.2(gplots包) - 如何删除某些单元格中恼人的行?

时间:2013-01-13 16:25:04

标签: r heatmap bioconductor

我正在尝试生成一个包含每行和每列的简单热图 用黑线隔开。但是,出于某种原因,这只会发生 对于第一种和最后一种颜色。 colorpanel()中的中间色 命令有一个我想要的水平和垂直线 在使用heatmap.2()绘制时摆脱。关于为什么我看到这些线的任何建议?

library(gplots)

my.matrix <- cbind(func.1 = c(1,2,2,1,1,3,1,2,3,1,1,2,2,3,1), func.2 =
c(2,2,1,1,3,3,1,1,2,2,1,3,3,2,1))

mycol <- colorpanel(n=3,"green","grey","red")

heatmap.2(my.matrix,Rowv=FALSE, Colv="Rowv", col=mycol, trace="both",
tracecol="black", key=FALSE, symm=FALSE, vline=NULL, hline=NULL)

链接到我得到的情节:https://dl.dropbox.com/u/8900971/heatmap.png

1 个答案:

答案 0 :(得分:1)

可能有办法做你想做的事情,但是当我读到你的最后一条评论时,我的想法就转到了ggplot2。你没有说它必须是heatmap.2解决方案,所以这里是一个ggplot2。虽然我假设gplots版本很感兴趣:

library(reshape2, ggplot2)
dat <- melt(my.matrix)

ggplot(dat, aes(x=Var2,y=Var1))+ 
    geom_tile(aes(fill = value),colour='black') +
    scale_fill_gradientn(colours=c("green","gray","red"),
    values  = rescale(c(min(dat$value), 1000, max(dat$value)))) +
    coord_equal()