Boxplot type

Description

Type function for producing box-and-whisker plots. Arguments are passed to boxplot, although tinyplot scaffolding allows added functionality such as grouping and faceting. Box-and-whisker plots are the default plot type if x is a factor and y is numeric.

Usage

type_boxplot(
  range = 1.5,
  width = NULL,
  varwidth = FALSE,
  notch = FALSE,
  outline = TRUE,
  boxwex = 0.8,
  staplewex = 0.5,
  outwex = 0.5,
  lighten = TRUE
)

Arguments

range this determines how far the plot whiskers extend out from the box. If range is positive, the whiskers extend to the most extreme data point which is no more than range times the interquartile range from the box. A value of zero causes the whiskers to extend to the data extremes.
width a vector giving the relative widths of the boxes making up the plot.
varwidth if varwidth is TRUE, the boxes are drawn with widths proportional to the square-roots of the number of observations in the groups.
notch if notch is TRUE, a notch is drawn in each side of the boxes. If the notches of two plots do not overlap this is ‘strong evidence’ that the two medians differ (Chambers et al., 1983, p. 62). See boxplot.stats for the calculations used.
outline if outline is not true, the outliers are not drawn (as points whereas S+ uses lines).
boxwex a scale factor to be applied to all boxes. When there are only a few groups, the appearance of the plot can be improved by making the boxes narrower.
staplewex staple line width expansion, proportional to box width.
outwex outlier line width expansion, proportional to box width.
lighten logical. Should the fills use a lighter, opaque tint of the series colour(s)? Default is TRUE, which keeps single- and multi-group displays consistent and lets the fill read cleanly over grid lines. Set to FALSE to use the fully-saturated palette colour(s) instead.

Examples

library("tinyplot")

# "boxplot" type convenience string
tinyplot(weight ~ feed, data = chickwts, type = "boxplot")

# Note: Specifying the type here is redundant. Like base plot, tinyplot
# automatically produces a boxplot if x is a factor and y is numeric
tinyplot(weight ~ feed, data = chickwts)

# For flipped boxplots, it's usually better to use a dynamic theme to
# accommodate (horizontal) y-axis labels
tinyplot(weight ~ feed, data = chickwts, flip = TRUE, theme = "dynamic")

# Grouped boxplot example using a different dataset
# (C.f., the final example in `?boxplot`)
tinyplot(
  len ~ dose | supp, data = ToothGrowth, type = "boxplot",
  main = "Guinea Pigs' Tooth Growth",
  legend = list(title = "Supplement"),
  xlab = "Vitamin C dose mg", ylab = "tooth length"
)

# Use `type_boxplot()` to pass extra arguments for customization
tinyplot(
  len ~ dose | supp, data = ToothGrowth,
  type = type_boxplot(boxwex = 0.3, staplewex = 0, outline = FALSE), lty = 1,
  legend = list(title = "Supplement"),
  main = "Guinea Pigs' Tooth Growth",
  xlab = "Vitamin C dose mg", ylab = "tooth length"
)