使用 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
代码中 finl
的 date
列
我已经解决了所有类似的问题,但我仍然很难找到解决问题的方法。
我有这个代码:
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
代码中 finl
的 date
列