在ggplot中删除数据之间的线,分组和平滑

问题描述

这里是问题: 我必须绘制时间序列(非连续数据的9年)。在我使用的数据框中,有一个 NA。的行,它分隔每年年。我的目的是用平滑线绘制该系列。 当我绘制时间序列时,使用平滑代码

df$Date <- as.Date(df$Date,"%Y/%m/%d")
ggplot(df,aes(x = Date,y = antSO4 )) +
geom_line(color="gray40")+
scale_y_continuous(expand = c(0,0),limits = c(0,3000)) +
scale_x_date(breaks="year",labels=date_format("%Y")) +
geom_smooth(aes(x= Date,y=antSO4),method = lm,formula = y ~ splines::bs(x,3),se = FALSE,colour = 'red') 

我得到这个:

enter image description here

如您所见,有一些线连接了两个不同的年度系列,但不是全部。为了消除这个问题,我将数据集按年份进行分组,

ggplot(df,group = year(Date),y = antSO4))

这是我获得的情节。

enter image description here

分组数据消除了连接,但同时正确地,平滑度是每年计算的,而不是在完整数据集中。 我在使用R方面还很陌生,因此我在之前的文章中进行了搜索,但是我发现许多问题与N.A.分隔行的存在有关,通常,每个系列之间都有这种联系。 预先感谢您的任何帮助!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)