An CraftAlign object interacts with the Layout object to reorder or split
observations and, in some cases, add plot components to the Layout.
Usage
align(
  align,
  data = NULL,
  ...,
  plot = NULL,
  size = NULL,
  schemes = NULL,
  active = NULL,
  no_axes = deprecated(),
  call = caller_call()
)Arguments
- align
- An - CraftAlignobject.
- data
- The following options can be used: - NULL: No data is set.
- waiver(): Inherits the data from the layout matrix.
- A - function(including purrr-like lambda syntax): Applied to the layout matrix to transform the data before use. To transform the final plot data, please use- scheme_data().
- A - matrix,- data.frame, or atomic vector.
 
- ...
- Additional fields passed to the - alignobject.
- plot
- A ggplot object. 
- size
- The relative size of the plot, can be specified as a - unit(). Note that for- circle_layout(), all size values will be interpreted as relative sizes, as this layout type adjusts based on the available space in the circular arrangement.
- schemes
- Options for - schemes:- NULL: Used when- aligndo not add a plot.
- waiver(): Try to infer- schemesbased on- data.
 
- active
- A - active()object that defines the context settings when added to a layout.
- no_axes
- Please add - theme()directly to the ggplot instead.
- call
- The - callused to construct the- alignobject, for reporting messages.
Details
Each of the Align* objects is just a ggproto()
object, descended from the top-level CraftAlign, and each implements
various methods and fields.
To create a new type of Align* object, you typically will want to
override one or more of the following:
- setup_params: Prepare parameter or check parameters used by this plot.
- setup_data: Prepare data used by this plot.
- compute: A method used to compute statistics.
- align: A method used to group observations into panel or reorder observations.
- draw: A method used to draw the plot. Must return a- ggplotobject.
Discrete Axis Alignment
It is important to note that we consider rows as observations, meaning
vec_size(data)/NROW(data) must match the number of observations along the
axis used for alignment (x-axis for a vertical stack layout, y-axis for a
horizontal stack layout).
Examples
align_dendro()
#> <Class: AlignDendro AlignHclust CraftAlign Craftsman>
#>      plot: yes
#>   reorder: yes
#>     split: no 
