distribuição de cor assimétrica em scale_gradient2?

Alterar os limites superiores parascale_fill_gradient2 também afeta a escala de cores para valores <0 como a distribuição de cor em torno de 0 parece ser sempre simétrica, existe uma maneira de obter uma distribuição assimétrica de valores de cor?

Aqui um exemplo mínimo de um enredo usandogeom_tile():

data <- read.csv("http://protzkeule.de/data.csv")
p <- ggplot(data = data, aes(x = variable, y = meas)) + geom_tile(aes(fill = value))

enredo com limites simétricos:

p + scale_fill_gradient2(low = "blue", mid = "white", high = "red", guide = "colorbar",
                         limits = c(-0.1, 0.1))

mas ao alterar o limite superior, o mapeamento de cores inferior também é alterado (observe a barra de cores):

p + scale_fill_gradient2(low = "blue", mid = "white", high = "red", guide = "colorbar",
                         limits = c(-0.1, 0.3))

questionAnswers(1)

yourAnswerToTheQuestion