Skip to contents

Verify the integrity of the column groups object

Usage

verify_column_groups(column_groups, column_info)

Arguments

column_groups

A data frame describing of how to group the columns in column_info. Can consist of the following columns:

• group (character): The corresponding group in column_info$group. • palette (character, optional): The palette used to colour the column group backgrounds. • level1 (character): The label at the highest level. • level2 (character, optional): The label at the middle level. • level3 (character, optional): The label at the lowest level (not recommended). column_info A data frame describing which columns in data to plot. This data frame should contain the following columns: • id (character): The corresponding column name in data. • name (character): A label for the column. If NA or "", no label will be plotted. If this column is missing, id will be used to generate the name column. • geom (character): The geom of the column. Must be one of: "funkyrect", "circle", "rect", "bar", "pie", or "text". For "text", the corresponding column in data must be a character. For "pie", the column must be a list of named numeric vectors. For all other geoms, the column must be a numeric. • group (character): The grouping id of each column, must match with column_groups$group. If this column is missing or all values are NA, columns are assumed not to be grouped.

• palette (character): Which palette to colour the geom by. Each value should have a matching value in palettes\$palette.

• width: Custom width for this column (default: 1).

• overlay: Whether to overlay this column over the previous column. If so, the width of that column will be inherited.

• legend: Whether or not to add a legend for this column.

• hjust: Horizontal alignment of the bar, must be between [0,1] (only for geom = "bar").

• hjust: Horizontal alignment of the label, must be between [0,1] (only for geom = "text").

• vjust: Vertical alignment of the label, must be between [0,1] (only for geom = "text").

• size: Size of the label, must be between [0,1] (only for geom = "text").

• label: Which column to use as a label (only for geom = "text").

• options (list or json): Any of the options above. Any values in this column will be spread across the other columns. This is useful for not having to provide a data frame with 1000s of columns. This column can be a json string.

Value

The column groups object with all expected columns.

Examples

column_groups <- tribble(
~group, ~level1,
"foo", "Foo",
"bar", "Bar"
)
column_info <- tribble(
~id, ~geom, ~group,
"name", "text", NA_character_,
"foo1", "funkyrect", "foo",
"foo2", "funkyrect", "foo",
"bar1", "funkyrect", "bar",
"bar2", "funkyrect", "bar"
)
verify_column_groups(column_groups, column_info)
#>  Column groups did not contain a column called 'palette'. Assuming no colour scales need to be used.
#> # A tibble: 2 × 3
#>   group level1 palette
#>   <chr> <chr>  <chr>
#> 1 foo   Foo    NA
#> 2 bar   Bar    NA