我已经看到了在各种 R 图形系统中制作的热图,包括像这样的 lattice 和 base:
我倾向于使用ggplot2
一点,并希望能够制作一个带有相应单元格值的热图。这是热图和使用的尝试geom_text
:
library(reshape2, ggplot2)
dat <- matrix(rnorm(100, 3, 1), ncol=10)
names(dat) <- paste("X", 1:10)
dat2 <- melt(dat, id.var = "X1")
p1 <- ggplot(dat2, aes(as.factor(Var1), Var2, group=Var2)) +
geom_tile(aes(fill = value)) +
scale_fill_gradient(low = "white", high = "red")
p1
#attempt
labs <- c(apply(round(dat[, -2], 1), 2, as.character))
p1 + geom_text(aes(label=labs), size=1)
通常我可以计算出要传递的 x 和 y 值,但在这种情况下我不知道,因为此信息未存储在数据集中。如何将文本放在热图上?