Bert, I interpreted the OP's request as a single panel xyplot. The latticeExtra::layer mechanism does work for multiple plots.
library(lattice) library(latticeExtra) tmp <- data.frame(x=1:10, y=1:10, g=rep(c("A","B"), each=5)) xyplot(y ~ x | g, data=tmp) xyplot(y ~ x | g, data=tmp, main="outside text displayed", par.settings=list(clip=list(panel=FALSE))) + latticeExtra::layer(panel.text(x=2, y=-0.5, label="very interesting")) xyplot(y ~ x | g, data=tmp, main="outside text displayed", par.settings=list(clip=list(panel=FALSE))) + latticeExtra::layer(panel.text(x=2, y=-0.5, label=c("very interesting", "also interesting")[panel.number()])) For the overall lattice display I agree that the mechanisms you suggested are approriate. Rich On Sun, Sep 25, 2016 at 4:34 PM, Bert Gunter <bgunter.4...@gmail.com> wrote: > ... but what if there are multiple panels? > > "The layer mechanism is a method for augmenting a panel function. It > allows expressions to be added to the panel function without knowing > what the original panel function was. " > > As I understand it, the OP requested annotation for the entire lattice > display, not single panels thereof. This seems more like a "sub" or > "legend" addition. > > Cheers, > Bert > Bert Gunter > > "The trouble with having an open mind is that people keep coming along > and sticking things into it." > -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) > > > On Sun, Sep 25, 2016 at 11:44 AM, Richard M. Heiberger <r...@temple.edu> > wrote: >> library(lattice) >> library(latticeExtra) >> tmp <- data.frame(x=1:10, y=1:10) >> >> xyplot(y ~ x, data=tmp) >> >> xyplot(y ~ x, data=tmp, main="text outside panel clipped") + >> ## "+" must be on same line as first statement. >> ## This use of "+" is from latticeExtra. >> latticeExtra::layer(panel.text(x=2, y=-0.5, label="very interesting")) >> >> xyplot(y ~ x, data=tmp, main="outside text displayed", >> par.settings=list(clip=list(panel=FALSE)) ## permit text >> outside the panel >> ) + >> ## "+" must be on same line as first statement. >> ## This use of "+" is from latticeExtra. >> latticeExtra::layer(panel.text(x=2, y=-0.5, label="very interesting")) >> >> ## I use the phrasing "latticeExtra::layer", not the simpler "layer". >> ## latticeExtra and ggplot2 both use layer and they use it incompatibly. >> ## It is possible for both packages to be loaded at the same time, therefore >> ## I specify latticeExtra explicitly. >> >> ## ltext and panel.text are the same. >> >> >> On Sun, Sep 25, 2016 at 12:32 PM, Jun Shen <jun.shen...@gmail.com> wrote: >>> Thanks Bert, sub works pretty well. >>> >>> Carlos, thanks for the suggestion. As I am not familiar with latticeExatra, >>> not sure how hard it is to make it work with my plot. I'll try. >>> >>> On Sat, Sep 24, 2016 at 11:04 AM, Bert Gunter <bgunter.4...@gmail.com> >>> wrote: >>> >>>> No. >>>> >>>> ltext/panel.text plots text *within* panels; IIUC, the OP requested >>>> text outside the plots. For that see the details for "main" and/or >>>> "sub" in ?xyplot. I think it could also be done more flexibly via a >>>> legend or a key with a title but no content -- again, see the Help >>>> page -- but haven't tried it. >>>> >>>> Cheers, >>>> Bert >>>> >>>> >>>> Bert Gunter >>>> >>>> "The trouble with having an open mind is that people keep coming along >>>> and sticking things into it." >>>> -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) >>>> >>>> >>>> On Fri, Sep 23, 2016 at 11:49 PM, Rainer Hurling <rhur...@gwdg.de> wrote: >>>> > Hi, >>>> > >>>> > one possible solution is to use ltext(). >>>> > >>>> > ltext(xcoord, ycoord, label="TEST", adj=c(0.5,0.5)) >>>> > >>>> > You have to know or to find out best fitting coordinates. >>>> > >>>> > Via adj you can control, if the text should adjust left, center or right >>>> > to the coords, and above, center or bottom of them. >>>> > >>>> > HTH, >>>> > Rainer Hurling >>>> > >>>> > >>>> > Am 22.09.2016 um 16:04 schrieb Jun Shen: >>>> >> Dear list, >>>> >> >>>> >> Just wonder if there is a way to add annotation text outside an xyplot, >>>> >> (e.g. the bottom of the plot). the panel.text seems only add text within >>>> >> the plot. Thanks. >>>> >> >>>> >> Jun >>>> > >>>> > ______________________________________________ >>>> > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >>>> > 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 -- To UNSUBSCRIBE and more, see >>> 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 -- To UNSUBSCRIBE and more, see 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.