Utilizzando i tuoi dati:
test_data <- data.frame(
var0 = 100 + c(0, cumsum(runif(49, -20, 20))),
var1 = 150 + c(0, cumsum(runif(49, -10, 10))),
Dates = seq.Date(as.Date("2002-01-01"), by="1 month", length.out=100))
Creo una versione in pila che è ciò con cui mi ggplot()
piacerebbe lavorare:
stacked <- with(test_data,
data.frame(value = c(var0, var1),
variable = factor(rep(c("Var0","Var1"),
each = NROW(test_data))),
Dates = rep(Dates, 2)))
In questo caso la produzione stacked
era abbastanza facile come abbiamo solo dovuto fare un paio di manipolazioni, ma reshape()
e l' reshape
e reshape2
potrebbe essere utile se si dispone di un vero e proprio set di dati più complessi da manipolare.
Una volta che i dati sono in questo modulo sovrapposto, è sufficiente una semplice ggplot()
chiamata per produrre la trama desiderata con tutti gli extra (un motivo per cui pacchetti di livello superiore che piacciono lattice
e ggplot2
sono così utili):
require(ggplot2)
p <- ggplot(stacked, aes(Dates, value, colour = variable))
p + geom_line()
Lascerò a te per riordinare le etichette degli assi, il titolo della legenda ecc.
HTH
colour=
come nome della variabile.