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.