我已经完成了所有类似的问题,但我仍然很难找到解决问题的方法。
我有这段代码:
$today=date("Y-m-d", strtotime('-1 day')); // We remove oneday from today
$begin = $today;
$end = '2017-01-01';
function getDatesFromRange($a,$b,$x=0,$dates=[]){
while(end($dates)!=$b && $x=array_push($dates,date("Y-m-d",strtotime("$a +$x day"))));
return $dates;
}
$arrayDates = getDatesFromRange($end,$begin);
$reverseDates = array_reverse($arrayDates); // then we reverse array
var_dump($reverseDates);
这是图表 - Plot
我还有变量日期:
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")
我的问题是如何将这些日期作为x轴放在我的图表上?
我已尝试使用 scale_x_date ,但不知怎的,我无法解决此问题并获得适当的图表。我得到一些奇怪的结果。
提前谢谢你。
答案 0 :(得分:2)
首先将日期插入dataframe
:
finl<-cbind(finl,date)
然后将indx
替换为date
代码中finl
的{{1}}列