2015-06-03 8 views
1

Я хочу построить график, чтобы я мог сравнить тренд температуры с течением времени, особенно глядя на то, насколько разные между годами.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, но один над другим.

+0

Возможно, существует более сложный способ, но вы можете просто разбить df на отдельные файлы по году, а затем построить линии отдельно после того, как вызывается первый сюжет? –

+0

@ cmurp002 Это может победить цель использования ggplot2 и группировки с помощью YEAR, и это не решит проблему, поскольку до тех пор, пока ось x будет 'DATE' (а дата охватывает несколько лет), она будет построена в отдельности. –

+0

Существует аналогичный вопрос: http://stackoverflow.com/questions/8951422/r-ggplot-and-facet-grid-how-to-control-x-axis-breaks Но кодирование дало мне следующее Ошибка: – ebenito

ответ

0

Вам просто нужно установить год, чтобы быть одинаковыми для всех дат в DATE колонки перед построением графика:

year(DailyTemp$DATE) <- 2012 

(Это не имеет значения, в каком году вы установили их все, так как х- ось будет показывать только Ян до декабря).

+0

Thak работал очень хорошо !! Хотя я всегда думал, что будет более профессиональный способ, а не преобразование дат в неправильные ... Спасибо! – ebenito

Смежные вопросы