首页 > 解决方案 > 平滑线没有线浸ggplot

问题描述

我有一个关于通过我拥有的一些数据点绘制一条线的问题。

数据显示,我的 expt 的效率稳定在 0.8-0.9 左右。但是,当我绘制 geom_smooth() 时,它看起来好像再次下降。当我使用 geom_line() 绘图时,从 1 点到下一个点的过渡并不像我希望的那样平滑。

我使用的值是:

 x <-  c(0.20, 0.44, 0.72, 0.86, 0.88, 0.89)
 time <-  c(0, 5, 15, 40, 80, 120)
 dfs2 <- data.frame(x, time)

我用这些数据框制作了一个名为 dfs2 的向量。我使用了 geom_line() 或 geom_smooth() (两者都显示在下面的代码中,但只使用了一个)

plot <- ggplot(dfs2, aes(x = `time`, y = `x`)) + 
  geom_point() +
  geom_line() +
  geom_smooth(span = 2, se = F) +
  xlim(0, 120) + ylim(0, 1)

我如何让这些数据显示为一条平稳的线,就好像你会用 geom_line() 绘制但没有从一个点到下一个点的尖角

提前致谢!

标签: rggplot2pointssmoothing

解决方案


你检查过这个问题吗?也许spline()是您正在寻找的。

spline_int = as.data.frame(spline(dfs2$time, dfs2$x))

ggplot(dfs2, aes(x = `time`, y = `x`)) + 
  geom_point() + 
  geom_line(data=spline_int, aes(x = x, y = y))

推荐阅读