在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