Si tiene las clases separadas en una trama de datos o una matriz, entonces se puede utilizar matplot
. Por ejemplo, si tenemos
dat<-as.data.frame(cbind(c(1,2,5,7),c(2.1,4.2,-0.5,1),c(9,3,6,2.718)))
plot.new()
plot.window(c(0,nrow(dat)),range(dat))
matplot(dat,col=c("red","blue","yellow"),pch=20)
Luego le ponen un diagrama de dispersión, donde la primera columna de dat
se representa en rojo, la segunda en azul, y el tercero en amarillo. Por supuesto, si quieres x separadas y valores de y para sus clases de color, entonces puede tener datx
y daty
, etc.
Un enfoque alternativo sería la de virar en una columna adicional que especifica qué color usted quiere (o mantener una vector adicional de colores, llenándolo iterativamente con un bucle for
y algunas ramas if
). Por ejemplo, esto le ayudará a la misma parcela:
dat<-as.data.frame(
cbind(c(1,2,5,7,2.1,4.2,-0.5,1,9,3,6,2.718)
,c(rep("red",4),rep("blue",4),rep("yellow",4))))
dat[,1]=as.numeric(dat[,1]) #This is necessary because
#the second column consisting of strings confuses R
#into thinking that the first column must consist of strings, too
plot(dat[,1],pch=20,col=dat[,2])
¿Cómo agregar una leyenda utilizando la función de leyenda? –
@ tommy.carstensen He agregado un ejemplo de leyenda – Aniko
Y si tiene muchos grupos y no desea especificar cada color, intente utilizar la función _grDevices_ 'colorRampPalette'. [enlace] (http://r.789695.n4.nabble.com/alternatives-to-RColorBrewer-td852872.html) – Rnoob