如何在ggplot中使用spline()?

时间:2010-12-21 22:20:51

标签: r ggplot2 spline

我想使用样条曲线(y~x)来拟合我的数据,但我能找到的所有示例都使用带有平滑的样条曲线,例如: lm(y~ns(x),df = _)。

我想特别使用spline(),因为我使用它来进行我正在制作的情节所代表的分析。

有没有一种简单的方法在ggplot中使用spline()?

我已经考虑了使用

拟合线条的hackish方法
geom_smooth(aes(x=(spline(y~x)$x, y=spline(y~x)$y))

但我宁愿不必诉诸于此。

谢谢!

1 个答案:

答案 0 :(得分:26)

这就是你想要的吗?

n <- 10
d <- data.frame(x = 1:n, y = rnorm(n))
ggplot(d,aes(x,y)) + geom_point() + 
  geom_line(data=data.frame(spline(d, n=n*10)))