趋势线根据 ggplot2 中的轴比例变化

Trend line changes depending on axis scale in ggplot2

我正在使用 ggplot2 和 ggmics 生成趋势线。

library(ggplot2)
library(ggpmisc)
library(scales)

x <- c(5,2,6,8,9,1,3,6,8,2)
y <- c(4,7,2,5,7,9,5,2,1,3)
df <- data.frame(x,y)

g <- ggplot(df,aes(x,y))
g <- g + geom_point(colour = "black")
g <- g + stat_smooth(method = lm, formula = y ~ x, se = FALSE)
g <- g + stat_poly_eq(formula = y ~ x,
                      aes(label = paste(stat(eq.label),stat(rr.label),stat(adj.rr.label),stat(p.value.label),sep = "~~~")),
                      label.x = "right",label.y = "bottom",parse = TRUE)

gg <- g + coord_trans(y = "identity")
gg <- g + coord_trans(y = "log")
gg <- g + scale_y_log10(breaks=10^(0:3),
                          labels=trans_format("log10",math_format(10^.x)))

当我使用指数表示法时,eq.label 的值发生变化。我认为 eq.label 不应该改变,因为我只是在改变轴比例。你能告诉我为什么吗?

我认为要了解的主要内容是下面 link 中提供的信息:

  • 变换尺度和变换尺度的区别 坐标系是比例变换发生在之前 统计,然后进行坐标变换。协调 transformation 也会改变 geoms 的形状:
  1. 如果变换(比例)在统计之前,如果关系与对数成线性关系,则对变换后的 data.This 执行减少平方和的误差就可以了变量的。

  2. 如果您转换坐标,这会发生变化,因为此处统计是在转换后执行的。例如对未转换的数据执行减少平方和的误差。

看这里:https://ggplot2.tidyverse.org/reference/coord_trans.html