我正在尝试生成一个包含每行和每列的简单热图
用黑线隔开。但是,出于某种原因,这只会发生
对于第一种和最后一种颜色。 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)
答案 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()