[R] plot a list of trellis objects

Frede Aakmann Tøgersen frtog at vestas.com
Tue Feb 18 23:14:20 CET 2014


Hopefully good suggestions from our side. 

Well, is it not feasible to point people to man pages that thinks _list_ is the same as _c_ , so tomorrow I will file a bug (what is that called for instructions) report (if I can remember).

Yours sincerely / Med venlig hilsen


Frede Aakmann Tøgersen
Specialist, M.Sc., Ph.D.
Plant Performance & Modeling

Technology & Service Solutions
T +45 9730 5135
M +45 2547 6050
frtog at vestas.com
http://www.vestas.com

Company reg. name: Vestas Wind Systems A/S
This e-mail is subject to our e-mail disclaimer statement.
Please refer to www.vestas.com/legal/notice
If you have received this e-mail in error please contact the sender. 


> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org]
> On Behalf Of Santosh
> Sent: 18. februar 2014 22:23
> To: r-help
> Subject: Re: [R] plot a list of trellis objects
> 
> Thanks for suggestions! I am just getting familiarized with these "grid"
> and "extra" businesses! Now I understand a bit better to find and scour
> through man/help pages :)
> 
> santosh
> 
> 
> On Tue, Feb 18, 2014 at 1:00 PM, Frede Aakmann Tøgersen
> <frtog at vestas.com>wrote:
> 
> > Sorry this should of course be for all on R-help.
> >
> > Yours sincerely / Med venlig hilsen
> >
> >
> > Frede Aakmann Tøgersen
> > Specialist, M.Sc., Ph.D.
> > Plant Performance & Modeling
> >
> > Technology & Service Solutions
> > T +45 9730 5135
> > M +45 2547 6050
> > frtog at vestas.com
> > http://www.vestas.com
> >
> > Company reg. name: Vestas Wind Systems A/S
> > This e-mail is subject to our e-mail disclaimer statement.
> > Please refer to www.vestas.com/legal/notice
> > If you have received this e-mail in error please contact the sender.
> >
> >
> > > -----Original Message-----
> > > From: Frede Aakmann Tøgersen
> > > Sent: 18. februar 2014 21:55
> > > To: 'arun'
> > > Subject: RE: [R] plot a list of trellis objects
> > >
> > > So are you saying that the coder of do.call do not know the difference
> > > between _list_ and _c_??????
> > >
> > > Yours sincerely / Med venlig hilsen
> > >
> > >
> > > Frede Aakmann Tøgersen
> > > Specialist, M.Sc., Ph.D.
> > > Plant Performance & Modeling
> > >
> > > Technology & Service Solutions
> > > T +45 9730 5135
> > > M +45 2547 6050
> > > frtog at vestas.com
> > > http://www.vestas.com
> > >
> > > Company reg. name: Vestas Wind Systems A/S
> > > This e-mail is subject to our e-mail disclaimer statement.
> > > Please refer to www.vestas.com/legal/notice
> > > If you have received this e-mail in error please contact the sender.
> > >
> > >
> > > > -----Original Message-----
> > > > From: arun [mailto:smartpink111 at yahoo.com]
> > > > Sent: 18. februar 2014 21:50
> > > > To: Frede Aakmann Tøgersen
> > > > Subject: Re: [R] plot a list of trellis objects
> > > >
> > > > If you look at the structure:
> > > > str(list(lattice.plots,ncol=1))
> > > > #List of 2
> > > > $     :List of 4
> > > >  ..$ :List of 45
> > > > --------------------------
> > > >
> > > >  str(c(lattice.plots,ncol=1))
> > > > #List of 5
> > > > # $     :List of 45
> > > > ------------------------
> > > >
> > > > A.K.
> > > >
> > > >
> > > >
> > > >
> > > > On Tuesday, February 18, 2014 3:34 PM, Frede Aakmann Tøgersen
> > > > <frtog at vestas.com> wrote:
> > > > Yes of course (why didn't you yourself read the man/help pages? That's
> > the
> > > > way I learned R).
> > > >
> > > > If you see the help to grid.arrange:
> > > >
> > > > arrangeGrob             package:gridExtra              R Documentation
> > > >
> > > > arrangeGrob
> > > >
> > > > Description:
> > > >
> > > >      arrange ggplot2, lattice, and grobs on a page
> > > >
> > > > Usage:
> > > >
> > > >        arrangeGrob(..., as.table = FALSE, clip = TRUE,
> > > >          main = NULL, sub = NULL, left = NULL, legend = NULL)
> > > >
> > > > Arguments:
> > > >
> > > >      ...: plots of class ggplot2, trellis, or grobs, and valid
> > > >           arguments to grid.layout
> > > >
> > > >
> > > > For the ellipses:
> > > >
> > > > The arguments to to grid.layout is your savior:
> > > >
> > > > (here is the help to grid.layout):
> > > >
> > > >
> > > > grid.layout                package:grid                R Documentation
> > > >
> > > > Create a Grid Layout
> > > >
> > > > Description:
> > > >
> > > >      This function returns a Grid layout, which describes a subdivision
> > > >      of a rectangular region.
> > > >
> > > > Usage:
> > > >
> > > >      grid.layout(nrow = 1, ncol = 1,
> > > >              widths = unit(rep(1, ncol), "null"),
> > > >              heights = unit(rep(1, nrow), "null"),
> > > >              default.units = "null", respect = FALSE,
> > > >              just="centre")
> > > >
> > > > Arguments:
> > > >
> > > >     nrow: An integer describing the number of rows in the layout.
> > > >
> > > >
> > > > And then for the call to do.call
> > > >
> > > > do.call                  package:base                  R Documentation
> > > >
> > > > Execute a Function Call
> > > >
> > > > Description:
> > > >
> > > >      'do.call' constructs and executes a function call from a name or a
> > > >      function and a list of arguments to be passed to it.
> > > >
> > > > Usage:
> > > >
> > > >      do.call(what, args, quote = FALSE, envir = parent.frame())
> > > >
> > > > Arguments:
> > > >
> > > >     what: either a function or a non-empty character string naming the
> > > >           function to be called.
> > > >
> > > >     args: a _list_ of arguments to the function call.  The 'names'
> > > >           attribute of 'args' gives the argument names.
> > > >
> > > >
> > > > The args argument saves you:
> > > >
> > > > This suggests me to do:
> > > >
> > > >
> > > > lattice.plots <- list(xyplot(rnorm(10) ~ 1:10, type = "b"),
> > > >                                      xyplot(rnorm(10) ~ 1:10, type =
> > "b"),
> > > >                                      xyplot(rnorm(10) ~ 1:10, type =
> > "b"),
> > > >                                      xyplot(rnorm(10) ~ 1:10, type =
> > "b"))
> > > >
> > > > do.call(grid.arrange, list(lattice.plots, ncol = 1))
> > > >
> > > > That does NOT WORK, damn someone, even though the help to do.call
> > > says
> > > > that args should be a _list_ (damn you isn't that a LIST)
> > > >
> > > > However this works:
> > > >
> > > > do.call(grid.arrange,c(lattice.plots, ncol = 1))
> > > >
> > > >
> > > > WHAT IS THE DIFFERNCE BETWEEN c() and list()????????????????
> > > >
> > > > Have a nice day to all of you.
> > > >
> > > > And thank you all developers for R. I cannot live without it.
> > > >
> > > >
> > > > Yours sincerely / Med venlig hilsen
> > > >
> > > >
> > > > Frede Aakmann Tøgersen
> > > > Specialist, M.Sc., Ph.D.
> > > > Plant Performance & Modeling
> > > >
> > > > Technology & Service Solutions
> > > > T +45 9730 5135
> > > > M +45 2547 6050
> > > > frtog at vestas.com<mailto:frtog at vestas.com>
> > > > http://www.vestas.com<http://www.vestas.com/>
> > > >
> > > > Company reg. name: Vestas Wind Systems A/S
> > > > This e-mail is subject to our e-mail disclaimer statement.
> > > > Please refer to
> > > > www.vestas.com/legal/notice<http://www.vestas.com/legal/notice>
> > > > If you have received this e-mail in error please contact the sender.
> > > >
> > > > From: Santosh [mailto:santosh2005 at gmail.com]
> > > > Sent: 18. februar 2014 20:59
> > > > To: Frede Aakmann Tøgersen
> > > > Cc: r-help
> > > > Subject: Re: [R] plot a list of trellis objects
> > > >
> > > > Thanks for the suggestion..
> > > > Is there a way I can include arguments to the grid.arrange function?
> > > >
> > > > I tried in your example something like...
> > > > gridar <- function(x,ncol=2,...) grid.arrange(x,...)
> > > > do.call(gridar, lattice.plots);
> > > >
> > > > I could not make it work when I try to control number of columns/rows
> > and
> > > > have multiple pages the way possible using print.trellis
> > > >
> > > > Regards,
> > > > Santosh
> > > >
> > > > On Mon, Feb 17, 2014 at 10:38 PM, Frede Aakmann Tøgersen
> > > > <frtog at vestas.com<mailto:frtog at vestas.com>> wrote:
> > > > How about
> > > >
> > > >
> > > > lattice.plots <- list(xyplot(rnorm(10) ~ 1:10, type = "b"),
> > > >                                      xyplot(rnorm(10) ~ 1:10, type =
> > "b"),
> > > >                                      xyplot(rnorm(10) ~ 1:10, type =
> > "b"),
> > > >                                     xyplot(rnorm(10) ~ 1:10, type =
> > "b"))
> > > >
> > > > do.call(grid.arrange, lattice.plots)
> > > >
> > > > There is most likely a loop hidden somewhere in the do.call function
> > ;-)
> > > >
> > > >
> > > > Yours sincerely / Med venlig hilsen
> > > >
> > > >
> > > > Frede Aakmann Tøgersen
> > > > Specialist, M.Sc., Ph.D.
> > > > Plant Performance & Modeling
> > > >
> > > > Technology & Service Solutions
> > > > T +45 9730 5135
> > > > M +45 2547 6050
> > > > frtog at vestas.com<mailto:frtog at vestas.com>
> > > > http://www.vestas.com
> > > >
> > > > Company reg. name: Vestas Wind Systems A/S
> > > > This e-mail is subject to our e-mail disclaimer statement.
> > > > Please refer to
> > > > www.vestas.com/legal/notice<http://www.vestas.com/legal/notice>
> > > > If you have received this e-mail in error please contact the sender.
> > > >
> > > > > -----Original Message-----
> > > > > From: r-help-bounces at r-project.org<mailto:r-help-bounces at r-
> > > > project.org> [mailto:r-help-bounces at r-project.org<mailto:r-help-
> > > > bounces at r-project.org>]
> > > > > On Behalf Of Santosh
> > > > > Sent: 18. februar 2014 01:41
> > > > > To: r-help
> > > > > Subject: [R] plot a list of trellis objects
> > > > >
> > > > > Dear Rxperts
> > > > >
> > > > > Is there a way to control the display order (or simplistically
> > control
> > > > > panel layout) of a list of trellis objects without using a for loop
> > (or
> > > > > whatever)?
> > > > >
> > > > > I just realize that gridExtra has that feature.. (grid.arrange)...
> > > > >
> > > > > But, converting each of those elements of the list of trellis
> > objects into
> > > > > an argument to grid.arrange seems to negate the simplicity.. In
> > addition,
> > > > > if I were to use grid.arrange on a list of trellis objects, is there
> > a way
> > > > > to pass the list elements as arguments to grid.arrange?
> > > > >
> > > > > If you have other suggestions, please do..
> > > > >
> > > > > Regards,
> > > > > Santosh
> > > > >
> > > > >       [[alternative HTML version deleted]]
> > > > >
> > > > > ______________________________________________
> > > > > R-help at r-project.org<mailto:R-help at 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.
> > > >
> > > >
> > > >     [[alternative HTML version deleted]]
> > > >
> > > > ______________________________________________
> > > > R-help at 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 at 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.
> >
> 
> 	[[alternative HTML version deleted]]




More information about the R-help mailing list