2016-07-11 15 views
1

Ich möchte Plots iterativ mit ggplot generieren.Build ggplot Verbund iterativ

Stellen Sie sich vor, dass ich zu generieren und ein Datenrahmen zeichnen ...

library(ggplot2) 
library(reshape2) 

x <- seq(0, 4 * pi, 0.1) 
n <- length(x) 
y1 <- 0.5 * runif(n) + sin(x) 
df1 <- data.frame(x,y1) 
df1m <- melt(df1, id="x") 
p1 <- ggplot(data=df1m, aes(x=x,y=value)) + geom_point(color="blue") 
p1 

... und dann einige Zeit später erzeugen und einen zweiten Datenrahmen zeichnen ...

y2 <- 0.5 * runif(n) + cos(x) - sin(x) 
df2 <- data.frame(x,y2) 
df2m <- melt(df2, id="x") 
p2 <- ggplot(data=df2m, aes(x=x,y=value)) + geom_point(color="red") 
p2 

... aber wie man die zwei überlappt? Im Folgenden wird und Fehler:

p1 + p2 

Es gibt viele Beispiele dafür, wie dies zu tun, wenn DF1 und DF2 zur gleichen Zeit verfügbar ist, und ich bin sicher, dass ich den einzelnen Datenrahmen speichern konnte, sondern im Idealfall würde ich gerne in der Lage sein, ein Diagramm zu erstellen, wenn Daten verfügbar werden.

Antwort

3

Sie können

library(ggplot2) 

p1 <- ggplot() + geom_point(data=df1m, (aes(x=x,y=value)), color="blue") 

p1 + geom_point(data=df2m, aes(x=x,y=value), color="red") 

enter image description here

+0

Eine direkte und hilfreiche Antwort eine zweite Schicht auf dem gleichen Grundstück hinzuzufügen. Vielen Dank! –