ich diese ArbeitsschleifeSchleife mit grid.arrange statt mfrow
mit der Grund Plotfunktion haben#my_data is a data.frame defined before
day = c("2016-12-24","2016-12-25", "2016-12-31")
par(mfrow = c(length(day),1))
for (i in 8:length(my_data)){
for (j in 1:length(day)){
plot(x=my_data$Zeit[which(my_data$Datum == day[j])], y=my_data[which(my_data$Datum == day[j]),i], type="l",
main=colnames(my_data[i]), xlab=day[j], ylab=my_units[1,i])
}
}
Doch statt der Grund Plotfunktion, möchte ich ggplot verwenden. Mit der Suchfunktion auf dieser Platine habe ich den Befehl "grid.arrange" gefunden, der aber irgendwie nicht funktioniert.
Edit: Dies ist mein neuer Code mit "do.call". Danke schon für diesen Hinweis.
Edit2: Jetzt funktioniert es. Ich verstehe nicht warum, aber mit den Zeilen "#Added" druckt es nicht die gleiche Handlung dreimal.
for (i in 8:length(my_data)){
for (j in 1:length(day)){
local({ #Added
i <- i #Added
t <- which(my_data$Datum == day[j])
p[[j]] <<- ggplot(my_data[t,], aes(my_data$Zeit[t], my_data[t,i]))+ #Changed to <<-
geom_line()+
labs(x = "", y = my_units[[i]], title = colnames(my_units[i]))+
theme_own()
}) #Added
}
Edit: Was will ich die Daten für mehrere Tage ist Handlung tun (in diesem Beispiel drei) in dem gleichen „Bild“. Ich möchte das für alle Spalten wiederholen (8: length (my_data)).
Mit diesem neuen Code und "do.call" bekomme ich drei Plots wie ich will, aber diese Plots sind alle für den gleichen (den letzten) Tag. Warum werden die ersten beiden Daten überschrieben?
Edit2: Ich fand den Hinweis hier: for loop with ggplots produces graphs with identical values but different headings
Vielen Dank für Ihre Hilfe :)
Sie müssen do.call nicht mehr verwenden, können Sie 'grid.arrange (grobs = plist)' – user20650
* nicht brauchen * * ^^ – user20650