Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Plot multiple datasets with ggplot

Tags:

plot

r

ggplot2

I want to plot, in the same graph, two different sets of points: A = [1 2; 3 4] and B = [1 3; 2 4]. I need to store the plot, so my idea is to use myPlot <- qplot followed by ggsave.

With such an approach, how can I plot multiple datasets without getting the error formal argument "data" matched by multiple actual arguments?

Here is the code I am using now:

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)
like image 870
albus_c Avatar asked Mar 25 '16 20:03

albus_c


1 Answers

Here's a template for plotting two data frame in the same figure:

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) 

or equivalently:

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

If you want to plot to figures side by side, see ?par and look for the descriptions of 'mfcol' and 'mfrow'

In addition to ggsave, see ?pdf.

like image 141
Jthorpe Avatar answered Oct 14 '22 08:10

Jthorpe