I've written a script that correctly overlays points on a dotchart as
follows:

 

 

MAIN <- "Overlay"

dotchart(x,labels=levels(y),

            pch=PCH,xlim=c(min(all,na.rm=T),max(all,na.rm=T)),

            main=MAIN,xlab="Growth of $1",cex=.4,

 
col.main="blue",col="blue",col.axis="blue",col.sub="blue",col.lab="blue",

            sub=paste("Year to Date, ", as.date(slug[2]), " thru ",
as.date(slug[3]),sep=""))

 

legend("bottomleft", c("Growth", "Neutral","
Value"),col=c("red","blue","green"), cex=.4,lwd=1)

x <- all[rgidx-1]

points(x,y=y,pch=PCH,col="red",cex=CEX)

x <- all[rvidx-1]

points(x,y=y,pch=PCH,col="green",cex=CEX)

 

 

 

I would now like to produce the same graph, but group the dotchart labels by
a size factor:

 

 

MAIN <- "Hybrid"

grp <- as.factor(c(rep(c('Small'),5),rep(c('Large'),4)))

 

dotchart(x,labels=levels(y),

            pch=PCH,xlim=c(min(all,na.rm=T),max(all,na.rm=T)),

            main=MAIN,xlab="Growth of $1",cex=.4,group=grp,

 
col.main="blue",col="blue",col.axis="blue",col.sub="blue",col.lab="blue",

            sub=paste("Year to Date, ", as.date(slug[2]), " thru ",
as.date(slug[3]),sep=""))

 

legend("bottomleft", c("Growth", "Neutral","
Value"),col=c("red","blue","green"), cex=.4,lwd=1)

x <- all[rgidx-1]

points(x,y=y,pch=PCH,col="red",cex=CEX,group=grp)

x <- all[rvidx-1]

points(x,y=y,pch=PCH,col="green",cex=CEX,group=grp)

 

The output here is not as desired. The initial dotchart prints properly, but
the subsequent points are off - as if the points function cannot determine
the grouping. If I change the grouping to the trivial: grp <-
as.factor(c(rep(c('Small'),9))), the  chart works as expected. I am
obviously missing something simple. Any ideas?

 

Thanks.

Steve Miller


	[[alternative HTML version deleted]]


