Verify the integrity of the column info object
Arguments
- column_info
- A data frame describing which columns in - datato plot. This data frame should contain the following columns:- id(- character, required): A column name in- datato plot. Determines the size of the resulting geoms, and also the color unless- coloris specified.
- id_color(- character): A column name in- datato use for the color of the resulting geoms. If- NA, the- idcolumn will be used.
- id_size(- character): A column name in- datato use for the size of the resulting geoms. If- NA, the- idcolumn will be used.
- name(- character): A label for the column. If- NAor- "", no label will be plotted. If this column is missing,- idwill be used to generate the- namecolumn.
- geom(- character): The geom of the column. Must be one of:- "funkyrect",- "circle",- "rect",- "bar",- "pie",- "text"or- "image". For- "text", the corresponding column in- datamust 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").
- vjust: Vertical alignment of the label, must be between [0,1] (only for- geom = "text").
- size: Size of the label, must be a numeric value (only for- geom = "text").
- label: Which column to use as a label (only for- geom = "text").
- directory: Which directory to use to find the images (only for- geom = "image").
- extension: The extension of the images (only for- geom = "image").
- draw_outline: Whether or not to draw bounding guides (only for- geom == "bar"). Default:- TRUE.
- options(- listor- 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.
 
- data
- A data frame with items by row and features in the columns. Must contain one column named - "id".
Examples
library(tibble)
data <- tribble(
  ~id, ~name, ~x, ~y,
  "foo", "Foo", 0.5, 0.7,
  "bar", "Bar", 1.0, 0.1
)
column_info <- tribble(
  ~id, ~geom,
  "name", "text",
  "x", "funkyrect",
  "y", "funkyrect"
)
verify_column_info(column_info, data)
#> ℹ Column info did not contain column `name`, using `id` to generate it.
#> ℹ Column info did not contain group information, assuming columns are ungrouped.
#> ℹ Column info did not contain a column called 'palette', generating palettes based on the 'geom' column.
#> ℹ Column info did not contain a column called 'width', generating options based on the 'geom' column.
#> ℹ Column info did not contain a column called 'legend', generating options based on the 'geom' column.
#> # A tibble: 3 × 11
#>   id    geom      name  id_color id_size group palette      width overlay legend
#>   <chr> <chr>     <chr> <chr>    <chr>   <chr> <chr>        <dbl> <lgl>   <lgl> 
#> 1 name  text      Name  NA       NA      NA    NA               6 FALSE   FALSE 
#> 2 x     funkyrect X     x        x       NA    numerical_p…     1 FALSE   TRUE  
#> 3 y     funkyrect Y     y        y       NA    numerical_p…     1 FALSE   TRUE  
#> # ℹ 1 more variable: draw_outline <lgl>