我想制作一张热图,其中颜色托盘为绿色到红色,但0的值为白色。我开始使用geom_tile heatmap with different high fill colours based on factor和其他人,但是不能得到我需要的东西。例如,使用以下数据库:
df <- data.frame(expand.grid(1:10,1:10))
df$z <- sample(0:10, nrow(df), replace=T)
我可以创建这个情节:
ggplot(df,aes(x = Var1,y = Var2,fill = z)) +
geom_tile() +
scale_fill_gradient(low = "green", high = "red")
ggplot(df,aes(x = Var1,y = Var2,fill = z)) +
geom_tile() +
scale_fill_gradient(low="green", high="red", limits=c(1, 10))
这是白色的0,但我失去了绿色到红色:
ggplot(df,aes(x = Var1,y = Var2,fill = z)) +
geom_tile() +
scale_fill_gradient(low = "white", high = "red")
我根本不能使用啤酒杯(尽管我认为我根据错误遗漏了一些简单的东西)。
ggplot(df,aes(x = Var1,y = Var2,fill = z)) +
geom_tile() +
scale_fill_brewer("Greens")
我应该用NA替换0吗?任何帮助,将不胜感激。