使用 ggplot2 在 x 轴上设置日期

Setting dates on x-axis with ggplot2

我已经解决了所有类似的问题,但我仍然很难找到解决问题的方法。

我有这个代码:

finl <- as.data.frame(cbind(plus,centre,minus,indx))
head(finl)

> head(finl)
     plus    centre     minus indx
1 0.5202951 0.3699147 0.2195342    1
2 0.5328857 0.3890009 0.2451162    2
3 0.5421306 0.3979195 0.2537085    3
4 0.6421294 0.5154826 0.3888357    4
5 0.7312431 0.6132432 0.4952434    5
6 0.7325199 0.6089201 0.4853203    6


ggplot(finl) +
geom_line(aes(indx,centre), group = 1) +
geom_ribbon(aes(x = indx, ymax = plus , ymin = minus), alpha = 0.6, fill = "skyblue") +
ggtitle("Movement over time")+
theme(plot.title = element_text(size=20, face = "bold")) +
theme(plot.title = element_text(hjust = 0.5)) +
theme(axis.text.x=element_blank(),
    axis.ticks.x=element_blank(), 
    axis.title = element_text(size=14))+
labs(x="Period", y="Y-value")

这是图表 - Plot

我还有变量 date:

date <- ldate[-c(length(ldate))]
date <- as.Date(date)
head(date)

> head(date)
[1] "2008-11-28" "2008-12-31" "2009-01-30" "2009-02-27" "2009-03-31" "2009-04-30"

我的问题是如何将这些日期作为我图表上的 x 轴?

我试过 scale_x_date,但不知何故我无法解决这个问题并获得适当的图表。我得到一些奇怪的结果。

提前谢谢你。

首先将日期插入 dataframe:

finl<-cbind(finl,date)

然后将 indx 替换为 ggplot 代码中 finldate