通过 ggplot + coord_trans 进行 log2 反变换

Inverse of log2 transform through ggplot + coord_trans

我只想对我的坐标进行 log2 反变换。

据我了解,exp_trans() 和 log_trans() 一起使用,所以

gg.plot +
  coord_trans(x="exp")

将对坐标执行对数倒数。

但是,我注意到 log2_trans() 没有像 2_trans() 这样的东西。

我有哪些选择?

一种选择是将 scales::exp_trans(base = ...) 用作函数而不是名称。下面针对 y 轴进行了演示。 coord_trans() 的默认中断计算不是那么好。请注意,有关于无限值的警告,但这些可能是扩展轴限制,低于对数变换的 [0, Inf] 域。

library(ggplot2)

ggplot(pressure, aes(temperature, pressure)) +
  geom_line() +
  scale_y_log10() +
  coord_trans(y = scales::exp_trans(10))
#> Warning in trans$inverse(continuous_range_coord): NaNs produced
#> Warning in self$trans$y$inverse(panel_params$y.range): NaNs produced

reprex package (v0.3.0)

于 2021 年 1 月 11 日创建