help vioplot Nicholas Winter

Title

vioplot -- Violin Plots

Syntax

vioplot varlist [if] [in]
[, options]

Group options
over(varname[, over_options]) categories; option may be repeated twice

missing keep missing values as a category for this overvar

total add total group (can only be specified in one over() option)

nolabel do not use value labels to label category axis

nofill omit empty categories

Orientation
vertical orient densities vertically (the default)

horizontal orient densities horizontally

Number of cases
obs include number of observations per category

obs(alt) move display of obs to the opposite axis; implies option obs

kdensity options
kernel(kernel) specify kernel function; default is kernel(epanechnikov)

bwidth(#) half-width of kernel

Scaling & labelling
barwidth(#) width of bars as percentage of default

dscale(#) width of densities as percentage of default

ygap(#) gap between y variables as percentage of default

ogap(#) gap between 2d level over categories as percentage of default

noylabel use yvar names rather than labels for legending

Graph appearance
density(area_options) options affecting the plotting of the densities

bar(barlook_options) options affecting the plotting of the bars

line(line_options) options affecting the plotting of the spikes

median(marker_options) options affecting the plotting of the medians

obsopts(marker_label_options) options affecting the plotting of observation counts

twoway_options Options affecting the graph as a whole

Description

vioplot displays a violin plot for one or more variables, optionally by categories formed
by one or two other variables. Violin plots are a modification of box plots that
add plots of the estimated kernel density to the summary statistics displayed by
box plots. They were first suggested by Hintze and Nelson (1998).

Violin plots include a marker for the median of the data, a box indicating the interquartile range, and spikes
extending to the upper- and lower-adjacent values, as in standard box plots. Overlaid with this modified
box plot is a density, estimated by kdensity.

Violin currently does not allow for more than one variable to be plotted, and does not accept weights.

Reference

Hintze, Jerry L., and Ray D. Nelson. 1998.
"Violin Plots: A Box Plot-Density Trace Synergism."
The American Statistician 52(2):181-84.

Examples

. vioplot mpg, over(rep78)

. vioplot mpg, over(rep78) over(foreign)

. vioplot mpg, over(rep78, missing) over(foreign)

. vioplot mpg, over(rep78) over(foreign) nofill

. vioplot mpg, over(rep78) horizontal name(myplot) title("Violin Plot of Mileage") subtitle("By repair record") ytitle(Repair Record) ylab(, angle(horiz)) scheme(s2mono)

. vioplot gear head, over(foreign)

. vioplot gear head, over(rep78) legend( ring(0) pos(2) cols(1)) xtitle("Categories of Repair Record")

. vioplot gear head, over(rep78, m) over(foreign, total)