将变更点线添加到prophet(R)中的绘图

将变更点线添加到prophet(R)中的绘图,r,facebook-prophet,R,Facebook Prophet,我在R()中使用了prophet,我想在prophet制作的预测图的顶部覆盖变化点。这是我的代码(df是一个数据框,包含日期(列ds)和值(列y): m如果检查绘图对象的类别: class(plot(m,forecast,xlab="Day", ylab="Counts")) …您将看到它是一个ggplot图形。此外,如果您访问m$changepoints而不是m$changepoints.t,您将发现您的模型的变更点已经是POSIXct格式 要将所有变更点绘制为垂直线,可以使用geom\u

我在R()中使用了
prophet
,我想在prophet制作的预测图的顶部覆盖变化点。这是我的代码(
df
是一个数据框,包含日期(列
ds
)和值(列
y
):


m如果检查绘图对象的类别:

class(plot(m,forecast,xlab="Day", ylab="Counts"))
…您将看到它是一个ggplot图形。此外,如果您访问
m$changepoints
而不是
m$changepoints.t
,您将发现您的模型的变更点已经是POSIXct格式

要将所有变更点绘制为垂直线,可以使用
geom\u vline
如下所示:

p <- plot(m,forecast,xlab="Day", ylab="Counts")
for (changepoint in m$changepoints) {
  p <- p + geom_vline(xintercept = changepoint)
}
print(p)

pprophet
软件包有一个专门用于此的功能,
将变更点添加到绘图中

在您的情况下,这将起到以下作用:

plot(m, forecast, xlab="Day", ylab="Counts") +
add_changepoints_to_plot(m)
有关自定义信息,请参见
?将更改点添加到绘图中

plot(m, forecast, xlab="Day", ylab="Counts") +
add_changepoints_to_plot(m)