Varyingwidth strips give a compact illustration of a distribution. The width of the strip is proportional to the density. This function adds a varyingwidth strip to an exising plot.
1 2 3 4 
x 
Either the vector of points at which the density is
evaluated (if 
dens 
Density at 
at 
Position of the centre of the strip on the yaxis (if

width 
Thickness of the strip at the maximum density, that is, the length of its shorter dimension. Defaults to 1/20 of the axis range. 
horiz 
Draw the strip horizontally ( 
scale 
Alternative way of specifying the thickness of the
strip, as a proportion of 
limits 
Vector of minimum and maximum values, respectively, at which to terminate the strip. 
col 
Colour to shade the strip, either as a builtin R
colour name (one of 
border 
Colour of the border, see 
lwd 
Line width of the border (defaults to

lty 
Line type of the border (defaults to

ticks 
Vector of 
tlen 
Length of the ticks, relative to the thickness of the strip. 
twd 
Line width of these marks (defaults to

tty 
Line type of these marks (defaults to

lattice 
Set this to 
... 
Additional arguments supplied to 
Varyingwidth strips look like violin plots. The difference is that
violin plots are intended to summarise data, while
vwstrip
is
intended to illustrate a distribution arising from parameter
estimation or prediction. Either the distribution is known
analytically, or an arbitrarily large sample from the distribution is
assumed to be available via a method such as MCMC or bootstrapping.
Illustrating outliers is important for summarising data, therefore
violin plots terminate at the sample minimum and maximum and superimpose
a box plot (which appears like the bridge of a violin, hence the name).
Varyingwidth strips, however, are used to illustrate known
distributions which may have unbounded support. Therefore it is
important to think about where the strips should terminate (the
limits
argument). For example, the end points may illustrate
a particular pair of extreme quantiles of the distribution.
The function vioplot
in the vioplot
package and panel.violin
in the lattice
package can be used to draw violin plots of observed data.
Christopher Jackson <chris.jackson@mrcbsu.cam.ac.uk>
Jackson, C. H. (2008) Displaying uncertainty with shading. The American Statistician, 62(4):340347. http://www.mrcbsu.cam.ac.uk/personal/chris/papers/denstrip.pdf
Hintze, J.L. and Nelson, R.D. (1998) Violin plots: a box plot  density trace synergism. The American Statistician 52(2),181–184.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15  x < seq(4, 4, length=10000)
dens < dnorm(x)
plot(x, xlim=c(5, 5), ylim=c(5, 5), xlab="x", ylab="x", type="n")
vwstrip(x, dens, at=1, ticks=qnorm(c(0.025, 0.25,0.5, 0.75, 0.975)))
## Terminate the strip at specific outer quantiles
vwstrip(x, dens, at=2, limits=qnorm(c(0.025, 0.975)))
vwstrip(x, dens, at=3, limits=qnorm(c(0.005, 0.995)))
## Compare with density strip
denstrip(x, dens, at=0)
## Estimate the density from a large sample
x < rnorm(10000)
vwstrip(x, at=4)

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
Please suggest features or report bugs with the GitHub issue tracker.
All documentation is copyright its authors; we didn't write any of that.