Plot multiple datasets with ggplot

2020-02-13 04:27发布

问题:

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)

回答1:

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.



标签: r plot ggplot2