Plot a List of Things
Plots a list of things
## S3 method for class 'anylist': plot(x, \dots, main, arrange=TRUE, nrows=NULL, ncols=NULL, main.panel=NULL, mar.panel=c(2,1,1,2), hsep=0, vsep=0, panel.begin=NULL, panel.end=NULL, panel.args=NULL, plotcommand="plot", adorn.left=NULL, adorn.right=NULL, adorn.top=NULL, adorn.bottom=NULL, adorn.size=0.2, equal.scales=FALSE, halign=FALSE, valign=FALSE)
- An object of the class
"anylist". Essentially a list of objects.
- Arguments passed to
plotwhen generating each plot panel.
- Overall heading for the plot.
- Logical flag indicating whether to plot the objects
side-by-side on a single page (
arrange=TRUE) or plot them individually in a succession of frames (
- Optional. The number of rows/columns in the plot layout
arrange=TRUE). You can specify either or both of these numbers.
- Optional. A character string, or a vector of character strings, giving the headings for each of the objects.
- Size of the margins outside each plot panel. A numeric vector of length 4 giving the bottom, left, top, and right margins in that order. (Alternatively the vector may have length 1 or 2 and will be replicated to length 4). See the section
- Additional horizontal and vertical separation between plot panels,
expressed in the same units as
- Optional. Functions that will be executed before and after each panel is plotted. See Details.
- Optional. Function that determines different plot arguments for different panels. See Details.
- Optional. Character string containing the name of the command that should be executed to plot each panel.
- Optional. Functions (with no arguments) that will be executed to generate additional plots at the margins (left, right, top and/or bottom, respectively) of the array of plots.
- Relative width (as a fraction of the other panels' widths) of the margin plots.
- Logical value indicating whether the components should be plotted at (approximately) the same physical scale.
- Logical values indicating whether panels in a column
should be aligned to the same $x$ coordinate system
halign=TRUE) and whether panels in a row should be aligned to the same $y$ coordinate system (
This is the
plot method for the class
An object of class
a list of objects intended to be treated in the same way.
This is the method for
"anylist", essentially a list of
objects of the same kind.
These objects can be plotted in a nice arrangement
plot.anylist. See the Examples.
panel.args determines extra graphics parameters
for each panel. It should be a function that will be called
i is the panel number.
Its return value should be a list of graphics parameters that can
be passed to the relevant
plot method. These parameters
override any parameters specified in the
determine graphics that will be plotted before and after
each panel is plotted. They may be objects
of some class that can be plotted
with the generic
plot command. Alternatively they
may be functions that will be
panel.begin(i, y, main=main.panel[i])
panel.end(i, y, add=TRUE) where
i is the panel
y = x[[i]].
If all entries of
x are pixel images,
image.listof is called to control
the plotting. The arguments
can be used to determine the colour map or maps applied.
equal.scales=FALSE (the default), then the
plot panels will have equal height on the plot device
(unless there is only one column of panels, in which case
they will have equal width on the plot device). This means that the
objects are plotted at different physical scales, by default.
equal.scales=TRUE, then the dimensions of the
plot panels on the plot device will be proportional
to the spatial dimensions of the
corresponding components of
x. This means that the
objects will be plotted at approximately equal physical scales.
If these objects have very different spatial sizes,
the plot command could fail (when it tries
to plot the smaller objects at a tiny scale), with an error
message that the figure margins are too large.
The objects will be plotted at exactly equal physical scales, and exactly aligned on the device, under the following conditions:
- every component of
xis a spatial object whose position can be shifted by
NULLor they are spatial objects whose position can be shifted by
Another special case is when every component of
x is an
object of class
"fv" representing a function.
equal.scales=TRUE then all these functions will
be plotted with the same axis scales
(i.e. with the same
xlim and the same
Spacing between plots
The spacing between individual plots is controlled by the parameters
equal.scales=FALSE, the plot panels are
logically separate plots. The margins for each panel are
determined by the argument
mar.panel which becomes
the graphics parameter
described in the help file for
One unit of
mar corresponds to one line of text in the margin.
vsep are present,
is augmented by
c(vsep, hsep, vsep, hsep)/2.
equal.scales=TRUE, all the plot panels are drawn
in the same coordinate system which represents a physical scale.
The unit of measurement for
is one-sixth of the greatest height of any object plotted in the same row
of panels, and the unit for
mar.panel[2,4] is one-sixth of the
greatest width of any object plotted in the same column of panels.
vsep are present,
they are interpreted in the same units as
If the error message
and increase the values of
trichotomy <- list(regular=cells, random=japanesepines, clustered=redwood) K <- lapply(trichotomy, Kest) K <- as.anylist(K) plot(K, main="") # list of 3D point patterns ape1 <- osteo[osteo$shortid==4, "pts", drop=TRUE] class(ape1) plot(ape1, main.panel="", mar.panel=0.1, hsep=0.7, vsep=1, cex=1.5, pch=21, bg='white')