Wie erhält man eine umgekehrte log10-Skala in ggplot2?

Ich möchte mit ggplot2 einen Plot mit umgekehrtem log10 x Maßstab erstellen:

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

Es scheint jedoch, dass ich kannentweder eine log10-Skalaoder eine umgekehrte Skala:

p + scale_x_reverse() + scale_x_log10() 

p + scale_x_reverse()

Ich denke, das ist logisch, wenn eine Ebene nur eine Skala haben kann. Und natürlich könnte ich es hacken, indem ich die Protokolltransformation auf dem Datenframe selbst vornehme.df$xLog <- log10(df$x) aber diese lösung scheint dem geist von ggplot zu widersprechen. Gibt es eine Möglichkeit, diese Art von Plot abzurufen, ohne Datenumwandlungen außerhalb des ggplot-Aufrufs durchzuführen?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage