Como obter uma escala log10 invertida em ggplot2?
Eu gostaria de fazer um gráfico com uma escala log10 x invertida usando ggplot2:
require(ggplot2)
df <- data.frame(x=1:10, y=runif(10))
p <- ggplot(data=df, aes(x=x, y=y)) + geom_point()
No entanto, parece que eu possoou uma escala log10ou uma escala invertida:
p + scale_x_reverse() + scale_x_log10()
p + scale_x_reverse()
Eu acho que isso é lógico, se uma camada só pode ter uma escala. E certamente eu poderia hackear fazendo a transformação log no dataframe,df$xLog <- log10(df$x)
mas essa solução parece contrária ao espírito do ggplot. Existe uma maneira de obter esse tipo de plotagem sem fazer transformações de dados externas à chamada ggplot?