Hi,
I have:
hours=c(5,6,6,7,7,8,8,9,7,8,8,8,9,9,10,10,9,10,10,11,11,11,12);
level=c(1.0,1.2,0.8,0.8,1.0,1.0,0.6,0.8,1.4,1.2,1.4,1.6,
1.2,1.4,1.0,1.4,1.6,1.6,1.8,1.4,1.6,1.8,1.6);
grade=c(rep("First",8),rep("Second",8),rep("Third",7))
length(hours)
length(level)
length(grade)
data=data.frame(hours=hours,level=level,grade=grade)
data
plot(data$hours,data$level)
Without using ggplot, just using core basic R, how can I:
1. Color each point according to the grade factor.
2. Select a different point type according to the grade factor.
Thanks.
D.
--
View this message in context: http://r.789695.n4.nabble.com/Scatterplot-Color-by-Grade-Category-tp4659135.html
Sent from the R help mailing list archive at Nabble.com.
Scatterplot, Color by Grade Category
2 messages · David Arnold, Jim Lemon
On 02/20/2013 07:44 PM, David Arnold wrote:
Hi,
I have:
hours=c(5,6,6,7,7,8,8,9,7,8,8,8,9,9,10,10,9,10,10,11,11,11,12);
level=c(1.0,1.2,0.8,0.8,1.0,1.0,0.6,0.8,1.4,1.2,1.4,1.6,
1.2,1.4,1.0,1.4,1.6,1.6,1.8,1.4,1.6,1.8,1.6);
grade=c(rep("First",8),rep("Second",8),rep("Third",7))
length(hours)
length(level)
length(grade)
data=data.frame(hours=hours,level=level,grade=grade)
data
plot(data$hours,data$level)
Without using ggplot, just using core basic R, how can I:
1. Color each point according to the grade factor.
2. Select a different point type according to the grade factor.
Hi David,
As factors can be converted to numbers beginning with 1, you can do it
easily:
plot(data$hours,data$level,pch=as.numeric(data$grade),
col=as.numeric(data$grade))
Obviously if you want other than symbols 1, 2 and 3 in colors black, red
and green, you can create vectors of symbol numbers and colors:
mysymbols<-c(4,6,19)
mycolors<-c("palevioletred4","mediumorchid3","lightgoldenrod2")
and then index into them:
plot(data$hours,data$level,pch=mysymbols[as.numeric(data$grade)],
col=mycolors[as.numeric(data$grade)])
Jim