1

(AvgByQ ベクトルから) ヒート マップを生成するために次のコードを使用しています。

library(gplots)
x<-c(0, 5, 30, 80)
y<-c(150, 2000, 2010, 3000)
AvgByQ<-c(20.25, 13.02,  0.00,  0.00,  0.00,  0.00,  8.31, 14.66,  0.00)
AvgByQMatrix <- matrix(AvgByQ, ncol=3, byrow=TRUE)
heatmap.2(AvgByQMatrix, cellnote=AvgByQMatrix, notecol="black",col=redblue(256),key=TRUE, dendrogram = "none", trace="none")

X および Y ベクトル値に一致するようにブロック サイズを変更するにはどうすればよいですか? また、スケーリングの問題に多少関連していますが、行の順序 (1, 3, 2) がめちゃくちゃになるのはなぜですか? ありがとう!

4

1 に答える 1

0

これはあなたを助けるかもしれないと思います。次のアプローチは私にとってはうまくいきました(ただし、image()関数でこれを行う方法しか知りません:

#using image() function
x<-c(0, 5, 30, 80, 1000)
y<-c(150, 2000, 2010, 3000)
grd <- expand.grid(x=x, y=y)
z<-matrix(grd$x*2-grd$y*3, nrow=length(x), ncol=length(y), byrow=TRUE)
image(x=x, y=y, z=z, col=rainbow(20))

#another option with z-scale
source("image.scale.r") #http://menugget.blogspot.de/2011/08/adding-scale-to-image-plot.html
x11(width=5, height=4)
layout(matrix(1:2, nrow=1, ncol=2), widths=c(4,1), heights=4, respect=TRUE)
layout.show(2)
par(mar=c(4,4,1,1))
image(x=x, y=y, z=z, col=rainbow(20))
par(mar=c(4,0,1,4))
image.scale(z, col=rainbow(20), horiz=FALSE, xlab="", ylab="", xaxt="n", yaxt="n")
axis(4)
box()

ここに画像の説明を入力

于 2013-01-13T09:58:30.093 に答える