[R] How to plot multiple data sets with different colors (also with legend)?

Peng Yu pengyu.ut at gmail.com
Mon Oct 19 03:22:01 CEST 2009

On Sun, Oct 18, 2009 at 5:42 PM, Matthieu Dubois <matthdub at gmail.com> wrote:
> Hi,
> the blue point is not shown simply because it is printed outside
> the current plot area. If you want to use the base graphics, you
> have to manually define the xlim and ylim of the plot. Legend is added
> with the command "legend".
> E.g.
> x=rbind(c(10,11),c(10,11))
> y=cbind(-1:0,-1:0)
> plot(y,col='yellow', xlim=c(-1,11), ylim=c(-1,11))
> points(x,col='blue')
> legend("topleft", c("x","y"), col=c('blue', 'yellow'), pch=1)
> This is nevertheless most easily done in ggplot2.
> E.g.
> library(ggplot2)
> # put the whole data in a data frame
> # and add a new variable to distinguish both
> dat <- data.frame(rbind(x,y), var=rep(c('x','y'), each=2))
> qplot(x=X1,y=X2, colour=var, data=dat)

qplot generates a figure with some background grid. If I just want a
blank background (as in plot), what options should I specify? How to
specific the color like 'red' and 'blue' explicitly?

I have read the review for ggplot2 book on amazon. The rates are
unanimously high. I want to know how much effort I should spend to
learn ggplot2 versus conventional graphics R packages. Can ggplot2 do
all the graphics tasks? Is it much easier to learn than conventional
graphics packages?

More information about the R-help mailing list