R: violin plot

vioplot {vioplot} | R Documentation

## violin plot

### Description

Produce violin plot(s) of the given (grouped) values.

### Usage

    vioplot( x, ..., range=1.5, h, ylim, names, horizontal=FALSE,
      col="magenta", border="black", lty=1, lwd=1, rectCol="black",
      colMed="white", pchMed=19, at, add=FALSE, wex=1,
      drawRect=TRUE)

### Arguments

`x` | data vector
`...` | additional data vectors
`range` | a factor to calculate the upper/lower adjacent values
`h` | the height for the density estimator, if omit as explained in sm.density, h will be set to an optimum
`ylim` | y limits
`names` | one label, or a vector of labels for the datas must match the number of datas given
`col, border, lty, lwd` | Graphical parameters for the violin passed to lines and polygon
`rectCol, colMed, pchMed` | Graphical parameters to control the look of the box
`drawRect` | logical. the box is drawn if `TRUE`.
`at` | position of each violin. Default to `1:n`
`add` | logical. if FALSE (default) a new plot is created
`wex` | relative expansion of the violin.
`horizontal` | logical. horizontal or vertical violins

### Details

A violin plot is a combination of a box plot and a kernel density plot. Specifically, it starts with a box plot. It then adds a rotated kernel density plot to each side of the box plot.

### Author(s)

Daniel Adler dadler@uni-goettingen.de

Romain Francois francoisromain@free.fr ; http://francoisromain.free.fr : horizontal violins and additionnal graphical parameters

### References

Hintze, J. L. and R. D. Nelson (1998). Violin plots: a box plot-density trace synergism. The American Statistician, 52(2):181-4.

### See Also

`boxplot` `sm`

### Examples

      # box- vs violin-plot
      par(mfrow=c(2,1))
      mu<-2
      si<-0.6
      bimodal<-c(rnorm(1000,-mu,si),rnorm(1000,mu,si))
      uniform<-runif(2000,-4,4)
      normal<-rnorm(2000,0,3)
      vioplot(bimodal,uniform,normal)
      boxplot(bimodal,uniform,normal)

      # add to an existing plot
      x <- rnorm(100)
      y <- rnorm(100)
      plot(x, y, xlim=c(-5,5), ylim=c(-5,5))
      vioplot(x, col="tomato", horizontal=TRUE, at=-4, add=TRUE,lty=2, rectCol="gray")
      vioplot(y, col="cyan", horizontal=FALSE, at=-4, add=TRUE,lty=2)

[Package vioplot version 0.2 Index]