时间序列轴在R中变化

时间:2018-01-08 07:40:50

标签: r ggplot2 time-series

我有以下数据框:

head(DWPhyto)
# A tibble: 6 x 2
        date  data
      <date> <int>
1 2008-10-13   200
2 2009-03-25   200
3 2009-05-03   200
4 2009-05-13   200
5 2009-07-20   200
6 2009-12-22   200

str(DWPhyto)
Classes ‘tbl_df’, ‘tbl’ and 'data.frame':   1364 obs. of  2 variables:
 $ date: Date, format: "2008-10-13" "2009-03-25" ...
 $ data: int  200 200 200 200 200 200 200 200 200 200 ...

当我在ggplot中绘制它时,我会在2008-2017年间按时间获得一系列时间序列数据,其代码如下:

ggplot(DWPhyto, aes(date, data)) +
  geom_line() 

但是,我想一次将它分成单个年份,但是当我通过设置xlim()时它不会改变时间序列,但是它会删除x轴上的值,你如何将它拆分为年? 此外,一旦我将其分成一年的时间范围,我想为一年中的每个月添加标签,但我的数据集在每个月的时间段内没有定期的采样日期或采样频率。

这可能吗?

1 个答案:

答案 0 :(得分:0)

此处使用pretty_breaks()来处理限制和标签的示例:

begining<-as.Date("1995-01-01")
end<- as.Date("1996-01-01")

recordspan  <-c(c(begining, end)) 

ggplot(DWPhyto) +
    geom_line(aes(x=date, y=data), size=0.1) +
    scale_y_continuous(name= "Text of variable y [units]")+
    scale_x_date(breaks=pretty_breaks(),limits=recordspan)+
    theme_bw()