首页 > 解决方案 > 如何在 R 中时间序列图的点旁边添加值?

问题描述

我正在尝试将预测时间序列的值添加到 r 中的图中。

我有

par(mfrow = c(1,1))

plot(train,type='l',xlim=c(2017,2019.5),ylim=c(75,200),xlab = 'Year',ylab = 'Sales')

title(main="13 Month Sales Forecast")

lines(e, col='green')

points(train, pch=19)

points(e,col='green' ,pch=19)

其中 e 是由我想要的值组成的时间序列,而 train 是我用来生成模型的数据。

上面的当前代码生成了我想要的图表,除了我想按点显示时间序列预测 e 的值。

我试过text(e)了,把数字放在点上,但数字是 1,2,3,... 等等,而不是时间序列 e 包含的预测值。

标签: r

解决方案


您应该明确添加参数labeltext如下所示:

 # Train data.frame simulation
set.seed(123)
year = seq(2017, 2019.5, length.out = 20)
Sales = seq(75, 200, length.out = 20)
train <- data.frame(year, Sales)

# Source data simulation
year = seq(2017, 2019.5, length.out = 10)
Sales_source = seq(75, 200, length.out = 10) + rnorm(10) * 10
e <- data.frame(year, Sales_source)


# plotting
par(mfrow = c(1,1))

plot(train, type="l", xlim = c(2017, 2019.5), 
     ylim = c(75, 200), xlab = "Year", ylab = "Sales")

title(main = "13 Month Sales Forecast")
lines(e, col = "green")
points(train, pch = 19)
points(e, col = "green", pch = 19)

# Adding labels
text(e, labels = ceiling(Sales_source), pos = 2)

输出: 预报


推荐阅读