x轴与时间序列,比较年份

时间:2015-06-03 15:07:42

标签: r

我想绘制一个图表,以便我可以比较一段时间内的温度趋势,特别是看几年之间的差异。

这是一个很长的数据集,所以我会粘贴一个样本:

       DATE     N      TEMP    min  max YEAR
1   2012-09-01 24   16.116667 15.9 16.4 2012
2   2012-09-02 24   16.433333 16.3 16.8 2012
3   2012-09-03 24   16.300000 16.2 16.5 2012
4   2012-09-04 24   16.508333 16.3 16.8 2012
5   2012-09-05 24   16.275000 16.1 16.5 2012
6   2012-09-06 24   16.166667 15.9 16.7 2012
7   2012-09-07 24   16.825000 16.8 16.9 2012
8   2012-09-08 24   16.729167 16.6 16.8 2012
9   2012-09-09 24   16.566667 16.4 16.8 2012
10  2012-09-10 24   16.925000 16.7 17.0 2012
11  2012-09-11 24   16.579167 16.3 16.8 2012
12  2012-09-12 24   16.258333 16.2 16.5 2012

数据集一直持续到2015年。

其str(df):

       'data.frame':    955 obs. of  6 variables:
 $ DATE       : Date, format: "2012-09-01" "2012-09-02" "2012-09-03" ...
 $ N          : num  24 24 24 24 24 24 24 24 24 24 ...
 $ TEMPERATURE: num  16.1 16.4 16.3 16.5 16.3 ...
 $ min        : num  15.9 16.3 16.2 16.3 16.1 15.9 16.8 16.6 16.4 16.7 ...
 $ max        : num  16.4 16.8 16.5 16.8 16.5 16.7 16.9 16.8 16.8 17 ...
 $ YEAR       : Factor w/ 4 levels "2012","2013",..: 1 1 1 1 1 1 1 1 1 1 ...

情节:

ggplot(DailyTemp, aes(DATE, TEMPERATURE, group=YEAR, colour=YEAR)) + geom_line( ) + facet_grid(YEAR~.)

我希望x轴只有1月到12月的几个月,而不是所有年份的时间序列。因此,2012年,2013年,2014年的临时位置处于相同的x轴位置,但一个位于另一个位置。

1 个答案:

答案 0 :(得分:0)

您需要在绘制之前将DATE列中的所有日期设置为相同年份:

year(DailyTemp$DATE) <- 2012

(你将它们全部设置到哪一年并不重要,因为x轴只显示1月到12月)。