我想做的是利用这个矩阵:
> 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))但在我的一生中,我不知道如何在每个单元格中赋值。
我遗漏了什么?这肯定是一件很常见的事情。
发布于 2010-09-25 02:48:06
尝试gplots包中的heatmap.2。cellnote和notecol参数控制单元格中放置的文本。您可能也需要dendrogram = "none"。
发布于 2010-09-25 10:30:09
例如:
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-25 02:50:14
您可以使用image和text。我个人喜欢fields包中的image.plot,因为它在侧面添加了一个图例,但是您也可以在image中使用它。
举个例子
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]))https://stackoverflow.com/questions/3789549
复制相似问题