Usage
## S3 method for class 'array'
tinyplot(
x,
type = NULL,
legend = NULL,
facet = NULL,
xlab = NULL,
ylab = NULL,
xy = NULL,
...
)
Details
The first two dimensions of the array are treated exactly like the rows and columns of a matrix; see tinyplot.matrix. By default, that means the values are plotted against the (first dimension) row index, with a separate by group for each element of the second dimension. Higher dimensions are then mapped to facets:
-
1D arrays are treated as a single-column matrix, i.e. a simple index plot. If a y variable is also supplied, e.g. tinyplot(tapply(…), y), then the array is instead treated as a plain x vector.
-
2D arrays are matrices, and hence dispatch to tinyplot.matrix.
-
3D arrays are faceted by the third dimension (i.e., a "facet wrap").
-
4D arrays are faceted by the third and fourth dimensions, as the rows and columns of a "facet grid", respectively.
-
Arrays with more than four dimensions are not supported. Subset or reshape them first.
Dimension names are used to label the groups, facets, and axis ticks, while the names of the dimnames (if any) are used as the axis, legend, and facet titles. To assign the dimensions to different roles, rearrange them first with aperm.
x/y pairs. Arrays often hold a stack of matrices, one per variable, e.g. the hip and knee angles of the gait data (Time x Subject x Variable). If an array of three or more dimensions has exactly one length-2 dimension besides the first, then its two slices are plotted against each other, as x and y. Each of the remaining dimensions then shifts down a role:
-
The first dimension becomes by, and orders the points along each path. It is kept numeric where possible (its dimnames, e.g. times, or else its index), so that each path is drawn as a line with a colour gradient. If the dimnames are not numeric, then the groups are discrete and drawn as points instead.
-
The second dimension becomes a facet wrap (e.g. one panel per subject).
-
The third dimension (if any) makes this a facet grid, as its columns.
Control this via the xy argument. Tile and heatmap types are exempt, since they need the array values as their fill.
Note that contingency tables created by table (e.g., HairEyeColor or Titanic) are of class “table” and hence do not dispatch to this method.