我想绘制一个图表,以便我可以比较一段时间内的温度趋势,特别是看几年之间的差异。
这是一个很长的数据集,所以我会粘贴一个样本:
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轴位置,但一个位于另一个位置。
答案 0 :(得分:0)
您需要在绘制之前将DATE
列中的所有日期设置为相同年份:
year(DailyTemp$DATE) <- 2012
(你将它们全部设置到哪一年并不重要,因为x轴只显示1月到12月)。