Барплот: изменение оси X и добавление линии - PullRequest
3 голосов
/ 14 июня 2011

У меня есть зоопарк с ежедневными данными, который выглядит следующим образом: > head(almorol)<br> 1973-10-02 1973-10-03 1973-10-04 1973-10-05 1973-10-06 1973-10-07<br> 183.9 208.2 153.7 84.8 52.5 35.5

Я хочу построить годовые итоги и скользящее среднее, поэтому я сделал:

y<-apply.yearly(almorol, FUN=sum)<br> plot(y, main="Annual totals - Tagus (Almorol)",ylab="Q (m3/s)")<br> lines(rollapply(y, 10, mean, na.rm=TRUE), col="red", lwd=2)

Что отлично работает, но из-за того, что данные не являются непрерывными, линейный график не верен.Если я делаю это с точками, трудно следовать, поэтому я хотел сделать барплот.Однако, когда я делаю barplot(y), топор x появляется в формате yy-mm-dd, а не просто по годам, и я не могу добавить строку со скользящей средней (она не выдает ошибку, она просто не появляется),

Спасибо за помощь!

edit: > y<br> 1973-12-31 1974-12-31 1975-12-31 1976-12-31<br> 19224.20 103766.30 72180.90 55939.80<br> 1977-12-31 1978-12-31 1979-12-31 1980-12-31<br> 215905.00 231014.21 319481.02 58979.84<br> 1981-12-31 1982-12-31 1983-12-31 1984-12-31<br> 32931.17 67989.06 83920.62 99431.75<br> 1985-12-31 1986-12-31 1987-12-31 1988-12-31<br> 161357.10 82910.87 101154.81 147541.80<br> 1989-12-31 1990-12-31 1991-12-31 1992-12-31<br> 137684.21 134974.39 89039.02 20774.72<br> 1993-12-31 1994-12-31 1995-12-31 1996-12-31<br> 58916.95 55187.38 52361.77 271064.34<br> 1997-12-31 1998-12-31 1999-12-31 2000-12-31<br> 220510.88 125116.62 42170.95 103915.99<br> 2001-12-31 2002-12-31 2003-12-31 2004-12-31<br> 244513.59 66811.15 167458.93 67223.66<br> 2005-12-31 2006-12-31 2007-12-31 2008-12-31<br> 8906.31 116874.33 79105.30 40142.61<br> 2009-12-31 2010-12-31 2011-05-31<br> 43835.34 161491.77 73093.06

1 Ответ

4 голосов
/ 14 июня 2011

Координаты x на графике не связаны с исходным масштабом данных.Вы можете посмотреть на возвращаемое значение функции barplot, чтобы увидеть, каков диапазон оси x (вероятная причина того, что линия не видна, это то, что она нанесена полностью за пределы экрана).

Функция updateusrПакет TeachingDemos можно использовать для изменения масштаба координат в соответствии с данными, которые вы хотите добавить.

Другая альтернатива - использовать функцию plot с type='h' (и посмотреть на опции lwd и lendв ?par), чтобы создать свой собственный график, подобный графику с использованием координат, представляющих интерес, а затем добавить опорную линию.

...