我geom_tile在ggplot2包中使用 R 生成了以下熱圖。
# Dummy data
x <- LETTERS[1:5]
y <- paste0("var", seq(1,5))
data <- expand.grid(X=x, Y=y)
data$Z <- runif(25, 0, 5)
# Heatmap
ggplot(data, aes(X, Y, fill= Z))
geom_tile()
scale_fill_gradient(low = "green", high = "red")

有沒有辦法只在特定瓷磚周圍繪制邊框?例如,我想在左上角的單元格(A:var5)和中心的單元格(C:var3)周圍有一個邊框。
uj5u.com熱心網友回復:
你可以這樣做:
ggplot(data, aes(X, Y, fill= Z))
geom_tile()
geom_tile(data = data[c(13, 21),], fill = NA, color = "black", size = 2)
scale_fill_gradient(low = "green", high = "red")

uj5u.com熱心網友回復:
這里有兩種方法,根據您的需要:
- 將要突出顯示的資料設定
geom_tile()為子集,并為該子集再次呼叫,具有不同的美感:
p <- ggplot(data, aes(X, Y, fill= Z))
geom_tile()
scale_fill_gradient(low = "green", high = "red")
d <- data.frame(X=c("A","C"), Y=c("var5", "var3"))
dat <- merge(data, d)
p geom_tile(data=dat, aes(X,Y), fill="transparent", colour="black", size=1)
- 或者,您可以使用要突出顯示的矩形的坐標來注釋原件:
p annotate("rect", xmin=c(0.5, 2.5), xmax=c(1.5, 3.5), ymin=c(4.5,2.5), ymax=c(5.5,3.5), colour="black", fill="transparent", size=1)
結果是等效的:

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/450731.html
上一篇:試圖將離散的stat_bin_2d與連續的stat_density_2d一起繪制
下一篇:R中離散x軸上的分組箱線圖
