Plots a tile display.
# S3 method for default
tile(x,
tile_type = c("area", "squaredarea", "height", "width"),
halign = c("left", "center", "right"),
valign = c("bottom", "center", "top"),
split_vertical = NULL,
shade = FALSE,
spacing = spacing_equal(unit(1, "lines")),
set_labels = NULL,
margins = unit(3, "lines"),
keep_aspect_ratio = FALSE,
legend = NULL,
legend_width = NULL,
squared_tiles = TRUE,
main = NULL, sub = NULL, ...)
# S3 method for formula
tile(formula, data,
…, main = NULL, sub = NULL, subset = NULL, na.action = NULL)
a contingency table, or an object coercible to one.
a formula specifying the variables used to create a
contingency table from data
either a data frame, or an object of class "table"
or "ftable"
.
an optional vector specifying a subset of observations to be used.
a function which indicates what should happen when
the data contain NA
s. Ignored if data
is a contingency
table.
character string indicating how the tiles should reflect the table frequencies (see details).
character string specifying the horizontal and vertical alignment of the tiles.
vector of logicals of length \(k\), where
\(k\) is the number of margins of x
(values are recycled as needed).
A TRUE
component indicates that the tile(s) of the
corresponding dimension should be split vertically, FALSE
means horizontal splits. Default is FALSE.
spacing object, spacing function, or corresponding
generating function (see strucplot
for more
information).
An optional character vector with named components replacing the so-specified variable names. The component names must exactly match the variable names to be replaced.
logical specifying whether shading should be enabled or
not (see strucplot
).
either an object of class "unit"
of length 4, or
a numeric vector of length 4. The elements are recycled as needed.
The four components specify the top, right,
bottom, and left margin of the plot, respectively.
When a numeric vector is supplied, the numbers are interpreted as
"lines"
units. In addition, the unit or numeric vector
may have named arguments
(top, right, bottom, and left), in which
case the non-named arguments specify the default values (recycled as
needed), overloaded by the named arguments.
either a legend-generating function, or a legend
function (see details and legends
), or a logical.
If legend
is NULL
or TRUE
and gp
is a
function or missing, legend defaults to legend_resbased
.
An object of class "unit"
of length
1 specifying the width of the legend (if any). Default: 5 lines.
logical indicating whether the aspect ratio should be
fixed or not. The default is FALSE
to enable the creation of
squared tiles.
logical indicating whether white space should be added as needed to rows or columns to obtain squared tiles in case of an unequal number of row and column labels.
either a logical, or a character string used for plotting
the main (sub) title. If logical and TRUE
, the
name of the data
object is used.
Other arguments passed to strucplot
The "structable"
visualized is returned invisibly.
A tile plot is a matrix of tiles. For each tile, either the "width"
,
"height"
, "area"
, or squared area is proportional to the
corresponding entry. The first three options allow
column-wise, row-wise and overall comparisons, respectively. The last
variant allows to compare the tiles both column-wise and row-wise,
considering either the width or the height, respectively.
In contrast to other high-level strucplot functions, tile
also accepts a table with duplicated levels (see examples). In this
case, artificial dimnames will be created, and the actual ones are
drawn using set_labels
.
Note that multiway-tables are first “flattened” using
structable
.
# NOT RUN {
data("Titanic")
## default plot
tile(Titanic)
tile(Titanic, type = "expected")
tile(Titanic, shade = TRUE)
## some variations
tile(Titanic, tile_type = "squaredarea")
tile(Titanic, tile_type = "width", squared_tiles = FALSE)
tile(Titanic, tile_type = "height", squared_tiles = FALSE)
tile(Titanic, tile_type = "area", halign = "center", valign = "center")
## repeat levels
tile(Titanic[,,,c(1,2,1,2)])
# }
Run the code above in your browser using DataLab