R语言 使用方程而非数据点在ggplot中绘制多项式曲线[重复]

fiei3ece  于 2023-01-28  发布在  其他
关注(0)|答案(1)|浏览(120)
    • 此问题在此处已有答案**:

Plot a function with ggplot, equivalent of curve()(2个答案)
七年前就关门了。
有没有一种方法可以在ggplot中绘制一个多项式函数,而不必沿着感兴趣的曲线绘制一个包含选定点的数据名?假设方程是x^3 + x^2 + x +5。我认为这可以用geom_abline在图中添加一条直线的方法来完成,但到目前为止我还没有找到这样做的方法。我检查了ggplot2 documentation,但没有看到任何我认为有用的内容。geom_abline似乎没有延伸过直线。
我的最终目标是绘制来自独立数据集的数据,并将此多项式曲线用作"参考标准"。下面的代码有效地绘制了感兴趣的曲线,但它是通过沿曲线绘制值来完成的,而不是直接使用方程。

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

csbfibhn1#

我想你要找的是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")

如果你有一个非常不稳定的函数,你应该把n(计算点数)从默认值101增加到更大的值(比如n = 1000;任何比这个大得多的东西可能都会比你在屏幕上看到的分辨率更高)。

相关问题