ggplot2: Limites para scale_alpha ()

É possível especificar limites para escalas de cores?

Veja este exemplo:

xy <- expand.grid(x=1:20,y=1:20)
xyd <- data.frame(xy,z=runif(400),a=rowSums(xy)/40)
g <- ggplot(xyd, aes(x=x, y=y, fill=z, alpha=a)) + 
       geom_tile() + 
       scale_alpha(range=c(0,1), limits=c(0.5,1))
g

O que eu quero é que os valores abaixo de 0,5 obtenham um valor alfa de 0 para que a metade inferior esquerda seja invisível. Obviamente, eu poderia transformar os dados originais, mas isso destruiria a lenda.

questionAnswers(2)

yourAnswerToTheQuestion