latticeExtra (version 0.6-29)

resizePanels: Resize panels to match data scales

Description

Modify a "trellis" object so that when plotted, the panels have the specified relative width and height.

Usage

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

Arguments

x

An object of class "trellis".

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

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
# NOT RUN {
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 DataLab