我正在尝试绘制一个包含 geom_point() 函数和 geom_smooth() 函数的图形。

我想在某个 x 值处裁剪 geom_smooth() 函数,但仅在其所有值都已用于计算平滑曲线之后(即我不想使用 xlim() ,这将删除用于绘图的值) .

可重现的例子:

library(dplyr)
library(ggplot2)
set.seed(42)
test <- data.frame(replicate(2,sample(0:10,100,rep=TRUE)))
g <- ggplot() + geom_point(data = test, aes(x = X1, y = X2))

t_i <- test
t_i$group <- as.factor(as.numeric(cut(t_i$X1, 25)))
summar_t <- t_i %>%
   group_by(group) %>%
   summarise(y_mean=mean(X2),
             y_sd=sd(X2),
             c_mean =mean(X1,na.rm=T),
             n =n()
             )
summar_t$t_2sd <- summar_t$y_mean + summar_t$y_sd*2

g2 <- g + geom_smooth(data = summar_t, aes(x=c_mean, y = t_2sd), se=FALSE, method = lm, formula=y~poly(x,2), color = "black", linetype=3)

r - 如何仅显示 geom_smooth 预测的一部分?-LMLPHP
r - 如何仅显示 geom_smooth 预测的一部分?-LMLPHP

最佳答案

您可以使用参数 xseq – 传递给 StatSmooth$compute_group – 如下:

library(ggplot2)
ggplot(mtcars, aes(hp, mpg)) +
  geom_point() +
  geom_smooth(se = FALSE) +
  geom_smooth(se = FALSE, xseq = 100:200, col = "red")

结果

r - 如何仅显示 geom_smooth 预测的一部分?-LMLPHP

关于r - 如何仅显示 geom_smooth 预测的一部分?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59431620/

10-12 14:02