4.5.plot.argument.handlers {loa} | R Documentation |
Common plot argument handlers
Description
Functions for use the routine handling of some common plot arguments.
Usage
cexHandler(z = NULL, cex = NULL,
cex.range = NULL, expand.outputs = TRUE,
ref = NULL, ..., zlim = NULL)
colHandler(z = NULL, col = NULL,
region = NULL, colorkey = FALSE, legend = NULL,
pretty = FALSE, at = NULL, cuts = 20,
col.regions = NULL, alpha.regions = NULL,
expand.outputs = TRUE, ref = NULL,
..., zlim = NULL, output="col")
colRegionsHandler(...)
pchHandler(z = NULL, pch = NULL, pch.order = NULL,
expand.outputs = TRUE, ref = NULL, ...,
zlim = NULL)
scalesHandler(...)
zHandler(z = NULL, expand.outputs = TRUE,
ref = NULL, ...)
Arguments
z |
If supplied, a vector of values intended to used as a scale when assigning a property. For For For For |
cex , col , pch |
For associated handlers, the parameter value(s) to be managed (i.e.,
|
cex.range |
If supplied, the range for |
region , colorkey , legend , pretty , at , cuts , col.regions , alpha.regions |
The
colorscale settings to be used when generating a colorkey. The most useful of
these are probably |
pch.order |
A vector of symbol ids (typically the numbers 1 to 24) to used
when plotting points if, e.g. using a scatter plot. By default, all points are
plotted using the first of these pch ids unless any conditioning (e.g. grouping or
zcase handling) is declared and linked to |
expand.outputs , ref |
|
zlim |
The range over which the scale is to be applied if not |
output |
For |
... |
Additional arguments, often ignored. |
Details
The ...Handler
functions are argument handlers intended to
routinely handle some common activities associated with plotting
data.
cexHandler
manages symbol sizes. It generates a (hopefully)
sensible cex
scale for handling plot symbol size based on
a supplied input (z
).
colHandler
manages colors. It works like the colorkey in
levelplot
in lattice
, to generate a
colorscale based on a supplied input (z
).
colRegionsHandler
is a wrapper for colHandler
that
can be used to with the col.regions
argument.
scalesHandler
is a crude method to avoid scales argument
list structures.
zHandler
expands (by wrapping) or foreshortens vectors.
Value
cexHandler
returns a vector, which can be used as
the cex
argument in many common plotting functions
(e.g. plot
, xyplot
).
colHandler
depending on output
setting returns
either the col
vector or a list containing elements (z
,
col
, legend
, at
, col.regions
and
alpha.regions
), which can be used to create a col
series scaled by z
and an associated colorkey
like that generated by levelplot
for other
lattice
functions (e.g. xyplot
).
colRegionsHandler
returns a vector of color values suitable
for use with the col.regions
argument.
scalesHandler
returns the supplied arguments modified as follows:
all scales...
arguments are converted into a single list(...)
; all
scales.x...
and scales.y...
argument are converted into
list(x=list(...))
and list(y=list(...))
, respectively. so e.g.
scales.x.rot=45
generates scales=list(x=list(rot=45)).
pchHandler
returns a vector of pch
values of an
appropriate length, depending on expand.outputs
and ref
settings.
Note
cexHandler
recently revised. Default cex range now smaller, in line
with feedback.
scalesHandler
might not be staying.
Author(s)
Karl Ropkins
References
These function makes extensive use of code developed by others.
lattice: Sarkar, Deepayan (2008) Lattice: Multivariate Data Visualization with R. Springer, New York. ISBN 978-0-387-75968-5
RColorBrewer: Erich Neuwirth <erich.neuwirth@univie.ac.at> (2011). RColorBrewer: ColorBrewer palettes. R package version 1.0-5. http://CRAN.R-project.org/package=RColorBrewer
See Also
In other packages: See xyplot
in lattice
.
Examples
#some trivial data
a <- 1:10
## Example 1
## Simple plot with cex handling
myplot1 <- function(x, y, z = NULL, cex = NULL,
cex.range = NULL, ...){
#set cex
cex <- cexHandler(z, cex, cex.range)
#plot
xyplot(y~x, cex = cex,...)
}
myplot1(a, a, a)
# compare
## Not run:
myplot1(a, a) #like plot(x, y)
myplot1(a, a, a*100) #as myplot1(a, a, a)
#because cex scaled by range
myplot1(a, b, c,
cex.range = c(1,5)) #cex range reset
myplot1(a, b, c,
cex.range = c(10,50),
cex = 1) #cex supersedes all else if supplied
## End(Not run)
## Example2
## plot function using lists/listUpdates
myplot2 <- function(x, y, z = NULL, ...){
#my default plot
default.args <- list(x = y~x, z = z,
pch = 20, cex = 4)
#update with whatever user supplied
plot.args <- listUpdate(default.args, list(...))
#col Management
plot.args$col <- do.call(colHandler, plot.args)
do.call(xyplot, plot.args)
}
#with colorkey based on z case
myplot2(a, a, a)
# compare
## Not run:
myplot2(a, b, c,
col.regions = "Blues") #col.regions recoloring
myplot2(a, b, c,
col = "red") ##but (again) col supersedes if supplied
## End(Not run)
# Note:
# See also example in ?listUpdate