我正在尝试绘制一个包含 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)
最佳答案
您可以使用参数 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 预测的一部分?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59431620/