vioplot (version 0.2)

vioplot: 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.

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

Run this code
# NOT RUN {
  # 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)
# }

Run the code above in your browser using DataLab