# F_2_panel.functions {lattice}

### Description

These are predefined panel functions available in lattice for use in constructing new panel functions (often on-the-fly).

### Usage

panel.abline(a = NULL, b = 0, h = NULL, v = NULL, reg = NULL, coef = NULL, col, col.line, lty, lwd, alpha, type, ..., reference = FALSE, identifier = "abline") panel.refline(...) panel.curve(expr, from, to, n = 101, curve.type = "l", col, lty, lwd, type, ..., identifier = "curve") panel.rug(x = NULL, y = NULL, regular = TRUE, start = if (regular) 0 else 0.97, end = if (regular) 0.03 else 1, x.units = rep("npc", 2), y.units = rep("npc", 2), col, col.line, lty, lwd, alpha, ..., identifier = "rug") panel.average(x, y, fun = mean, horizontal = TRUE, lwd, lty, col, col.line, type, ..., identifier = "linejoin") panel.linejoin(x, y, fun = mean, horizontal = TRUE, lwd, lty, col, col.line, type, ..., identifier = "linejoin") panel.fill(col, border, ..., identifier = "fill") panel.grid(h=3, v=3, col, col.line, lty, lwd, x, y, ..., identifier = "grid") panel.lmline(x, y, ..., identifier = "lmline") panel.mathdensity(dmath = dnorm, args = list(mean=0, sd=1), n = 50, col, col.line, lwd, lty, type, ..., identifier = "mathdensity")

### Arguments

- x, y
- Variables defining the contents of the panel. In
`panel.grid`

these are optional and are used only to choose an appropriate method of`pretty`

. - a, b
- Coefficients of the line to be added by
`panel.abline`

.`a`

can be a vector of length 2, representing the coefficients of the line to be added, in which case`b`

should be missing.`a`

can also be an appropriate ‘regression’ object, i.e., an object which has a`coef`

method that returns a length 2 numeric vector. The corresponding line will be plotted. The`reg`

argument overrides`a`

if specified. - coef
- Coefficients of the line to be added as a vector of length 2.
- reg
- A (linear) regression object, with a
`coef`

method that gives the coefficints of the corresponding regression line. - h, v
- For
`panel.abline`

, these are numeric vectors giving locations respectively of horizontal and vertical lines to be added to the plot, in native coordinates.For

`panel.grid`

, these usually specify the number of horizontal and vertical reference lines to be added to the plot. Alternatively, they can be negative numbers.`h=-1`

and`v=-1`

are intended to make the grids aligned with the axis labels. This doesn't always work; all that actually happens is that the locations are chosen using`pretty`

, which is also how the label positions are chosen in the most common cases (but not for factor variables, for instance).`h`

and`v`

can be negative numbers other than`-1`

, in which case`-h`

and`-v`

(as appropriate) is supplied as the`n`

argument to`pretty`

.If

`x`

and/or`y`

are specified in`panel.grid`

, they will be used to select an appropriate method for`pretty`

. This is particularly useful while plotting date-time objects. - reference
- A logical flag determining whether the default graphical parameters for
`panel.abline`

should be taken from the “reference.line” parameter settings. The default is to take them from the “add.line” settings. The`panel.refline`

function is a wrapper around`panel.abline`

that calls it with`reference = TRUE`

. - expr
- An expression considered as a function of
`x`

, or a function, to be plotted as a curve. - n
- The number of points to use for drawing the curve.
- from, to
- optional lower and upper x-limits of curve. If missing, limits of current panel are used
- curve.type
- Type of curve (
`"p"`

for points, etc), passed to`llines`

- regular
- A logical flag indicating whether the ‘rug’ is to be drawn on the ‘regular’ side (left / bottom) or not (right / top).
- start, end
- endpoints of rug segments, in normalized parent coordinates (between 0 and 1). Defaults depend on value of
`regular`

, and cover 3% of the panel width and height. - x.units, y.units
- Character vectors, replicated to be of length two. Specifies the (grid) units associated with
`start`

and`end`

above.`x.units`

and`y.units`

are for the rug on the x-axis and y-axis respectively (and thus are associated with`start`

and`end`

values on the y and x scales respectively). - col, col.line, lty, lwd, alpha, border
- Graphical parameters.
- type
- Usually ignored by the panel functions documented here; the argument is present only to make sure an explicitly specified
`type`

argument (perhaps meant for another function) does not affect the display. - fun
- The function that will be applied to the subset of
`x`

values (or`y`

if`horizontal`

is`FALSE`

) determined by the unique values of`y`

(`x`

). - horizontal
- A logical flag. If
`FALSE`

, the plot is ‘transposed’ in the sense that the roles of`x`

and`y`

are switched;`x`

is now the ‘factor’. Interpretation of other arguments change accordingly. See documentation of`bwplot`

for a fuller explanation. - dmath
- A vectorized function that produces density values given a numeric vector named
`x`

, e.g.,`dnorm`

. - args
- A list giving additional arguments to be passed to
`dmath`

. - ...
- Further arguments, typically graphical parameters, passed on to other low-level functions as appropriate. Color can usually be specified by
`col`

,`col.line`

, and`col.symbol`

, the last two overriding the first for lines and points respectively. - identifier
- A character string that is prepended to the names of grobs that are created by this panel function.

### Details

`panel.abline`

adds a line of the form `y = a + b * x`

, or vertical and/or horizontal lines. Graphical parameters are obtained from the “add.line” settings by default. `panel.refline`

is similar, but uses the “reference.line” settings for the defaults.

`panel.grid`

draws a reference grid.

`panel.curve`

adds a curve, similar to what `curve`

does with `add = TRUE`

. Graphical parameters for the curve are obtained from the “add.line” setting.

`panel.average`

treats one of `x`

and `y`

as a factor (according to the value of `horizontal`

), calculates `fun`

applied to the subsets of the other variable determined by each unique value of the factor, and joins them by a line. Can be used in conjunction with `panel.xyplot`

, and more commonly with `panel.superpose`

to produce interaction plots.

`panel.linejoin`

is an alias for `panel.average`

. It is retained for back-compatibility, and may go away in future.

`panel.mathdensity`

plots a (usually theoretical) probability density function. This can be useful in conjunction with `histogram`

and `densityplot`

to visually assess goodness of fit (note, however, that `qqmath`

is more suitable for this).

`panel.rug`

adds a *rug* representation of the (marginal) data to the panel, much like `rug`

.

`panel.lmline(x, y)`

is equivalent to `panel.abline(lm(y ~ x))`

.

### See Also

Lattice, `panel.axis`

, `panel.identify`

`identify`

, `trellis.par.set`

.

### Examples

## Interaction Plot bwplot(yield ~ site, barley, groups = year, panel = function(x, y, groups, subscripts, ...) { panel.grid(h = -1, v = 0) panel.stripplot(x, y, ..., jitter.data = TRUE, groups = groups, subscripts = subscripts) panel.superpose(x, y, ..., panel.groups = panel.average, groups = groups, subscripts = subscripts) }, auto.key = list(points = FALSE, lines = TRUE, columns = 2)) ## Superposing a fitted normal density on a Histogram histogram( ~ height | voice.part, data = singer, layout = c(2, 4), type = "density", border = "transparent", col.line = "grey60", xlab = "Height (inches)", ylab = "Density Histogram\n with Normal Fit", panel = function(x, ...) { panel.histogram(x, ...) panel.mathdensity(dmath = dnorm, args = list(mean=mean(x),sd=sd(x)), ...) } )

Documentation reproduced from package lattice, version 0.20-24. License: GPL (>= 2)