在ggplot2中使用geom_tile
我有一个相对简单的热图。它只是一个连续数据的小矩阵,作为彩色框(df1
),我想叠加第二个逻辑geom_tile,概述TRUE
值(df2
)。能做这样的事情吗?我知道在一起添加两个热图似乎会很丑,但这些都是小而简单的事情。在ggplot中添加第二个geom_tile图层
library(ggplot2)
n <- 4
df1 <- data.frame(x = rep(letters[1:n], times = n),
y = rep(1:n, each = n),
z = rnorm(n^2))
df2 <- data.frame(x = rep(letters[1:n], times = n),
y = rep(1:n, each = n),
z = FALSE)
df2$z[c(2,14)] <- TRUE
p1 <- ggplot(df1, aes(x = x, y = y))
p1 <- p1 + geom_tile(aes(fill = z), colour = "grey20")
p1 <- p1 + scale_fill_gradient2(low = "darkgreen",
mid = "white",
high = "darkred",
breaks = c(min(df1$z), max(df1$z)),
labels = c("Low", "High"))
p1
# overlay df2 to outline the TRUE boxes or dim the FALSE boxes with alpha?
# p1 <- p1 + geom_tile(data = df2, aes(fill = z), colour = "grey20")
如何使用不同的线大小来突出TRUE;?使用:'+ geom_tile(data = df2,aes(size = factor(z,c(TRUE,FALSE))),alpha = 0,color =“blue”)+ scale_size_discrete(“Your legend”,range = c 3,0.5))。 – JasonWang
非常酷!谢谢。 – user4100013