Dear Peter, perfect *as usual*, many thanks!
Cheers, Marius On 2011-02-26, at 17:55 , Peter Ehlers wrote: > On 2011-02-25 15:57, Marius Hofert wrote: >> Dear expeRts, >> >> I would like to use LaTeX-like symbols in keys via plotmath. Below is a >> minimal >> example. I get: >> Error in fun(key = list(x = 0.5, y = 0.8, text = >> list(list(expression(paste("(", : >> first component of text must be vector of labels >> What's wrong? How can I create the required vector (of expressions)? >> >> Cheers, >> >> Marius >> >> library(lattice) >> val<- matrix(1, nrow = 10, ncol = 3) >> nplot<- 10 >> >> labs<- sapply(1:3, function(i) substitute(expression(paste("(",i,"), >> ",l==len,"mm",sep="")), list(len=2*i))) >> myplot<- xyplot(0~0, >> panel=function(...){ >> for(i in 1:3){ >> panel.xyplot(1,val[,i],type="l") >> >> panel.text(2,val[nplot,i],label=paste("(",i,")",sep="")) >> } >> }, >> key = list(x=0.5,y=0.8,text=list(labs), >> align=TRUE,transparent=TRUE)) >> myplot > > Try this: > > labs <- vector("expression", 3) > for(i in 1:3) labs[i] <- > substitute(expression( > group("(", k, ")") * "," ~~ l == len ~ italic("mm") > ), > list(len = 2*i, k=i) > )[2] > > The idea is to create an expression vector and then > fill its components appropriately. We need the second > component of the substitute call. > (I put in the 'italic' just for fun.) > > Maybe there's a better way, but I don't know it. > > Peter Ehlers ______________________________________________ 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.