如何将 ts 对象中的 x 轴从 as.numeric 更改为 %Y-%m-%d 格式

How to change the x axis in a ts object to %Y-%m-%d format from as.numeric

我正在尝试实现基于时间序列对象的预测。但是,当我从代码中获取图表时,x 轴是日期的 as.numeric 版本:

这是所用数据子集的快照:

使用的代码:

ts<-ts(temp$total_cases, frequency = 1, start = min(as.Date(temp$date,"%Y-%m-%d")), end = max(as.Date(temp$date,"%Y-%m-%d")))

# time series labeled object for country's dates and
assign(paste0('ts_',country),ts)

fit <- ets(ts_Afghanistan)

plot(forecast(fit))

当我输入以下内容时,x 轴上输出类型的日期转换很清楚:

> as.Date(18300)
[1] "2020-02-08"

只是不确定如何将其反映在 x 轴标签中。我尝试玩 zoo 和其他功能但没有成功。非常感谢对此的帮助。

一种方法是覆盖 x 轴。在大多数基础 plot 方法中,xaxt="n" 会抑制默认轴。之后,你 axis 定义一个情节。 (axTicks 提供了一组很好的默认刻度位置。)

vec <- 18300 + 0:10
plot(vec, vec, xaxt = "n")
axTicks(1)
# [1] 18300 18302 18304 18306 18308 18310
axis(1, at = axTicks(1), labels = as.character(as.Date(axTicks(1))))