[R] Highlighting different series with colors

Ben Bolker bolker at ufl.edu
Mon Feb 25 22:28:20 CET 2008


Valentin Bellassen <vbella <at> lsce.ipsl.fr> writes:

> 
> Hello,
> 
> I have a data frame with 3 vectors $x, $y, and $type. I would like to 
> plot $x~$y and having different colors for the corresponding points, one 
> for each level of $type. Would someone know how to do that? Is it 
> possible to then generate a legend automatically?
> 
> Valentin

  If you want an automatic legend then lattice or
ggplot2 are the ways to go (maybe xYplot in the Hmisc
package too, but I don't know it well enough to give
an example).

x = runif(300)
f = factor(rep(1:3,each=100))
y = rnorm(x)+c(1,5,10)[f]

## base
plot(x,y,col=as.numeric(f))
legend("bottomleft",levels(f),col=1:3,pch=1)

## lattice
library(lattice)
xyplot(y~x,groups=f,auto.key=TRUE)

## ggplot2
library(ggplot2)
qplot(x,y,colour=f)



More information about the R-help mailing list