1

各行と列が黒い線で区切られた単純なヒートマップを生成しようとしています。ただし、何らかの理由で、これは最初と最後の色でのみ発生します。コマンドの中央の色には、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

4

1 に答える 1

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() 
于 2013-01-13T20:21:01.010 に答える