Learn R Programming

lattice (version 0.20-45)

F_2_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, ...,
             identifier = "violin")

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 bwplot for a fuller explanation.

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, densities across violins will have comparable scale.

bw, adjust, kernel, window, width, n, from, to, cut, na.rm

arguments to density, passed on as appropriate

...

arguments passed on to density.

identifier

A character string that is prepended to the names of grobs that are created by this panel function.

Author

Deepayan Sarkar Deepayan.Sarkar@R-project.org

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