Jak uzyskać odwróconą skalę log10 w ggplot2?

Chciałbym zrobić wykres z odwróconą skalą log10 x za pomocą ggplot2:

require(ggplot2)
df <- data.frame(x=1:10, y=runif(10))
p <- ggplot(data=df, aes(x=x, y=y)) + geom_point() 

Wydaje się jednak, że mogęzarówno skala log10lub odwrócona skala:

p + scale_x_reverse() + scale_x_log10() 

p + scale_x_reverse()

Myślę, że jest to logiczne, jeśli warstwa może mieć tylko jedną skalę. I na pewno mogłem go zhakować, wykonując transformację dziennika w ramce danych,df$xLog <- log10(df$x) ale to rozwiązanie wydaje się sprzeczne z duchem ggplot. Czy istnieje sposób na uzyskanie tego rodzaju wykresu bez przeprowadzania transformacji danych na zewnątrz wywołania ggplot?

questionAnswers(1)

yourAnswerToTheQuestion