RE: [R] Lattice device page options-margins

From: Bock, Michael <MBock_at_arcadis-us.com>
Date: Thu 10 Mar 2005 - 12:33:24 EST

 

> -----Original Message-----
> From: Deepayan Sarkar [mailto:deepayan@stat.wisc.edu]
> Sent: Wednesday, March 09, 2005 5:09 PM
> To: r-help@stat.math.ethz.ch
> Cc: Paul Murrell; Bock, Michael; Sundar Dorai-Raj
> Subject: Re: [R] Lattice device page options-margins
>
> On Wednesday 09 March 2005 13:54, Paul Murrell wrote:
> > Hi
> >
> > Sundar Dorai-Raj wrote:
> > > Bock, Michael wrote on 3/9/2005 1:19 PM:
> > >> I am using lattice to make figures as pdfs:
> > >> trellis.device(device = "pdf",file = "Figure6.pdf",color = FALSE)
> > >>
> > >> I need to specify some blank space on the left-hand margins (the
> > >> pages will be bound so we need about 0.5 inch)). I have tried a
> > >> number of solutions but none seems to work (e.g.
> par.set). Can this
> > >> be done when initiating the plotting device? Or is the
> some other
> > >> way that does not require me to manually move everything over?
> > >
> > > Michael,
> > >
> > > I believe you can do this using print.trellis and setting the
> > > position argument. E.g.
> > >
> > > trellis.device(device = "pdf",file = "Figure6.pdf",color
> = FALSE) xy
> > > <- xyplot(...) print(xy, pos = c(0.10, 0, 1, 1))
> > > dev.off()
> >
> > Or if you want exactly 0.5 inches, something like ...
> >
> > # may need
> > # library(grid)
> > trellis.device(device = "pdf",file = "Figure6.pdf",color =
> FALSE) xy
> > <- xyplot(1:10 ~ 1:10) pushViewport(viewport(x=1,
> > width=unit(1, "npc") - unit(0.5, "inches"),
> > just="right"))
> > # to show region you're plotting in
> > # grid.rect(gp=gpar(col="grey"))
> > print(xy, newpage=FALSE)
> > popViewport()
> > dev.off()
>
> Yet another option, especially if you want this for multiple
> plots without having to handle each one separately, is to say
> (after loading
> lattice):
>
> lattice.options(layout.widths = list(left.padding =
> list(x = 0.5, units = "inches")))
>
> Unlike par settings though, this would stay in effect across devices.
>
> Deepayan
>
>
Thanks for the suggestions. None of these do exactly what I want. I have some multi panel plotts
Excepted Commands:
BC.PP<-bwplot(PP.PAH ~ Area, Crab, horizontal = FALSE,

        ylab = "Priority Pollutant PAHs (mg/kg)",
        scales = list(x="free",rot=90),  aspect = 1.5,
        main = list(label = "Blue Crabs",cex=0.8,font=1),
        fontfamily = "HersheySans")
RM.PP<-bwplot( PP.PAH ~ Area, Mussel, horizontal = FALSE,
        ylab = "",
        scales = list(x="free",rot=90), aspect = 1.5,
        main = list(label="   Ribbed Mussels",cex =0.8,font=1),
        fontfamily = "HersheySans")

print(BC.PP, split = c(1,1,2,1), more = TRUE ) print(RM.PP, split = c(2,1,2,1),more = TRUE ) grid.text(label = "Figure 6. Priority Pollutant PAH Tissue Concentrations",
          x = unit(0.01, "npc"), y = unit(0.1, "npc"),
          just = "left", rot = 0,
          check.overlap = FALSE, default.units = "npc",
          name = NULL, gp = gpar(fontsize = 10, font = 2), draw = TRUE)
grid.text(label = "Privileged and Confidential \nAttorney Work Product",
          x = unit(0.01, "npc"), y = unit(0.95, "npc"),
          just = "left", rot = 0,
          check.overlap = FALSE, default.units = "npc",
          name = NULL, gp = gpar(fontsize = 6, font = 3), draw = TRUE)


All of the suggestions shrink the individual boxplots so they both now have empty space on the left size. I guess what I really want is to be able define the plotting area as a portion of the page, allowing for a blank region on the left. Basically defining the margin of the print area.

BSomething like:
trellis.device(device = "pdf",file = "Figure6.pdf",color = FALSE,left = 0.1, right = 0.9)
Assuming the hypothetical left and right commands set the print area for the pdf. Hopefully this better defines my "ideal solution".

Thanks for the suggestions, if an ideal solution can not be found I at least have enough to develop a work around. It just too bad I hadn't though of this issue before writing so many scripts to make my plots that will now have to be adjusted manually.

Mike



R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Thu Mar 10 19:10:09 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:30:42 EST