使用方程而不是数据点在ggplot中绘制多项式曲线

Plot polynomial curve in ggplot using equation, not data points

有没有办法在 ggplot 中绘制多项式函数而不必绘制包含沿感兴趣曲线的选定点的数据名?假设方程是 x^3 + x^2 + x + 5。我认为这可以用 geom_abline 可以用来在图中添加一条直线的方式来完成,但到目前为止我还没有幸运地找到了一种方法来做到这一点。我检查了 ggplot2 documentation 但没有看到任何我认为有帮助的东西。 geom_abline 似乎没有延伸过直线。

我的最终目标是绘制来自独立数据集的数据并将此多项式曲线用作 "reference standard"。下面的代码有效地绘制了感兴趣的曲线,但这样做是通过沿曲线绘制值,而不是直接使用等式。

x <- 1:100
y <- x^3+x^2+x+5
dat <- as.data.frame(x,y)
ggplot(dat, aes(x,y)) + geom_point()

您正在寻找 stat_function(),我认为:

x <- 1:100
dat <- data.frame(x,y=x^3+x^2+x+5)
f <- function(x) x^3+x^2+x+5
ggplot(dat, aes(x,y)) + 
    geom_point()+
    stat_function(fun=f, colour="red")