Я хотел бы сделать график с измененной шкалой log10 x, используя ggplot2:
require(ggplot2)
df <- data.frame(x=1:10, y=runif(10))
p <- ggplot(data=df, aes(x=x, y=y)) + geom_point()
Однако кажется, что я могу либо шкалу log10, либо обратную шкалу:
p + scale_x_reverse() + scale_x_log10()
p + scale_x_reverse()
Я думаю, это логично, если на слое может быть только один масштаб. И, конечно же, я мог взломать его, выполнив лог-преобразование на ядре данных, df$xLog <- log10(df$x)
но это решение кажется противоречащим духу ggplot. Есть ли способ получить такой сюжет, не делая преобразования данных, внешние по отношению к вызову ggplot?