Hi, You can use scales() and parametrize it with a list where you can define colors, fonts, etc.
I could not test it on your code because variable "Commodity" is not present in the dataset you provided. Regards, Carlos Ortega www.qualityexcellence.es On Thu, Sep 15, 2011 at 11:03 AM, markm0705 <markm0...@gmail.com> wrote: > Dear R helpers > > I would like to be able to colour code the y-axis labels on a complex dot > plot by a variable known as company (of which there are only two). The > code > is below and data attached. > > Thanks > > MarkM > > library("lattice") > library(latticeExtra) # for mergedTrellisLegendGrob() > > # set size of the window > windows(height=10, width=7,rescale=c("fixed")) > > ##read the data to a variable > > #---------------------------------------------------------------------------------------- > > Cal_dat <- read.table("Calibration2.dat",header = TRUE,sep = "\t",) > > ## set up plotting colours > > #---------------------------------------------------------------------------------------- > # Colours for the six commodity > > col.pat<-c("violet","cyan","green","red","blue","black","yellow") > > # Circles squares and diamond symbols for the year > sym.pat<-c(19,20,21) > > ##set up the plot key > > #---------------------------------------------------------------------------------------- > # key for commodities > # defaults > bord.col<-"grey90" > trans.fac<-0.9 > sym.siz<-1.8 > > key1 <- > draw.key(list(text=list(levels(Cal_dat$Commodity)), > title="Ore type", > border =bord.col, > background = bord.col, > alpha.background=trans.fac, > just=1, > points=list(pch=22, cex=sym.siz, fill=col.pat, > col="transparent")), > draw = FALSE) > key2 <- > draw.key(list(text=list(levels(factor(Cal_dat$Year))), > title="Year", > border = bord.col, > background = bord.col, > alpha.background=trans.fac, > just=1, > points = list(pch = c(21, 22, 23), cex=sym.siz, > col="black")), > draw = FALSE) > > mkey <- > mergedTrellisLegendGrob(list(fun = key2), > list(fun = key1), > vertical = FALSE > ) > > ##set some parameters for the plot > > #---------------------------------------------------------------------------------------- > trellis.par.set( > dot.line=list(col = "grey95", lty=1), > axis.line=list(col = "grey50"), > axis.text=list(col ="grey50", cex=0.8), > panel.background=list(col="transparent") > ) > > ## Create the dot plot > > #---------------------------------------------------------------------------------------- > # some mean values for reference lines first > > ave_dat<-aggregate(Cal_dat$Resc_Gt, by = list(Cal_dat$Year),mean) > > # create the plot > > with(Cal_dat, > dotplot(reorder(paste(Mine,Company), Resc_Gt) ~ Resc_Gt, > fill_var = Commodity, > pch_var = factor(Year), > xlab_var = factor(Company), > pch = c(21, 22, 23), > cex=sym.siz, > col = "black", > fill = col.pat, > alpha=0.6, > legend = list(inside = list(fun = mkey,corner = c(0.97, 0.06))), > scales = list(x = list(log = 10)), > xscale.components = xscale.components.log10ticks, > origin = 0, > type = c("p","a"), > main = "Mineral resources", > xlab= "Total tonnes (billions)", > panel = function(x, y, ..., subscripts, > fill, pch, fill_var, pch_var) { > pch <- pch[pch_var[subscripts]] > fill <- fill[fill_var[subscripts]] > panel.ablineq(v=log(ave_dat[1,2]),col="grey60", lty=1, > rotate= > TRUE,label="2002", at=0.40) > panel.ablineq(v=log(ave_dat[2,2]),col="grey60", lty=1, > rotate= > TRUE,label="2009", at=0.50) > panel.ablineq(v=log(ave_dat[3,2]),col="grey60", lty=1, > rotate= > TRUE,label="2010", at=0.60) > panel.dotplot(x, y, pch = pch, fill = fill, ...) > > })) http://r.789695.n4.nabble.com/file/n3815044/Calibration.dat > Calibration.dat > > -- > View this message in context: > http://r.789695.n4.nabble.com/Colour-code-y-axis-labels-on-a-dot-plot-tp3815044p3815044.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.