更改连续颜色键中一个值的颜色

时间:2021-07-03 01:01:29

标签: r ggplot2

此代码

xy <-expand.grid(1:10,1:10)
xyz <- cbind(xy,0)
xyz[2:8,3] <- c(0.05,0.09,0.8,0.08,0.04,0.02,0.02)
colnames(xyz) <- c("x","y","z")
xyz <- as.data.frame(xyz)
library(ggplot2)
ggplot(xyz,aes(x,y,fill=z))+geom_raster()

生产

output of the code

如何仅更改 0 的颜色(例如,更改为黄色)?我喜欢强调 0 值和非零值之间的区别。

1 个答案:

答案 0 :(得分:2)

一种方法是将 0 转为 NA 并使用 scale_fill_continuous 为其着色。

library(ggplot2)

xyz$z[xyz$z == 0] <- NA

ggplot(xyz,aes(x,y,fill=z))+geom_raster() + 
  scale_fill_continuous(na.value = 'yellow')

enter image description here