33

私がやりたいのは、このマトリックスを取ることです:

> partb
                0.5  1.5   1a   1b   -2   -3
A1FCLYRBAB430F 0.26 0.00 0.74 0.00 0.00 0.00
A1SO604B523Q68 0.67 0.33 0.00 0.00 0.00 0.00
A386SQL39RBV7G 0.00 0.33 0.33 0.33 0.00 0.00
A3GTXOXRSE74WD 0.41 0.00 0.08 0.03 0.05 0.44
A3OOD9IMOHPPFQ 0.00 0.00 0.33 0.00 0.33 0.33
A8AZ39QM2A9SO  0.13 0.54 0.18 0.13 0.00 0.03

次に、色付けされたセルの各値を持つヒートマップを作成します。

ヒートマップの作成は簡単です:

> heatmap( partb, Rowv=NA, Colv=NA, col = heat.colors(256),  margins=c(5,10))

しかし、私の人生では、各セルに値を入れる方法がわかりません。

私は何が欠けていますか?確かにこれはよくあることです。

4

6 に答える 6

23

例えば:

m <- matrix(1:30, ncol=6)
colnames(m) <- paste("C", 1:6, sep="")
rownames(m) <- paste("R", 1:5, sep="")
m

image(1:ncol(m), 1:nrow(m), t(m), col = terrain.colors(60), axes = FALSE)
axis(1, 1:ncol(m), colnames(m))
axis(2, 1:nrow(m), rownames(m))
for (x in 1:ncol(m))
  for (y in 1:nrow(m))
    text(x, y, m[y,x])
于 2010-09-25T02:30:08.557 に答える
14

パッケージheatmap.2からお試しください。gplotscellnote および notecol パラメータは、セルに配置されるテキストを制御します。あなたdendrogram = "none"もきっと欲しくなるはずです。

于 2010-09-24T18:48:06.220 に答える
4

imageとを使用できますtext。側面に凡例が追加されるので、個人的にimage.plotはパッケージから気に入っていますが、それも使用できます。fieldsimage

たとえば

require(fields)
# Make a 10x10 matrix
m = matrix(rnorm(100), nrow=10)
image.plot(m)
for (x in 1:10)
    for (y in 1:10)
        text((x-1)/9, (y-1)/9, sprintf("%0.2f", m[x,y]))
于 2010-09-24T18:50:13.673 に答える
3

levelplot()パッケージからlattice色の凡例が得られます。まさにあなたが望むものではありませんが、考えるべきことです。

于 2010-09-24T17:42:36.803 に答える