latticeExtra (version 0.6-9)

useOuterStrips: Put Strips on the Boundary of a Lattice Display

Description

Tried to update a "trellis" object so that strips are only shown on the top and left boundaries when printed, instead of in every panel as is usual. This is only meaningful when there are exactly tow conditioning variables.

Usage

useOuterStrips(x,
               strip = strip.default,
               strip.left = strip.custom(horizontal = FALSE),
               strip.lines = 1,
               strip.left.lines = strip.lines)

resizePanels(x, h = 1, w = 1)

Arguments

x
An object of class "trellis".
strip, strip.left
A function, character string or logical that would be appropriate strip and strip.left arguments respectively in a high level lattice function call (see xyplot)
strip.lines, strip.left.lines
height of strips in number of lines; helpful for multi-line text or mathematical annotation in strips.
h
numeric vector specifying panel heights
w
numeric vector specifying of panel widths

Value

  • An object of class "trellis"; essentially the same as x, but with certain properties modified.

Details

useOuterStrips modifies a "trellis" object with length(dim(x)) == 2 so that when plotted, strips are only shown on the top and left boundaries of the panel layout, rather than on top of every panel, as is the usual behaviour.

resizePanels modifies a "trellis" object so that when plotted, the panels have the specified relative width and height; this is only interesting when h or w are vectors with unequal entries. resizePanels can be called with no arguments, in which case the currently plotted "trellis" object (if any) is used for x, and a suitable h or w (based on the current panel layout) is chosen so that sizes are relative to the current panel ranges in the native coordinate system. This is only interesting when scales="free"; the resulting object, when plotted again, will have varying panel sizes but the same number of data units per inch in all panels.

See Also

Lattice, xyplot

Examples

Run this code
library(lattice)

mtcars$HP <- equal.count(mtcars$hp)

useOuterStrips(xyplot(mpg ~ disp | HP + factor(cyl), mtcars))

useOuterStrips(xyplot(mpg ~ disp | factor(cyl) + HP, mtcars),
               strip.left = FALSE,
               strip = strip.custom(style = 4))


state <- data.frame(state.x77, state.region, state.name)
state$state.name <- 
    with(state, reorder(reorder(state.name, Frost), 
                        as.numeric(state.region)))
dpfrost <- 
    dotplot(state.name ~ Frost | reorder(state.region, Frost),
            data = state, layout = c(1, 4),
            scales = list(y = list(relation = "free")))

## approximate
resizePanels(dpfrost,
             h = with(state, table(reorder(state.region, Frost))))

## exact (including boundary padding)
resizePanels()

Run the code above in your browser using DataCamp Workspace