Barplot: x AX ändern und Zeile hinzufügen
Frage
Ich habe einen Zoo mit täglichen Daten, die so aussehen:> head(almorol)
1973-10-02 1973-10-03 1973-10-04 1973-10-05 1973-10-06 1973-10-07
183.9 208.2 153.7 84.8 52.5 35.5
Ich möchte jährliche Gesamtsummen und einen gleitenden Durchschnitt zeichnen, also habe ich es getan:
y<-apply.yearly(almorol, FUN=sum)
plot(y, main="Annual totals - Tagus (Almorol)",ylab="Q (m3/s)")
lines(rollapply(y, 10, mean, na.rm=TRUE), col="red", lwd=2)
Was gut funktioniert, aber da die Daten nicht kontinuierlich sind, ist ein Zeilendiagramm nicht korrekt. Wenn ich es mit Punkten mache, ist es schwer zu folgen, also wollte ich einen Barplot machen. Allerdings, wenn ich es tue barplot(y)
Die X Axe erscheint im Format YY-MM-DD anstelle von nur Jahren und ich kann keine Linie mit dem gleitenden Durchschnitt hinzufügen (es gibt keinen Fehler, der einfach nicht angezeigt wird).
Danke fürs Helfen!
bearbeiten: > y
1973-12-31 1974-12-31 1975-12-31 1976-12-31
19224.20 103766.30 72180.90 55939.80
1977-12-31 1978-12-31 1979-12-31 1980-12-31
215905.00 231014.21 319481.02 58979.84
1981-12-31 1982-12-31 1983-12-31 1984-12-31
32931.17 67989.06 83920.62 99431.75
1985-12-31 1986-12-31 1987-12-31 1988-12-31
161357.10 82910.87 101154.81 147541.80
1989-12-31 1990-12-31 1991-12-31 1992-12-31
137684.21 134974.39 89039.02 20774.72
1993-12-31 1994-12-31 1995-12-31 1996-12-31
58916.95 55187.38 52361.77 271064.34
1997-12-31 1998-12-31 1999-12-31 2000-12-31
220510.88 125116.62 42170.95 103915.99
2001-12-31 2002-12-31 2003-12-31 2004-12-31
244513.59 66811.15 167458.93 67223.66
2005-12-31 2006-12-31 2007-12-31 2008-12-31
8906.31 116874.33 79105.30 40142.61
2009-12-31 2010-12-31 2011-05-31
43835.34 161491.77 73093.06
Lösung
Die X -Koordinaten in einer Barplot beziehen sich nicht mit der ursprünglichen Skala der Daten. Sie können sich den Rückgabewert der Barplot -Funktion ansehen, um zu sehen, was der Bereich der X -Achse ist (der wahrscheinliche Grund, dass sie die Linie nicht sehen, ist, dass sie vollständig vom Bildschirm aufgezeichnet wird).
Mit der aktualisierten Funktion im LehrerDemos -Paket kann die Koordinatenskala so geändert werden, dass sie den Daten entspricht, die Sie hinzufügen möchten.
Eine andere Alternative besteht darin, die Handlungsfunktion mit zu verwenden type='h'
(und schauen Sie sich an lwd
und lend
Optionen in ?par
) Um Ihr eigenes barplot -ähnliches Diagramm mit den interessierenden Koordinaten zu erstellen, fügen Sie dann Ihre Referenzlinie hinzu.