geom_tile única cor como 0 e escala de cores
Quero produzir um mapa de calor em que, com um palete de cores de verde a vermelho, mas os valores de 0 estejam em branco. Eu comecei commapa de calor geom_tile com diferentes cores de alto preenchimento com base no fator e outros no SO, mas não conseguem o que eu preciso. Por exemplo, com o seguinte banco de dados:
df <- data.frame(expand.grid(1:10,1:10))
df$z <- sample(0:10, nrow(df), replace=T)
Eu posso criar esse gráfico:
ggplot(df,aes(x = Var1,y = Var2,fill = z)) +
geom_tile() +
scale_fill_gradient(low = "green", high = "red")
Mas quero que os valores iguais a zero sejam brancos. Portanto, isso acontece em parte:
ggplot(df,aes(x = Var1,y = Var2,fill = z)) +
geom_tile() +
scale_fill_gradient(low="green", high="red", limits=c(1, 10))
E isso fica 0 como branco, mas eu perco o verde para o vermelho:
ggplot(df,aes(x = Var1,y = Var2,fill = z)) +
geom_tile() +
scale_fill_gradient(low = "white", high = "red")
E não consigo usar escalas de cervejeiro (embora eu ache que estou perdendo algo simples com base no erro).
ggplot(df,aes(x = Var1,y = Var2,fill = z)) +
geom_tile() +
scale_fill_brewer("Greens")
Erro: Valor contínuo fornecido em escala discretaDevo apenas substituir 0 por NA? Qualquer ajuda seria apreciada.