Hi Richard Untested Perhaps adding some dummy factors with NA and then have their labels as " " and color of lines as 0 or "transparent".
I think that I used it partly for the same reason and in addition I was combining 2 purposes with the groups and wanted to split them Duncan -----Original Message----- From: Richard Kwock [mailto:richardkw...@gmail.com] Sent: Saturday, 2 November 2013 02:31 To: Duncan Mackay Cc: R Subject: Re: [R] Lattice Legend/Key by row instead of by column Hi Duncan, Thanks for that template. Not quite the solution I was hoping for, but that works! Richard On Thu, Oct 31, 2013 at 3:47 PM, Duncan Mackay <dulca...@bigpond.com> wrote: > Hi Richard > > If you cannot get a better suggestion this example from Deepayan > Sarkar may help. > It is way back in the archives and I do not have a reference for it. > > I have used it about a year ago as a template to do a complicated key > > fl <- grid.layout(nrow = 2, ncol = 6, > heights = unit(rep(1, 2), "lines"), > widths = unit(c(2, 1, 2, 1, 2, 1), > > c("cm","strwidth","cm","strwidth","cm","strwidth"), > data = list(NULL,"John",NULL,"George",NULL,"The > Beatles"))) > > foo <- frameGrob(layout = fl) > foo <- placeGrob(foo, > pointsGrob(.5, .5, pch=19, > gp = gpar(col="red", cex=0.5)), > row = 1, col = 1) > foo <- placeGrob(foo, > linesGrob(c(0.2, 0.8), c(.5, .5), > gp = gpar(col="blue")), > row = 2, col = 1) > foo <- placeGrob(foo, > linesGrob(c(0.2, 0.8), c(.5, .5), > gp = gpar(col="green")), > row = 1, col = 3) > foo <- placeGrob(foo, > linesGrob(c(0.2, 0.8), c(.5, .5), > gp = gpar(col="orange")), > row = 2, col = 3) > foo <- placeGrob(foo, > rectGrob(width = 0.6, > gp = gpar(col="#FFFFCC", > fill = "#FFFFCC")), > row = 1, col = 5) > foo <- placeGrob(foo, > textGrob(lab = "John"), > row = 1, col = 2) > foo <- placeGrob(foo, > textGrob(lab = "Paul"), > row = 2, col = 2) > foo <- placeGrob(foo, > textGrob(lab = "George"), > row = 1, col = 4) > foo <- placeGrob(foo, > textGrob(lab = "Ringo"), > row = 2, col = 4) > foo <- placeGrob(foo, > textGrob(lab = "The Beatles"), > row = 1, col = 6) > > xyplot(1 ~ 1, legend = list(top = list(fun = foo))) > > In my case I changed "strwidth" to "cm" for the text as I was cramped > for space > > HTH > > Duncan > > Duncan Mackay > Department of Agronomy and Soil Science University of New England > Armidale NSW 2351 > Email: home: mac...@northnet.com.au > > -----Original Message----- > From: r-help-boun...@r-project.org > [mailto:r-help-boun...@r-project.org] On Behalf Of Richard Kwock > Sent: Friday, 1 November 2013 06:42 > To: R help > Subject: [R] Lattice Legend/Key by row instead of by column > > Hi All, > > I am having some trouble getting lattice to display the legend names > by row instead of by column (default). > > Example: > > library(lattice) > set.seed(456846) > data <- matrix(c(1:10) + runif(50), ncol = 5, nrow = 10) dataset <- > data.frame(data = as.vector(data), group = rep(1:5, each = 10), time = > 1:10) > > xyplot(data ~ time, group = group, dataset, t = "l", > key = list(text = list(paste("group", unique(dataset$group)) ), > lines = list(col = trellis.par.get()$superpose.symbol$col[1:5]), > columns = 4 > ) > ) > > What I'm hoping for are 4 columns in the legend, like this: > Legend row 1: "group 1", "group 2", "group 3", "group 4" > Legend row 2: "group 5" > > However, I'm getting: > Legend row 1: "group 1", "group 3", "group 5" > Legend row 2: "group 2", "group 4" > > I can see how this might work if I include blanks/NULLs in the legend > as placeholders, but that might get messy in data sets with many groups. > > Any ideas on how to get around this? > > Thanks, > Richard > > [[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. > ______________________________________________ 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.