Learn R Programming

lattice (version 0.17-25)

panel.violin: Panel Function to create Violin Plots

Description

This is a panel function that can create a violin plot. It is typically used in a high-level call to bwplot.

Usage

panel.violin(x, y, box.ratio = 1, box.width,
             horizontal = TRUE,
             alpha, border, lty, lwd, col,
             varwidth = FALSE,
             bw, adjust, kernel, window, 
             width, n = 50, from, to, cut,
             na.rm, ...)

Arguments

x, y
numeric vector or factor. Violin plots are drawn for each unique value of y (x) if horizontal is TRUE (FALSE)
box.ratio
ratio of the thickness of each violin and inter violin space
box.width
thickness of the violins in absolute units; overrides box.ratio. Useful for specifying thickness when the categorical variable is not a factor, as use of box.ratio alone cannot achieve a thickness greater than 1.
horizontal
logical. If FALSE, the plot is transposed in the sense that the behaviours of x and y are switched. x is now the factor. See documentation of
alpha, border, lty, lwd, col
graphical parameters controlling the violin. Defaults are taken from the "plot.polygon" settings.
varwidth
logical. If FALSE, the densities are scaled separately for each group, so that the maximum value of the density reaches the limit of the allocated space for each violin (as determined by box.ratio). If TRUE
bw, adjust, kernel, window, width, n, from, to, cut, na.rm
arguments to density, passed on as appropriate
...
arguments passed on to density.

Details

Creates Violin plot of x for every level of y. Note that most arguments controlling the display can be supplied to the high-level (typically bwplot) call directly.

See Also

bwplot, density

Examples

Run this code
bwplot(voice.part ~ height, singer,
       panel = function(..., box.ratio) {
           panel.violin(..., col = "transparent",
                        varwidth = FALSE, box.ratio = box.ratio)
           panel.bwplot(..., fill = NULL, box.ratio = .1)
       } )

Run the code above in your browser using DataLab