2016-03-25 15 views
-1

Ich möchte, in der gleichen Grafik, zwei verschiedene Sätze von Punkten: A = [1 2; 3 4] und B = [1 3; 2 4]. Ich muss die Handlung speichern, so ist meine Idee, myPlot <- qplot gefolgt von ggsave zu verwenden.Plot mehrere Datensätze mit ggplot

Mit so einem Ansatz, wie kann ich mehrere Datensätze plotten, ohne den Fehler formal argument "data" matched by multiple actual arguments zu bekommen? Hier

ist der Code, den ich jetzt bin mit:

yPlot <- qplot(A[,1], A[,2], data = A[1:2], geom="point", 
       B[,1], B[,2], data = B[1:2], geom="point") + xlim(0, 10) 
ggsave(filename="Plot.jpg", plot=myPlot, width = 12, height = 8) 

Antwort

0

Hier ist eine Vorlage für das Plotten zwei Datenrahmen in der gleichen Figur:

A = data.frame(x = rnorm(10),y=rnorm(10)) 
B = data.frame(x = rnorm(10),y=rnorm(10)) 
ggplot(A,aes(x,y)) +geom_point() +geom_point(data=B,colour='red') + xlim(0, 10) 

oder äquivalent:

qplot(x,y,data=A) +geom_point(data=B,colour='red') + xlim(0, 10) 

Wenn Sie nebeneinander Zahlen darstellen möchten, siehe ?par und suchen Sie nach den Beschreibungen von "Mfcol" und "Mfro" w '

Zusätzlich zu Ggsave, siehe ?pdf.

+0

Danke dafür! Was ist, wenn A und B unterschiedliche Größe haben? –

+1

Meinst du unterschiedliche Anzahl von Zeilen in den Datenrahmen? Wenn ja, sollten beide Lösungen noch funktionieren. – Jthorpe

+0

Verwenden Sie Matrizen oder Datenrahmen? Wenn dies der Fall ist, möchten Sie sie wahrscheinlich mithilfe von as.data.frame zu Datenrahmen zwingen. Außerdem bildet ggplot die Attribute auf die Variablennamen ab (ggplot behandelt die Position als ästhetisch), weshalb ich die Namen x und y nicht zu "geom_point()" angeben musste. Daher sollten Sie data.frames mit denselben Namen verwenden. Wenn Sie die übliche Schreibweise verwenden (2 Zeilen X 10 Spalten), dann möchten Sie etwas wie: 'a = as.data.frame (t (A)); Namen (a) <- c ('x', 'y') ' – Jthorpe

Verwandte Themen