'corner' is not a valid name for a component of 'legend'. See ?xyplot Try
xyplot(1 ~ 1, legend = list(inside = list(fun="draw.key", args = list( key = list( text = list(month.name[1:2]), lines = list(lty = 1:2) ), draw = TRUE ), corner = c(0, .98) ) ) ) On 18 August 2011 21:05, Fredrik Karlsson <dargo...@gmail.com> wrote: > Dear Deepayan, > > Thank you for your quick and enlightening reply. I'll try making a modifies > version of the two functions and see what I end up with.. > > However, out of pure curiosity, what is wrong with the "legend" I > constructed below: > > legend=list(corner=list( > fun=draw.key, > args=list( > key=list(text= > list(myFactorLevels), > lines=list( > lty=1:length(myFactorLevels)) > ), > draw=TRUE > ) > ),x=0,y=1 > > It gives me nothing (not even an error message :-)), so I have no idea about > what I did wrong here. > > I would very much appreciate any insight on this. > > /Fredrik > > > On Wed, Aug 17, 2011 at 2:57 PM, Deepayan Sarkar > <deepayan.sar...@gmail.com>wrote: > >> On Tue, Aug 16, 2011 at 4:35 PM, Fredrik Karlsson <dargo...@gmail.com> >> wrote: >> > Hi, >> > >> > I would like to add an additional key inside of a panel based on a factor >> > that is not the "groups" argument. >> > I've tried using the panel.key function in latticeExtras, but I cannot >> get >> > the line types the way I want it. >> > >> > Using my factor myGroups, I've tried this: >> > >> > panel.key(text=levels(myGroups),lines=TRUE,points=FALSE,corner = >> > c(0,.98),key=list(lines=list(lty=1:length(levels(myGroups))))) >> > >> > I then get the key where I want it, the text is right, but line types are >> > not correct (always lty=1, I think). >> > >> > Any ideas on how I could solve this? >> >> Well, trying to add undocumented arguments and hoping they will >> magically work usually doesn't help. >> >> panel.key() works using simpleKey(), which by design is simple but not >> flexible. In particular, it will not allow you to set 'lty' directly, >> and instead use the values from the theme currently in use. >> >> You _can_ change the theme also, using a different argument; e.g., >> >> library(lattice) >> library(latticeExtra) >> >> xyplot(1 ~ 1, >> panel = function(...) { >> panel.xyplot(...) >> panel.key(text = month.name[1:2],lines=TRUE,points=FALSE, >> corner = c(0,.98)) >> }, >> par.settings = simpleTheme(lty = 1:2)) >> >> But I don't know if that interferes with the rest of your call. >> >> If all else fails, panel.key() is not a very complicated function, so >> you can take inspiration from it and write your own version that >> replaces the line >> >> key <- simpleKey(text, ...) >> >> with >> >> key <- <something else> >> >> where <something else> describes the legend that you want. >> >> -Deepayan >> > > > > -- > "Life is like a trumpet - if you don't put anything into it, you don't get > anything out of it." > > [[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. > -- Felix Andrews / 安福立 http://www.neurofractal.org/felix/ ______________________________________________ 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.