Я хочу построить график, чтобы я мог сравнить тренд температуры с течением времени, особенно глядя на то, насколько разные между годами.x ось с временными рядами, сравнивая годы
Это длинный набор данных, поэтому я буду вставлять образец этого:
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 года
Его ул (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~.)
Я бы хотел ike иметь ось x с месяцами с января по декабрь, а не с периодами времени с годами. Таким образом, темп на 2012, 2013, 2014 годы находится в одном и том же положении оси x, но один над другим.
Возможно, существует более сложный способ, но вы можете просто разбить df на отдельные файлы по году, а затем построить линии отдельно после того, как вызывается первый сюжет? –
@ cmurp002 Это может победить цель использования ggplot2 и группировки с помощью YEAR, и это не решит проблему, поскольку до тех пор, пока ось x будет 'DATE' (а дата охватывает несколько лет), она будет построена в отдельности. –
Существует аналогичный вопрос: http://stackoverflow.com/questions/8951422/r-ggplot-and-facet-grid-how-to-control-x-axis-breaks Но кодирование дало мне следующее Ошибка: – ebenito